]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/english.rss
ac32f2dba9aa4ead266ce2e4bb5dfe5d510a11db
[homepage.git] / blog / tags / english / english.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries tagged english</title>
5 <description>Entries tagged english</description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>A bit more on privacy respecting health monitor / fitness tracker</title>
11 <link>http://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</guid>
13 <pubDate>Mon, 13 Aug 2018 09:00:00 +0200</pubDate>
14 <description>&lt;p&gt;A few days ago, I wondered if there are any privacy respecting
15 health monitors and/or fitness trackers available for sale these days.
16 I would like to buy one, but do not want to share my personal data
17 with strangers, nor be forced to have a mobile phone to get data out
18 of the unit. I&#39;ve received some ideas, and would like to share them
19 with you.
20
21 One interesting data point was a pointer to a Free Software app for
22 Android named
23 &lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/&quot;&gt;Gadgetbridge&lt;/a&gt;.
24 It provide cloudless collection and storing of data from a variety of
25 trackers. Its
26 &lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/#supported-devices&quot;&gt;list
27 of supported devices&lt;/a&gt; is a good indicator for units where the
28 protocol is fairly open, as it is obviously being handled by Free
29 Software. Other units are reportedly encrypting the collected
30 information with their own public key, making sure only the vendor
31 cloud service is able to extract data from the unit. The people
32 contacting me about it said they were using
33 &lt;a href=&quot;https://us.amazfit.com/shop/bip?variant=336750&quot;&gt;Amazfit
34 Bip&lt;/a&gt; and
35 &lt;a href=&quot;http://www.xiaomimi6phone.com/xiaomi-mi-band-3-features-release-date-rumors/&quot;&gt;Xiaomi
36 Band 3&lt;/a&gt;.&lt;/p&gt;
37
38 &lt;p&gt;I also got a suggestion to look at some of the units from Garmin.
39 I was told their GPS watches can be connected via USB and show up as a
40 USB storage device with
41 &lt;a href=&quot;https://www.gpsbabel.org/htmldoc-development/fmt_garmin_fit.html&quot;&gt;Garmin
42 FIT files&lt;/a&gt; containing the collected measurements. While
43 proprietary, FIT files apparently can be read at least by
44 &lt;a href=&quot;https://www.gpsbabel.org&quot;&gt;GPSBabel&lt;/a&gt; and the
45 &lt;a href=&quot;https://apps.nextcloud.com/apps/gpxpod&quot;&gt;GpxPod&lt;/a&gt; Nextcloud
46 app. It is unclear to me if they can read step count and heart rate
47 data. The person I talked to was using a Garmin
48 &lt;a href=&quot;https://buy.garmin.com/en-US/US/p/564291&quot;&gt;Garmin Forerunner
49 935&lt;/a&gt;, which is a fairly expensive unit. I doubt it is worth it for
50 a unit where the vendor clearly is trying its best to move from open
51 to closed systems. I still remember when Garmin dropped NMEA support
52 in its GPSes.&lt;/p&gt;
53
54 &lt;p&gt;A final idea was to build ones own unit, perhaps by basing it on a
55 wearable hardware platforms like
56 &lt;a href=&quot;https://learn.adafruit.com/flora-geo-watch&quot;&gt;the Flora Geo
57 Watch&lt;/a&gt;. Sound like fun, but I had more money than time to spend on
58 the topic, so I suspect it will have to wait for another time.&lt;/p&gt;
59
60 &lt;p&gt;While I was working on tracking down links, I came across an
61 inspiring TED talk by Dave Debronkart about
62 &lt;a href=&quot;https://archive.org/details/DavedeBronkart_2010X&quot;&gt;being a
63 e-patient&lt;/a&gt;, and discovered the web site
64 &lt;a href=&quot;https://participatorymedicine.org/epatients/&quot;&gt;Participatory
65 Medicine&lt;/a&gt;. If you too want to track your own health and fitness
66 without having information about your private life floating around on
67 computers owned by others, I recommend checking it out.&lt;/p&gt;
68
69 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
70 activities, please send Bitcoin donations to my address
71 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
72 </description>
73 </item>
74
75 <item>
76 <title>Privacy respecting health monitor / fitness tracker?</title>
77 <link>http://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</link>
78 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</guid>
79 <pubDate>Tue, 7 Aug 2018 16:00:00 +0200</pubDate>
80 <description>&lt;p&gt;Dear lazyweb,&lt;/p&gt;
81
82 &lt;p&gt;I wonder, is there a fitness tracker / health monitor available for
83 sale today that respect the users privacy? With this I mean a
84 watch/bracelet capable of measuring pulse rate and other
85 fitness/health related values (and by all means, also the correct time
86 and location if possible), which is &lt;strong&gt;only&lt;/strong&gt; provided for
87 me to extract/read from the unit with computer without a radio beacon
88 and Internet connection. In other words, it do not depend on a cell
89 phone app, and do make the measurements available via other peoples
90 computer (aka &quot;the cloud&quot;). The collected data should be available
91 using only free software. I&#39;m not interested in depending on some
92 non-free software that will leave me high and dry some time in the
93 future. I&#39;ve been unable to find any such unit. I would like to buy
94 it. The ones I have seen for sale here in Norway are proud to report
95 that they share my health data with strangers (aka &quot;cloud enabled&quot;).
96 Is there an alternative? I&#39;m not interested in giving money to people
97 requiring me to accept &quot;privacy terms&quot; to allow myself to measure my
98 own health.&lt;/p&gt;
99
100 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
101 activities, please send Bitcoin donations to my address
102 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
103 </description>
104 </item>
105
106 <item>
107 <title>Sharing images with friends and family using RSS and EXIF/XMP metadata</title>
108 <link>http://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</link>
109 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</guid>
110 <pubDate>Tue, 31 Jul 2018 23:30:00 +0200</pubDate>
111 <description>&lt;p&gt;For a while now, I have looked for a sensible way to share images
112 with my family using a self hosted solution, as it is unacceptable to
113 place images from my personal life under the control of strangers
114 working for data hoarders like Google or Dropbox. The last few days I
115 have drafted an approach that might work out, and I would like to
116 share it with you. I would like to publish images on a server under
117 my control, and point some Internet connected display units using some
118 free and open standard to the images I published. As my primary
119 language is not limited to ASCII, I need to store metadata using
120 UTF-8. Many years ago, I hoped to find a digital photo frame capable
121 of reading a RSS feed with image references (aka using the
122 &amp;lt;enclosure&amp;gt; RSS tag), but was unable to find a current supplier
123 of such frames. In the end I gave up that approach.&lt;/p&gt;
124
125 &lt;p&gt;Some months ago, I discovered that
126 &lt;a href=&quot;https://www.jwz.org/xscreensaver/&quot;&gt;XScreensaver&lt;/a&gt; is able to
127 read images from a RSS feed, and used it to set up a screen saver on
128 my home info screen, showing images from the Daily images feed from
129 NASA. This proved to work well. More recently I discovered that
130 &lt;a href=&quot;https://kodi.tv&quot;&gt;Kodi&lt;/a&gt; (both using
131 &lt;a href=&quot;https://www.openelec.tv/&quot;&gt;OpenELEC&lt;/a&gt; and
132 &lt;a href=&quot;https://libreelec.tv&quot;&gt;LibreELEC&lt;/a&gt;) provide the
133 &lt;a href=&quot;https://github.com/grinsted/script.screensaver.feedreader&quot;&gt;Feedreader&lt;/a&gt;
134 screen saver capable of reading a RSS feed with images and news. For
135 fun, I used it this summer to test Kodi on my parents TV by hooking up
136 a Raspberry PI unit with LibreELEC, and wanted to provide them with a
137 screen saver showing selected pictures from my selection.&lt;/p&gt;
138
139 &lt;p&gt;Armed with motivation and a test photo frame, I set out to generate
140 a RSS feed for the Kodi instance. I adjusted my &lt;a
141 href=&quot;https://freedombox.org/&quot;&gt;Freedombox&lt;/a&gt; instance, created
142 /var/www/html/privatepictures/, wrote a small Perl script to extract
143 title and description metadata from the photo files and generate the
144 RSS file. I ended up using Perl instead of python, as the
145 libimage-exiftool-perl Debian package seemed to handle the EXIF/XMP
146 tags I ended up using, while python3-exif did not. The relevant EXIF
147 tags only support ASCII, so I had to find better alternatives. XMP
148 seem to have the support I need.&lt;/p&gt;
149
150 &lt;p&gt;I am a bit unsure which EXIF/XMP tags to use, as I would like to
151 use tags that can be easily added/updated using normal free software
152 photo managing software. I ended up using the tags set using this
153 exiftool command, as these tags can also be set using digiKam:&lt;/p&gt;
154
155 &lt;blockquote&gt;&lt;pre&gt;
156 exiftool -headline=&#39;The RSS image title&#39; \
157 -description=&#39;The RSS image description.&#39; \
158 -subject+=for-family photo.jpeg
159 &lt;/pre&gt;&lt;/blockquote&gt;
160
161 &lt;p&gt;I initially tried the &quot;-title&quot; and &quot;keyword&quot; tags, but they were
162 invisible in digiKam, so I changed to &quot;-headline&quot; and &quot;-subject&quot;. I
163 use the keyword/subject &#39;for-family&#39; to flag that the photo should be
164 shared with my family. Images with this keyword set are located and
165 copied into my Freedombox for the RSS generating script to find.&lt;/p&gt;
166
167 &lt;p&gt;Are there better ways to do this? Get in touch if you have better
168 suggestions.&lt;/p&gt;
169
170 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
171 activities, please send Bitcoin donations to my address
172 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
173 </description>
174 </item>
175
176 <item>
177 <title>Simple streaming the Linux desktop to Kodi using GStreamer and RTP</title>
178 <link>http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</link>
179 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</guid>
180 <pubDate>Thu, 12 Jul 2018 17:55:00 +0200</pubDate>
181 <description>&lt;p&gt;Last night, I wrote
182 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html&quot;&gt;a
183 recipe to stream a Linux desktop using VLC to a instance of Kodi&lt;/a&gt;.
184 During the day I received valuable feedback, and thanks to the
185 suggestions I have been able to rewrite the recipe into a much simpler
186 approach requiring no setup at all. It is a single script that take
187 care of it all.&lt;/p&gt;
188
189 &lt;p&gt;This new script uses GStreamer instead of VLC to capture the
190 desktop and stream it to Kodi. This fixed the video quality issue I
191 saw initially. It further removes the need to add a m3u file on the
192 Kodi machine, as it instead connects to
193 &lt;a href=&quot;https://kodi.wiki/view/JSON-RPC_API/v8&quot;&gt;the JSON-RPC API in
194 Kodi&lt;/a&gt; and simply ask Kodi to play from the stream created using
195 GStreamer. Streaming the desktop to Kodi now become trivial. Copy
196 the script below, run it with the DNS name or IP address of the kodi
197 server to stream to as the only argument, and watch your screen show
198 up on the Kodi screen. Note, it depend on multicast on the local
199 network, so if you need to stream outside the local network, the
200 script must be modified. Also note, I have no idea if audio work, as
201 I only care about the picture part.&lt;/p&gt;
202
203 &lt;blockquote&gt;&lt;pre&gt;
204 #!/bin/sh
205 #
206 # Stream the Linux desktop view to Kodi. See
207 # http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html
208 # for backgorund information.
209
210 # Make sure the stream is stopped in Kodi and the gstreamer process is
211 # killed if something go wrong (for example if curl is unable to find the
212 # kodi server). Do the same when interrupting this script.
213 kodicmd() {
214 host=&quot;$1&quot;
215 cmd=&quot;$2&quot;
216 params=&quot;$3&quot;
217 curl --silent --header &#39;Content-Type: application/json&#39; \
218 --data-binary &quot;{ \&quot;id\&quot;: 1, \&quot;jsonrpc\&quot;: \&quot;2.0\&quot;, \&quot;method\&quot;: \&quot;$cmd\&quot;, \&quot;params\&quot;: $params }&quot; \
219 &quot;http://$host/jsonrpc&quot;
220 }
221 cleanup() {
222 if [ -n &quot;$kodihost&quot; ] ; then
223 # Stop the playing when we end
224 playerid=$(kodicmd &quot;$kodihost&quot; Player.GetActivePlayers &quot;{}&quot; |
225 jq .result[].playerid)
226 kodicmd &quot;$kodihost&quot; Player.Stop &quot;{ \&quot;playerid\&quot; : $playerid }&quot; &gt; /dev/null
227 fi
228 if [ &quot;$gstpid&quot; ] &amp;&amp; kill -0 &quot;$gstpid&quot; &gt;/dev/null 2&gt;&amp;1; then
229 kill &quot;$gstpid&quot;
230 fi
231 }
232 trap cleanup EXIT INT
233
234 if [ -n &quot;$1&quot; ]; then
235 kodihost=$1
236 shift
237 else
238 kodihost=kodi.local
239 fi
240
241 mcast=239.255.0.1
242 mcastport=1234
243 mcastttl=1
244
245 pasrc=$(pactl list | grep -A2 &#39;Source #&#39; | grep &#39;Name: .*\.monitor$&#39; | \
246 cut -d&quot; &quot; -f2|head -1)
247 gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
248 videoconvert ! queue2 ! \
249 x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
250 key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
251 mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
252 udpsink host=$mcast port=$mcastport ttl-mc=$mcastttl auto-multicast=1 sync=0 \
253 pulsesrc device=$pasrc ! audioconvert ! queue2 ! avenc_aac ! queue2 ! mux. \
254 &gt; /dev/null 2&gt;&amp;1 &amp;
255 gstpid=$!
256
257 # Give stream a second to get going
258 sleep 1
259
260 # Ask kodi to start streaming using its JSON-RPC API
261 kodicmd &quot;$kodihost&quot; Player.Open \
262 &quot;{\&quot;item\&quot;: { \&quot;file\&quot;: \&quot;udp://@$mcast:$mcastport\&quot; } }&quot; &gt; /dev/null
263
264 # wait for gst to end
265 wait &quot;$gstpid&quot;
266 &lt;/pre&gt;&lt;/blockquote&gt;
267
268 &lt;p&gt;I hope you find the approach useful. I know I do.&lt;/p&gt;
269
270 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
271 activities, please send Bitcoin donations to my address
272 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
273 </description>
274 </item>
275
276 <item>
277 <title>Streaming the Linux desktop to Kodi using VLC and RTSP</title>
278 <link>http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</link>
279 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</guid>
280 <pubDate>Thu, 12 Jul 2018 02:00:00 +0200</pubDate>
281 <description>&lt;p&gt;PS: See
282 &lt;ahref=&quot;http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html&quot;&gt;the
283 followup post&lt;/a&gt; for a even better approach.&lt;/p&gt;
284
285 &lt;p&gt;A while back, I was asked by a friend how to stream the desktop to
286 my projector connected to Kodi. I sadly had to admit that I had no
287 idea, as it was a task I never had tried. Since then, I have been
288 looking for a way to do so, preferable without much extra software to
289 install on either side. Today I found a way that seem to kind of
290 work. Not great, but it is a start.&lt;/p&gt;
291
292 &lt;p&gt;I had a look at several approaches, for example
293 &lt;a href=&quot;https://github.com/mfoetsch/dlna_live_streaming&quot;&gt;using uPnP
294 DLNA as described in 2011&lt;/a&gt;, but it required a uPnP server, fuse and
295 local storage enough to store the stream locally. This is not going
296 to work well for me, lacking enough free space, and it would
297 impossible for my friend to get working.&lt;/p&gt;
298
299 &lt;p&gt;Next, it occurred to me that perhaps I could use VLC to create a
300 video stream that Kodi could play. Preferably using
301 broadcast/multicast, to avoid having to change any setup on the Kodi
302 side when starting such stream. Unfortunately, the only recipe I
303 could find using multicast used the rtp protocol, and this protocol
304 seem to not be supported by Kodi.&lt;/p&gt;
305
306 &lt;p&gt;On the other hand, the rtsp protocol is working! Unfortunately I
307 have to specify the IP address of the streaming machine in both the
308 sending command and the file on the Kodi server. But it is showing my
309 desktop, and thus allow us to have a shared look on the big screen at
310 the programs I work on.&lt;/p&gt;
311
312 &lt;p&gt;I did not spend much time investigating codeces. I combined the
313 rtp and rtsp recipes from
314 &lt;a href=&quot;https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/&quot;&gt;the
315 VLC Streaming HowTo/Command Line Examples&lt;/a&gt;, and was able to get
316 this working on the desktop/streaming end.&lt;/p&gt;
317
318 &lt;blockquote&gt;&lt;pre&gt;
319 vlc screen:// --sout \
320 &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{dst=projector.local,port=1234,sdp=rtsp://192.168.11.4:8080/test.sdp}&#39;
321 &lt;/pre&gt;&lt;/blockquote&gt;
322
323 &lt;p&gt;I ssh-ed into my Kodi box and created a file like this with the
324 same IP address:&lt;/p&gt;
325
326 &lt;blockquote&gt;&lt;pre&gt;
327 echo rtsp://192.168.11.4:8080/test.sdp \
328 &gt; /storage/videos/screenstream.m3u
329 &lt;/pre&gt;&lt;/blockquote&gt;
330
331 &lt;p&gt;Note the 192.168.11.4 IP address is my desktops IP address. As far
332 as I can tell the IP must be hardcoded for this to work. In other
333 words, if someone elses machine is going to do the steaming, you have
334 to update screenstream.m3u on the Kodi machine and adjust the vlc
335 recipe. To get started, locate the file in Kodi and select the m3u
336 file while the VLC stream is running. The desktop then show up in my
337 big screen. :)&lt;/p&gt;
338
339 &lt;p&gt;When using the same technique to stream a video file with audio,
340 the audio quality is really bad. No idea if the problem is package
341 loss or bad parameters for the transcode. I do not know VLC nor Kodi
342 enough to tell.&lt;/p&gt;
343
344 &lt;p&gt;&lt;strong&gt;Update 2018-07-12&lt;/strong&gt;: Johannes Schauer send me a few
345 succestions and reminded me about an important step. The &quot;screen:&quot;
346 input source is only available once the vlc-plugin-access-extra
347 package is installed on Debian. Without it, you will see this error
348 message: &quot;VLC is unable to open the MRL &#39;screen://&#39;. Check the log
349 for details.&quot; He further found that it is possible to drop some parts
350 of the VLC command line to reduce the amount of hardcoded information.
351 It is also useful to consider using cvlc to avoid having the VLC
352 window in the desktop view. In sum, this give us this command line on
353 the source end
354
355 &lt;blockquote&gt;&lt;pre&gt;
356 cvlc screen:// --sout \
357 &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{sdp=rtsp://:8080/}&#39;
358 &lt;/pre&gt;&lt;/blockquote&gt;
359
360 &lt;p&gt;and this on the Kodi end&lt;p&gt;
361
362 &lt;blockquote&gt;&lt;pre&gt;
363 echo rtsp://192.168.11.4:8080/ \
364 &gt; /storage/videos/screenstream.m3u
365 &lt;/pre&gt;&lt;/blockquote&gt;
366
367 &lt;p&gt;Still bad image quality, though. But I did discover that streaming
368 a DVD using dvdsimple:///dev/dvd as the source had excellent video and
369 audio quality, so I guess the issue is in the input or transcoding
370 parts, not the rtsp part. I&#39;ve tried to change the vb and ab
371 parameters to use more bandwidth, but it did not make a
372 difference.&lt;/p&gt;
373
374 &lt;p&gt;I further received a suggestion from Einar Haraldseid to try using
375 gstreamer instead of VLC, and this proved to work great! He also
376 provided me with the trick to get Kodi to use a multicast stream as
377 its source. By using this monstrous oneliner, I can stream my desktop
378 with good video quality in reasonable framerate to the 239.255.0.1
379 multicast address on port 1234:
380
381 &lt;blockquote&gt;&lt;pre&gt;
382 gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
383 videoconvert ! queue2 ! \
384 x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
385 key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
386 mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
387 udpsink host=239.255.0.1 port=1234 ttl-mc=1 auto-multicast=1 sync=0 \
388 pulsesrc device=$(pactl list | grep -A2 &#39;Source #&#39; | \
389 grep &#39;Name: .*\.monitor$&#39; | cut -d&quot; &quot; -f2|head -1) ! \
390 audioconvert ! queue2 ! avenc_aac ! queue2 ! mux.
391 &lt;/pre&gt;&lt;/blockquote&gt;
392
393 &lt;p&gt;and this on the Kodi end&lt;p&gt;
394
395 &lt;blockquote&gt;&lt;pre&gt;
396 echo udp://@239.255.0.1:1234 \
397 &gt; /storage/videos/screenstream.m3u
398 &lt;/pre&gt;&lt;/blockquote&gt;
399
400 &lt;p&gt;Note the trick to pick a valid pulseaudio source. It might not
401 pick the one you need. This approach will of course lead to trouble
402 if more than one source uses the same multicast port and address.
403 Note the ttl-mc=1 setting, which limit the multicast packages to the
404 local network. If the value is increased, your screen will be
405 broadcasted further, one network &quot;hop&quot; for each increase (read up on
406 multicast to learn more. :)!&lt;/p&gt;
407
408 &lt;p&gt;Having cracked how to get Kodi to receive multicast streams, I
409 could use this VLC command to stream to the same multicast address.
410 The image quality is way better than the rtsp approach, but gstreamer
411 seem to be doing a better job.&lt;/p&gt;
412
413 &lt;blockquote&gt;&lt;pre&gt;
414 cvlc screen:// --sout &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=239.255.0.1,port=1234,sdp=sap}&#39;
415 &lt;/pre&gt;&lt;/blockquote&gt;
416
417 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
418 activities, please send Bitcoin donations to my address
419 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
420 </description>
421 </item>
422
423 <item>
424 <title>What is the most supported MIME type in Debian in 2018?</title>
425 <link>http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</link>
426 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</guid>
427 <pubDate>Mon, 9 Jul 2018 08:05:00 +0200</pubDate>
428 <description>&lt;p&gt;Five years ago,
429 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html&quot;&gt;I
430 measured what the most supported MIME type in Debian was&lt;/a&gt;, by
431 analysing the desktop files in all packages in the archive. Since
432 then, the DEP-11 AppStream system has been put into production, making
433 the task a lot easier. This made me want to repeat the measurement,
434 to see how much things changed. Here are the new numbers, for
435 unstable only this time:
436
437 &lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
438
439 &lt;pre&gt;
440 count MIME type
441 ----- -----------------------
442 56 image/jpeg
443 55 image/png
444 49 image/tiff
445 48 image/gif
446 39 image/bmp
447 38 text/plain
448 37 audio/mpeg
449 34 application/ogg
450 33 audio/x-flac
451 32 audio/x-mp3
452 30 audio/x-wav
453 30 audio/x-vorbis+ogg
454 29 image/x-portable-pixmap
455 27 inode/directory
456 27 image/x-portable-bitmap
457 27 audio/x-mpeg
458 26 application/x-ogg
459 25 audio/x-mpegurl
460 25 audio/ogg
461 24 text/html
462 &lt;/pre&gt;
463
464 &lt;p&gt;The list was created like this using a sid chroot: &quot;cat
465 /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz| zcat | awk &#39;/^
466 - \S+\/\S+$/ {print $2 }&#39; | sort | uniq -c | sort -nr | head -20&quot;&lt;/p&gt;
467
468 &lt;p&gt;It is interesting to see how image formats have passed text/plain
469 as the most announced supported MIME type. These days, thanks to the
470 AppStream system, if you run into a file format you do not know, and
471 want to figure out which packages support the format, you can find the
472 MIME type of the file using &quot;file --mime &amp;lt;filename&amp;gt;&quot;, and then
473 look up all packages announcing support for this format in their
474 AppStream metadata (XML or .desktop file) using &quot;appstreamcli
475 what-provides mimetype &amp;lt;mime-type&amp;gt;. For example if you, like
476 me, want to know which packages support inode/directory, you can get a
477 list like this:&lt;/p&gt;
478
479 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
480 % appstreamcli what-provides mimetype inode/directory | grep Package: | sort
481 Package: anjuta
482 Package: audacious
483 Package: baobab
484 Package: cervisia
485 Package: chirp
486 Package: dolphin
487 Package: doublecmd-common
488 Package: easytag
489 Package: enlightenment
490 Package: ephoto
491 Package: filelight
492 Package: gwenview
493 Package: k4dirstat
494 Package: kaffeine
495 Package: kdesvn
496 Package: kid3
497 Package: kid3-qt
498 Package: nautilus
499 Package: nemo
500 Package: pcmanfm
501 Package: pcmanfm-qt
502 Package: qweborf
503 Package: ranger
504 Package: sirikali
505 Package: spacefm
506 Package: spacefm
507 Package: vifm
508 %
509 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
510
511 &lt;p&gt;Using the same method, I can quickly discover that the Sketchup file
512 format is not yet supported by any package in Debian:&lt;/p&gt;
513
514 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
515 % appstreamcli what-provides mimetype application/vnd.sketchup.skp
516 Could not find component providing &#39;mimetype::application/vnd.sketchup.skp&#39;.
517 %
518 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
519
520 &lt;p&gt;Yesterday I used it to figure out which packages support the STL 3D
521 format:&lt;/p&gt;
522
523 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
524 % appstreamcli what-provides mimetype application/sla|grep Package
525 Package: cura
526 Package: meshlab
527 Package: printrun
528 %
529 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
530
531 &lt;p&gt;PS: A new version of Cura was uploaded to Debian yesterday.&lt;/p&gt;
532
533 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
534 activities, please send Bitcoin donations to my address
535 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
536 </description>
537 </item>
538
539 <item>
540 <title>Debian APT upgrade without enough free space on the disk...</title>
541 <link>http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</link>
542 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</guid>
543 <pubDate>Sun, 8 Jul 2018 12:10:00 +0200</pubDate>
544 <description>&lt;p&gt;Quite regularly, I let my Debian Sid/Unstable chroot stay untouch
545 for a while, and when I need to update it there is not enough free
546 space on the disk for apt to do a normal &#39;apt upgrade&#39;. I normally
547 would resolve the issue by doing &#39;apt install &amp;lt;somepackages&amp;gt;&#39; to
548 upgrade only some of the packages in one batch, until the amount of
549 packages to download fall below the amount of free space available.
550 Today, I had about 500 packages to upgrade, and after a while I got
551 tired of trying to install chunks of packages manually. I concluded
552 that I did not have the spare hours required to complete the task, and
553 decided to see if I could automate it. I came up with this small
554 script which I call &#39;apt-in-chunks&#39;:&lt;/p&gt;
555
556 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
557 #!/bin/sh
558 #
559 # Upgrade packages when the disk is too full to upgrade every
560 # upgradable package in one lump. Fetching packages to upgrade using
561 # apt, and then installing using dpkg, to avoid changing the package
562 # flag for manual/automatic.
563
564 set -e
565
566 ignore() {
567 if [ &quot;$1&quot; ]; then
568 grep -v &quot;$1&quot;
569 else
570 cat
571 fi
572 }
573
574 for p in $(apt list --upgradable | ignore &quot;$@&quot; |cut -d/ -f1 | grep -v &#39;^Listing...&#39;); do
575 echo &quot;Upgrading $p&quot;
576 apt clean
577 apt install --download-only -y $p
578 for f in /var/cache/apt/archives/*.deb; do
579 if [ -e &quot;$f&quot; ]; then
580 dpkg -i /var/cache/apt/archives/*.deb
581 break
582 fi
583 done
584 done
585 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
586
587 &lt;p&gt;The script will extract the list of packages to upgrade, try to
588 download the packages needed to upgrade one package, install the
589 downloaded packages using dpkg. The idea is to upgrade packages
590 without changing the APT mark for the package (ie the one recording of
591 the package was manually requested or pulled in as a dependency). To
592 use it, simply run it as root from the command line. If it fail, try
593 &#39;apt install -f&#39; to clean up the mess and run the script again. This
594 might happen if the new packages conflict with one of the old
595 packages. dpkg is unable to remove, while apt can do this.&lt;/p&gt;
596
597 &lt;p&gt;It take one option, a package to ignore in the list of packages to
598 upgrade. The option to ignore a package is there to be able to skip
599 the packages that are simply too large to unpack. Today this was
600 &#39;ghc&#39;, but I have run into other large packages causing similar
601 problems earlier (like TeX).&lt;/p&gt;
602
603 &lt;p&gt;Update 2018-07-08: Thanks to Paul Wise, I am aware of two
604 alternative ways to handle this. The &quot;unattended-upgrades
605 --minimal-upgrade-steps&quot; option will try to calculate upgrade sets for
606 each package to upgrade, and then upgrade them in order, smallest set
607 first. It might be a better option than my above mentioned script.
608 Also, &quot;aptutude upgrade&quot; can upgrade single packages, thus avoiding
609 the need for using &quot;dpkg -i&quot; in the script above.&lt;/p&gt;
610
611 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
612 activities, please send Bitcoin donations to my address
613 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
614 </description>
615 </item>
616
617 <item>
618 <title>The worlds only stone power plant?</title>
619 <link>http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</link>
620 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</guid>
621 <pubDate>Sat, 30 Jun 2018 10:35:00 +0200</pubDate>
622 <description>&lt;p&gt;So far, at least hydro-electric power, coal power, wind power,
623 solar power, and wood power are well known. Until a few days ago, I
624 had never heard of stone power. Then I learn about a quarry in a
625 mountain in
626 &lt;a href=&quot;https://en.wikipedia.org/wiki/Bremanger&quot;&gt;Bremanger&lt;/a&gt; i
627 Norway, where
628 &lt;a href=&quot;https://www.bontrup.com/en/activities/raw-materials/bremanger-quarry/&quot;&gt;the
629 Bremanger Quarry&lt;/a&gt; company is extracting stone and dumping the stone
630 into a shaft leading to its shipping harbour. This downward movement
631 in this shaft is used to produce electricity. In short, it is using
632 falling rocks instead of falling water to produce electricity, and
633 according to its own statements it is producing more power than it is
634 using, and selling the surplus electricity to the Norwegian power
635 grid. I find the concept truly amazing. Is this the worlds only
636 stone power plant?&lt;/p&gt;
637
638 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
639 activities, please send Bitcoin donations to my address
640 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
641 </description>
642 </item>
643
644 <item>
645 <title>Add-on to control the projector from within Kodi</title>
646 <link>http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</link>
647 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</guid>
648 <pubDate>Tue, 26 Jun 2018 23:55:00 +0200</pubDate>
649 <description>&lt;p&gt;My movie playing setup involve &lt;a href=&quot;https://kodi.tv/&quot;&gt;Kodi&lt;/a&gt;,
650 &lt;a href=&quot;https://openelec.tv&quot;&gt;OpenELEC&lt;/a&gt; (probably soon to be
651 replaced with &lt;a href=&quot;https://libreelec.tv/&quot;&gt;LibreELEC&lt;/a&gt;) and an
652 Infocus IN76 video projector. My projector can be controlled via both
653 a infrared remote controller, and a RS-232 serial line. The vendor of
654 my projector, &lt;a href=&quot;https://www.infocus.com/&quot;&gt;InFocus&lt;/a&gt;, had been
655 sensible enough to document the serial protocol in its user manual, so
656 it is easily available, and I used it some years ago to write
657 &lt;a href=&quot;https://github.com/petterreinholdtsen/infocus-projector-control&quot;&gt;a
658 small script to control the projector&lt;/a&gt;. For a while now, I longed
659 for a setup where the projector was controlled by Kodi, for example in
660 such a way that when the screen saver went on, the projector was
661 turned off, and when the screen saver exited, the projector was turned
662 on again.&lt;/p&gt;
663
664 &lt;p&gt;A few days ago, with very good help from parts of my family, I
665 managed to find a Kodi Add-on for controlling a Epson projector, and
666 got in touch with its author to see if we could join forces and make a
667 Add-on with support for several projectors. To my pleasure, he was
668 positive to the idea, and we set out to add InFocus support to his
669 add-on, and make the add-on suitable for the official Kodi add-on
670 repository.&lt;/p&gt;
671
672 &lt;p&gt;The Add-on is now working (for me, at least), with a few minor
673 adjustments. The most important change I do relative to the master
674 branch in the github repository is embedding the
675 &lt;a href=&quot;https://github.com/pyserial/pyserial&quot;&gt;pyserial module&lt;/a&gt; in
676 the add-on. The long term solution is to make a &quot;script&quot; type
677 pyserial module for Kodi, that can be pulled in as a dependency in
678 Kodi. But until that in place, I embed it.&lt;/p&gt;
679
680 &lt;p&gt;The add-on can be configured to turn on the projector when Kodi
681 starts, off when Kodi stops as well as turn the projector off when the
682 screensaver start and on when the screesaver stops. It can also be
683 told to set the projector source when turning on the projector.
684
685 &lt;p&gt;If this sound interesting to you, check out
686 &lt;a href=&quot;https://github.com/fredrik-eriksson/kodi_projcontrol&quot;&gt;the
687 project github repository&lt;/a&gt;. Perhaps you can send patches to
688 support your projector too? As soon as we find time to wrap up the
689 latest changes, it should be available for easy installation using any
690 Kodi instance.&lt;/p&gt;
691
692 &lt;p&gt;For future improvements, I would like to add projector model
693 detection and the ability to adjust the brightness level of the
694 projector from within Kodi. We also need to figure out how to handle
695 the cooling period of the projector. My projector refuses to turn on
696 for 60 seconds after it was turned off. This is not handled well by
697 the add-on at the moment.&lt;/p&gt;
698
699 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
700 activities, please send Bitcoin donations to my address
701 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
702 </description>
703 </item>
704
705 <item>
706 <title>Self-appointed leaders of the Free World</title>
707 <link>http://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</link>
708 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</guid>
709 <pubDate>Thu, 22 Mar 2018 11:00:00 +0100</pubDate>
710 <description>&lt;p&gt;The leaders of the worlds have started to congratulate the
711 re-elected Russian head of state, and this causes some criticism. I
712 am though a little fascinated by a comment from USA senator John McCain,
713 &lt;a href=&quot;http://thehill.com/homenews/senate/379339-mccain-rips-trumps-congratulatory-call-to-putin-as-insult-to-russian-people&quot;&gt;sited
714 by The Hill and others&lt;/a&gt;:
715
716 &lt;p&gt;&lt;blockquote&gt;
717 &lt;p&gt;&quot;An American president does not lead the Free World by
718 congratulating dictators on winning sham elections.&quot;&lt;/p&gt;
719 &lt;/blockquote&gt;&lt;/p&gt;
720
721 &lt;p&gt;While I totally agree with the senator here, the way the quote is
722 phrased make me suspect that he is unaware of the simple fact that USA
723 have not lead the Free World since at least before its government
724 &lt;a href=&quot;https://en.wikipedia.org/wiki/Maher_Arar&quot;&gt;kidnapped a
725 completely innocent Canadian citizen in transit on his way home to
726 Canada via John F. Kennedy International Airport in September 2002 and
727 sent him to be tortured in Syria for a year&lt;/a&gt;.&lt;/p&gt;
728
729 &lt;p&gt;USA might be running ahead, but the path they are taking is not the
730 one taken by any Free World.&lt;/p&gt;
731 </description>
732 </item>
733
734 <item>
735 <title>Facebooks ability to sell your personal information is the real Cambridge Analytica scandal</title>
736 <link>http://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</link>
737 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</guid>
738 <pubDate>Wed, 21 Mar 2018 16:30:00 +0100</pubDate>
739 <description>&lt;p&gt;So, Cambridge Analytica is getting some well deserved criticism for
740 (mis)using information it got from Facebook about 50 million people,
741 mostly in the USA. What I find a bit surprising, is how little
742 criticism Facebook is getting for handing the information over to
743 Cambridge Analytica and others in the first place. And what about the
744 people handing their private and personal information to Facebook?
745 And last, but not least, what about the government offices who are
746 handing information about the visitors of their web pages to Facebook?
747 No-one who looked at the terms of use of Facebook should be surprised
748 that information about peoples interests, political views, personal
749 lifes and whereabouts would be sold by Facebook.&lt;/p&gt;
750
751 &lt;p&gt;What I find to be the real scandal is the fact that Facebook is
752 selling your personal information, not that one of the buyers used it
753 in a way Facebook did not approve when exposed. It is well known that
754 Facebook is selling out their users privacy, but a scandal
755 nevertheless. Of course the information provided to them by Facebook
756 would be misused by one of the parties given access to personal
757 information about the millions of Facebook users. Collected
758 information will be misused sooner or later. The only way to avoid
759 such misuse, is to not collect the information in the first place. If
760 you do not want Facebook to hand out information about yourself for
761 the use and misuse of its customers, do not give Facebook the
762 information.&lt;/p&gt;
763
764 &lt;p&gt;Personally, I would recommend to completely remove your Facebook
765 account, and take back some control of your personal information.
766 &lt;a href=&quot;https://www.theguardian.com/technology/2018/mar/19/how-to-protect-your-facebook-privacy-or-delete-yourself-completely&quot;&gt;According
767 to The Guardian&lt;/a&gt;, it is a bit hard to find out how to request
768 account removal (and not just &#39;disabling&#39;). You need to
769 &lt;a href=&quot;https://www.facebook.com/help/224562897555674?helpref=faq_content&quot;&gt;visit
770 a specific Facebook page&lt;/a&gt; and click on &#39;let us know&#39; on that page
771 to get to &lt;a href=&quot;https://www.facebook.com/help/delete_account&quot;&gt;the
772 real account deletion screen&lt;/a&gt;. Perhaps something to consider? I
773 would not trust the information to really be deleted (who knows,
774 perhaps NSA, GCHQ and FRA already got a copy), but it might reduce the
775 exposure a bit.&lt;/p&gt;
776
777 &lt;p&gt;If you want to learn more about the capabilities of Cambridge
778 Analytica, I recommend to see the video recording of the one hour talk
779 Paul-Olivier Dehaye gave to &lt;a href=&quot;&quot;&gt;NUUG&lt;/a&gt; last april about
780 &lt;a href=&quot;https://www.nuug.no/aktiviteter/20170404-big-data-psychometric/&quot;&gt;
781 Data collection, psychometric profiling and their impact on
782 politics&lt;/a&gt;.&lt;/p&gt;
783
784 &lt;p&gt;And if you want to communicate with your friends and loved ones,
785 use some end-to-end encrypted method like
786 &lt;a href=&quot;https://www.signal.org/&quot;&gt;Signal&lt;/a&gt; or
787 &lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;, and stop sharing your private
788 messages with strangers like Facebook and Google.&lt;/p&gt;
789 </description>
790 </item>
791
792 <item>
793 <title>First rough draft Norwegian and Spanish edition of the book Made with Creative Commons</title>
794 <link>http://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</link>
795 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</guid>
796 <pubDate>Tue, 13 Mar 2018 13:00:00 +0100</pubDate>
797 <description>&lt;p&gt;I am working on publishing yet another book related to Creative
798 Commons. This time it is a book filled with interviews and histories
799 from those around the globe making a living using Creative
800 Commons.&lt;/p&gt;
801
802 &lt;p&gt;Yesterday, after many months of hard work by several volunteer
803 translators, the first draft of a Norwegian Bokmål edition of the book
804 &lt;a href=&quot;https://madewith.cc&quot;&gt;Made with Creative Commons from 2017&lt;/a&gt;
805 was complete. The Spanish translation is also complete, while the
806 Dutch, Polish, German and Ukraine edition need a lot of work. Get in
807 touch if you want to help make those happen, or would like to
808 translate into your mother tongue.&lt;/p&gt;
809
810 &lt;p&gt;The whole book project started when
811 &lt;a href=&quot;http://gwolf.org/node/4102&quot;&gt;Gunnar Wolf announced&lt;/a&gt; that he
812 was going to make a Spanish edition of the book. I noticed, and
813 offered some input on how to make a book, based on my experience with
814 translating the
815 &lt;a href=&quot;https://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Free
816 Culture&lt;/a&gt; and
817 &lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;The Debian
818 Administrator&#39;s Handbook&lt;/a&gt; books to Norwegian Bokmål. To make a
819 long story short, we ended up working on a Bokmål edition, and now the
820 first rough translation is complete, thanks to the hard work of
821 Ole-Erik Yrvin, Ingrid Yrvin, Allan Nordhøy and myself. The first
822 proof reading is almost done, and only the second and third proof
823 reading remains. We will also need to translate the 14 figures and
824 create a book cover. Once it is done we will publish the book on
825 paper, as well as in PDF, ePub and possibly Mobi formats.&lt;/p&gt;
826
827 &lt;p&gt;The book itself originates as a manuscript on Google Docs, is
828 downloaded as ODT from there and converted to Markdown using pandoc.
829 The Markdown is modified by a script before is converted to DocBook
830 using pandoc. The DocBook is modified again using a script before it
831 is used to create a Gettext POT file for translators. The translated
832 PO file is then combined with the earlier mentioned DocBook file to
833 create a translated DocBook file, which finally is given to dblatex to
834 create the final PDF. The end result is a set of editions of the
835 manuscript, one English and one for each of the translations.&lt;/p&gt;
836
837 &lt;p&gt;The translation is conducted using
838 &lt;a href=&quot;https://hosted.weblate.org/projects/madewithcc/translation/&quot;&gt;the
839 Weblate web based translation system&lt;/a&gt;. Please have a look there
840 and get in touch if you would like to help out with proof
841 reading. :)&lt;/p&gt;
842
843 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
844 activities, please send Bitcoin donations to my address
845 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
846 </description>
847 </item>
848
849 <item>
850 <title>Debian used in the subway info screens in Oslo, Norway</title>
851 <link>http://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</link>
852 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</guid>
853 <pubDate>Fri, 2 Mar 2018 13:10:00 +0100</pubDate>
854 <description>&lt;p&gt;Today I was pleasantly surprised to discover my operating system of
855 choice, Debian, was used in the info screens on the subway stations.
856 While passing Nydalen subway station in Oslo, Norway, I discovered the
857 info screen booting with some text scrolling. I was not quick enough
858 with my camera to be able to record a video of the scrolling boot
859 screen, but I did get a photo from when the boot got stuck with a
860 corrupt file system:
861
862 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2018-03-02-ruter-debian-lenny.jpeg&quot;&gt;&lt;img align=&quot;center&quot; width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2018-03-02-ruter-debian-lenny.jpeg&quot; alt=&quot;[photo of subway info screen]&quot;&gt;&lt;/a&gt;&lt;/p&gt;
863
864 &lt;p&gt;While I am happy to see Debian used more places, some details of the
865 content on the screen worries me.&lt;/p&gt;
866
867 &lt;p&gt;The image show the version booting is &#39;Debian GNU/Linux lenny/sid&#39;,
868 indicating that this is based on code taken from Debian Unstable/Sid
869 after Debian Etch (version 4) was released 2007-04-08 and before
870 Debian Lenny (version 5) was released 2009-02-14. Since Lenny Debian
871 has released version 6 (Squeeze) 2011-02-06, 7 (Wheezy) 2013-05-04, 8
872 (Jessie) 2015-04-25 and 9 (Stretch) 2017-06-15, according to
873 &lt;a href=&quot;https://en.wikipedia.org/wiki/Debian_version_history&quot;&gt;a Debian
874 version history on Wikpedia&lt;/a&gt;. This mean the system is running
875 around 10 year old code, with no security fixes from the vendor for
876 many years.&lt;/p&gt;
877
878 &lt;p&gt;This is not the first time I discover the Oslo subway company,
879 Ruter, running outdated software. In 2012,
880 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html&quot;&gt;I
881 discovered the ticket vending machines were running Windows 2000&lt;/a&gt;,
882 and this was
883 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html&quot;&gt;still
884 the case in 2016&lt;/a&gt;. Given the response from the responsible people
885 in 2016, I would assume the machines are still running unpatched
886 Windows 2000. Thus, an unpatched Debian setup come as no surprise.&lt;/p&gt;
887
888 &lt;p&gt;The photo is made available under the license terms
889 &lt;a href=&quot;http://creativecommons.org/licenses/by/4.0/&quot;&gt;Creative Commons
890 4.0 Attribution International (CC BY 4.0)&lt;/a&gt;.&lt;/p&gt;
891
892 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
893 activities, please send Bitcoin donations to my address
894 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
895 </description>
896 </item>
897
898 <item>
899 <title>The SysVinit upstream project just migrated to git</title>
900 <link>http://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</link>
901 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</guid>
902 <pubDate>Sun, 18 Feb 2018 09:20:00 +0100</pubDate>
903 <description>&lt;p&gt;Surprising as it might sound, there are still computers using the
904 traditional Sys V init system, and there probably will be until
905 systemd start working on Hurd and FreeBSD.
906 &lt;a href=&quot;https://savannah.nongnu.org/projects/sysvinit&quot;&gt;The upstream
907 project still exist&lt;/a&gt;, though, and up until today, the upstream
908 source was available from Savannah via subversion. I am happy to
909 report that this just changed.&lt;/p&gt;
910
911 &lt;p&gt;The upstream source is now in Git, and consist of three
912 repositories:&lt;/p&gt;
913
914 &lt;ul&gt;
915
916 &lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit.git&quot;&gt;sysvinit&lt;/a&gt;&lt;/li&gt;
917 &lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit/insserv.git&quot;&gt;insserv&lt;/a&gt;&lt;/li&gt;
918 &lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit/startpar.git&quot;&gt;startpar&lt;/a&gt;&lt;/li&gt;
919
920 &lt;/ul&gt;
921
922 &lt;p&gt;I do not really spend much time on the project these days, and I
923 has mostly retired, but found it best to migrate the source to a good
924 version control system to help those willing to move it forward.&lt;/p&gt;
925
926 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
927 activities, please send Bitcoin donations to my address
928 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
929 </description>
930 </item>
931
932 <item>
933 <title>Using VLC to stream bittorrent sources</title>
934 <link>http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</link>
935 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</guid>
936 <pubDate>Wed, 14 Feb 2018 08:00:00 +0100</pubDate>
937 <description>&lt;p&gt;A few days ago, a new major version of
938 &lt;a href=&quot;https://www.videolan.org/&quot;&gt;VLC&lt;/a&gt; was announced, and I
939 decided to check out if it now supported streaming over
940 &lt;a href=&quot;http://bittorrent.org/&quot;&gt;bittorrent&lt;/a&gt; and
941 &lt;a href=&quot;https://webtorrent.io&quot;&gt;webtorrent&lt;/a&gt;. Bittorrent is one of
942 the most efficient ways to distribute large files on the Internet, and
943 Webtorrent is a variant of Bittorrent using
944 &lt;a href=&quot;https://webrtc.org&quot;&gt;WebRTC&lt;/a&gt; as its transport channel,
945 allowing web pages to stream and share files using the same technique.
946 The network protocols are similar but not identical, so a client
947 supporting one of them can not talk to a client supporting the other.
948 I was a bit surprised with what I discovered when I started to look.
949 Looking at
950 &lt;a href=&quot;https://www.videolan.org/vlc/releases/3.0.0.html&quot;&gt;the release
951 notes&lt;/a&gt; did not help answering this question, so I started searching
952 the web. I found several news articles from 2013, most of them
953 tracing the news from Torrentfreak
954 (&quot;&lt;a href=https://torrentfreak.com/open-source-giant-vlc-mulls-bittorrent-support-130211/&quot;&gt;Open
955 Source Giant VLC Mulls BitTorrent Streaming Support&lt;/a&gt;&quot;), about a
956 initiative to pay someone to create a VLC patch for bittorrent
957 support. To figure out what happend with this initiative, I headed
958 over to the #videolan IRC channel and asked if there were some bug or
959 feature request tickets tracking such feature. I got an answer from
960 lead developer Jean-Babtiste Kempf, telling me that there was a patch
961 but neither he nor anyone else knew where it was. So I searched a bit
962 more, and came across an independent
963 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent&quot;&gt;VLC plugin to add
964 bittorrent support&lt;/a&gt;, created by Johan Gunnarsson in 2016/2017.
965 Again according to Jean-Babtiste, this is not the patch he was talking
966 about.&lt;/p&gt;
967
968 &lt;p&gt;Anyway, to test the plugin, I made a working Debian package from
969 the git repository, with some modifications. After installing this
970 package, I could stream videos from
971 &lt;a href=&quot;https://www.archive.org/&quot;&gt;The Internet Archive&lt;/a&gt; using VLC
972 commands like this:&lt;/p&gt;
973
974 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
975 vlc https://archive.org/download/LoveNest/LoveNest_archive.torrent
976 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
977
978 &lt;p&gt;The plugin is supposed to handle magnet links too, but since The
979 Internet Archive do not have magnet links and I did not want to spend
980 time tracking down another source, I have not tested it. It can take
981 quite a while before the video start playing without any indication of
982 what is going on from VLC. It took 10-20 seconds when I measured it.
983 Some times the plugin seem unable to find the correct video file to
984 play, and show the metadata XML file name in the VLC status line. I
985 have no idea why.&lt;/p&gt;
986
987 &lt;p&gt;I have created a &lt;a href=&quot;https://bugs.debian.org/890360&quot;&gt;request for
988 a new package in Debian (RFP)&lt;/a&gt; and
989 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/1&quot;&gt;asked if
990 the upstream author is willing to help make this happen&lt;/a&gt;. Now we
991 wait to see what come out of this. I do not want to maintain a
992 package that is not maintained upstream, nor do I really have time to
993 maintain more packages myself, so I might leave it at this. But I
994 really hope someone step up to do the packaging, and hope upstream is
995 still maintaining the source. If you want to help, please update the
996 RFP request or the upstream issue.&lt;/p&gt;
997
998 &lt;p&gt;I have not found any traces of webtorrent support for VLC.&lt;/p&gt;
999
1000 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1001 activities, please send Bitcoin donations to my address
1002 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1003 </description>
1004 </item>
1005
1006 <item>
1007 <title>Version 3.1 of Cura, the 3D print slicer, is now in Debian</title>
1008 <link>http://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</link>
1009 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</guid>
1010 <pubDate>Tue, 13 Feb 2018 06:20:00 +0100</pubDate>
1011 <description>&lt;p&gt;A new version of the
1012 &lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;3D printer slicer
1013 software Cura&lt;/a&gt;, version 3.1.0, is now available in Debian Testing
1014 (aka Buster) and Debian Unstable (aka Sid). I hope you find it
1015 useful. It was uploaded the last few days, and the last update will
1016 enter testing tomorrow. See the
1017 &lt;a href=&quot;https://ultimaker.com/en/products/cura-software/release-notes&quot;&gt;release
1018 notes&lt;/a&gt; for the list of bug fixes and new features. Version 3.2
1019 was announced 6 days ago. We will try to get it into Debian as
1020 well.&lt;/p&gt;
1021
1022 &lt;p&gt;More information related to 3D printing is available on the
1023 &lt;a href=&quot;https://wiki.debian.org/3DPrinting&quot;&gt;3D printing&lt;/a&gt; and
1024 &lt;a href=&quot;https://wiki.debian.org/3D-printer&quot;&gt;3D printer&lt;/a&gt; wiki pages
1025 in Debian.&lt;/p&gt;
1026
1027 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1028 activities, please send Bitcoin donations to my address
1029 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1030 </description>
1031 </item>
1032
1033 <item>
1034 <title>How hard can æ, ø and å be?</title>
1035 <link>http://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</link>
1036 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</guid>
1037 <pubDate>Sun, 11 Feb 2018 17:10:00 +0100</pubDate>
1038 <description>&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-02-11-peppes-unicode.jpeg&quot; align=&quot;right&quot;/&gt;
1039
1040 &lt;p&gt;We write 2018, and it is 30 years since Unicode was introduced.
1041 Most of us in Norway have come to expect the use of our alphabet to
1042 just work with any computer system. But it is apparently beyond reach
1043 of the computers printing recites at a restaurant. Recently I visited
1044 a Peppes pizza resturant, and noticed a few details on the recite.
1045 Notice how &#39;ø&#39; and &#39;å&#39; are replaced with strange symbols in
1046 &#39;Servitør&#39;, &#39;Å BETALE&#39;, &#39;Beløp pr. gjest&#39;, &#39;Takk for besøket.&#39; and &#39;Vi
1047 gleder oss til å se deg igjen&#39;.&lt;/p&gt;
1048
1049 &lt;p&gt;I would say that this state is passed sad and over in embarrassing.&lt;/p&gt;
1050
1051 &lt;p&gt;I removed personal and private information to be nice.&lt;/p&gt;
1052
1053 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1054 activities, please send Bitcoin donations to my address
1055 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1056 </description>
1057 </item>
1058
1059 <item>
1060 <title>Legal to share more than 11,000 movies listed on IMDB?</title>
1061 <link>http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</link>
1062 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</guid>
1063 <pubDate>Sun, 7 Jan 2018 23:30:00 +0100</pubDate>
1064 <description>&lt;p&gt;I&#39;ve continued to track down list of movies that are legal to
1065 distribute on the Internet, and identified more than 11,000 title IDs
1066 in The Internet Movie Database (IMDB) so far. Most of them (57%) are
1067 feature films from USA published before 1923. I&#39;ve also tracked down
1068 more than 24,000 movies I have not yet been able to map to IMDB title
1069 ID, so the real number could be a lot higher. According to the front
1070 web page for &lt;a href=&quot;https://retrofilmvault.com/&quot;&gt;Retro Film
1071 Vault&lt;/A&gt;, there are 44,000 public domain films, so I guess there are
1072 still some left to identify.&lt;/p&gt;
1073
1074 &lt;p&gt;The complete data set is available from
1075 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
1076 public git repository&lt;/a&gt;, including the scripts used to create it.
1077 Most of the data is collected using web scraping, for example from the
1078 &quot;product catalog&quot; of companies selling copies of public domain movies,
1079 but any source I find believable is used. I&#39;ve so far had to throw
1080 out three sources because I did not trust the public domain status of
1081 the movies listed.&lt;/p&gt;
1082
1083 &lt;p&gt;Anyway, this is the summary of the 28 collected data sources so
1084 far:&lt;/p&gt;
1085
1086 &lt;p&gt;&lt;pre&gt;
1087 2352 entries ( 66 unique) with and 15983 without IMDB title ID in free-movies-archive-org-search.json
1088 2302 entries ( 120 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
1089 195 entries ( 63 unique) with and 200 without IMDB title ID in free-movies-cinemovies.json
1090 89 entries ( 52 unique) with and 38 without IMDB title ID in free-movies-creative-commons.json
1091 344 entries ( 28 unique) with and 655 without IMDB title ID in free-movies-fesfilm.json
1092 668 entries ( 209 unique) with and 1064 without IMDB title ID in free-movies-filmchest-com.json
1093 830 entries ( 21 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
1094 19 entries ( 19 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-gb.json
1095 6822 entries ( 6669 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-us.json
1096 137 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-imdb-externlist.json
1097 1205 entries ( 57 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
1098 84 entries ( 20 unique) with and 167 without IMDB title ID in free-movies-infodigi-pd.json
1099 158 entries ( 135 unique) with and 0 without IMDB title ID in free-movies-letterboxd-looney-tunes.json
1100 113 entries ( 4 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
1101 182 entries ( 100 unique) with and 0 without IMDB title ID in free-movies-letterboxd-silent.json
1102 229 entries ( 87 unique) with and 1 without IMDB title ID in free-movies-manual.json
1103 44 entries ( 2 unique) with and 64 without IMDB title ID in free-movies-openflix.json
1104 291 entries ( 33 unique) with and 474 without IMDB title ID in free-movies-profilms-pd.json
1105 211 entries ( 7 unique) with and 0 without IMDB title ID in free-movies-publicdomainmovies-info.json
1106 1232 entries ( 57 unique) with and 1875 without IMDB title ID in free-movies-publicdomainmovies-net.json
1107 46 entries ( 13 unique) with and 81 without IMDB title ID in free-movies-publicdomainreview.json
1108 698 entries ( 64 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
1109 1758 entries ( 882 unique) with and 3786 without IMDB title ID in free-movies-retrofilmvault.json
1110 16 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-thehillproductions.json
1111 63 entries ( 16 unique) with and 141 without IMDB title ID in free-movies-vodo.json
1112 11583 unique IMDB title IDs in total, 8724 only in one list, 24647 without IMDB title ID
1113 &lt;/pre&gt;&lt;/p&gt;
1114
1115 &lt;p&gt; I keep finding more data sources. I found the cinemovies source
1116 just a few days ago, and as you can see from the summary, it extended
1117 my list with 63 movies. Check out the mklist-* scripts in the git
1118 repository if you are curious how the lists are created. Many of the
1119 titles are extracted using searches on IMDB, where I look for the
1120 title and year, and accept search results with only one movie listed
1121 if the year matches. This allow me to automatically use many lists of
1122 movies without IMDB title ID references at the cost of increasing the
1123 risk of wrongly identify a IMDB title ID as public domain. So far my
1124 random manual checks have indicated that the method is solid, but I
1125 really wish all lists of public domain movies would include unique
1126 movie identifier like the IMDB title ID. It would make the job of
1127 counting movies in the public domain a lot easier.&lt;/p&gt;
1128
1129 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1130 activities, please send Bitcoin donations to my address
1131 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1132 </description>
1133 </item>
1134
1135 <item>
1136 <title>Cura, the nice 3D print slicer, is now in Debian Unstable</title>
1137 <link>http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</link>
1138 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</guid>
1139 <pubDate>Sun, 17 Dec 2017 07:00:00 +0100</pubDate>
1140 <description>&lt;p&gt;After several months of working and waiting, I am happy to report
1141 that the nice and user friendly 3D printer slicer software Cura just
1142 entered Debian Unstable. It consist of five packages,
1143 &lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;cura&lt;/a&gt;,
1144 &lt;a href=&quot;https://tracker.debian.org/pkg/cura-engine&quot;&gt;cura-engine&lt;/a&gt;,
1145 &lt;a href=&quot;https://tracker.debian.org/pkg/libarcus&quot;&gt;libarcus&lt;/a&gt;,
1146 &lt;a href=&quot;https://tracker.debian.org/pkg/fdm-materials&quot;&gt;fdm-materials&lt;/a&gt;,
1147 &lt;a href=&quot;https://tracker.debian.org/pkg/libsavitar&quot;&gt;libsavitar&lt;/a&gt; and
1148 &lt;a href=&quot;https://tracker.debian.org/pkg/uranium&quot;&gt;uranium&lt;/a&gt;. The last
1149 two, uranium and cura, entered Unstable yesterday. This should make
1150 it easier for Debian users to print on at least the Ultimaker class of
1151 3D printers. My nearest 3D printer is an Ultimaker 2+, so it will
1152 make life easier for at least me. :)&lt;/p&gt;
1153
1154 &lt;p&gt;The work to make this happen was done by Gregor Riepl, and I was
1155 happy to assist him in sponsoring the packages. With the introduction
1156 of Cura, Debian is up to three 3D printer slicers at your service,
1157 Cura, Slic3r and Slic3r Prusa. If you own or have access to a 3D
1158 printer, give it a go. :)&lt;/p&gt;
1159
1160 &lt;p&gt;The 3D printer software is maintained by the 3D printer Debian
1161 team, flocking together on the
1162 &lt;a href=&quot;http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/3dprinter-general&quot;&gt;3dprinter-general&lt;/a&gt;
1163 mailing list and the
1164 &lt;a href=&quot;irc://irc.debian.org/#debian-3dprinting&quot;&gt;#debian-3dprinting&lt;/a&gt;
1165 IRC channel.&lt;/p&gt;
1166
1167 &lt;p&gt;The next step for Cura in Debian is to update the cura package to
1168 version 3.0.3 and then update the entire set of packages to version
1169 3.1.0 which showed up the last few days.&lt;/p&gt;
1170 </description>
1171 </item>
1172
1173 <item>
1174 <title>Idea for finding all public domain movies in the USA</title>
1175 <link>http://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html</link>
1176 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html</guid>
1177 <pubDate>Wed, 13 Dec 2017 10:15:00 +0100</pubDate>
1178 <description>&lt;p&gt;While looking at
1179 &lt;a href=&quot;http://onlinebooks.library.upenn.edu/cce/&quot;&gt;the scanned copies
1180 for the copyright renewal entries for movies published in the USA&lt;/a&gt;,
1181 an idea occurred to me. The number of renewals are so few per year, it
1182 should be fairly quick to transcribe them all and add references to
1183 the corresponding IMDB title ID. This would give the (presumably)
1184 complete list of movies published 28 years earlier that did _not_
1185 enter the public domain for the transcribed year. By fetching the
1186 list of USA movies published 28 years earlier and subtract the movies
1187 with renewals, we should be left with movies registered in IMDB that
1188 are now in the public domain. For the year 1955 (which is the one I
1189 have looked at the most), the total number of pages to transcribe is
1190 21. For the 28 years from 1950 to 1978, it should be in the range
1191 500-600 pages. It is just a few days of work, and spread among a
1192 small group of people it should be doable in a few weeks of spare
1193 time.&lt;/p&gt;
1194
1195 &lt;p&gt;A typical copyright renewal entry look like this (the first one
1196 listed for 1955):&lt;/p&gt;
1197
1198 &lt;p&gt;&lt;blockquote&gt;
1199 ADAM AND EVIL, a photoplay in seven reels by Metro-Goldwyn-Mayer
1200 Distribution Corp. (c) 17Aug27; L24293. Loew&#39;s Incorporated (PWH);
1201 10Jun55; R151558.
1202 &lt;/blockquote&gt;&lt;/p&gt;
1203
1204 &lt;p&gt;The movie title as well as registration and renewal dates are easy
1205 enough to locate by a program (split on first comma and look for
1206 DDmmmYY). The rest of the text is not required to find the movie in
1207 IMDB, but is useful to confirm the correct movie is found. I am not
1208 quite sure what the L and R numbers mean, but suspect they are
1209 reference numbers into the archive of the US Copyright Office.&lt;/p&gt;
1210
1211 &lt;p&gt;Tracking down the equivalent IMDB title ID is probably going to be
1212 a manual task, but given the year it is fairly easy to search for the
1213 movie title using for example
1214 &lt;a href=&quot;http://www.imdb.com/find?q=adam+and+evil+1927&amp;s=all&quot;&gt;http://www.imdb.com/find?q=adam+and+evil+1927&amp;s=all&lt;/a&gt;.
1215 Using this search, I find that the equivalent IMDB title ID for the
1216 first renewal entry from 1955 is
1217 &lt;a href=&quot;http://www.imdb.com/title/tt0017588/&quot;&gt;http://www.imdb.com/title/tt0017588/&lt;/a&gt;.&lt;/p&gt;
1218
1219 &lt;p&gt;I suspect the best way to do this would be to make a specialised
1220 web service to make it easy for contributors to transcribe and track
1221 down IMDB title IDs. In the web service, once a entry is transcribed,
1222 the title and year could be extracted from the text, a search in IMDB
1223 conducted for the user to pick the equivalent IMDB title ID right
1224 away. By spreading out the work among volunteers, it would also be
1225 possible to make at least two persons transcribe the same entries to
1226 be able to discover any typos introduced. But I will need help to
1227 make this happen, as I lack the spare time to do all of this on my
1228 own. If you would like to help, please get in touch. Perhaps you can
1229 draft a web service for crowd sourcing the task?&lt;/p&gt;
1230
1231 &lt;p&gt;Note, Project Gutenberg already have some
1232 &lt;a href=&quot;http://www.gutenberg.org/ebooks/search/?query=copyright+office+renewals&quot;&gt;transcribed
1233 copies of the US Copyright Office renewal protocols&lt;/a&gt;, but I have
1234 not been able to find any film renewals there, so I suspect they only
1235 have copies of renewal for written works. I have not been able to find
1236 any transcribed versions of movie renewals so far. Perhaps they exist
1237 somewhere?&lt;/p&gt;
1238
1239 &lt;p&gt;I would love to figure out methods for finding all the public
1240 domain works in other countries too, but it is a lot harder. At least
1241 for Norway and Great Britain, such work involve tracking down the
1242 people involved in making the movie and figuring out when they died.
1243 It is hard enough to figure out who was part of making a movie, but I
1244 do not know how to automate such procedure without a registry of every
1245 person involved in making movies and their death year.&lt;/p&gt;
1246
1247 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1248 activities, please send Bitcoin donations to my address
1249 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1250 </description>
1251 </item>
1252
1253 <item>
1254 <title>Is the short movie «Empty Socks» from 1927 in the public domain or not?</title>
1255 <link>http://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html</link>
1256 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html</guid>
1257 <pubDate>Tue, 5 Dec 2017 12:30:00 +0100</pubDate>
1258 <description>&lt;p&gt;Three years ago, a presumed lost animation film,
1259 &lt;a href=&quot;https://en.wikipedia.org/wiki/Empty_Socks&quot;&gt;Empty Socks from
1260 1927&lt;/a&gt;, was discovered in the Norwegian National Library. At the
1261 time it was discovered, it was generally assumed to be copyrighted by
1262 The Walt Disney Company, and I blogged about
1263 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Opphavsretts_status_for__Empty_Socks__fra_1927_.html&quot;&gt;my
1264 reasoning to conclude&lt;/a&gt; that it would would enter the Norwegian
1265 equivalent of the public domain in 2053, based on my understanding of
1266 Norwegian Copyright Law. But a few days ago, I came across
1267 &lt;a href=&quot;http://www.toonzone.net/forums/threads/exposed-disneys-repurchase-of-oswald-the-rabbit-a-sham.4792291/&quot;&gt;a
1268 blog post claiming the movie was already in the public domain&lt;/a&gt;, at
1269 least in USA. The reasoning is as follows: The film was released in
1270 November or Desember 1927 (sources disagree), and presumably
1271 registered its copyright that year. At that time, right holders of
1272 movies registered by the copyright office received government
1273 protection for there work for 28 years. After 28 years, the copyright
1274 had to be renewed if the wanted the government to protect it further.
1275 The blog post I found claim such renewal did not happen for this
1276 movie, and thus it entered the public domain in 1956. Yet someone
1277 claim the copyright was renewed and the movie is still copyright
1278 protected. Can anyone help me to figure out which claim is correct?
1279 I have not been able to find Empty Socks in Catalog of copyright
1280 entries. Ser.3 pt.12-13 v.9-12 1955-1958 Motion Pictures
1281 &lt;a href=&quot;http://onlinebooks.library.upenn.edu/cce/1955r.html#film&quot;&gt;available
1282 from the University of Pennsylvania&lt;/a&gt;, neither in
1283 &lt;a href=&quot;https://babel.hathitrust.org/cgi/pt?id=mdp.39015084451130;page=root;view=image;size=100;seq=83;num=45&quot;&gt;page
1284 45 for the first half of 1955&lt;/a&gt;, nor in
1285 &lt;a href=&quot;https://babel.hathitrust.org/cgi/pt?id=mdp.39015084451130;page=root;view=image;size=100;seq=175;num=119&quot;&gt;page
1286 119 for the second half of 1955&lt;/a&gt;. It is of course possible that
1287 the renewal entry was left out of the printed catalog by mistake. Is
1288 there some way to rule out this possibility? Please help, and update
1289 the wikipedia page with your findings.
1290
1291 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1292 activities, please send Bitcoin donations to my address
1293 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1294 </description>
1295 </item>
1296
1297 <item>
1298 <title>Metadata proposal for movies on the Internet Archive</title>
1299 <link>http://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html</link>
1300 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html</guid>
1301 <pubDate>Tue, 28 Nov 2017 12:00:00 +0100</pubDate>
1302 <description>&lt;p&gt;It would be easier to locate the movie you want to watch in
1303 &lt;a href=&quot;https://www.archive.org/&quot;&gt;the Internet Archive&lt;/a&gt;, if the
1304 metadata about each movie was more complete and accurate. In the
1305 archiving community, a well known saying state that good metadata is a
1306 love letter to the future. The metadata in the Internet Archive could
1307 use a face lift for the future to love us back. Here is a proposal
1308 for a small improvement that would make the metadata more useful
1309 today. I&#39;ve been unable to find any document describing the various
1310 standard fields available when uploading videos to the archive, so
1311 this proposal is based on my best quess and searching through several
1312 of the existing movies.&lt;/p&gt;
1313
1314 &lt;p&gt;I have a few use cases in mind. First of all, I would like to be
1315 able to count the number of distinct movies in the Internet Archive,
1316 without duplicates. I would further like to identify the IMDB title
1317 ID of the movies in the Internet Archive, to be able to look up a IMDB
1318 title ID and know if I can fetch the video from there and share it
1319 with my friends.&lt;/p&gt;
1320
1321 &lt;p&gt;Second, I would like the Butter data provider for The Internet
1322 archive
1323 (&lt;a href=&quot;https://github.com/butterproviders/butter-provider-archive&quot;&gt;available
1324 from github&lt;/a&gt;), to list as many of the good movies as possible. The
1325 plugin currently do a search in the archive with the following
1326 parameters:&lt;/p&gt;
1327
1328 &lt;p&gt;&lt;pre&gt;
1329 collection:moviesandfilms
1330 AND NOT collection:movie_trailers
1331 AND -mediatype:collection
1332 AND format:&quot;Archive BitTorrent&quot;
1333 AND year
1334 &lt;/pre&gt;&lt;/p&gt;
1335
1336 &lt;p&gt;Most of the cool movies that fail to show up in Butter do so
1337 because the &#39;year&#39; field is missing. The &#39;year&#39; field is populated by
1338 the year part from the &#39;date&#39; field, and should be when the movie was
1339 released (date or year). Two such examples are
1340 &lt;a href=&quot;https://archive.org/details/SidneyOlcottsBen-hur1905&quot;&gt;Ben Hur
1341 from 1905&lt;/a&gt; and
1342 &lt;a href=&quot;https://archive.org/details/Caminandes2GranDillama&quot;&gt;Caminandes
1343 2: Gran Dillama from 2013&lt;/a&gt;, where the year metadata field is
1344 missing.&lt;/p&gt;
1345
1346 So, my proposal is simply, for every movie in The Internet Archive
1347 where an IMDB title ID exist, please fill in these metadata fields
1348 (note, they can be updated also long after the video was uploaded, but
1349 as far as I can tell, only by the uploader):
1350
1351 &lt;dl&gt;
1352
1353 &lt;dt&gt;mediatype&lt;/dt&gt;
1354 &lt;dd&gt;Should be &#39;movie&#39; for movies.&lt;/dd&gt;
1355
1356 &lt;dt&gt;collection&lt;/dt&gt;
1357 &lt;dd&gt;Should contain &#39;moviesandfilms&#39;.&lt;/dd&gt;
1358
1359 &lt;dt&gt;title&lt;/dt&gt;
1360 &lt;dd&gt;The title of the movie, without the publication year.&lt;/dd&gt;
1361
1362 &lt;dt&gt;date&lt;/dt&gt;
1363 &lt;dd&gt;The data or year the movie was released. This make the movie show
1364 up in Butter, as well as make it possible to know the age of the
1365 movie and is useful to figure out copyright status.&lt;/dd&gt;
1366
1367 &lt;dt&gt;director&lt;/dt&gt;
1368 &lt;dd&gt;The director of the movie. This make it easier to know if the
1369 correct movie is found in movie databases.&lt;/dd&gt;
1370
1371 &lt;dt&gt;publisher&lt;/dt&gt;
1372 &lt;dd&gt;The production company making the movie. Also useful for
1373 identifying the correct movie.&lt;/dd&gt;
1374
1375 &lt;dt&gt;links&lt;/dt&gt;
1376
1377 &lt;dd&gt;Add a link to the IMDB title page, for example like this: &amp;lt;a
1378 href=&quot;http://www.imdb.com/title/tt0028496/&quot;&amp;gt;Movie in
1379 IMDB&amp;lt;/a&amp;gt;. This make it easier to find duplicates and allow for
1380 counting of number of unique movies in the Archive. Other external
1381 references, like to TMDB, could be added like this too.&lt;/dd&gt;
1382
1383 &lt;/dl&gt;
1384
1385 &lt;p&gt;I did consider proposing a Custom field for the IMDB title ID (for
1386 example &#39;imdb_title_url&#39;, &#39;imdb_code&#39; or simply &#39;imdb&#39;, but suspect it
1387 will be easier to simply place it in the links free text field.&lt;/p&gt;
1388
1389 &lt;p&gt;I created
1390 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
1391 list of IMDB title IDs for several thousand movies in the Internet
1392 Archive&lt;/a&gt;, but I also got a list of several thousand movies without
1393 such IMDB title ID (and quite a few duplicates). It would be great if
1394 this data set could be integrated into the Internet Archive metadata
1395 to be available for everyone in the future, but with the current
1396 policy of leaving metadata editing to the uploaders, it will take a
1397 while before this happen. If you have uploaded movies into the
1398 Internet Archive, you can help. Please consider following my proposal
1399 above for your movies, to ensure that movie is properly
1400 counted. :)&lt;/p&gt;
1401
1402 &lt;p&gt;The list is mostly generated using wikidata, which based on
1403 Wikipedia articles make it possible to link between IMDB and movies in
1404 the Internet Archive. But there are lots of movies without a
1405 Wikipedia article, and some movies where only a collection page exist
1406 (like for &lt;a href=&quot;https://en.wikipedia.org/wiki/Caminandes&quot;&gt;the
1407 Caminandes example above&lt;/a&gt;, where there are three movies but only
1408 one Wikidata entry).&lt;/p&gt;
1409
1410 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1411 activities, please send Bitcoin donations to my address
1412 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1413 </description>
1414 </item>
1415
1416 <item>
1417 <title>Legal to share more than 3000 movies listed on IMDB?</title>
1418 <link>http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html</link>
1419 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html</guid>
1420 <pubDate>Sat, 18 Nov 2017 21:20:00 +0100</pubDate>
1421 <description>&lt;p&gt;A month ago, I blogged about my work to
1422 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html&quot;&gt;automatically
1423 check the copyright status of IMDB entries&lt;/a&gt;, and try to count the
1424 number of movies listed in IMDB that is legal to distribute on the
1425 Internet. I have continued to look for good data sources, and
1426 identified a few more. The code used to extract information from
1427 various data sources is available in
1428 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
1429 git repository&lt;/a&gt;, currently available from github.&lt;/p&gt;
1430
1431 &lt;p&gt;So far I have identified 3186 unique IMDB title IDs. To gain
1432 better understanding of the structure of the data set, I created a
1433 histogram of the year associated with each movie (typically release
1434 year). It is interesting to notice where the peaks and dips in the
1435 graph are located. I wonder why they are placed there. I suspect
1436 World War II caused the dip around 1940, but what caused the peak
1437 around 2010?&lt;/p&gt;
1438
1439 &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2017-11-18-verk-i-det-fri-filmer.png&quot; /&gt;&lt;/p&gt;
1440
1441 &lt;p&gt;I&#39;ve so far identified ten sources for IMDB title IDs for movies in
1442 the public domain or with a free license. This is the statistics
1443 reported when running &#39;make stats&#39; in the git repository:&lt;/p&gt;
1444
1445 &lt;pre&gt;
1446 249 entries ( 6 unique) with and 288 without IMDB title ID in free-movies-archive-org-butter.json
1447 2301 entries ( 540 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
1448 830 entries ( 29 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
1449 2109 entries ( 377 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
1450 291 entries ( 122 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
1451 144 entries ( 135 unique) with and 0 without IMDB title ID in free-movies-manual.json
1452 350 entries ( 1 unique) with and 801 without IMDB title ID in free-movies-publicdomainmovies.json
1453 4 entries ( 0 unique) with and 124 without IMDB title ID in free-movies-publicdomainreview.json
1454 698 entries ( 119 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
1455 8 entries ( 8 unique) with and 196 without IMDB title ID in free-movies-vodo.json
1456 3186 unique IMDB title IDs in total
1457 &lt;/pre&gt;
1458
1459 &lt;p&gt;The entries without IMDB title ID are candidates to increase the
1460 data set, but might equally well be duplicates of entries already
1461 listed with IMDB title ID in one of the other sources, or represent
1462 movies that lack a IMDB title ID. I&#39;ve seen examples of all these
1463 situations when peeking at the entries without IMDB title ID. Based
1464 on these data sources, the lower bound for movies listed in IMDB that
1465 are legal to distribute on the Internet is between 3186 and 4713.
1466
1467 &lt;p&gt;It would be great for improving the accuracy of this measurement,
1468 if the various sources added IMDB title ID to their metadata. I have
1469 tried to reach the people behind the various sources to ask if they
1470 are interested in doing this, without any replies so far. Perhaps you
1471 can help me get in touch with the people behind VODO, Public Domain
1472 Torrents, Public Domain Movies and Public Domain Review to try to
1473 convince them to add more metadata to their movie entries?&lt;/p&gt;
1474
1475 &lt;p&gt;Another way you could help is by adding pages to Wikipedia about
1476 movies that are legal to distribute on the Internet. If such page
1477 exist and include a link to both IMDB and The Internet Archive, the
1478 script used to generate free-movies-archive-org-wikidata.json should
1479 pick up the mapping as soon as wikidata is updates.&lt;/p&gt;
1480
1481 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1482 activities, please send Bitcoin donations to my address
1483 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1484 </description>
1485 </item>
1486
1487 <item>
1488 <title>Some notes on fault tolerant storage systems</title>
1489 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html</link>
1490 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html</guid>
1491 <pubDate>Wed, 1 Nov 2017 15:35:00 +0100</pubDate>
1492 <description>&lt;p&gt;If you care about how fault tolerant your storage is, you might
1493 find these articles and papers interesting. They have formed how I
1494 think of when designing a storage system.&lt;/p&gt;
1495
1496 &lt;ul&gt;
1497
1498 &lt;li&gt;USENIX :login; &lt;a
1499 href=&quot;https://www.usenix.org/publications/login/summer2017/ganesan&quot;&gt;Redundancy
1500 Does Not Imply Fault Tolerance. Analysis of Distributed Storage
1501 Reactions to Single Errors and Corruptions&lt;/a&gt; by Aishwarya Ganesan,
1502 Ramnatthan Alagappan, Andrea C. Arpaci-Dusseau, and Remzi
1503 H. Arpaci-Dusseau&lt;/li&gt;
1504
1505 &lt;li&gt;ZDNet
1506 &lt;a href=&quot;http://www.zdnet.com/article/why-raid-5-stops-working-in-2009/&quot;&gt;Why
1507 RAID 5 stops working in 2009&lt;/a&gt; by Robin Harris&lt;/li&gt;
1508
1509 &lt;li&gt;ZDNet
1510 &lt;a href=&quot;http://www.zdnet.com/article/why-raid-6-stops-working-in-2019/&quot;&gt;Why
1511 RAID 6 stops working in 2019&lt;/a&gt; by Robin Harris&lt;/li&gt;
1512
1513 &lt;li&gt;USENIX FAST&#39;07
1514 &lt;a href=&quot;http://research.google.com/archive/disk_failures.pdf&quot;&gt;Failure
1515 Trends in a Large Disk Drive Population&lt;/a&gt; by Eduardo Pinheiro,
1516 Wolf-Dietrich Weber and Luiz André Barroso&lt;/li&gt;
1517
1518 &lt;li&gt;USENIX ;login: &lt;a
1519 href=&quot;https://www.usenix.org/system/files/login/articles/hughes12-04.pdf&quot;&gt;Data
1520 Integrity. Finding Truth in a World of Guesses and Lies&lt;/a&gt; by Doug
1521 Hughes&lt;/li&gt;
1522
1523 &lt;li&gt;USENIX FAST&#39;08
1524 &lt;a href=&quot;https://www.usenix.org/events/fast08/tech/full_papers/bairavasundaram/bairavasundaram_html/&quot;&gt;An
1525 Analysis of Data Corruption in the Storage Stack&lt;/a&gt; by
1526 L. N. Bairavasundaram, G. R. Goodson, B. Schroeder, A. C.
1527 Arpaci-Dusseau, and R. H. Arpaci-Dusseau&lt;/li&gt;
1528
1529 &lt;li&gt;USENIX FAST&#39;07 &lt;a
1530 href=&quot;https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/&quot;&gt;Disk
1531 failures in the real world: what does an MTTF of 1,000,000 hours mean
1532 to you?&lt;/a&gt; by B. Schroeder and G. A. Gibson.&lt;/li&gt;
1533
1534 &lt;li&gt;USENIX ;login: &lt;a
1535 href=&quot;https://www.usenix.org/events/fast08/tech/full_papers/jiang/jiang_html/&quot;&gt;Are
1536 Disks the Dominant Contributor for Storage Failures? A Comprehensive
1537 Study of Storage Subsystem Failure Characteristics&lt;/a&gt; by Weihang
1538 Jiang, Chongfeng Hu, Yuanyuan Zhou, and Arkady Kanevsky&lt;/li&gt;
1539
1540 &lt;li&gt;SIGMETRICS 2007
1541 &lt;a href=&quot;http://research.cs.wisc.edu/adsl/Publications/latent-sigmetrics07.pdf&quot;&gt;An
1542 analysis of latent sector errors in disk drives&lt;/a&gt; by
1543 L. N. Bairavasundaram, G. R. Goodson, S. Pasupathy, and J. Schindler&lt;/li&gt;
1544
1545 &lt;/ul&gt;
1546
1547 &lt;p&gt;Several of these research papers are based on data collected from
1548 hundred thousands or millions of disk, and their findings are eye
1549 opening. The short story is simply do not implicitly trust RAID or
1550 redundant storage systems. Details matter. And unfortunately there
1551 are few options on Linux addressing all the identified issues. Both
1552 ZFS and Btrfs are doing a fairly good job, but have legal and
1553 practical issues on their own. I wonder how cluster file systems like
1554 Ceph do in this regard. After all, there is an old saying, you know
1555 you have a distributed system when the crash of a computer you have
1556 never heard of stops you from getting any work done. The same holds
1557 true if fault tolerance do not work.&lt;/p&gt;
1558
1559 &lt;p&gt;Just remember, in the end, it do not matter how redundant, or how
1560 fault tolerant your storage is, if you do not continuously monitor its
1561 status to detect and replace failed disks.&lt;/p&gt;
1562
1563 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1564 activities, please send Bitcoin donations to my address
1565 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1566 </description>
1567 </item>
1568
1569 <item>
1570 <title>Web services for writing academic LaTeX papers as a team</title>
1571 <link>http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html</link>
1572 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html</guid>
1573 <pubDate>Tue, 31 Oct 2017 21:00:00 +0100</pubDate>
1574 <description>&lt;p&gt;I was surprised today to learn that a friend in academia did not
1575 know there are easily available web services available for writing
1576 LaTeX documents as a team. I thought it was common knowledge, but to
1577 make sure at least my readers are aware of it, I would like to mention
1578 these useful services for writing LaTeX documents. Some of them even
1579 provide a WYSIWYG editor to ease writing even further.&lt;/p&gt;
1580
1581 &lt;p&gt;There are two commercial services available,
1582 &lt;a href=&quot;https://sharelatex.com&quot;&gt;ShareLaTeX&lt;/a&gt; and
1583 &lt;a href=&quot;https://overleaf.com&quot;&gt;Overleaf&lt;/a&gt;. They are very easy to
1584 use. Just start a new document, select which publisher to write for
1585 (ie which LaTeX style to use), and start writing. Note, these two
1586 have announced their intention to join forces, so soon it will only be
1587 one joint service. I&#39;ve used both for different documents, and they
1588 work just fine. While
1589 &lt;a href=&quot;https://github.com/sharelatex/sharelatex&quot;&gt;ShareLaTeX is free
1590 software&lt;/a&gt;, while the latter is not. According to &lt;a
1591 href=&quot;https://www.overleaf.com/help/17-is-overleaf-open-source&quot;&gt;a
1592 announcement from Overleaf&lt;/a&gt;, they plan to keep the ShareLaTeX code
1593 base maintained as free software.&lt;/p&gt;
1594
1595 But these two are not the only alternatives.
1596 &lt;a href=&quot;https://app.fiduswriter.org/&quot;&gt;Fidus Writer&lt;/a&gt; is another free
1597 software solution with &lt;a href=&quot;https://github.com/fiduswriter&quot;&gt;the
1598 source available on github&lt;/a&gt;. I have not used it myself. Several
1599 others can be found on the nice
1600 &lt;a href=&quot;https://alternativeto.net/software/sharelatex/&quot;&gt;alterntiveTo
1601 web service&lt;/a&gt;.
1602
1603 &lt;p&gt;If you like Google Docs or Etherpad, but would like to write
1604 documents in LaTeX, you should check out these services. You can even
1605 host your own, if you want to. :)&lt;/p&gt;
1606
1607 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1608 activities, please send Bitcoin donations to my address
1609 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1610 </description>
1611 </item>
1612
1613 <item>
1614 <title>Locating IMDB IDs of movies in the Internet Archive using Wikidata</title>
1615 <link>http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html</link>
1616 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html</guid>
1617 <pubDate>Wed, 25 Oct 2017 12:20:00 +0200</pubDate>
1618 <description>&lt;p&gt;Recently, I needed to automatically check the copyright status of a
1619 set of &lt;a href=&quot;http://www.imdb.com/&quot;&gt;The Internet Movie database
1620 (IMDB)&lt;/a&gt; entries, to figure out which one of the movies they refer
1621 to can be freely distributed on the Internet. This proved to be
1622 harder than it sounds. IMDB for sure list movies without any
1623 copyright protection, where the copyright protection has expired or
1624 where the movie is lisenced using a permissive license like one from
1625 Creative Commons. These are mixed with copyright protected movies,
1626 and there seem to be no way to separate these classes of movies using
1627 the information in IMDB.&lt;/p&gt;
1628
1629 &lt;p&gt;First I tried to look up entries manually in IMDB,
1630 &lt;a href=&quot;https://www.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt; and
1631 &lt;a href=&quot;https://www.archive.org/&quot;&gt;The Internet Archive&lt;/a&gt;, to get a
1632 feel how to do this. It is hard to know for sure using these sources,
1633 but it should be possible to be reasonable confident a movie is &quot;out
1634 of copyright&quot; with a few hours work per movie. As I needed to check
1635 almost 20,000 entries, this approach was not sustainable. I simply
1636 can not work around the clock for about 6 years to check this data
1637 set.&lt;/p&gt;
1638
1639 &lt;p&gt;I asked the people behind The Internet Archive if they could
1640 introduce a new metadata field in their metadata XML for IMDB ID, but
1641 was told that they leave it completely to the uploaders to update the
1642 metadata. Some of the metadata entries had IMDB links in the
1643 description, but I found no way to download all metadata files in bulk
1644 to locate those ones and put that approach aside.&lt;/p&gt;
1645
1646 &lt;p&gt;In the process I noticed several Wikipedia articles about movies
1647 had links to both IMDB and The Internet Archive, and it occured to me
1648 that I could use the Wikipedia RDF data set to locate entries with
1649 both, to at least get a lower bound on the number of movies on The
1650 Internet Archive with a IMDB ID. This is useful based on the
1651 assumption that movies distributed by The Internet Archive can be
1652 legally distributed on the Internet. With some help from the RDF
1653 community (thank you DanC), I was able to come up with this query to
1654 pass to &lt;a href=&quot;https://query.wikidata.org/&quot;&gt;the SPARQL interface on
1655 Wikidata&lt;/a&gt;:
1656
1657 &lt;p&gt;&lt;pre&gt;
1658 SELECT ?work ?imdb ?ia ?when ?label
1659 WHERE
1660 {
1661 ?work wdt:P31/wdt:P279* wd:Q11424.
1662 ?work wdt:P345 ?imdb.
1663 ?work wdt:P724 ?ia.
1664 OPTIONAL {
1665 ?work wdt:P577 ?when.
1666 ?work rdfs:label ?label.
1667 FILTER(LANG(?label) = &quot;en&quot;).
1668 }
1669 }
1670 &lt;/pre&gt;&lt;/p&gt;
1671
1672 &lt;p&gt;If I understand the query right, for every film entry anywhere in
1673 Wikpedia, it will return the IMDB ID and The Internet Archive ID, and
1674 when the movie was released and its English title, if either or both
1675 of the latter two are available. At the moment the result set contain
1676 2338 entries. Of course, it depend on volunteers including both
1677 correct IMDB and The Internet Archive IDs in the wikipedia articles
1678 for the movie. It should be noted that the result will include
1679 duplicates if the movie have entries in several languages. There are
1680 some bogus entries, either because The Internet Archive ID contain a
1681 typo or because the movie is not available from The Internet Archive.
1682 I did not verify the IMDB IDs, as I am unsure how to do that
1683 automatically.&lt;/p&gt;
1684
1685 &lt;p&gt;I wrote a small python script to extract the data set from Wikidata
1686 and check if the XML metadata for the movie is available from The
1687 Internet Archive, and after around 1.5 hour it produced a list of 2097
1688 free movies and their IMDB ID. In total, 171 entries in Wikidata lack
1689 the refered Internet Archive entry. I assume the 70 &quot;disappearing&quot;
1690 entries (ie 2338-2097-171) are duplicate entries.&lt;/p&gt;
1691
1692 &lt;p&gt;This is not too bad, given that The Internet Archive report to
1693 contain &lt;a href=&quot;https://archive.org/details/feature_films&quot;&gt;5331
1694 feature films&lt;/a&gt; at the moment, but it also mean more than 3000
1695 movies are missing on Wikipedia or are missing the pair of references
1696 on Wikipedia.&lt;/p&gt;
1697
1698 &lt;p&gt;I was curious about the distribution by release year, and made a
1699 little graph to show how the amount of free movies is spread over the
1700 years:&lt;p&gt;
1701
1702 &lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2017-10-25-verk-i-det-fri-filmer.png&quot;&gt;&lt;/p&gt;
1703
1704 &lt;p&gt;I expect the relative distribution of the remaining 3000 movies to
1705 be similar.&lt;/p&gt;
1706
1707 &lt;p&gt;If you want to help, and want to ensure Wikipedia can be used to
1708 cross reference The Internet Archive and The Internet Movie Database,
1709 please make sure entries like this are listed under the &quot;External
1710 links&quot; heading on the Wikipedia article for the movie:&lt;/p&gt;
1711
1712 &lt;p&gt;&lt;pre&gt;
1713 * {{Internet Archive film|id=FightingLady}}
1714 * {{IMDb title|id=0036823|title=The Fighting Lady}}
1715 &lt;/pre&gt;&lt;/p&gt;
1716
1717 &lt;p&gt;Please verify the links on the final page, to make sure you did not
1718 introduce a typo.&lt;/p&gt;
1719
1720 &lt;p&gt;Here is the complete list, if you want to correct the 171
1721 identified Wikipedia entries with broken links to The Internet
1722 Archive: &lt;a href=&quot;http://www.wikidata.org/entity/Q1140317&quot;&gt;Q1140317&lt;/a&gt;,
1723 &lt;a href=&quot;http://www.wikidata.org/entity/Q458656&quot;&gt;Q458656&lt;/a&gt;,
1724 &lt;a href=&quot;http://www.wikidata.org/entity/Q458656&quot;&gt;Q458656&lt;/a&gt;,
1725 &lt;a href=&quot;http://www.wikidata.org/entity/Q470560&quot;&gt;Q470560&lt;/a&gt;,
1726 &lt;a href=&quot;http://www.wikidata.org/entity/Q743340&quot;&gt;Q743340&lt;/a&gt;,
1727 &lt;a href=&quot;http://www.wikidata.org/entity/Q822580&quot;&gt;Q822580&lt;/a&gt;,
1728 &lt;a href=&quot;http://www.wikidata.org/entity/Q480696&quot;&gt;Q480696&lt;/a&gt;,
1729 &lt;a href=&quot;http://www.wikidata.org/entity/Q128761&quot;&gt;Q128761&lt;/a&gt;,
1730 &lt;a href=&quot;http://www.wikidata.org/entity/Q1307059&quot;&gt;Q1307059&lt;/a&gt;,
1731 &lt;a href=&quot;http://www.wikidata.org/entity/Q1335091&quot;&gt;Q1335091&lt;/a&gt;,
1732 &lt;a href=&quot;http://www.wikidata.org/entity/Q1537166&quot;&gt;Q1537166&lt;/a&gt;,
1733 &lt;a href=&quot;http://www.wikidata.org/entity/Q1438334&quot;&gt;Q1438334&lt;/a&gt;,
1734 &lt;a href=&quot;http://www.wikidata.org/entity/Q1479751&quot;&gt;Q1479751&lt;/a&gt;,
1735 &lt;a href=&quot;http://www.wikidata.org/entity/Q1497200&quot;&gt;Q1497200&lt;/a&gt;,
1736 &lt;a href=&quot;http://www.wikidata.org/entity/Q1498122&quot;&gt;Q1498122&lt;/a&gt;,
1737 &lt;a href=&quot;http://www.wikidata.org/entity/Q865973&quot;&gt;Q865973&lt;/a&gt;,
1738 &lt;a href=&quot;http://www.wikidata.org/entity/Q834269&quot;&gt;Q834269&lt;/a&gt;,
1739 &lt;a href=&quot;http://www.wikidata.org/entity/Q841781&quot;&gt;Q841781&lt;/a&gt;,
1740 &lt;a href=&quot;http://www.wikidata.org/entity/Q841781&quot;&gt;Q841781&lt;/a&gt;,
1741 &lt;a href=&quot;http://www.wikidata.org/entity/Q1548193&quot;&gt;Q1548193&lt;/a&gt;,
1742 &lt;a href=&quot;http://www.wikidata.org/entity/Q499031&quot;&gt;Q499031&lt;/a&gt;,
1743 &lt;a href=&quot;http://www.wikidata.org/entity/Q1564769&quot;&gt;Q1564769&lt;/a&gt;,
1744 &lt;a href=&quot;http://www.wikidata.org/entity/Q1585239&quot;&gt;Q1585239&lt;/a&gt;,
1745 &lt;a href=&quot;http://www.wikidata.org/entity/Q1585569&quot;&gt;Q1585569&lt;/a&gt;,
1746 &lt;a href=&quot;http://www.wikidata.org/entity/Q1624236&quot;&gt;Q1624236&lt;/a&gt;,
1747 &lt;a href=&quot;http://www.wikidata.org/entity/Q4796595&quot;&gt;Q4796595&lt;/a&gt;,
1748 &lt;a href=&quot;http://www.wikidata.org/entity/Q4853469&quot;&gt;Q4853469&lt;/a&gt;,
1749 &lt;a href=&quot;http://www.wikidata.org/entity/Q4873046&quot;&gt;Q4873046&lt;/a&gt;,
1750 &lt;a href=&quot;http://www.wikidata.org/entity/Q915016&quot;&gt;Q915016&lt;/a&gt;,
1751 &lt;a href=&quot;http://www.wikidata.org/entity/Q4660396&quot;&gt;Q4660396&lt;/a&gt;,
1752 &lt;a href=&quot;http://www.wikidata.org/entity/Q4677708&quot;&gt;Q4677708&lt;/a&gt;,
1753 &lt;a href=&quot;http://www.wikidata.org/entity/Q4738449&quot;&gt;Q4738449&lt;/a&gt;,
1754 &lt;a href=&quot;http://www.wikidata.org/entity/Q4756096&quot;&gt;Q4756096&lt;/a&gt;,
1755 &lt;a href=&quot;http://www.wikidata.org/entity/Q4766785&quot;&gt;Q4766785&lt;/a&gt;,
1756 &lt;a href=&quot;http://www.wikidata.org/entity/Q880357&quot;&gt;Q880357&lt;/a&gt;,
1757 &lt;a href=&quot;http://www.wikidata.org/entity/Q882066&quot;&gt;Q882066&lt;/a&gt;,
1758 &lt;a href=&quot;http://www.wikidata.org/entity/Q882066&quot;&gt;Q882066&lt;/a&gt;,
1759 &lt;a href=&quot;http://www.wikidata.org/entity/Q204191&quot;&gt;Q204191&lt;/a&gt;,
1760 &lt;a href=&quot;http://www.wikidata.org/entity/Q204191&quot;&gt;Q204191&lt;/a&gt;,
1761 &lt;a href=&quot;http://www.wikidata.org/entity/Q1194170&quot;&gt;Q1194170&lt;/a&gt;,
1762 &lt;a href=&quot;http://www.wikidata.org/entity/Q940014&quot;&gt;Q940014&lt;/a&gt;,
1763 &lt;a href=&quot;http://www.wikidata.org/entity/Q946863&quot;&gt;Q946863&lt;/a&gt;,
1764 &lt;a href=&quot;http://www.wikidata.org/entity/Q172837&quot;&gt;Q172837&lt;/a&gt;,
1765 &lt;a href=&quot;http://www.wikidata.org/entity/Q573077&quot;&gt;Q573077&lt;/a&gt;,
1766 &lt;a href=&quot;http://www.wikidata.org/entity/Q1219005&quot;&gt;Q1219005&lt;/a&gt;,
1767 &lt;a href=&quot;http://www.wikidata.org/entity/Q1219599&quot;&gt;Q1219599&lt;/a&gt;,
1768 &lt;a href=&quot;http://www.wikidata.org/entity/Q1643798&quot;&gt;Q1643798&lt;/a&gt;,
1769 &lt;a href=&quot;http://www.wikidata.org/entity/Q1656352&quot;&gt;Q1656352&lt;/a&gt;,
1770 &lt;a href=&quot;http://www.wikidata.org/entity/Q1659549&quot;&gt;Q1659549&lt;/a&gt;,
1771 &lt;a href=&quot;http://www.wikidata.org/entity/Q1660007&quot;&gt;Q1660007&lt;/a&gt;,
1772 &lt;a href=&quot;http://www.wikidata.org/entity/Q1698154&quot;&gt;Q1698154&lt;/a&gt;,
1773 &lt;a href=&quot;http://www.wikidata.org/entity/Q1737980&quot;&gt;Q1737980&lt;/a&gt;,
1774 &lt;a href=&quot;http://www.wikidata.org/entity/Q1877284&quot;&gt;Q1877284&lt;/a&gt;,
1775 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199354&quot;&gt;Q1199354&lt;/a&gt;,
1776 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199354&quot;&gt;Q1199354&lt;/a&gt;,
1777 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199451&quot;&gt;Q1199451&lt;/a&gt;,
1778 &lt;a href=&quot;http://www.wikidata.org/entity/Q1211871&quot;&gt;Q1211871&lt;/a&gt;,
1779 &lt;a href=&quot;http://www.wikidata.org/entity/Q1212179&quot;&gt;Q1212179&lt;/a&gt;,
1780 &lt;a href=&quot;http://www.wikidata.org/entity/Q1238382&quot;&gt;Q1238382&lt;/a&gt;,
1781 &lt;a href=&quot;http://www.wikidata.org/entity/Q4906454&quot;&gt;Q4906454&lt;/a&gt;,
1782 &lt;a href=&quot;http://www.wikidata.org/entity/Q320219&quot;&gt;Q320219&lt;/a&gt;,
1783 &lt;a href=&quot;http://www.wikidata.org/entity/Q1148649&quot;&gt;Q1148649&lt;/a&gt;,
1784 &lt;a href=&quot;http://www.wikidata.org/entity/Q645094&quot;&gt;Q645094&lt;/a&gt;,
1785 &lt;a href=&quot;http://www.wikidata.org/entity/Q5050350&quot;&gt;Q5050350&lt;/a&gt;,
1786 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166548&quot;&gt;Q5166548&lt;/a&gt;,
1787 &lt;a href=&quot;http://www.wikidata.org/entity/Q2677926&quot;&gt;Q2677926&lt;/a&gt;,
1788 &lt;a href=&quot;http://www.wikidata.org/entity/Q2698139&quot;&gt;Q2698139&lt;/a&gt;,
1789 &lt;a href=&quot;http://www.wikidata.org/entity/Q2707305&quot;&gt;Q2707305&lt;/a&gt;,
1790 &lt;a href=&quot;http://www.wikidata.org/entity/Q2740725&quot;&gt;Q2740725&lt;/a&gt;,
1791 &lt;a href=&quot;http://www.wikidata.org/entity/Q2024780&quot;&gt;Q2024780&lt;/a&gt;,
1792 &lt;a href=&quot;http://www.wikidata.org/entity/Q2117418&quot;&gt;Q2117418&lt;/a&gt;,
1793 &lt;a href=&quot;http://www.wikidata.org/entity/Q2138984&quot;&gt;Q2138984&lt;/a&gt;,
1794 &lt;a href=&quot;http://www.wikidata.org/entity/Q1127992&quot;&gt;Q1127992&lt;/a&gt;,
1795 &lt;a href=&quot;http://www.wikidata.org/entity/Q1058087&quot;&gt;Q1058087&lt;/a&gt;,
1796 &lt;a href=&quot;http://www.wikidata.org/entity/Q1070484&quot;&gt;Q1070484&lt;/a&gt;,
1797 &lt;a href=&quot;http://www.wikidata.org/entity/Q1080080&quot;&gt;Q1080080&lt;/a&gt;,
1798 &lt;a href=&quot;http://www.wikidata.org/entity/Q1090813&quot;&gt;Q1090813&lt;/a&gt;,
1799 &lt;a href=&quot;http://www.wikidata.org/entity/Q1251918&quot;&gt;Q1251918&lt;/a&gt;,
1800 &lt;a href=&quot;http://www.wikidata.org/entity/Q1254110&quot;&gt;Q1254110&lt;/a&gt;,
1801 &lt;a href=&quot;http://www.wikidata.org/entity/Q1257070&quot;&gt;Q1257070&lt;/a&gt;,
1802 &lt;a href=&quot;http://www.wikidata.org/entity/Q1257079&quot;&gt;Q1257079&lt;/a&gt;,
1803 &lt;a href=&quot;http://www.wikidata.org/entity/Q1197410&quot;&gt;Q1197410&lt;/a&gt;,
1804 &lt;a href=&quot;http://www.wikidata.org/entity/Q1198423&quot;&gt;Q1198423&lt;/a&gt;,
1805 &lt;a href=&quot;http://www.wikidata.org/entity/Q706951&quot;&gt;Q706951&lt;/a&gt;,
1806 &lt;a href=&quot;http://www.wikidata.org/entity/Q723239&quot;&gt;Q723239&lt;/a&gt;,
1807 &lt;a href=&quot;http://www.wikidata.org/entity/Q2079261&quot;&gt;Q2079261&lt;/a&gt;,
1808 &lt;a href=&quot;http://www.wikidata.org/entity/Q1171364&quot;&gt;Q1171364&lt;/a&gt;,
1809 &lt;a href=&quot;http://www.wikidata.org/entity/Q617858&quot;&gt;Q617858&lt;/a&gt;,
1810 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166611&quot;&gt;Q5166611&lt;/a&gt;,
1811 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166611&quot;&gt;Q5166611&lt;/a&gt;,
1812 &lt;a href=&quot;http://www.wikidata.org/entity/Q324513&quot;&gt;Q324513&lt;/a&gt;,
1813 &lt;a href=&quot;http://www.wikidata.org/entity/Q374172&quot;&gt;Q374172&lt;/a&gt;,
1814 &lt;a href=&quot;http://www.wikidata.org/entity/Q7533269&quot;&gt;Q7533269&lt;/a&gt;,
1815 &lt;a href=&quot;http://www.wikidata.org/entity/Q970386&quot;&gt;Q970386&lt;/a&gt;,
1816 &lt;a href=&quot;http://www.wikidata.org/entity/Q976849&quot;&gt;Q976849&lt;/a&gt;,
1817 &lt;a href=&quot;http://www.wikidata.org/entity/Q7458614&quot;&gt;Q7458614&lt;/a&gt;,
1818 &lt;a href=&quot;http://www.wikidata.org/entity/Q5347416&quot;&gt;Q5347416&lt;/a&gt;,
1819 &lt;a href=&quot;http://www.wikidata.org/entity/Q5460005&quot;&gt;Q5460005&lt;/a&gt;,
1820 &lt;a href=&quot;http://www.wikidata.org/entity/Q5463392&quot;&gt;Q5463392&lt;/a&gt;,
1821 &lt;a href=&quot;http://www.wikidata.org/entity/Q3038555&quot;&gt;Q3038555&lt;/a&gt;,
1822 &lt;a href=&quot;http://www.wikidata.org/entity/Q5288458&quot;&gt;Q5288458&lt;/a&gt;,
1823 &lt;a href=&quot;http://www.wikidata.org/entity/Q2346516&quot;&gt;Q2346516&lt;/a&gt;,
1824 &lt;a href=&quot;http://www.wikidata.org/entity/Q5183645&quot;&gt;Q5183645&lt;/a&gt;,
1825 &lt;a href=&quot;http://www.wikidata.org/entity/Q5185497&quot;&gt;Q5185497&lt;/a&gt;,
1826 &lt;a href=&quot;http://www.wikidata.org/entity/Q5216127&quot;&gt;Q5216127&lt;/a&gt;,
1827 &lt;a href=&quot;http://www.wikidata.org/entity/Q5223127&quot;&gt;Q5223127&lt;/a&gt;,
1828 &lt;a href=&quot;http://www.wikidata.org/entity/Q5261159&quot;&gt;Q5261159&lt;/a&gt;,
1829 &lt;a href=&quot;http://www.wikidata.org/entity/Q1300759&quot;&gt;Q1300759&lt;/a&gt;,
1830 &lt;a href=&quot;http://www.wikidata.org/entity/Q5521241&quot;&gt;Q5521241&lt;/a&gt;,
1831 &lt;a href=&quot;http://www.wikidata.org/entity/Q7733434&quot;&gt;Q7733434&lt;/a&gt;,
1832 &lt;a href=&quot;http://www.wikidata.org/entity/Q7736264&quot;&gt;Q7736264&lt;/a&gt;,
1833 &lt;a href=&quot;http://www.wikidata.org/entity/Q7737032&quot;&gt;Q7737032&lt;/a&gt;,
1834 &lt;a href=&quot;http://www.wikidata.org/entity/Q7882671&quot;&gt;Q7882671&lt;/a&gt;,
1835 &lt;a href=&quot;http://www.wikidata.org/entity/Q7719427&quot;&gt;Q7719427&lt;/a&gt;,
1836 &lt;a href=&quot;http://www.wikidata.org/entity/Q7719444&quot;&gt;Q7719444&lt;/a&gt;,
1837 &lt;a href=&quot;http://www.wikidata.org/entity/Q7722575&quot;&gt;Q7722575&lt;/a&gt;,
1838 &lt;a href=&quot;http://www.wikidata.org/entity/Q2629763&quot;&gt;Q2629763&lt;/a&gt;,
1839 &lt;a href=&quot;http://www.wikidata.org/entity/Q2640346&quot;&gt;Q2640346&lt;/a&gt;,
1840 &lt;a href=&quot;http://www.wikidata.org/entity/Q2649671&quot;&gt;Q2649671&lt;/a&gt;,
1841 &lt;a href=&quot;http://www.wikidata.org/entity/Q7703851&quot;&gt;Q7703851&lt;/a&gt;,
1842 &lt;a href=&quot;http://www.wikidata.org/entity/Q7747041&quot;&gt;Q7747041&lt;/a&gt;,
1843 &lt;a href=&quot;http://www.wikidata.org/entity/Q6544949&quot;&gt;Q6544949&lt;/a&gt;,
1844 &lt;a href=&quot;http://www.wikidata.org/entity/Q6672759&quot;&gt;Q6672759&lt;/a&gt;,
1845 &lt;a href=&quot;http://www.wikidata.org/entity/Q2445896&quot;&gt;Q2445896&lt;/a&gt;,
1846 &lt;a href=&quot;http://www.wikidata.org/entity/Q12124891&quot;&gt;Q12124891&lt;/a&gt;,
1847 &lt;a href=&quot;http://www.wikidata.org/entity/Q3127044&quot;&gt;Q3127044&lt;/a&gt;,
1848 &lt;a href=&quot;http://www.wikidata.org/entity/Q2511262&quot;&gt;Q2511262&lt;/a&gt;,
1849 &lt;a href=&quot;http://www.wikidata.org/entity/Q2517672&quot;&gt;Q2517672&lt;/a&gt;,
1850 &lt;a href=&quot;http://www.wikidata.org/entity/Q2543165&quot;&gt;Q2543165&lt;/a&gt;,
1851 &lt;a href=&quot;http://www.wikidata.org/entity/Q426628&quot;&gt;Q426628&lt;/a&gt;,
1852 &lt;a href=&quot;http://www.wikidata.org/entity/Q426628&quot;&gt;Q426628&lt;/a&gt;,
1853 &lt;a href=&quot;http://www.wikidata.org/entity/Q12126890&quot;&gt;Q12126890&lt;/a&gt;,
1854 &lt;a href=&quot;http://www.wikidata.org/entity/Q13359969&quot;&gt;Q13359969&lt;/a&gt;,
1855 &lt;a href=&quot;http://www.wikidata.org/entity/Q13359969&quot;&gt;Q13359969&lt;/a&gt;,
1856 &lt;a href=&quot;http://www.wikidata.org/entity/Q2294295&quot;&gt;Q2294295&lt;/a&gt;,
1857 &lt;a href=&quot;http://www.wikidata.org/entity/Q2294295&quot;&gt;Q2294295&lt;/a&gt;,
1858 &lt;a href=&quot;http://www.wikidata.org/entity/Q2559509&quot;&gt;Q2559509&lt;/a&gt;,
1859 &lt;a href=&quot;http://www.wikidata.org/entity/Q2559912&quot;&gt;Q2559912&lt;/a&gt;,
1860 &lt;a href=&quot;http://www.wikidata.org/entity/Q7760469&quot;&gt;Q7760469&lt;/a&gt;,
1861 &lt;a href=&quot;http://www.wikidata.org/entity/Q6703974&quot;&gt;Q6703974&lt;/a&gt;,
1862 &lt;a href=&quot;http://www.wikidata.org/entity/Q4744&quot;&gt;Q4744&lt;/a&gt;,
1863 &lt;a href=&quot;http://www.wikidata.org/entity/Q7766962&quot;&gt;Q7766962&lt;/a&gt;,
1864 &lt;a href=&quot;http://www.wikidata.org/entity/Q7768516&quot;&gt;Q7768516&lt;/a&gt;,
1865 &lt;a href=&quot;http://www.wikidata.org/entity/Q7769205&quot;&gt;Q7769205&lt;/a&gt;,
1866 &lt;a href=&quot;http://www.wikidata.org/entity/Q7769988&quot;&gt;Q7769988&lt;/a&gt;,
1867 &lt;a href=&quot;http://www.wikidata.org/entity/Q2946945&quot;&gt;Q2946945&lt;/a&gt;,
1868 &lt;a href=&quot;http://www.wikidata.org/entity/Q3212086&quot;&gt;Q3212086&lt;/a&gt;,
1869 &lt;a href=&quot;http://www.wikidata.org/entity/Q3212086&quot;&gt;Q3212086&lt;/a&gt;,
1870 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
1871 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
1872 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
1873 &lt;a href=&quot;http://www.wikidata.org/entity/Q6909175&quot;&gt;Q6909175&lt;/a&gt;,
1874 &lt;a href=&quot;http://www.wikidata.org/entity/Q7405709&quot;&gt;Q7405709&lt;/a&gt;,
1875 &lt;a href=&quot;http://www.wikidata.org/entity/Q7416149&quot;&gt;Q7416149&lt;/a&gt;,
1876 &lt;a href=&quot;http://www.wikidata.org/entity/Q7239952&quot;&gt;Q7239952&lt;/a&gt;,
1877 &lt;a href=&quot;http://www.wikidata.org/entity/Q7317332&quot;&gt;Q7317332&lt;/a&gt;,
1878 &lt;a href=&quot;http://www.wikidata.org/entity/Q7783674&quot;&gt;Q7783674&lt;/a&gt;,
1879 &lt;a href=&quot;http://www.wikidata.org/entity/Q7783704&quot;&gt;Q7783704&lt;/a&gt;,
1880 &lt;a href=&quot;http://www.wikidata.org/entity/Q7857590&quot;&gt;Q7857590&lt;/a&gt;,
1881 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372526&quot;&gt;Q3372526&lt;/a&gt;,
1882 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372642&quot;&gt;Q3372642&lt;/a&gt;,
1883 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372816&quot;&gt;Q3372816&lt;/a&gt;,
1884 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372909&quot;&gt;Q3372909&lt;/a&gt;,
1885 &lt;a href=&quot;http://www.wikidata.org/entity/Q7959649&quot;&gt;Q7959649&lt;/a&gt;,
1886 &lt;a href=&quot;http://www.wikidata.org/entity/Q7977485&quot;&gt;Q7977485&lt;/a&gt;,
1887 &lt;a href=&quot;http://www.wikidata.org/entity/Q7992684&quot;&gt;Q7992684&lt;/a&gt;,
1888 &lt;a href=&quot;http://www.wikidata.org/entity/Q3817966&quot;&gt;Q3817966&lt;/a&gt;,
1889 &lt;a href=&quot;http://www.wikidata.org/entity/Q3821852&quot;&gt;Q3821852&lt;/a&gt;,
1890 &lt;a href=&quot;http://www.wikidata.org/entity/Q3420907&quot;&gt;Q3420907&lt;/a&gt;,
1891 &lt;a href=&quot;http://www.wikidata.org/entity/Q3429733&quot;&gt;Q3429733&lt;/a&gt;,
1892 &lt;a href=&quot;http://www.wikidata.org/entity/Q774474&quot;&gt;Q774474&lt;/a&gt;&lt;/p&gt;
1893
1894 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1895 activities, please send Bitcoin donations to my address
1896 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1897 </description>
1898 </item>
1899
1900 <item>
1901 <title>A one-way wall on the border?</title>
1902 <link>http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html</link>
1903 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html</guid>
1904 <pubDate>Sat, 14 Oct 2017 22:10:00 +0200</pubDate>
1905 <description>&lt;p&gt;I find it fascinating how many of the people being locked inside
1906 the proposed border wall between USA and Mexico support the idea. The
1907 proposal to keep Mexicans out reminds me of
1908 &lt;a href=&quot;http://www.history.com/news/10-things-you-may-not-know-about-the-berlin-wall&quot;&gt;the
1909 propaganda twist from the East Germany government&lt;/a&gt; calling the wall
1910 the “Antifascist Bulwark” after erecting the Berlin Wall, claiming
1911 that the wall was erected to keep enemies from creeping into East
1912 Germany, while it was obvious to the people locked inside it that it
1913 was erected to keep the people from escaping.&lt;/p&gt;
1914
1915 &lt;p&gt;Do the people in USA supporting this wall really believe it is a
1916 one way wall, only keeping people on the outside from getting in,
1917 while not keeping people in the inside from getting out?&lt;/p&gt;
1918
1919 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1920 activities, please send Bitcoin donations to my address
1921 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1922 </description>
1923 </item>
1924
1925 <item>
1926 <title>Generating 3D prints in Debian using Cura and Slic3r(-prusa)</title>
1927 <link>http://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html</link>
1928 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html</guid>
1929 <pubDate>Mon, 9 Oct 2017 10:50:00 +0200</pubDate>
1930 <description>&lt;p&gt;At my nearby maker space,
1931 &lt;a href=&quot;http://sonen.ifi.uio.no/&quot;&gt;Sonen&lt;/a&gt;, I heard the story that it
1932 was easier to generate gcode files for theyr 3D printers (Ultimake 2+)
1933 on Windows and MacOS X than Linux, because the software involved had
1934 to be manually compiled and set up on Linux while premade packages
1935 worked out of the box on Windows and MacOS X. I found this annoying,
1936 as the software involved,
1937 &lt;a href=&quot;https://github.com/Ultimaker/Cura&quot;&gt;Cura&lt;/a&gt;, is free software
1938 and should be trivial to get up and running on Linux if someone took
1939 the time to package it for the relevant distributions. I even found
1940 &lt;a href=&quot;https://bugs.debian.org/706656&quot;&gt;a request for adding into
1941 Debian&lt;/a&gt; from 2013, which had seem some activity over the years but
1942 never resulted in the software showing up in Debian. So a few days
1943 ago I offered my help to try to improve the situation.&lt;/p&gt;
1944
1945 &lt;p&gt;Now I am very happy to see that all the packages required by a
1946 working Cura in Debian are uploaded into Debian and waiting in the NEW
1947 queue for the ftpmasters to have a look. You can track the progress
1948 on
1949 &lt;a href=&quot;https://qa.debian.org/developer.php?email=3dprinter-general%40lists.alioth.debian.org&quot;&gt;the
1950 status page for the 3D printer team&lt;/a&gt;.&lt;/p&gt;
1951
1952 &lt;p&gt;The uploaded packages are a bit behind upstream, and was uploaded
1953 now to get slots in &lt;a href=&quot;https://ftp-master.debian.org/new.html&quot;&gt;the NEW
1954 queue&lt;/a&gt; while we work up updating the packages to the latest
1955 upstream version.&lt;/p&gt;
1956
1957 &lt;p&gt;On a related note, two competitors for Cura, which I found harder
1958 to use and was unable to configure correctly for Ultimaker 2+ in the
1959 short time I spent on it, are already in Debian. If you are looking
1960 for 3D printer &quot;slicers&quot; and want something already available in
1961 Debian, check out
1962 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r&quot;&gt;slic3r&lt;/a&gt; and
1963 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r-prusa&quot;&gt;slic3r-prusa&lt;/a&gt;.
1964 The latter is a fork of the former.&lt;/p&gt;
1965
1966 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1967 activities, please send Bitcoin donations to my address
1968 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1969 </description>
1970 </item>
1971
1972 <item>
1973 <title>Visualizing GSM radio chatter using gr-gsm and Hopglass</title>
1974 <link>http://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html</link>
1975 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html</guid>
1976 <pubDate>Fri, 29 Sep 2017 10:30:00 +0200</pubDate>
1977 <description>&lt;p&gt;Every mobile phone announce its existence over radio to the nearby
1978 mobile cell towers. And this radio chatter is available for anyone
1979 with a radio receiver capable of receiving them. Details about the
1980 mobile phones with very good accuracy is of course collected by the
1981 phone companies, but this is not the topic of this blog post. The
1982 mobile phone radio chatter make it possible to figure out when a cell
1983 phone is nearby, as it include the SIM card ID (IMSI). By paying
1984 attention over time, one can see when a phone arrive and when it leave
1985 an area. I believe it would be nice to make this information more
1986 available to the general public, to make more people aware of how
1987 their phones are announcing their whereabouts to anyone that care to
1988 listen.&lt;/p&gt;
1989
1990 &lt;p&gt;I am very happy to report that we managed to get something
1991 visualizing this information up and running for
1992 &lt;a href=&quot;http://norwaymakers.org/osf17&quot;&gt;Oslo Skaperfestival 2017&lt;/a&gt;
1993 (Oslo Makers Festival) taking place today and tomorrow at Deichmanske
1994 library. The solution is based on the
1995 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html&quot;&gt;simple
1996 recipe for listening to GSM chatter&lt;/a&gt; I posted a few days ago, and
1997 will show up at the stand of &lt;a href=&quot;http://sonen.ifi.uio.no/&quot;&gt;Åpen
1998 Sone from the Computer Science department of the University of
1999 Oslo&lt;/a&gt;. The presentation will show the nearby mobile phones (aka
2000 IMSIs) as dots in a web browser graph, with lines to the dot
2001 representing mobile base station it is talking to. It was working in
2002 the lab yesterday, and was moved into place this morning.&lt;/p&gt;
2003
2004 &lt;p&gt;We set up a fairly powerful desktop machine using Debian
2005 Buster/Testing with several (five, I believe) RTL2838 DVB-T receivers
2006 connected and visualize the visible cell phone towers using an
2007 &lt;a href=&quot;https://github.com/marlow925/hopglass&quot;&gt;English version of
2008 Hopglass&lt;/a&gt;. A fairly powerfull machine is needed as the
2009 grgsm_livemon_headless processes from
2010 &lt;a href=&quot;https://tracker.debian.org/pkg/gr-gsm&quot;&gt;gr-gsm&lt;/a&gt; converting
2011 the radio signal to data packages is quite CPU intensive.&lt;/p&gt;
2012
2013 &lt;p&gt;The frequencies to listen to, are identified using a slightly
2014 patched scan-and-livemon (to set the --args values for each receiver),
2015 and the Hopglass data is generated using the
2016 &lt;a href=&quot;https://github.com/petterreinholdtsen/IMSI-catcher/tree/meshviewer-output&quot;&gt;patches
2017 in my meshviewer-output branch&lt;/a&gt;. For some reason we could not get
2018 more than four SDRs working. There is also a geographical map trying
2019 to show the location of the base stations, but I believe their
2020 coordinates are hardcoded to some random location in Germany, I
2021 believe. The code should be replaced with code to look up location in
2022 a text file, a sqlite database or one of the online databases
2023 mentioned in
2024 &lt;a href=&quot;https://github.com/Oros42/IMSI-catcher/issues/14&quot;&gt;the github
2025 issue for the topic&lt;/a&gt;.
2026
2027 &lt;p&gt;If this sound interesting, visit the stand at the festival!&lt;/p&gt;
2028 </description>
2029 </item>
2030
2031 <item>
2032 <title>Easier recipe to observe the cell phones around you</title>
2033 <link>http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html</link>
2034 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html</guid>
2035 <pubDate>Sun, 24 Sep 2017 08:30:00 +0200</pubDate>
2036 <description>&lt;p&gt;A little more than a month ago I wrote
2037 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html&quot;&gt;how
2038 to observe the SIM card ID (aka IMSI number) of mobile phones talking
2039 to nearby mobile phone base stations using Debian GNU/Linux and a
2040 cheap USB software defined radio&lt;/a&gt;, and thus being able to pinpoint
2041 the location of people and equipment (like cars and trains) with an
2042 accuracy of a few kilometer. Since then we have worked to make the
2043 procedure even simpler, and it is now possible to do this without any
2044 manual frequency tuning and without building your own packages.&lt;/p&gt;
2045
2046 &lt;p&gt;The &lt;a href=&quot;https://tracker.debian.org/pkg/gr-gsm&quot;&gt;gr-gsm&lt;/a&gt;
2047 package is now included in Debian testing and unstable, and the
2048 IMSI-catcher code no longer require root access to fetch and decode
2049 the GSM data collected using gr-gsm.&lt;/p&gt;
2050
2051 &lt;p&gt;Here is an updated recipe, using packages built by Debian and a git
2052 clone of two python scripts:&lt;/p&gt;
2053
2054 &lt;ol&gt;
2055
2056 &lt;li&gt;Start with a Debian machine running the Buster version (aka
2057 testing).&lt;/li&gt;
2058
2059 &lt;li&gt;Run &#39;&lt;tt&gt;apt install gr-gsm python-numpy python-scipy
2060 python-scapy&lt;/tt&gt;&#39; as root to install required packages.&lt;/li&gt;
2061
2062 &lt;li&gt;Fetch the code decoding GSM packages using &#39;&lt;tt&gt;git clone
2063 github.com/Oros42/IMSI-catcher.git&lt;/tt&gt;&#39;.&lt;/li&gt;
2064
2065 &lt;li&gt;Insert USB software defined radio supported by GNU Radio.&lt;/li&gt;
2066
2067 &lt;li&gt;Enter the IMSI-catcher directory and run &#39;&lt;tt&gt;python
2068 scan-and-livemon&lt;/tt&gt;&#39; to locate the frequency of nearby base
2069 stations and start listening for GSM packages on one of them.&lt;/li&gt;
2070
2071 &lt;li&gt;Enter the IMSI-catcher directory and run &#39;&lt;tt&gt;python
2072 simple_IMSI-catcher.py&lt;/tt&gt;&#39; to display the collected information.&lt;/li&gt;
2073
2074 &lt;/ol&gt;
2075
2076 &lt;p&gt;Note, due to a bug somewhere the scan-and-livemon program (actually
2077 &lt;a href=&quot;https://github.com/ptrkrysik/gr-gsm/issues/336&quot;&gt;its underlying
2078 program grgsm_scanner&lt;/a&gt;) do not work with the HackRF radio. It does
2079 work with RTL 8232 and other similar USB radio receivers you can get
2080 very cheaply
2081 (&lt;a href=&quot;https://www.ebay.com/sch/items/?_nkw=rtl+2832&quot;&gt;for example
2082 from ebay&lt;/a&gt;), so for now the solution is to scan using the RTL radio
2083 and only use HackRF for fetching GSM data.&lt;/p&gt;
2084
2085 &lt;p&gt;As far as I can tell, a cell phone only show up on one of the
2086 frequencies at the time, so if you are going to track and count every
2087 cell phone around you, you need to listen to all the frequencies used.
2088 To listen to several frequencies, use the --numrecv argument to
2089 scan-and-livemon to use several receivers. Further, I am not sure if
2090 phones using 3G or 4G will show as talking GSM to base stations, so
2091 this approach might not see all phones around you. I typically see
2092 0-400 IMSI numbers an hour when looking around where I live.&lt;/p&gt;
2093
2094 &lt;p&gt;I&#39;ve tried to run the scanner on a
2095 &lt;a href=&quot;https://wiki.debian.org/RaspberryPi&quot;&gt;Raspberry Pi 2 and 3
2096 running Debian Buster&lt;/a&gt;, but the grgsm_livemon_headless process seem
2097 to be too CPU intensive to keep up. When GNU Radio print &#39;O&#39; to
2098 stdout, I am told there it is caused by a buffer overflow between the
2099 radio and GNU Radio, caused by the program being unable to read the
2100 GSM data fast enough. If you see a stream of &#39;O&#39;s from the terminal
2101 where you started scan-and-livemon, you need a give the process more
2102 CPU power. Perhaps someone are able to optimize the code to a point
2103 where it become possible to set up RPi3 based GSM sniffers? I tried
2104 using Raspbian instead of Debian, but there seem to be something wrong
2105 with GNU Radio on raspbian, causing glibc to abort().&lt;/p&gt;
2106 </description>
2107 </item>
2108
2109 <item>
2110 <title>Simpler recipe on how to make a simple $7 IMSI Catcher using Debian</title>
2111 <link>http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</link>
2112 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</guid>
2113 <pubDate>Wed, 9 Aug 2017 23:59:00 +0200</pubDate>
2114 <description>&lt;p&gt;On friday, I came across an interesting article in the Norwegian
2115 web based ICT news magazine digi.no on
2116 &lt;a href=&quot;https://www.digi.no/artikler/sikkerhetsforsker-lagde-enkel-imsi-catcher-for-60-kroner-na-kan-mobiler-kartlegges-av-alle/398588&quot;&gt;how
2117 to collect the IMSI numbers of nearby cell phones&lt;/a&gt; using the cheap
2118 DVB-T software defined radios. The article refered to instructions
2119 and &lt;a href=&quot;https://www.youtube.com/watch?v=UjwgNd_as30&quot;&gt;a recipe by
2120 Keld Norman on Youtube on how to make a simple $7 IMSI Catcher&lt;/a&gt;, and I decided to test them out.&lt;/p&gt;
2121
2122 &lt;p&gt;The instructions said to use Ubuntu, install pip using apt (to
2123 bypass apt), use pip to install pybombs (to bypass both apt and pip),
2124 and the ask pybombs to fetch and build everything you need from
2125 scratch. I wanted to see if I could do the same on the most recent
2126 Debian packages, but this did not work because pybombs tried to build
2127 stuff that no longer build with the most recent openssl library or
2128 some other version skew problem. While trying to get this recipe
2129 working, I learned that the apt-&gt;pip-&gt;pybombs route was a long detour,
2130 and the only piece of software dependency missing in Debian was the
2131 gr-gsm package. I also found out that the lead upstream developer of
2132 gr-gsm (the name stand for GNU Radio GSM) project already had a set of
2133 Debian packages provided in an Ubuntu PPA repository. All I needed to
2134 do was to dget the Debian source package and built it.&lt;/p&gt;
2135
2136 &lt;p&gt;The IMSI collector is a python script listening for packages on the
2137 loopback network device and printing to the terminal some specific GSM
2138 packages with IMSI numbers in them. The code is fairly short and easy
2139 to understand. The reason this work is because gr-gsm include a tool
2140 to read GSM data from a software defined radio like a DVB-T USB stick
2141 and other software defined radios, decode them and inject them into a
2142 network device on your Linux machine (using the loopback device by
2143 default). This proved to work just fine, and I&#39;ve been testing the
2144 collector for a few days now.&lt;/p&gt;
2145
2146 &lt;p&gt;The updated and simpler recipe is thus to&lt;/p&gt;
2147
2148 &lt;ol&gt;
2149
2150 &lt;li&gt;start with a Debian machine running Stretch or newer,&lt;/li&gt;
2151
2152 &lt;li&gt;build and install the gr-gsm package available from
2153 &lt;a href=&quot;http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/&quot;&gt;http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/&lt;/a&gt;,&lt;/li&gt;
2154
2155 &lt;li&gt;clone the git repostory from &lt;a href=&quot;https://github.com/Oros42/IMSI-catcher&quot;&gt;https://github.com/Oros42/IMSI-catcher&lt;/a&gt;,&lt;/li&gt;
2156
2157 &lt;li&gt;run grgsm_livemon and adjust the frequency until the terminal
2158 where it was started is filled with a stream of text (meaning you
2159 found a GSM station).&lt;/li&gt;
2160
2161 &lt;li&gt;go into the IMSI-catcher directory and run &#39;sudo python simple_IMSI-catcher.py&#39; to extract the IMSI numbers.&lt;/li&gt;
2162
2163 &lt;/ol&gt;
2164
2165 &lt;p&gt;To make it even easier in the future to get this sniffer up and
2166 running, I decided to package
2167 &lt;a href=&quot;https://github.com/ptrkrysik/gr-gsm/&quot;&gt;the gr-gsm project&lt;/a&gt;
2168 for Debian (&lt;a href=&quot;https://bugs.debian.org/871055&quot;&gt;WNPP
2169 #871055&lt;/a&gt;), and the package was uploaded into the NEW queue today.
2170 Luckily the gnuradio maintainer has promised to help me, as I do not
2171 know much about gnuradio stuff yet.&lt;/p&gt;
2172
2173 &lt;p&gt;I doubt this &quot;IMSI cacher&quot; is anywhere near as powerfull as
2174 commercial tools like
2175 &lt;a href=&quot;https://www.thespyphone.com/portable-imsi-imei-catcher/&quot;&gt;The
2176 Spy Phone Portable IMSI / IMEI Catcher&lt;/a&gt; or the
2177 &lt;a href=&quot;https://en.wikipedia.org/wiki/Stingray_phone_tracker&quot;&gt;Harris
2178 Stingray&lt;/a&gt;, but I hope the existance of cheap alternatives can make
2179 more people realise how their whereabouts when carrying a cell phone
2180 is easily tracked. Seeing the data flow on the screen, realizing that
2181 I live close to a police station and knowing that the police is also
2182 wearing cell phones, I wonder how hard it would be for criminals to
2183 track the position of the police officers to discover when there are
2184 police near by, or for foreign military forces to track the location
2185 of the Norwegian military forces, or for anyone to track the location
2186 of government officials...&lt;/p&gt;
2187
2188 &lt;p&gt;It is worth noting that the data reported by the IMSI-catcher
2189 script mentioned above is only a fraction of the data broadcasted on
2190 the GSM network. It will only collect one frequency at the time,
2191 while a typical phone will be using several frequencies, and not all
2192 phones will be using the frequencies tracked by the grgsm_livemod
2193 program. Also, there is a lot of radio chatter being ignored by the
2194 simple_IMSI-catcher script, which would be collected by extending the
2195 parser code. I wonder if gr-gsm can be set up to listen to more than
2196 one frequency?&lt;/p&gt;
2197 </description>
2198 </item>
2199
2200 <item>
2201 <title>Norwegian Bokmål edition of Debian Administrator&#39;s Handbook is now available</title>
2202 <link>http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</link>
2203 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</guid>
2204 <pubDate>Tue, 25 Jul 2017 21:10:00 +0200</pubDate>
2205 <description>&lt;p align=&quot;center&quot;&gt;&lt;img align=&quot;center&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-07-25-debian-handbook-nb-testprint.png&quot;/&gt;&lt;/p&gt;
2206
2207 &lt;p&gt;I finally received a copy of the Norwegian Bokmål edition of
2208 &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
2209 Handbook&lt;/a&gt;&quot;. This test copy arrived in the mail a few days ago, and
2210 I am very happy to hold the result in my hand. We spent around one and a half year translating it. This paperbook edition
2211 &lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;is available
2212 from lulu.com&lt;/a&gt;. If you buy it quickly, you save 25% on the list
2213 price. The book is also available for download in electronic form as
2214 PDF, EPUB and Mobipocket, as can be
2215 &lt;a href=&quot;https://debian-handbook.info/browse/nb-NO/stable/&quot;&gt;read online
2216 as a web page&lt;/a&gt;.&lt;/p&gt;
2217
2218 &lt;p&gt;This is the second book I publish (the first was the book
2219 &quot;&lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt;&quot; by Lawrence Lessig
2220 in
2221 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;English&lt;/a&gt;,
2222 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;French&lt;/a&gt;
2223 and
2224 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Norwegian
2225 Bokmål&lt;/a&gt;), and I am very excited to finally wrap up this
2226 project. I hope
2227 &quot;&lt;a href=&quot;http://www.lulu.com/shop/rapha%C3%ABl-hertzog-and-roland-mas/h%C3%A5ndbok-for-debian-administratoren/paperback/product-23262290.html&quot;&gt;Håndbok
2228 for Debian-administratoren&lt;/a&gt;&quot; will be well received.&lt;/p&gt;
2229 </description>
2230 </item>
2231
2232 <item>
2233 <title>Updated sales number for my Free Culture paper editions</title>
2234 <link>http://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</link>
2235 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</guid>
2236 <pubDate>Mon, 12 Jun 2017 11:40:00 +0200</pubDate>
2237 <description>&lt;p&gt;It is pleasing to see that the work we put down in publishing new
2238 editions of the classic &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free
2239 Culture book&lt;/a&gt; by the founder of the Creative Commons movement,
2240 Lawrence Lessig, is still being appreciated. I had a look at the
2241 latest sales numbers for the paper edition today. Not too impressive,
2242 but happy to see some buyers still exist. All the revenue from the
2243 books is sent to the &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative
2244 Commons Corporation&lt;/a&gt;, and they receive the largest cut if you buy
2245 directly from Lulu. Most books are sold via Amazon, with Ingram
2246 second and only a small fraction directly from Lulu. The ebook
2247 edition is available for free from
2248 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
2249
2250 &lt;table border=&quot;0&quot;&gt;
2251 &lt;tr&gt;&lt;th rowspan=&quot;2&quot; valign=&quot;bottom&quot;&gt;Title / language&lt;/th&gt;&lt;th colspan=&quot;3&quot;&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
2252 &lt;tr&gt;&lt;th&gt;2016 jan-jun&lt;/th&gt;&lt;th&gt;2016 jul-dec&lt;/th&gt;&lt;th&gt;2017 jan-may&lt;/th&gt;&lt;/tr&gt;
2253
2254 &lt;tr&gt;
2255 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Culture Libre / French&lt;/a&gt;&lt;/td&gt;
2256 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
2257 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
2258 &lt;td align=&quot;right&quot;&gt;15&lt;/td&gt;
2259 &lt;/tr&gt;
2260
2261 &lt;tr&gt;
2262 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Fri kultur / Norwegian&lt;/a&gt;&lt;/td&gt;
2263 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
2264 &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
2265 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2266 &lt;/tr&gt;
2267
2268 &lt;tr&gt;
2269 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;Free Culture / English&lt;/a&gt;&lt;/td&gt;
2270 &lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;
2271 &lt;td align=&quot;right&quot;&gt;27&lt;/td&gt;
2272 &lt;td align=&quot;right&quot;&gt;16&lt;/td&gt;
2273 &lt;/tr&gt;
2274
2275 &lt;tr&gt;
2276 &lt;td&gt;Total&lt;/td&gt;
2277 &lt;td align=&quot;right&quot;&gt;24&lt;/td&gt;
2278 &lt;td align=&quot;right&quot;&gt;34&lt;/td&gt;
2279 &lt;td align=&quot;right&quot;&gt;31&lt;/td&gt;
2280 &lt;/tr&gt;
2281
2282 &lt;/table&gt;
2283
2284 &lt;p&gt;A bit sad to see the low sales number on the Norwegian edition, and
2285 a bit surprising the English edition still selling so well.&lt;/p&gt;
2286
2287 &lt;p&gt;If you would like to translate and publish the book in your native
2288 language, I would be happy to help make it happen. Please get in
2289 touch.&lt;/p&gt;
2290 </description>
2291 </item>
2292
2293 <item>
2294 <title>Release 0.1.1 of free software archive system Nikita announced</title>
2295 <link>http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</link>
2296 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</guid>
2297 <pubDate>Sat, 10 Jun 2017 00:40:00 +0200</pubDate>
2298 <description>&lt;p&gt;I am very happy to report that the
2299 &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita Noark 5
2300 core project&lt;/a&gt; tagged its second release today. The free software
2301 solution is an implementation of the Norwegian archive standard Noark
2302 5 used by government offices in Norway. These were the changes in
2303 version 0.1.1 since version 0.1.0 (from NEWS.md):
2304
2305 &lt;ul&gt;
2306
2307 &lt;li&gt;Continued work on the angularjs GUI, including document upload.&lt;/li&gt;
2308 &lt;li&gt;Implemented correspondencepartPerson, correspondencepartUnit and
2309 correspondencepartInternal&lt;/li&gt;
2310 &lt;li&gt;Applied for coverity coverage and started submitting code on
2311 regualr basis.&lt;/li&gt;
2312 &lt;li&gt;Started fixing bugs reported by coverity&lt;/li&gt;
2313 &lt;li&gt;Corrected and completed HATEOAS links to make sure entire API is
2314 available via URLs in _links.&lt;/li&gt;
2315 &lt;li&gt;Corrected all relation URLs to use trailing slash.&lt;/li&gt;
2316 &lt;li&gt;Add initial support for storing data in ElasticSearch.&lt;/li&gt;
2317 &lt;li&gt;Now able to receive and store uploaded files in the archive.&lt;/li&gt;
2318 &lt;li&gt;Changed JSON output for object lists to have relations in _links.&lt;/li&gt;
2319 &lt;li&gt;Improve JSON output for empty object lists.&lt;/li&gt;
2320 &lt;li&gt;Now uses correct MIME type application/vnd.noark5-v4+json.&lt;/li&gt;
2321 &lt;li&gt;Added support for docker container images.&lt;/li&gt;
2322 &lt;li&gt;Added simple API browser implemented in JavaScript/Angular.&lt;/li&gt;
2323 &lt;li&gt;Started on archive client implemented in JavaScript/Angular.&lt;/li&gt;
2324 &lt;li&gt;Started on prototype to show the public mail journal.&lt;/li&gt;
2325 &lt;li&gt;Improved performance by disabling Sprint FileWatcher.&lt;/li&gt;
2326 &lt;li&gt;Added support for &#39;arkivskaper&#39;, &#39;saksmappe&#39; and &#39;journalpost&#39;.&lt;/li&gt;
2327 &lt;li&gt;Added support for some metadata codelists.&lt;/li&gt;
2328 &lt;li&gt;Added support for Cross-origin resource sharing (CORS).&lt;/li&gt;
2329 &lt;li&gt;Changed login method from Basic Auth to JSON Web Token (RFC 7519)
2330 style.&lt;/li&gt;
2331 &lt;li&gt;Added support for GET-ing ny-* URLs.&lt;/li&gt;
2332 &lt;li&gt;Added support for modifying entities using PUT and eTag.&lt;/li&gt;
2333 &lt;li&gt;Added support for returning XML output on request.&lt;/li&gt;
2334 &lt;li&gt;Removed support for English field and class names, limiting ourself
2335 to the official names.&lt;/li&gt;
2336 &lt;li&gt;...&lt;/li&gt;
2337
2338 &lt;/ul&gt;
2339
2340 &lt;p&gt;If this sound interesting to you, please contact us on IRC (#nikita
2341 on irc.freenode.net) or email
2342 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
2343 mailing list).&lt;/p&gt;
2344 </description>
2345 </item>
2346
2347 <item>
2348 <title>Idea for storing trusted timestamps in a Noark 5 archive</title>
2349 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</link>
2350 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</guid>
2351 <pubDate>Wed, 7 Jun 2017 21:40:00 +0200</pubDate>
2352 <description>&lt;p&gt;&lt;em&gt;This is a copy of
2353 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html&quot;&gt;an
2354 email I posted to the nikita-noark mailing list&lt;/a&gt;. Please follow up
2355 there if you would like to discuss this topic. The background is that
2356 we are making a free software archive system based on the Norwegian
2357 &lt;a href=&quot;https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden&quot;&gt;Noark
2358 5 standard&lt;/a&gt; for government archives.&lt;/em&gt;&lt;/p&gt;
2359
2360 &lt;p&gt;I&#39;ve been wondering a bit lately how trusted timestamps could be
2361 stored in Noark 5.
2362 &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;Trusted
2363 timestamps&lt;/a&gt; can be used to verify that some information
2364 (document/file/checksum/metadata) have not been changed since a
2365 specific time in the past. This is useful to verify the integrity of
2366 the documents in the archive.&lt;/p&gt;
2367
2368 &lt;p&gt;Then it occured to me, perhaps the trusted timestamps could be
2369 stored as dokument variants (ie dokumentobjekt referered to from
2370 dokumentbeskrivelse) with the filename set to the hash it is
2371 stamping?&lt;/p&gt;
2372
2373 &lt;p&gt;Given a &quot;dokumentbeskrivelse&quot; with an associated &quot;dokumentobjekt&quot;,
2374 a new dokumentobjekt is associated with &quot;dokumentbeskrivelse&quot; with the
2375 same attributes as the stamped dokumentobjekt except these
2376 attributes:&lt;/p&gt;
2377
2378 &lt;ul&gt;
2379
2380 &lt;li&gt;format -&gt; &quot;RFC3161&quot;
2381 &lt;li&gt;mimeType -&gt; &quot;application/timestamp-reply&quot;
2382 &lt;li&gt;formatDetaljer -&gt; &quot;&amp;lt;source URL for timestamp service&amp;gt;&quot;
2383 &lt;li&gt;filenavn -&gt; &quot;&amp;lt;sjekksum&amp;gt;.tsr&quot;
2384
2385 &lt;/ul&gt;
2386
2387 &lt;p&gt;This assume a service following
2388 &lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;IETF RFC 3161&lt;/a&gt; is
2389 used, which specifiy the given MIME type for replies and the .tsr file
2390 ending for the content of such trusted timestamp. As far as I can
2391 tell from the Noark 5 specifications, it is OK to have several
2392 variants/renderings of a dokument attached to a given
2393 dokumentbeskrivelse objekt. It might be stretching it a bit to make
2394 some of these variants represent crypto-signatures useful for
2395 verifying the document integrity instead of representing the dokument
2396 itself.&lt;/p&gt;
2397
2398 &lt;p&gt;Using the source of the service in formatDetaljer allow several
2399 timestamping services to be used. This is useful to spread the risk
2400 of key compromise over several organisations. It would only be a
2401 problem to trust the timestamps if all of the organisations are
2402 compromised.&lt;/p&gt;
2403
2404 &lt;p&gt;The following oneliner on Linux can be used to generate the tsr
2405 file. $input is the path to the file to checksum, and $sha256 is the
2406 SHA-256 checksum of the file (ie the &quot;&lt;sjekksum&gt;.tsr&quot; value mentioned
2407 above).&lt;/p&gt;
2408
2409 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2410 openssl ts -query -data &quot;$inputfile&quot; -cert -sha256 -no_nonce \
2411 | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
2412 --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; $sha256.tsr
2413 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2414
2415 &lt;p&gt;To verify the timestamp, you first need to download the public key
2416 of the trusted timestamp service, for example using this command:&lt;/p&gt;
2417
2418 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2419 wget -O ca-cert.txt \
2420 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
2421 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2422
2423 &lt;p&gt;Note, the public key should be stored alongside the timestamps in
2424 the archive to make sure it is also available 100 years from now. It
2425 is probably a good idea to standardise how and were to store such
2426 public keys, to make it easier to find for those trying to verify
2427 documents 100 or 1000 years from now. :)&lt;/p&gt;
2428
2429 &lt;p&gt;The verification itself is a simple openssl command:&lt;/p&gt;
2430
2431 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2432 openssl ts -verify -data $inputfile -in $sha256.tsr \
2433 -CAfile ca-cert.txt -text
2434 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2435
2436 &lt;p&gt;Is there any reason this approach would not work? Is it somehow against
2437 the Noark 5 specification?&lt;/p&gt;
2438 </description>
2439 </item>
2440
2441 <item>
2442 <title>Free software archive system Nikita now able to store documents</title>
2443 <link>http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</link>
2444 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</guid>
2445 <pubDate>Sun, 19 Mar 2017 08:00:00 +0100</pubDate>
2446 <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita
2447 Noark 5 core project&lt;/a&gt; is implementing the Norwegian standard for
2448 keeping an electronic archive of government documents.
2449 &lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version&quot;&gt;The
2450 Noark 5 standard&lt;/a&gt; document the requirement for data systems used by
2451 the archives in the Norwegian government, and the Noark 5 web interface
2452 specification document a REST web service for storing, searching and
2453 retrieving documents and metadata in such archive. I&#39;ve been involved
2454 in the project since a few weeks before Christmas, when the Norwegian
2455 Unix User Group
2456 &lt;a href=&quot;https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml&quot;&gt;announced
2457 it supported the project&lt;/a&gt;. I believe this is an important project,
2458 and hope it can make it possible for the government archives in the
2459 future to use free software to keep the archives we citizens depend
2460 on. But as I do not hold such archive myself, personally my first use
2461 case is to store and analyse public mail journal metadata published
2462 from the government. I find it useful to have a clear use case in
2463 mind when developing, to make sure the system scratches one of my
2464 itches.&lt;/p&gt;
2465
2466 &lt;p&gt;If you would like to help make sure there is a free software
2467 alternatives for the archives, please join our IRC channel
2468 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&quot;&gt;#nikita on
2469 irc.freenode.net&lt;/a&gt;) and
2470 &lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;the
2471 project mailing list&lt;/a&gt;.&lt;/p&gt;
2472
2473 &lt;p&gt;When I got involved, the web service could store metadata about
2474 documents. But a few weeks ago, a new milestone was reached when it
2475 became possible to store full text documents too. Yesterday, I
2476 completed an implementation of a command line tool
2477 &lt;tt&gt;archive-pdf&lt;/tt&gt; to upload a PDF file to the archive using this
2478 API. The tool is very simple at the moment, and find existing
2479 &lt;a href=&quot;https://en.wikipedia.org/wiki/Fonds&quot;&gt;fonds&lt;/a&gt;, series and
2480 files while asking the user to select which one to use if more than
2481 one exist. Once a file is identified, the PDF is associated with the
2482 file and uploaded, using the title extracted from the PDF itself. The
2483 process is fairly similar to visiting the archive, opening a cabinet,
2484 locating a file and storing a piece of paper in the archive. Here is
2485 a test run directly after populating the database with test data using
2486 our API tester:&lt;/p&gt;
2487
2488 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2489 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
2490 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
2491 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
2492
2493 0 - Title of the test case file created 2017-03-18T23:49:32.103446
2494 1 - Title of the test file created 2017-03-18T23:49:32.103446
2495 Select which mappe you want (or search term): 0
2496 Uploading mangelmelding/mangler.pdf
2497 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
2498 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
2499 ~/src//noark5-tester$
2500 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2501
2502 &lt;p&gt;You can see here how the fonds (arkiv) and serie (arkivdel) only had
2503 one option, while the user need to choose which file (mappe) to use
2504 among the two created by the API tester. The &lt;tt&gt;archive-pdf&lt;/tt&gt;
2505 tool can be found in the git repository for the API tester.&lt;/p&gt;
2506
2507 &lt;p&gt;In the project, I have been mostly working on
2508 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester&quot;&gt;the API
2509 tester&lt;/a&gt; so far, while getting to know the code base. The API
2510 tester currently use
2511 &lt;a href=&quot;https://en.wikipedia.org/wiki/HATEOAS&quot;&gt;the HATEOAS links&lt;/a&gt;
2512 to traverse the entire exposed service API and verify that the exposed
2513 operations and objects match the specification, as well as trying to
2514 create objects holding metadata and uploading a simple XML file to
2515 store. The tester has proved very useful for finding flaws in our
2516 implementation, as well as flaws in the reference site and the
2517 specification.&lt;/p&gt;
2518
2519 &lt;p&gt;The test document I uploaded is a summary of all the specification
2520 defects we have collected so far while implementing the web service.
2521 There are several unclear and conflicting parts of the specification,
2522 and we have
2523 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding&quot;&gt;started
2524 writing down&lt;/a&gt; the questions we get from implementing it. We use a
2525 format inspired by how &lt;a href=&quot;http://www.opengroup.org/austin/&quot;&gt;The
2526 Austin Group&lt;/a&gt; collect defect reports for the POSIX standard with
2527 &lt;a href=&quot;http://www.opengroup.org/austin/mantis.html&quot;&gt;their
2528 instructions for the MANTIS defect tracker system&lt;/a&gt;, in lack of an official way to structure defect reports for Noark 5 (our first submitted defect report was a &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md&quot;&gt;request for a procedure for submitting defect reports&lt;/a&gt; :).
2529
2530 &lt;p&gt;The Nikita project is implemented using Java and Spring, and is
2531 fairly easy to get up and running using Docker containers for those
2532 that want to test the current code base. The API tester is
2533 implemented in Python.&lt;/p&gt;
2534 </description>
2535 </item>
2536
2537 <item>
2538 <title>Detecting NFS hangs on Linux without hanging yourself...</title>
2539 <link>http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</link>
2540 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</guid>
2541 <pubDate>Thu, 9 Mar 2017 15:20:00 +0100</pubDate>
2542 <description>&lt;p&gt;Over the years, administrating thousand of NFS mounting linux
2543 computers at the time, I often needed a way to detect if the machine
2544 was experiencing NFS hang. If you try to use &lt;tt&gt;df&lt;/tt&gt; or look at a
2545 file or directory affected by the hang, the process (and possibly the
2546 shell) will hang too. So you want to be able to detect this without
2547 risking the detection process getting stuck too. It has not been
2548 obvious how to do this. When the hang has lasted a while, it is
2549 possible to find messages like these in dmesg:&lt;/p&gt;
2550
2551 &lt;p&gt;&lt;blockquote&gt;
2552 nfs: server nfsserver not responding, still trying
2553 &lt;br&gt;nfs: server nfsserver OK
2554 &lt;/blockquote&gt;&lt;/p&gt;
2555
2556 &lt;p&gt;It is hard to know if the hang is still going on, and it is hard to
2557 be sure looking in dmesg is going to work. If there are lots of other
2558 messages in dmesg the lines might have rotated out of site before they
2559 are noticed.&lt;/p&gt;
2560
2561 &lt;p&gt;While reading through the nfs client implementation in linux kernel
2562 code, I came across some statistics that seem to give a way to detect
2563 it. The om_timeouts sunrpc value in the kernel will increase every
2564 time the above log entry is inserted into dmesg. And after digging a
2565 bit further, I discovered that this value show up in
2566 /proc/self/mountstats on Linux.&lt;/p&gt;
2567
2568 &lt;p&gt;The mountstats content seem to be shared between files using the
2569 same file system context, so it is enough to check one of the
2570 mountstats files to get the state of the mount point for the machine.
2571 I assume this will not show lazy umounted NFS points, nor NFS mount
2572 points in a different process context (ie with a different filesystem
2573 view), but that does not worry me.&lt;/p&gt;
2574
2575 &lt;p&gt;The content for a NFS mount point look similar to this:&lt;/p&gt;
2576
2577 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2578 [...]
2579 device /dev/mapper/Debian-var mounted on /var with fstype ext3
2580 device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
2581 opts: rw,vers=3,rsize=65536,wsize=65536,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,soft,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.240.3.145,mountvers=3,mountport=4048,mountproto=udp,local_lock=all
2582 age: 7863311
2583 caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
2584 sec: flavor=1,pseudoflavor=1
2585 events: 61063112 732346265 1028140 35486205 16220064 8162542 761447191 71714012 37189 3891185 45561809 110486139 4850138 420353 15449177 296502 52736725 13523379 0 52182 9016896 1231 0 0 0 0 0
2586 bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
2587 RPC iostats version: 1.0 p/v: 100003/3 (nfs)
2588 xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
2589 per-op statistics
2590 NULL: 0 0 0 0 0 0 0 0
2591 GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
2592 SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
2593 LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
2594 ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
2595 READLINK: 125 125 0 20472 18620 0 1112 1118
2596 READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
2597 WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
2598 CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
2599 MKDIR: 3680 3680 0 773980 993920 26 23990 24245
2600 SYMLINK: 903 903 0 233428 245488 6 5865 5917
2601 MKNOD: 80 80 0 20148 21760 0 299 304
2602 REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
2603 RMDIR: 3367 3367 0 645112 484848 22 5782 6002
2604 RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
2605 LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
2606 READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
2607 READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
2608 FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
2609 FSINFO: 2 2 0 232 328 0 1 1
2610 PATHCONF: 1 1 0 116 140 0 0 0
2611 COMMIT: 0 0 0 0 0 0 0 0
2612
2613 device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
2614 [...]
2615 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2616
2617 &lt;p&gt;The key number to look at is the third number in the per-op list.
2618 It is the number of NFS timeouts experiences per file system
2619 operation. Here 22 write timeouts and 5 access timeouts. If these
2620 numbers are increasing, I believe the machine is experiencing NFS
2621 hang. Unfortunately the timeout value do not start to increase right
2622 away. The NFS operations need to time out first, and this can take a
2623 while. The exact timeout value depend on the setup. For example the
2624 defaults for TCP and UDP mount points are quite different, and the
2625 timeout value is affected by the soft, hard, timeo and retrans NFS
2626 mount options.&lt;/p&gt;
2627
2628 &lt;p&gt;The only way I have been able to get working on Debian and RedHat
2629 Enterprise Linux for getting the timeout count is to peek in /proc/.
2630 But according to
2631 &lt;ahref=&quot;http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html&quot;&gt;Solaris
2632 10 System Administration Guide: Network Services&lt;/a&gt;, the &#39;nfsstat -c&#39;
2633 command can be used to get these timeout values. But this do not work
2634 on Linux, as far as I can tell. I
2635 &lt;ahref=&quot;http://bugs.debian.org/857043&quot;&gt;asked Debian about this&lt;/a&gt;,
2636 but have not seen any replies yet.&lt;/p&gt;
2637
2638 &lt;p&gt;Is there a better way to figure out if a Linux NFS client is
2639 experiencing NFS hangs? Is there a way to detect which processes are
2640 affected? Is there a way to get the NFS mount going quickly once the
2641 network problem causing the NFS hang has been cleared? I would very
2642 much welcome some clues, as we regularly run into NFS hangs.&lt;/p&gt;
2643 </description>
2644 </item>
2645
2646 <item>
2647 <title>How does it feel to be wiretapped, when you should be doing the wiretapping...</title>
2648 <link>http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</link>
2649 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</guid>
2650 <pubDate>Wed, 8 Mar 2017 11:50:00 +0100</pubDate>
2651 <description>&lt;p&gt;So the new president in the United States of America claim to be
2652 surprised to discover that he was wiretapped during the election
2653 before he was elected president. He even claim this must be illegal.
2654 Well, doh, if it is one thing the confirmations from Snowden
2655 documented, it is that the entire population in USA is wiretapped, one
2656 way or another. Of course the president candidates were wiretapped,
2657 alongside the senators, judges and the rest of the people in USA.&lt;/p&gt;
2658
2659 &lt;p&gt;Next, the Federal Bureau of Investigation ask the Department of
2660 Justice to go public rejecting the claims that Donald Trump was
2661 wiretapped illegally. I fail to see the relevance, given that I am
2662 sure the surveillance industry in USA believe they have all the legal
2663 backing they need to conduct mass surveillance on the entire
2664 world.&lt;/p&gt;
2665
2666 &lt;p&gt;There is even the director of the FBI stating that he never saw an
2667 order requesting wiretapping of Donald Trump. That is not very
2668 surprising, given how the FISA court work, with all its activity being
2669 secret. Perhaps he only heard about it?&lt;/p&gt;
2670
2671 &lt;p&gt;What I find most sad in this story is how Norwegian journalists
2672 present it. In a news reports the other day in the radio from the
2673 Norwegian National broadcasting Company (NRK), I heard the journalist
2674 claim that &#39;the FBI denies any wiretapping&#39;, while the reality is that
2675 &#39;the FBI denies any illegal wiretapping&#39;. There is a fundamental and
2676 important difference, and it make me sad that the journalists are
2677 unable to grasp it.&lt;/p&gt;
2678
2679 &lt;p&gt;&lt;strong&gt;Update 2017-03-13:&lt;/strong&gt; Look like
2680 &lt;a href=&quot;https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/&quot;&gt;The
2681 Intercept report that US Senator Rand Paul confirm what I state above&lt;/a&gt;.&lt;/p&gt;
2682 </description>
2683 </item>
2684
2685 <item>
2686 <title>Norwegian Bokmål translation of The Debian Administrator&#39;s Handbook complete, proofreading in progress</title>
2687 <link>http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</link>
2688 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</guid>
2689 <pubDate>Fri, 3 Mar 2017 14:50:00 +0100</pubDate>
2690 <description>&lt;p&gt;For almost a year now, we have been working on making a Norwegian
2691 Bokmål edition of &lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian
2692 Administrator&#39;s Handbook&lt;/a&gt;. Now, thanks to the tireless effort of
2693 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
2694 we are working on the proof reading to ensure consistent language and
2695 use of correct computer science terms. The plan is to make the book
2696 available on paper, as well as in electronic form. For that to
2697 happen, the proof reading must be completed and all the figures need
2698 to be translated. If you want to help out, get in touch.&lt;/p&gt;
2699
2700 &lt;p&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf&quot;&gt;A
2701
2702 fresh PDF edition&lt;/a&gt; in A4 format (the final book will have smaller
2703 pages) of the book created every morning is available for
2704 proofreading. If you find any errors, please
2705 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;visit
2706 Weblate and correct the error&lt;/a&gt;. The
2707 &lt;a href=&quot;http://l.github.io/debian-handbook/stat/nb-NO/index.html&quot;&gt;state
2708 of the translation including figures&lt;/a&gt; is a useful source for those
2709 provide Norwegian bokmål screen shots and figures.&lt;/p&gt;
2710 </description>
2711 </item>
2712
2713 <item>
2714 <title>Unlimited randomness with the ChaosKey?</title>
2715 <link>http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</link>
2716 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</guid>
2717 <pubDate>Wed, 1 Mar 2017 20:50:00 +0100</pubDate>
2718 <description>&lt;p&gt;A few days ago I ordered a small batch of
2719 &lt;a href=&quot;http://altusmetrum.org/ChaosKey/&quot;&gt;the ChaosKey&lt;/a&gt;, a small
2720 USB dongle for generating entropy created by Bdale Garbee and Keith
2721 Packard. Yesterday it arrived, and I am very happy to report that it
2722 work great! According to its designers, to get it to work out of the
2723 box, you need the Linux kernel version 4.1 or later. I tested on a
2724 Debian Stretch machine (kernel version 4.9), and there it worked just
2725 fine, increasing the available entropy very quickly. I wrote a small
2726 test oneliner to test. It first print the current entropy level,
2727 drain /dev/random, and then print the entropy level for five seconds.
2728 Here is the situation without the ChaosKey inserted:&lt;/p&gt;
2729
2730 &lt;blockquote&gt;&lt;pre&gt;
2731 % cat /proc/sys/kernel/random/entropy_avail; \
2732 dd bs=1M if=/dev/random of=/dev/null count=1; \
2733 for n in $(seq 1 5); do \
2734 cat /proc/sys/kernel/random/entropy_avail; \
2735 sleep 1; \
2736 done
2737 300
2738 0+1 oppføringer inn
2739 0+1 oppføringer ut
2740 28 byte kopiert, 0,000264565 s, 106 kB/s
2741 4
2742 8
2743 12
2744 17
2745 21
2746 %
2747 &lt;/pre&gt;&lt;/blockquote&gt;
2748
2749 &lt;p&gt;The entropy level increases by 3-4 every second. In such case any
2750 application requiring random bits (like a HTTPS enabled web server)
2751 will halt and wait for more entrpy. And here is the situation with
2752 the ChaosKey inserted:&lt;/p&gt;
2753
2754 &lt;blockquote&gt;&lt;pre&gt;
2755 % cat /proc/sys/kernel/random/entropy_avail; \
2756 dd bs=1M if=/dev/random of=/dev/null count=1; \
2757 for n in $(seq 1 5); do \
2758 cat /proc/sys/kernel/random/entropy_avail; \
2759 sleep 1; \
2760 done
2761 1079
2762 0+1 oppføringer inn
2763 0+1 oppføringer ut
2764 104 byte kopiert, 0,000487647 s, 213 kB/s
2765 433
2766 1028
2767 1031
2768 1035
2769 1038
2770 %
2771 &lt;/pre&gt;&lt;/blockquote&gt;
2772
2773 &lt;p&gt;Quite the difference. :) I bought a few more than I need, in case
2774 someone want to buy one here in Norway. :)&lt;/p&gt;
2775
2776 &lt;p&gt;Update: The dongle was presented at Debconf last year. You might
2777 find &lt;a href=&quot;https://debconf16.debconf.org/talks/94/&quot;&gt;the talk
2778 recording illuminating&lt;/a&gt;. It explains exactly what the source of
2779 randomness is, if you are unable to spot it from the schema drawing
2780 available from the ChaosKey web site linked at the start of this blog
2781 post.&lt;/p&gt;
2782 </description>
2783 </item>
2784
2785 <item>
2786 <title>Detect OOXML files with undefined behaviour?</title>
2787 <link>http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html</link>
2788 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html</guid>
2789 <pubDate>Tue, 21 Feb 2017 00:20:00 +0100</pubDate>
2790 <description>&lt;p&gt;I just noticed
2791 &lt;a href=&quot;http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing&quot;&gt;the
2792 new Norwegian proposal for archiving rules in the goverment&lt;/a&gt; list
2793 &lt;a href=&quot;http://www.ecma-international.org/publications/standards/Ecma-376.htm&quot;&gt;ECMA-376&lt;/a&gt;
2794 / ISO/IEC 29500 (aka OOXML) as valid formats to put in long term
2795 storage. Luckily such files will only be accepted based on
2796 pre-approval from the National Archive. Allowing OOXML files to be
2797 used for long term storage might seem like a good idea as long as we
2798 forget that there are plenty of ways for a &quot;valid&quot; OOXML document to
2799 have content with no defined interpretation in the standard, which
2800 lead to a question and an idea.&lt;/p&gt;
2801
2802 &lt;p&gt;Is there any tool to detect if a OOXML document depend on such
2803 undefined behaviour? It would be useful for the National Archive (and
2804 anyone else interested in verifying that a document is well defined)
2805 to have such tool available when considering to approve the use of
2806 OOXML. I&#39;m aware of the
2807 &lt;a href=&quot;https://github.com/arlm/officeotron/&quot;&gt;officeotron OOXML
2808 validator&lt;/a&gt;, but do not know how complete it is nor if it will
2809 report use of undefined behaviour. Are there other similar tools
2810 available? Please send me an email if you know of any such tool.&lt;/p&gt;
2811 </description>
2812 </item>
2813
2814 <item>
2815 <title>Ruling ignored our objections to the seizure of popcorn-time.no (#domstolkontroll)</title>
2816 <link>http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html</link>
2817 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html</guid>
2818 <pubDate>Mon, 13 Feb 2017 21:30:00 +0100</pubDate>
2819 <description>&lt;p&gt;A few days ago, we received the ruling from
2820 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html&quot;&gt;my
2821 day in court&lt;/a&gt;. The case in question is a challenge of the seizure
2822 of the DNS domain popcorn-time.no. The ruling simply did not mention
2823 most of our arguments, and seemed to take everything ØKOKRIM said at
2824 face value, ignoring our demonstration and explanations. But it is
2825 hard to tell for sure, as we still have not seen most of the documents
2826 in the case and thus were unprepared and unable to contradict several
2827 of the claims made in court by the opposition. We are considering an
2828 appeal, but it is partly a question of funding, as it is costing us
2829 quite a bit to pay for our lawyer. If you want to help, please
2830 &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;donate to the
2831 NUUG defense fund&lt;/a&gt;.&lt;/p&gt;
2832
2833 &lt;p&gt;The details of the case, as far as we know it, is available in
2834 Norwegian from
2835 &lt;a href=&quot;https://www.nuug.no/news/tags/dns-domenebeslag/&quot;&gt;the NUUG
2836 blog&lt;/a&gt;. This also include
2837 &lt;a href=&quot;https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml&quot;&gt;the
2838 ruling itself&lt;/a&gt;.&lt;/p&gt;
2839 </description>
2840 </item>
2841
2842 <item>
2843 <title>A day in court challenging seizure of popcorn-time.no for #domstolkontroll</title>
2844 <link>http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html</link>
2845 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html</guid>
2846 <pubDate>Fri, 3 Feb 2017 11:10:00 +0100</pubDate>
2847 <description>&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2017-02-01-popcorn-time-in-court.jpeg&quot;&gt;&lt;/p&gt;
2848
2849 &lt;p&gt;On Wednesday, I spent the entire day in court in Follo Tingrett
2850 representing &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the member association
2851 NUUG&lt;/a&gt;, alongside &lt;a href=&quot;https://www.efn.no/&quot;&gt;the member
2852 association EFN&lt;/a&gt; and &lt;a href=&quot;http://www.imc.no&quot;&gt;the DNS registrar
2853 IMC&lt;/a&gt;, challenging the seizure of the DNS name popcorn-time.no. It
2854 was interesting to sit in a court of law for the first time in my
2855 life. Our team can be seen in the picture above: attorney Ola
2856 Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
2857 Eriksen and NUUG board member Petter Reinholdtsen.&lt;/p&gt;
2858
2859 &lt;p&gt;&lt;a href=&quot;http://www.domstol.no/no/Enkelt-domstol/follo-tingrett/Nar-gar-rettssaken/Beramming/?cid=AAAA1701301512081262234UJFBVEZZZZZEJBAvtale&quot;&gt;The
2860 case at hand&lt;/a&gt; is that the Norwegian National Authority for
2861 Investigation and Prosecution of Economic and Environmental Crime (aka
2862 Økokrim) decided on their own, to seize a DNS domain early last
2863 year, without following
2864 &lt;a href=&quot;https://www.norid.no/no/regelverk/navnepolitikk/#link12&quot;&gt;the
2865 official policy of the Norwegian DNS authority&lt;/a&gt; which require a
2866 court decision. The web site in question was a site covering Popcorn
2867 Time. And Popcorn Time is the name of a technology with both legal
2868 and illegal applications. Popcorn Time is a client combining
2869 searching a Bittorrent directory available on the Internet with
2870 downloading/distribute content via Bittorrent and playing the
2871 downloaded content on screen. It can be used illegally if it is used
2872 to distribute content against the will of the right holder, but it can
2873 also be used legally to play a lot of content, for example the
2874 millions of movies
2875 &lt;a href=&quot;https://archive.org/details/movies&quot;&gt;available from the
2876 Internet Archive&lt;/a&gt; or the collection
2877 &lt;a href=&quot;http://vodo.net/films/&quot;&gt;available from Vodo&lt;/a&gt;. We created
2878 &lt;a href=&quot;magnet:?xt=urn:btih:86c1802af5a667ca56d3918aecb7d3c0f7173084&amp;dn=PresentasjonFolloTingrett.mov&amp;tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce&quot;&gt;a
2879 video demonstrating legally use of Popcorn Time&lt;/a&gt; and played it in
2880 Court. It can of course be downloaded using Bittorrent.&lt;/p&gt;
2881
2882 &lt;p&gt;I did not quite know what to expect from a day in court. The
2883 government held on to their version of the story and we held on to
2884 ours, and I hope the judge is able to make sense of it all. We will
2885 know in two weeks time. Unfortunately I do not have high hopes, as
2886 the Government have the upper hand here with more knowledge about the
2887 case, better training in handling criminal law and in general higher
2888 standing in the courts than fairly unknown DNS registrar and member
2889 associations. It is expensive to be right also in Norway. So far the
2890 case have cost more than NOK 70 000,-. To help fund the case, NUUG
2891 and EFN have asked for donations, and managed to collect around NOK 25
2892 000,- so far. Given the presentation from the Government, I expect
2893 the government to appeal if the case go our way. And if the case do
2894 not go our way, I hope we have enough funding to appeal.&lt;/p&gt;
2895
2896 &lt;p&gt;From the other side came two people from Økokrim. On the benches,
2897 appearing to be part of the group from the government were two people
2898 from the Simonsen Vogt Wiik lawyer office, and three others I am not
2899 quite sure who was. Økokrim had proposed to present two witnesses
2900 from The Motion Picture Association, but this was rejected because
2901 they did not speak Norwegian and it was a bit late to bring in a
2902 translator, but perhaps the two from MPA were present anyway. All
2903 seven appeared to know each other. Good to see the case is take
2904 seriously.&lt;/p&gt;
2905
2906 &lt;p&gt;If you, like me, believe the courts should be involved before a DNS
2907 domain is hijacked by the government, or you believe the Popcorn Time
2908 technology have a lot of useful and legal applications, I suggest you
2909 too &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;donate to
2910 the NUUG defense fund&lt;/a&gt;. Both Bitcoin and bank transfer are
2911 available. If NUUG get more than we need for the legal action (very
2912 unlikely), the rest will be spend promoting free software, open
2913 standards and unix-like operating systems in Norway, so no matter what
2914 happens the money will be put to good use.&lt;/p&gt;
2915
2916 &lt;p&gt;If you want to lean more about the case, I recommend you check out
2917 &lt;a href=&quot;https://www.nuug.no/news/tags/dns-domenebeslag/&quot;&gt;the blog
2918 posts from NUUG covering the case&lt;/a&gt;. They cover the legal arguments
2919 on both sides.&lt;/p&gt;
2920 </description>
2921 </item>
2922
2923 <item>
2924 <title>Where did that package go? &amp;mdash; geolocated IP traceroute</title>
2925 <link>http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html</link>
2926 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html</guid>
2927 <pubDate>Mon, 9 Jan 2017 12:20:00 +0100</pubDate>
2928 <description>&lt;p&gt;Did you ever wonder where the web trafic really flow to reach the
2929 web servers, and who own the network equipment it is flowing through?
2930 It is possible to get a glimpse of this from using traceroute, but it
2931 is hard to find all the details. Many years ago, I wrote a system to
2932 map the Norwegian Internet (trying to figure out if our plans for a
2933 network game service would get low enough latency, and who we needed
2934 to talk to about setting up game servers close to the users. Back
2935 then I used traceroute output from many locations (I asked my friends
2936 to run a script and send me their traceroute output) to create the
2937 graph and the map. The output from traceroute typically look like
2938 this:
2939
2940 &lt;p&gt;&lt;pre&gt;
2941 traceroute to www.stortinget.no (85.88.67.10), 30 hops max, 60 byte packets
2942 1 uio-gw10.uio.no (129.240.202.1) 0.447 ms 0.486 ms 0.621 ms
2943 2 uio-gw8.uio.no (129.240.24.229) 0.467 ms 0.578 ms 0.675 ms
2944 3 oslo-gw1.uninett.no (128.39.65.17) 0.385 ms 0.373 ms 0.358 ms
2945 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 1.174 ms 1.172 ms 1.153 ms
2946 5 he16-1-1.cr1.san110.as2116.net (195.0.244.234) 2.627 ms he16-1-1.cr2.oslosda310.as2116.net (195.0.244.48) 3.172 ms he16-1-1.cr1.san110.as2116.net (195.0.244.234) 2.857 ms
2947 6 ae1.ar8.oslosda310.as2116.net (195.0.242.39) 0.662 ms 0.637 ms ae0.ar8.oslosda310.as2116.net (195.0.242.23) 0.622 ms
2948 7 89.191.10.146 (89.191.10.146) 0.931 ms 0.917 ms 0.955 ms
2949 8 * * *
2950 9 * * *
2951 [...]
2952 &lt;/pre&gt;&lt;/p&gt;
2953
2954 &lt;p&gt;This show the DNS names and IP addresses of (at least some of the)
2955 network equipment involved in getting the data traffic from me to the
2956 www.stortinget.no server, and how long it took in milliseconds for a
2957 package to reach the equipment and return to me. Three packages are
2958 sent, and some times the packages do not follow the same path. This
2959 is shown for hop 5, where three different IP addresses replied to the
2960 traceroute request.&lt;/p&gt;
2961
2962 &lt;p&gt;There are many ways to measure trace routes. Other good traceroute
2963 implementations I use are traceroute (using ICMP packages) mtr (can do
2964 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
2965 traceroute and a lot of other capabilities). All of them are easily
2966 available in &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt;.&lt;/p&gt;
2967
2968 &lt;p&gt;This time around, I wanted to know the geographic location of
2969 different route points, to visualize how visiting a web page spread
2970 information about the visit to a lot of servers around the globe. The
2971 background is that a web site today often will ask the browser to get
2972 from many servers the parts (for example HTML, JSON, fonts,
2973 JavaScript, CSS, video) required to display the content. This will
2974 leak information about the visit to those controlling these servers
2975 and anyone able to peek at the data traffic passing by (like your ISP,
2976 the ISPs backbone provider, FRA, GCHQ, NSA and others).&lt;/p&gt;
2977
2978 &lt;p&gt;Lets pick an example, the Norwegian parliament web site
2979 www.stortinget.no. It is read daily by all members of parliament and
2980 their staff, as well as political journalists, activits and many other
2981 citizens of Norway. A visit to the www.stortinget.no web site will
2982 ask your browser to contact 8 other servers: ajax.googleapis.com,
2983 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
2984 stats.g.doubleclick.net, www.google-analytics.com,
2985 www.googletagmanager.com and www.netigate.se. I extracted this by
2986 asking &lt;a href=&quot;http://phantomjs.org/&quot;&gt;PhantomJS&lt;/a&gt; to visit the
2987 Stortinget web page and tell me all the URLs PhantomJS downloaded to
2988 render the page (in HAR format using
2989 &lt;a href=&quot;https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js&quot;&gt;their
2990 netsniff example&lt;/a&gt;. I am very grateful to Gorm for showing me how
2991 to do this). My goal is to visualize network traces to all IP
2992 addresses behind these DNS names, do show where visitors personal
2993 information is spread when visiting the page.&lt;/p&gt;
2994
2995 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;www.stortinget.no-geoip.kml&quot;&gt;&lt;img
2996 src=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geoip-small.png&quot; alt=&quot;map of combined traces for URLs used by www.stortinget.no using GeoIP&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
2997
2998 &lt;p&gt;When I had a look around for options, I could not find any good
2999 free software tools to do this, and decided I needed my own traceroute
3000 wrapper outputting KML based on locations looked up using GeoIP. KML
3001 is easy to work with and easy to generate, and understood by several
3002 of the GIS tools I have available. I got good help from by NUUG
3003 colleague Anders Einar with this, and the result can be seen in
3004 &lt;a href=&quot;https://github.com/petterreinholdtsen/kmltraceroute&quot;&gt;my
3005 kmltraceroute git repository&lt;/a&gt;. Unfortunately, the quality of the
3006 free GeoIP databases I could find (and the for-pay databases my
3007 friends had access to) is not up to the task. The IP addresses of
3008 central Internet infrastructure would typically be placed near the
3009 controlling companies main office, and not where the router is really
3010 located, as you can see from &lt;a href=&quot;www.stortinget.no-geoip.kml&quot;&gt;the
3011 KML file I created&lt;/a&gt; using the GeoLite City dataset from MaxMind.
3012
3013 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg&quot;&gt;&lt;img
3014 src=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy-small.png&quot; alt=&quot;scapy traceroute graph for URLs used by www.stortinget.no&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
3015
3016 &lt;p&gt;I also had a look at the visual traceroute graph created by
3017 &lt;a href=&quot;http://www.secdev.org/projects/scapy/&quot;&gt;the scrapy project&lt;/a&gt;,
3018 showing IP network ownership (aka AS owner) for the IP address in
3019 question.
3020 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg&quot;&gt;The
3021 graph display a lot of useful information about the traceroute in SVG
3022 format&lt;/a&gt;, and give a good indication on who control the network
3023 equipment involved, but it do not include geolocation. This graph
3024 make it possible to see the information is made available at least for
3025 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
3026 3 Communications and NetDNA.&lt;/p&gt;
3027
3028 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://geotraceroute.com/index.php?node=4&amp;host=www.stortinget.no&quot;&gt;&lt;img
3029 src=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-small.png&quot; alt=&quot;example geotraceroute view for www.stortinget.no&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
3030
3031 &lt;p&gt;In the process, I came across the
3032 &lt;a href=&quot;https://geotraceroute.com/&quot;&gt;web service GeoTraceroute&lt;/a&gt; by
3033 Salim Gasmi. Its methology of combining guesses based on DNS names,
3034 various location databases and finally use latecy times to rule out
3035 candidate locations seemed to do a very good job of guessing correct
3036 geolocation. But it could only do one trace at the time, did not have
3037 a sensor in Norway and did not make the geolocations easily available
3038 for postprocessing. So I contacted the developer and asked if he
3039 would be willing to share the code (he refused until he had time to
3040 clean it up), but he was interested in providing the geolocations in a
3041 machine readable format, and willing to set up a sensor in Norway. So
3042 since yesterday, it is possible to run traces from Norway in this
3043 service thanks to a sensor node set up by
3044 &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG assosiation&lt;/a&gt;, and get the
3045 trace in KML format for further processing.&lt;/p&gt;
3046
3047 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.kml&quot;&gt;&lt;img
3048 src=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-geotraceroute-kml-join.png&quot; alt=&quot;map of combined traces for URLs used by www.stortinget.no using geotraceroute&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
3049
3050 &lt;p&gt;Here we can see a lot of trafic passes Sweden on its way to
3051 Denmark, Germany, Holland and Ireland. Plenty of places where the
3052 Snowden confirmations verified the traffic is read by various actors
3053 without your best interest as their top priority.&lt;/p&gt;
3054
3055 &lt;p&gt;Combining KML files is trivial using a text editor, so I could loop
3056 over all the hosts behind the urls imported by www.stortinget.no and
3057 ask for the KML file from GeoTraceroute, and create a combined KML
3058 file with all the traces (unfortunately only one of the IP addresses
3059 behind the DNS name is traced this time. To get them all, one would
3060 have to request traces using IP number instead of DNS names from
3061 GeoTraceroute). That might be the next step in this project.&lt;/p&gt;
3062
3063 &lt;p&gt;Armed with these tools, I find it a lot easier to figure out where
3064 the IP traffic moves and who control the boxes involved in moving it.
3065 And every time the link crosses for example the Swedish border, we can
3066 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
3067 Britain and NSA in USA and cables around the globe. (Hm, what should
3068 we tell them? :) Keep that in mind if you ever send anything
3069 unencrypted over the Internet.&lt;/p&gt;
3070
3071 &lt;p&gt;PS: KML files are drawn using
3072 &lt;a href=&quot;http://ivanrublev.me/kml/&quot;&gt;the KML viewer from Ivan
3073 Rublev&lt;a/&gt;, as it was less cluttered than the local Linux application
3074 Marble. There are heaps of other options too.&lt;/p&gt;
3075
3076 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3077 activities, please send Bitcoin donations to my address
3078 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3079 </description>
3080 </item>
3081
3082 <item>
3083 <title>Introducing ical-archiver to split out old iCalendar entries</title>
3084 <link>http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html</link>
3085 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html</guid>
3086 <pubDate>Wed, 4 Jan 2017 12:20:00 +0100</pubDate>
3087 <description>&lt;p&gt;Do you have a large &lt;a href=&quot;https://icalendar.org/&quot;&gt;iCalendar&lt;/a&gt;
3088 file with lots of old entries, and would like to archive them to save
3089 space and resources? At least those of us using KOrganizer know that
3090 turning on and off an event set become slower and slower the more
3091 entries are in the set. While working on migrating our calendars to a
3092 &lt;a href=&quot;http://radicale.org/&quot;&gt;Radicale CalDAV server&lt;/a&gt; on our
3093 &lt;a href=&quot;https://freedomboxfoundation.org/&quot;&gt;Freedombox server&lt;/a/&gt;, my
3094 loved one wondered if I could find a way to split up the calendar file
3095 she had in KOrganizer, and I set out to write a tool. I spent a few
3096 days writing and polishing the system, and it is now ready for general
3097 consumption. The
3098 &lt;a href=&quot;https://github.com/petterreinholdtsen/ical-archiver&quot;&gt;code for
3099 ical-archiver&lt;/a&gt; is publicly available from a git repository on
3100 github. The system is written in Python and depend on
3101 &lt;a href=&quot;http://eventable.github.io/vobject/&quot;&gt;the vobject Python
3102 module&lt;/a&gt;.&lt;/p&gt;
3103
3104 &lt;p&gt;To use it, locate the iCalendar file you want to operate on and
3105 give it as an argument to the ical-archiver script. This will
3106 generate a set of new files, one file per component type per year for
3107 all components expiring more than two years in the past. The vevent,
3108 vtodo and vjournal entries are handled by the script. The remaining
3109 entries are stored in a &#39;remaining&#39; file.&lt;/p&gt;
3110
3111 &lt;p&gt;This is what a test run can look like:
3112
3113 &lt;p&gt;&lt;pre&gt;
3114 % ical-archiver t/2004-2016.ics
3115 Found 3612 vevents
3116 Found 6 vtodos
3117 Found 2 vjournals
3118 Writing t/2004-2016.ics-subset-vevent-2004.ics
3119 Writing t/2004-2016.ics-subset-vevent-2005.ics
3120 Writing t/2004-2016.ics-subset-vevent-2006.ics
3121 Writing t/2004-2016.ics-subset-vevent-2007.ics
3122 Writing t/2004-2016.ics-subset-vevent-2008.ics
3123 Writing t/2004-2016.ics-subset-vevent-2009.ics
3124 Writing t/2004-2016.ics-subset-vevent-2010.ics
3125 Writing t/2004-2016.ics-subset-vevent-2011.ics
3126 Writing t/2004-2016.ics-subset-vevent-2012.ics
3127 Writing t/2004-2016.ics-subset-vevent-2013.ics
3128 Writing t/2004-2016.ics-subset-vevent-2014.ics
3129 Writing t/2004-2016.ics-subset-vjournal-2007.ics
3130 Writing t/2004-2016.ics-subset-vjournal-2011.ics
3131 Writing t/2004-2016.ics-subset-vtodo-2012.ics
3132 Writing t/2004-2016.ics-remaining.ics
3133 %
3134 &lt;/pre&gt;&lt;/p&gt;
3135
3136 &lt;p&gt;As you can see, the original file is untouched and new files are
3137 written with names derived from the original file. If you are happy
3138 with their content, the *-remaining.ics file can replace the original
3139 the the others can be archived or imported as historical calendar
3140 collections.&lt;/p&gt;
3141
3142 &lt;p&gt;The script should probably be improved a bit. The error handling
3143 when discovering broken entries is not good, and I am not sure yet if
3144 it make sense to split different entry types into separate files or
3145 not. The program is thus likely to change. If you find it
3146 interesting, please get in touch. :)&lt;/p&gt;
3147
3148 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3149 activities, please send Bitcoin donations to my address
3150 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3151 </description>
3152 </item>
3153
3154 <item>
3155 <title>Appstream just learned how to map hardware to packages too!</title>
3156 <link>http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</link>
3157 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</guid>
3158 <pubDate>Fri, 23 Dec 2016 10:30:00 +0100</pubDate>
3159 <description>&lt;p&gt;I received a very nice Christmas present today. As my regular
3160 readers probably know, I have been working on the
3161 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;the Isenkram
3162 system&lt;/a&gt; for many years. The goal of the Isenkram system is to make
3163 it easier for users to figure out what to install to get a given piece
3164 of hardware to work in Debian, and a key part of this system is a way
3165 to map hardware to packages. Isenkram have its own mapping database,
3166 and also uses data provided by each package using the AppStream
3167 metadata format. And today,
3168 &lt;a href=&quot;https://tracker.debian.org/pkg/appstream&quot;&gt;AppStream&lt;/a&gt; in
3169 Debian learned to look up hardware the same way Isenkram is doing it,
3170 ie using fnmatch():&lt;/p&gt;
3171
3172 &lt;p&gt;&lt;pre&gt;
3173 % appstreamcli what-provides modalias \
3174 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
3175 Identifier: pymissile [generic]
3176 Name: pymissile
3177 Summary: Control original Striker USB Missile Launcher
3178 Package: pymissile
3179 % appstreamcli what-provides modalias usb:v0694p0002d0000
3180 Identifier: libnxt [generic]
3181 Name: libnxt
3182 Summary: utility library for talking to the LEGO Mindstorms NXT brick
3183 Package: libnxt
3184 ---
3185 Identifier: t2n [generic]
3186 Name: t2n
3187 Summary: Simple command-line tool for Lego NXT
3188 Package: t2n
3189 ---
3190 Identifier: python-nxt [generic]
3191 Name: python-nxt
3192 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
3193 Package: python-nxt
3194 ---
3195 Identifier: nbc [generic]
3196 Name: nbc
3197 Summary: C compiler for LEGO Mindstorms NXT bricks
3198 Package: nbc
3199 %
3200 &lt;/pre&gt;&lt;/p&gt;
3201
3202 &lt;p&gt;A similar query can be done using the combined AppStream and
3203 Isenkram databases using the isenkram-lookup tool:&lt;/p&gt;
3204
3205 &lt;p&gt;&lt;pre&gt;
3206 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
3207 pymissile
3208 % isenkram-lookup usb:v0694p0002d0000
3209 libnxt
3210 nbc
3211 python-nxt
3212 t2n
3213 %
3214 &lt;/pre&gt;&lt;/p&gt;
3215
3216 &lt;p&gt;You can find modalias values relevant for your machine using
3217 &lt;tt&gt;cat $(find /sys/devices/ -name modalias)&lt;/tt&gt;.
3218
3219 &lt;p&gt;If you want to make this system a success and help Debian users
3220 make the most of the hardware they have, please
3221 help&lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;add
3222 AppStream metadata for your package following the guidelines&lt;/a&gt;
3223 documented in the wiki. So far only 11 packages provide such
3224 information, among the several hundred hardware specific packages in
3225 Debian. The Isenkram database on the other hand contain 101 packages,
3226 mostly related to USB dongles. Most of the packages with hardware
3227 mapping in AppStream are LEGO Mindstorms related, because I have, as
3228 part of my involvement in
3229 &lt;a href=&quot;https://wiki.debian.org/LegoDesigners&quot;&gt;the Debian LEGO
3230 team&lt;/a&gt; given priority to making sure LEGO users get proposed the
3231 complete set of packages in Debian for that particular hardware. The
3232 team also got a nice Christmas present today. The
3233 &lt;a href=&quot;https://tracker.debian.org/pkg/nxt-firmware&quot;&gt;nxt-firmware
3234 package&lt;/a&gt; made it into Debian. With this package in place, it is
3235 now possible to use the LEGO Mindstorms NXT unit with only free
3236 software, as the nxt-firmware package contain the source and firmware
3237 binaries for the NXT brick.&lt;/p&gt;
3238
3239 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3240 activities, please send Bitcoin donations to my address
3241 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3242 </description>
3243 </item>
3244
3245 <item>
3246 <title>Isenkram updated with a lot more hardware-package mappings</title>
3247 <link>http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</link>
3248 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</guid>
3249 <pubDate>Tue, 20 Dec 2016 11:55:00 +0100</pubDate>
3250 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
3251 system&lt;/a&gt; I wrote two years ago to make it easier in Debian to find
3252 and install packages to get your hardware dongles to work, is still
3253 going strong. It is a system to look up the hardware present on or
3254 connected to the current system, and map the hardware to Debian
3255 packages. It can either be done using the tools in isenkram-cli or
3256 using the user space daemon in the isenkram package. The latter will
3257 notify you, when inserting new hardware, about what packages to
3258 install to get the dongle working. It will even provide a button to
3259 click on to ask packagekit to install the packages.&lt;/p&gt;
3260
3261 &lt;p&gt;Here is an command line example from my Thinkpad laptop:&lt;/p&gt;
3262
3263 &lt;p&gt;&lt;pre&gt;
3264 % isenkram-lookup
3265 bluez
3266 cheese
3267 ethtool
3268 fprintd
3269 fprintd-demo
3270 gkrellm-thinkbat
3271 hdapsd
3272 libpam-fprintd
3273 pidgin-blinklight
3274 thinkfan
3275 tlp
3276 tp-smapi-dkms
3277 tp-smapi-source
3278 tpb
3279 %
3280 &lt;/pre&gt;&lt;/p&gt;
3281
3282 &lt;p&gt;It can also list the firware package providing firmware requested
3283 by the load kernel modules, which in my case is an empty list because
3284 I have all the firmware my machine need:
3285
3286 &lt;p&gt;&lt;pre&gt;
3287 % /usr/sbin/isenkram-autoinstall-firmware -l
3288 info: did not find any firmware files requested by loaded kernel modules. exiting
3289 %
3290 &lt;/pre&gt;&lt;/p&gt;
3291
3292 &lt;p&gt;The last few days I had a look at several of the around 250
3293 packages in Debian with udev rules. These seem like good candidates
3294 to install when a given hardware dongle is inserted, and I found
3295 several that should be proposed by isenkram. I have not had time to
3296 check all of them, but am happy to report that now there are 97
3297 packages packages mapped to hardware by Isenkram. 11 of these
3298 packages provide hardware mapping using AppStream, while the rest are
3299 listed in the modaliases file provided in isenkram.&lt;/p&gt;
3300
3301 &lt;p&gt;These are the packages with hardware mappings at the moment. The
3302 &lt;strong&gt;marked packages&lt;/strong&gt; are also announcing their hardware
3303 support using AppStream, for everyone to use:&lt;/p&gt;
3304
3305 &lt;p&gt;air-quality-sensor, alsa-firmware-loaders, argyll,
3306 &lt;strong&gt;array-info&lt;/strong&gt;, avarice, avrdude, b43-fwcutter,
3307 bit-babbler, bluez, bluez-firmware, &lt;strong&gt;brltty&lt;/strong&gt;,
3308 &lt;strong&gt;broadcom-sta-dkms&lt;/strong&gt;, calibre, cgminer, cheese, colord,
3309 &lt;strong&gt;colorhug-client&lt;/strong&gt;, dahdi-firmware-nonfree, dahdi-linux,
3310 dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
3311 fprintd-demo, &lt;strong&gt;galileo&lt;/strong&gt;, gkrellm-thinkbat, gphoto2,
3312 gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
3313 gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
3314 ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
3315 &lt;strong&gt;libnxt&lt;/strong&gt;, libpam-fprintd, &lt;strong&gt;lomoco&lt;/strong&gt;,
3316 madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
3317 &lt;strong&gt;nbc&lt;/strong&gt;, &lt;strong&gt;nqc&lt;/strong&gt;, nut-hal-drivers, ola,
3318 open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
3319 pcscd, pidgin-blinklight, printer-driver-splix,
3320 &lt;strong&gt;pymissile&lt;/strong&gt;, python-nxt, qlandkartegt,
3321 qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
3322 soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
3323 &lt;strong&gt;t2n&lt;/strong&gt;, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
3324 tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
3325 virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
3326 xserver-xorg-input-wacom, xserver-xorg-video-qxl,
3327 xserver-xorg-video-vmware, yubikey-personalization and
3328 zd1211-firmware&lt;/p&gt;
3329
3330 &lt;p&gt;If you know of other packages, please let me know with a wishlist
3331 bug report against the isenkram-cli package, and ask the package
3332 maintainer to
3333 &lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;add AppStream
3334 metadata according to the guidelines&lt;/a&gt; to provide the information
3335 for everyone. In time, I hope to get rid of the isenkram specific
3336 hardware mapping and depend exclusively on AppStream.&lt;/p&gt;
3337
3338 &lt;p&gt;Note, the AppStream metadata for broadcom-sta-dkms is matching too
3339 much hardware, and suggest that the package with with any ethernet
3340 card. See &lt;a href=&quot;http://bugs.debian.org/838735&quot;&gt;bug #838735&lt;/a&gt; for
3341 the details. I hope the maintainer find time to address it soon. In
3342 the mean time I provide an override in isenkram.&lt;/p&gt;
3343 </description>
3344 </item>
3345
3346 <item>
3347 <title>Oolite, a life in space as vagabond and mercenary - nice free software</title>
3348 <link>http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</link>
3349 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</guid>
3350 <pubDate>Sun, 11 Dec 2016 11:40:00 +0100</pubDate>
3351 <description>&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2016-12-11-nice-oolite.png&quot;/&gt;&lt;/p&gt;
3352
3353 &lt;p&gt;In my early years, I played
3354 &lt;a href=&quot;http://wiki.alioth.net/index.php/Classic_Elite&quot;&gt;the epic game
3355 Elite&lt;/a&gt; on my PC. I spent many months trading and fighting in
3356 space, and reached the &#39;elite&#39; fighting status before I moved on. The
3357 original Elite game was available on Commodore 64 and the IBM PC
3358 edition I played had a 64 KB executable. I am still impressed today
3359 that the authors managed to squeeze both a 3D engine and details about
3360 more than 2000 planet systems across 7 galaxies into a binary so
3361 small.&lt;/p&gt;
3362
3363 &lt;p&gt;I have known about &lt;a href=&quot;http://www.oolite.org/&quot;&gt;the free
3364 software game Oolite inspired by Elite&lt;/a&gt; for a while, but did not
3365 really have time to test it properly until a few days ago. It was
3366 great to discover that my old knowledge about trading routes were
3367 still valid. But my fighting and flying abilities were gone, so I had
3368 to retrain to be able to dock on a space station. And I am still not
3369 able to make much resistance when I am attacked by pirates, so I
3370 bougth and mounted the most powerful laser in the rear to be able to
3371 put up at least some resistance while fleeing for my life. :)&lt;/p&gt;
3372
3373 &lt;p&gt;When playing Elite in the late eighties, I had to discover
3374 everything on my own, and I had long lists of prices seen on different
3375 planets to be able to decide where to trade what. This time I had the
3376 advantages of the
3377 &lt;a href=&quot;http://wiki.alioth.net/index.php/Main_Page&quot;&gt;Elite wiki&lt;/a&gt;,
3378 where information about each planet is easily available with common
3379 price ranges and suggested trading routes. This improved my ability
3380 to earn money and I have been able to earn enough to buy a lot of
3381 useful equipent in a few days. I believe I originally played for
3382 months before I could get a docking computer, while now I could get it
3383 after less then a week.&lt;/p&gt;
3384
3385 &lt;p&gt;If you like science fiction and dreamed of a life as a vagabond in
3386 space, you should try out Oolite. It is available for Linux, MacOSX
3387 and Windows, and is included in Debian and derivatives since 2011.&lt;/p&gt;
3388
3389 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3390 activities, please send Bitcoin donations to my address
3391 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3392 </description>
3393 </item>
3394
3395 <item>
3396 <title>Quicker Debian installations using eatmydata</title>
3397 <link>http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</link>
3398 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</guid>
3399 <pubDate>Fri, 25 Nov 2016 14:50:00 +0100</pubDate>
3400 <description>&lt;p&gt;Two years ago, I did some experiments with eatmydata and the Debian
3401 installation system, observing how using
3402 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html&quot;&gt;eatmydata
3403 could speed up the installation&lt;/a&gt; quite a bit. My testing measured
3404 speedup around 20-40 percent for Debian Edu, where we install around
3405 1000 packages from within the installer. The eatmydata package
3406 provide a way to disable/delay file system flushing. This is a bit
3407 risky in the general case, as files that should be stored on disk will
3408 stay only in memory a bit longer than expected, causing problems if a
3409 machine crashes at an inconvenient time. But for an installation, if
3410 the machine crashes during installation the process is normally
3411 restarted, and avoiding disk operations as much as possible to speed
3412 up the process make perfect sense.
3413
3414 &lt;p&gt;I added code in the Debian Edu specific installation code to enable
3415 &lt;a href=&quot;https://tracker.debian.org/pkg/libeatmydata&quot;&gt;eatmydata&lt;/a&gt;,
3416 but did not have time to push it any further. But a few months ago I
3417 picked it up again and worked with the libeatmydata package maintainer
3418 Mattia Rizzolo to make it easier for everyone to get this installation
3419 speedup in Debian. Thanks to our cooperation There is now an
3420 eatmydata-udeb package in Debian testing and unstable, and simply
3421 enabling/installing it in debian-installer (d-i) is enough to get the
3422 quicker installations. It can be enabled using preseeding. The
3423 following untested kernel argument should do the trick:&lt;/p&gt;
3424
3425 &lt;blockquote&gt;&lt;pre&gt;
3426 preseed/early_command=&quot;anna-install eatmydata-udeb&quot;
3427 &lt;/pre&gt;&lt;/blockquote&gt;
3428
3429 &lt;p&gt;This should ask d-i to install the package inside the d-i
3430 environment early in the installation sequence. Having it installed
3431 in d-i in turn will make sure the relevant scripts are called just
3432 after debootstrap filled /target/ with the freshly installed Debian
3433 system to configure apt to run dpkg with eatmydata. This is enough to
3434 speed up the installation process. There is a proposal to
3435 &lt;a href=&quot;https://bugs.debian.org/841153&quot;&gt;extend the idea a bit further
3436 by using /etc/ld.so.preload instead of apt.conf&lt;/a&gt;, but I have not
3437 tested its impact.&lt;/p&gt;
3438
3439 </description>
3440 </item>
3441
3442 <item>
3443 <title>Coz profiler for multi-threaded software is now in Debian</title>
3444 <link>http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</link>
3445 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</guid>
3446 <pubDate>Sun, 13 Nov 2016 12:30:00 +0100</pubDate>
3447 <description>&lt;p&gt;&lt;a href=&quot;http://coz-profiler.org/&quot;&gt;The Coz profiler&lt;/a&gt;, a nice
3448 profiler able to run benchmarking experiments on the instrumented
3449 multi-threaded program, finally
3450 &lt;a href=&quot;https://tracker.debian.org/pkg/coz-profiler&quot;&gt;made it into
3451 Debian unstable yesterday&lt;/A&gt;. Lluís Vilanova and I have spent many
3452 months since
3453 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html&quot;&gt;I
3454 blogged about the coz tool&lt;/a&gt; in August working with upstream to make
3455 it suitable for Debian. There are still issues with clang
3456 compatibility, inline assembly only working x86 and minimized
3457 JavaScript libraries.&lt;/p&gt;
3458
3459 &lt;p&gt;To test it, install &#39;coz-profiler&#39; using apt and run it like this:&lt;/p&gt;
3460
3461 &lt;p&gt;&lt;blockquote&gt;
3462 &lt;tt&gt;coz run --- /path/to/binary-with-debug-info&lt;/tt&gt;
3463 &lt;/blockquote&gt;&lt;/p&gt;
3464
3465 &lt;p&gt;This will produce a profile.coz file in the current working
3466 directory with the profiling information. This is then given to a
3467 JavaScript application provided in the package and available from
3468 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;a project web page&lt;/a&gt;.
3469 To start the local copy, invoke it in a browser like this:&lt;/p&gt;
3470
3471 &lt;p&gt;&lt;blockquote&gt;
3472 &lt;tt&gt;sensible-browser /usr/share/coz-profiler/viewer/index.htm&lt;/tt&gt;
3473 &lt;/blockquote&gt;&lt;/p&gt;
3474
3475 &lt;p&gt;See the project home page and the
3476 &lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;USENIX
3477 ;login: article on Coz&lt;/a&gt; for more information on how it is
3478 working.&lt;/p&gt;
3479 </description>
3480 </item>
3481
3482 <item>
3483 <title>How to talk with your loved ones in private</title>
3484 <link>http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html</link>
3485 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html</guid>
3486 <pubDate>Mon, 7 Nov 2016 10:25:00 +0100</pubDate>
3487 <description>&lt;p&gt;A few days ago I ran a very biased and informal survey to get an
3488 idea about what options are being used to communicate with end to end
3489 encryption with friends and family. I explicitly asked people not to
3490 list options only used in a work setting. The background is the
3491 uneasy feeling I get when using Signal, a feeling shared by others as
3492 a blog post from Sander Venima about
3493 &lt;a href=&quot;https://sandervenema.ch/2016/11/why-i-wont-recommend-signal-anymore/&quot;&gt;why
3494 he do not recommend Signal anymore&lt;/a&gt; (with
3495 &lt;a href=&quot;https://news.ycombinator.com/item?id=12883410&quot;&gt;feedback from
3496 the Signal author available from ycombinator&lt;/a&gt;). I wanted an
3497 overview of the options being used, and hope to include those options
3498 in a less biased survey later on. So far I have not taken the time to
3499 look into the individual proposed systems. They range from text
3500 sharing web pages, via file sharing and email to instant messaging,
3501 VOIP and video conferencing. For those considering which system to
3502 use, it is also useful to have a look at
3503 &lt;a href=&quot;https://www.eff.org/secure-messaging-scorecard&quot;&gt;the EFF Secure
3504 messaging scorecard&lt;/a&gt; which is slightly out of date but still
3505 provide valuable information.&lt;/p&gt;
3506
3507 &lt;p&gt;So, on to the list. There were some used by many, some used by a
3508 few, some rarely used ones and a few mentioned but without anyone
3509 claiming to use them. Notice the grouping is in reality quite random
3510 given the biased self selected set of participants. First the ones
3511 used by many:&lt;/p&gt;
3512
3513 &lt;ul&gt;
3514
3515 &lt;li&gt;&lt;a href=&quot;https://whispersystems.org/&quot;&gt;Signal&lt;/a&gt;&lt;/li&gt;
3516 &lt;li&gt;Email w/&lt;a href=&quot;http://openpgp.org/&quot;&gt;OpenPGP&lt;/a&gt; (Enigmail, GPGSuite,etc)&lt;/li&gt;
3517 &lt;li&gt;&lt;a href=&quot;https://www.whatsapp.com/&quot;&gt;Whatsapp&lt;/a&gt;&lt;/li&gt;
3518 &lt;li&gt;IRC w/&lt;a href=&quot;https://otr.cypherpunks.ca/&quot;&gt;OTR&lt;/a&gt;&lt;/li&gt;
3519 &lt;li&gt;XMPP w/&lt;a href=&quot;https://otr.cypherpunks.ca/&quot;&gt;OTR&lt;/a&gt;&lt;/li&gt;
3520
3521 &lt;/ul&gt;
3522
3523 &lt;p&gt;Then the ones used by a few.&lt;/p&gt;
3524
3525 &lt;ul&gt;
3526
3527 &lt;li&gt;&lt;a href=&quot;https://wiki.mumble.info/wiki/Main_Page&quot;&gt;Mumble&lt;/a&gt;&lt;/li&gt;
3528 &lt;li&gt;iMessage (included in iOS from Apple)&lt;/li&gt;
3529 &lt;li&gt;&lt;a href=&quot;https://telegram.org/&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
3530 &lt;li&gt;&lt;a href=&quot;https://jitsi.org/&quot;&gt;Jitsi&lt;/a&gt;&lt;/li&gt;
3531 &lt;li&gt;&lt;a href=&quot;https://keybase.io/download&quot;&gt;Keybase file&lt;/a&gt;&lt;/li&gt;
3532
3533 &lt;/ul&gt;
3534
3535 &lt;p&gt;Then the ones used by even fewer people&lt;/p&gt;
3536
3537 &lt;ul&gt;
3538
3539 &lt;li&gt;&lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;&lt;/li&gt;
3540 &lt;li&gt;&lt;a href=&quot;https://bitmessage.org/&quot;&gt;Bitmessage&lt;/a&gt;&lt;/li&gt;
3541 &lt;li&gt;&lt;a href=&quot;https://wire.com/&quot;&gt;Wire&lt;/a&gt;&lt;/li&gt;
3542 &lt;li&gt;VoIP w/&lt;a href=&quot;https://en.wikipedia.org/wiki/ZRTP&quot;&gt;ZRTP&lt;/a&gt; or controlled &lt;a href=&quot;https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol&quot;&gt;SRTP&lt;/a&gt; (e.g using &lt;a href=&quot;https://en.wikipedia.org/wiki/CSipSimple&quot;&gt;CSipSimple&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Linphone&quot;&gt;Linphone&lt;/a&gt;)&lt;/li&gt;
3543 &lt;li&gt;&lt;a href=&quot;https://matrix.org/&quot;&gt;Matrix&lt;/a&gt;&lt;/li&gt;
3544 &lt;li&gt;&lt;a href=&quot;https://kontalk.org/&quot;&gt;Kontalk&lt;/a&gt;&lt;/li&gt;
3545 &lt;li&gt;&lt;a href=&quot;https://0bin.net/&quot;&gt;0bin&lt;/a&gt; (encrypted pastebin)&lt;/li&gt;
3546 &lt;li&gt;&lt;a href=&quot;https://appear.in&quot;&gt;Appear.in&lt;/a&gt;&lt;/li&gt;
3547 &lt;li&gt;&lt;a href=&quot;https://riot.im/&quot;&gt;riot&lt;/a&gt;&lt;/li&gt;
3548 &lt;li&gt;&lt;a href=&quot;https://www.wickr.com/&quot;&gt;Wickr Me&lt;/a&gt;&lt;/li&gt;
3549
3550 &lt;/ul&gt;
3551
3552 &lt;p&gt;And finally the ones mentioned by not marked as used by
3553 anyone. This might be a mistake, perhaps the person adding the entry
3554 forgot to flag it as used?&lt;/p&gt;
3555
3556 &lt;ul&gt;
3557
3558 &lt;li&gt;Email w/Certificates &lt;a href=&quot;https://en.wikipedia.org/wiki/S/MIME&quot;&gt;S/MIME&lt;/a&gt;&lt;/li&gt;
3559 &lt;li&gt;&lt;a href=&quot;https://www.crypho.com/&quot;&gt;Crypho&lt;/a&gt;&lt;/li&gt;
3560 &lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad&lt;/a&gt;&lt;/li&gt;
3561 &lt;li&gt;&lt;a href=&quot;https://github.com/ricochet-im/ricochet&quot;&gt;ricochet&lt;/a&gt;&lt;/li&gt;
3562
3563 &lt;/ul&gt;
3564
3565 &lt;p&gt;Given the network effect it seem obvious to me that we as a society
3566 have been divided and conquered by those interested in keeping
3567 encrypted and secure communication away from the masses. The
3568 finishing remarks &lt;a href=&quot;https://vimeo.com/97505679&quot;&gt;from Aral Balkan
3569 in his talk &quot;Free is a lie&quot;&lt;/a&gt; about the usability of free software
3570 really come into effect when you want to communicate in private with
3571 your friends and family. We can not expect them to allow the
3572 usability of communication tool to block their ability to talk to
3573 their loved ones.&lt;/p&gt;
3574
3575 &lt;p&gt;Note for example the option IRC w/OTR. Most IRC clients do not
3576 have OTR support, so in most cases OTR would not be an option, even if
3577 you wanted to. In my personal experience, about 1 in 20 I talk to
3578 have a IRC client with OTR. For private communication to really be
3579 available, most people to talk to must have the option in their
3580 currently used client. I can not simply ask my family to install an
3581 IRC client. I need to guide them through a technical multi-step
3582 process of adding extensions to the client to get them going. This is
3583 a non-starter for most.&lt;/p&gt;
3584
3585 &lt;p&gt;I would like to be able to do video phone calls, audio phone calls,
3586 exchange instant messages and share files with my loved ones, without
3587 being forced to share with people I do not know. I do not want to
3588 share the content of the conversations, and I do not want to share who
3589 I communicate with or the fact that I communicate with someone.
3590 Without all these factors in place, my private life is being more or
3591 less invaded.&lt;/p&gt;
3592 </description>
3593 </item>
3594
3595 <item>
3596 <title>My own self balancing Lego Segway</title>
3597 <link>http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html</link>
3598 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html</guid>
3599 <pubDate>Fri, 4 Nov 2016 10:15:00 +0100</pubDate>
3600 <description>&lt;p&gt;A while back I received a Gyro sensor for the NXT
3601 &lt;a href=&quot;mindstorms.lego.com&quot;&gt;Mindstorms&lt;/a&gt; controller as a birthday
3602 present. It had been on my wishlist for a while, because I wanted to
3603 build a Segway like balancing lego robot. I had already built
3604 &lt;a href=&quot;http://www.nxtprograms.com/NXT2/segway/&quot;&gt;a simple balancing
3605 robot&lt;/a&gt; with the kids, using the light/color sensor included in the
3606 NXT kit as the balance sensor, but it was not working very well. It
3607 could balance for a while, but was very sensitive to the light
3608 condition in the room and the reflective properties of the surface and
3609 would fall over after a short while. I wanted something more robust,
3610 and had
3611 &lt;a href=&quot;https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&amp;key=NGY1044&quot;&gt;the
3612 gyro sensor from HiTechnic&lt;/a&gt; I believed would solve it on my
3613 wishlist for some years before it suddenly showed up as a gift from my
3614 loved ones. :)&lt;/p&gt;
3615
3616 &lt;p&gt;Unfortunately I have not had time to sit down and play with it
3617 since then. But that changed some days ago, when I was searching for
3618 lego segway information and came across a recipe from HiTechnic for
3619 building
3620 &lt;a href=&quot;http://www.hitechnic.com/blog/gyro-sensor/htway/&quot;&gt;the
3621 HTWay&lt;/a&gt;, a segway like balancing robot. Build instructions and
3622 &lt;a href=&quot;https://www.hitechnic.com/upload/786-HTWayC.nxc&quot;&gt;source
3623 code&lt;/a&gt; was included, so it was just a question of putting it all
3624 together. And thanks to the great work of many Debian developers, the
3625 compiler needed to build the source for the NXT is already included in
3626 Debian, so I was read to go in less than an hour. The resulting robot
3627 do not look very impressive in its simplicity:&lt;/p&gt;
3628
3629 &lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg&quot;&gt;&lt;/p&gt;
3630
3631 &lt;p&gt;Because I lack the infrared sensor used to control the robot in the
3632 design from HiTechnic, I had to comment out the last task
3633 (taskControl). I simply placed /* and */ around it get the program
3634 working without that sensor present. Now it balances just fine until
3635 the battery status run low:&lt;/p&gt;
3636
3637 &lt;p align=&quot;center&quot;&gt;&lt;video width=&quot;70%&quot; controls=&quot;true&quot;&gt;
3638 &lt;source src=&quot;http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv&quot; type=&quot;video/ogg&quot;&gt;
3639 &lt;/video&gt;&lt;/p&gt;
3640
3641 &lt;p&gt;Now we would like to teach it how to follow a line and take remote
3642 control instructions using the included Bluetooth receiver in the NXT.&lt;/p&gt;
3643
3644 &lt;p&gt;If you, like me, love LEGO and want to make sure we find the tools
3645 they need to work with LEGO in Debian and all our derivative
3646 distributions like Ubuntu, check out
3647 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;the LEGO designers
3648 project page&lt;/a&gt; and join the Debian LEGO team. Personally I own a
3649 RCX and NXT controller (no EV3), and would like to make sure the
3650 Debian tools needed to program the systems I own work as they
3651 should.&lt;/p&gt;
3652 </description>
3653 </item>
3654
3655 <item>
3656 <title>Experience and updated recipe for using the Signal app without a mobile phone</title>
3657 <link>http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html</link>
3658 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html</guid>
3659 <pubDate>Mon, 10 Oct 2016 11:30:00 +0200</pubDate>
3660 <description>&lt;p&gt;In July
3661 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html&quot;&gt;I
3662 wrote how to get the Signal Chrome/Chromium app working&lt;/a&gt; without
3663 the ability to receive SMS messages (aka without a cell phone). It is
3664 time to share some experiences and provide an updated setup.&lt;/p&gt;
3665
3666 &lt;p&gt;The Signal app have worked fine for several months now, and I use
3667 it regularly to chat with my loved ones. I had a major snag at the
3668 end of my summer vacation, when the the app completely forgot my
3669 setup, identity and keys. The reason behind this major mess was
3670 running out of disk space. To avoid that ever happening again I have
3671 started storing everything in &lt;tt&gt;userdata/&lt;/tt&gt; in git, to be able to
3672 roll back to an earlier version if the files are wiped by mistake. I
3673 had to use it once after introducing the git backup. When rolling
3674 back to an earlier version, one need to use the &#39;reset session&#39; option
3675 in Signal to get going, and notify the people you talk with about the
3676 problem. I assume there is some sequence number tracking in the
3677 protocol to detect rollback attacks. The git repository is rather big
3678 (674 MiB so far), but I have not tried to figure out if some of the
3679 content can be added to a .gitignore file due to lack of spare
3680 time.&lt;/p&gt;
3681
3682 &lt;p&gt;I&#39;ve also hit the 90 days timeout blocking, and noticed that this
3683 make it impossible to send messages using Signal. I could still
3684 receive them, but had to patch the code with a new timestamp to send.
3685 I believe the timeout is added by the developers to force people to
3686 upgrade to the latest version of the app, even when there is no
3687 protocol changes, to reduce the version skew among the user base and
3688 thus try to keep the number of support requests down.&lt;/p&gt;
3689
3690 &lt;p&gt;Since my original recipe, the Signal source code changed slightly,
3691 making the old patch fail to apply cleanly. Below is an updated
3692 patch, including the shell wrapper I use to start Signal. The
3693 original version required a new user to locate the JavaScript console
3694 and call a function from there. I got help from a friend with more
3695 JavaScript knowledge than me to modify the code to provide a GUI
3696 button instead. This mean that to get started you just need to run
3697 the wrapper and click the &#39;Register without mobile phone&#39; to get going
3698 now. I&#39;ve also modified the timeout code to always set it to 90 days
3699 in the future, to avoid having to patch the code regularly.&lt;/p&gt;
3700
3701 &lt;p&gt;So, the updated recipe for Debian Jessie:&lt;/p&gt;
3702
3703 &lt;ol&gt;
3704
3705 &lt;li&gt;First, install required packages to get the source code and the
3706 browser you need. Signal only work with Chrome/Chromium, as far as I
3707 know, so you need to install it.
3708
3709 &lt;pre&gt;
3710 apt install git tor chromium
3711 git clone https://github.com/WhisperSystems/Signal-Desktop.git
3712 &lt;/pre&gt;&lt;/li&gt;
3713
3714 &lt;li&gt;Modify the source code using command listed in the the patch
3715 block below.&lt;/li&gt;
3716
3717 &lt;li&gt;Start Signal using the run-signal-app wrapper (for example using
3718 &lt;tt&gt;`pwd`/run-signal-app&lt;/tt&gt;).
3719
3720 &lt;li&gt;Click on the &#39;Register without mobile phone&#39;, will in a phone
3721 number you can receive calls to the next minute, receive the
3722 verification code and enter it into the form field and press
3723 &#39;Register&#39;. Note, the phone number you use will be user Signal
3724 username, ie the way others can find you on Signal.&lt;/li&gt;
3725
3726 &lt;li&gt;You can now use Signal to contact others. Note, new contacts do
3727 not show up in the contact list until you restart Signal, and there is
3728 no way to assign names to Contacts. There is also no way to create or
3729 update chat groups. I suspect this is because the web app do not have
3730 a associated contact database.&lt;/li&gt;
3731
3732 &lt;/ol&gt;
3733
3734 &lt;p&gt;I am still a bit uneasy about using Signal, because of the way its
3735 main author moxie0 reject federation and accept dependencies to major
3736 corporations like Google (part of the code is fetched from Google) and
3737 Amazon (the central coordination point is owned by Amazon). See for
3738 example
3739 &lt;a href=&quot;https://github.com/LibreSignal/LibreSignal/issues/37&quot;&gt;the
3740 LibreSignal issue tracker&lt;/a&gt; for a thread documenting the authors
3741 view on these issues. But the network effect is strong in this case,
3742 and several of the people I want to communicate with already use
3743 Signal. Perhaps we can all move to &lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;
3744 once it &lt;a href=&quot;https://bugs.debian.org/830265&quot;&gt;work on my
3745 laptop&lt;/a&gt;? It already work on Windows and Android, and is included
3746 in &lt;a href=&quot;https://tracker.debian.org/pkg/ring&quot;&gt;Debian&lt;/a&gt; and
3747 &lt;a href=&quot;https://launchpad.net/ubuntu/+source/ring&quot;&gt;Ubuntu&lt;/a&gt;, but not
3748 working on Debian Stable.&lt;/p&gt;
3749
3750 &lt;p&gt;Anyway, this is the patch I apply to the Signal code to get it
3751 working. It switch to the production servers, disable to timeout,
3752 make registration easier and add the shell wrapper:&lt;/p&gt;
3753
3754 &lt;pre&gt;
3755 cd Signal-Desktop; cat &amp;lt;&amp;lt;EOF | patch -p1
3756 diff --git a/js/background.js b/js/background.js
3757 index 24b4c1d..579345f 100644
3758 --- a/js/background.js
3759 +++ b/js/background.js
3760 @@ -33,9 +33,9 @@
3761 });
3762 });
3763
3764 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
3765 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org&#39;;
3766 var SERVER_PORTS = [80, 4433, 8443];
3767 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
3768 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
3769 var messageReceiver;
3770 window.getSocketStatus = function() {
3771 if (messageReceiver) {
3772 diff --git a/js/expire.js b/js/expire.js
3773 index 639aeae..beb91c3 100644
3774 --- a/js/expire.js
3775 +++ b/js/expire.js
3776 @@ -1,6 +1,6 @@
3777 ;(function() {
3778 &#39;use strict&#39;;
3779 - var BUILD_EXPIRATION = 0;
3780 + var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
3781
3782 window.extension = window.extension || {};
3783
3784 diff --git a/js/views/install_view.js b/js/views/install_view.js
3785 index 7816f4f..1d6233b 100644
3786 --- a/js/views/install_view.js
3787 +++ b/js/views/install_view.js
3788 @@ -38,7 +38,8 @@
3789 return {
3790 &#39;click .step1&#39;: this.selectStep.bind(this, 1),
3791 &#39;click .step2&#39;: this.selectStep.bind(this, 2),
3792 - &#39;click .step3&#39;: this.selectStep.bind(this, 3)
3793 + &#39;click .step3&#39;: this.selectStep.bind(this, 3),
3794 + &#39;click .callreg&#39;: function() { extension.install(&#39;standalone&#39;) },
3795 };
3796 },
3797 clearQR: function() {
3798 diff --git a/options.html b/options.html
3799 index dc0f28e..8d709f6 100644
3800 --- a/options.html
3801 +++ b/options.html
3802 @@ -14,7 +14,10 @@
3803 &amp;lt;div class=&#39;nav&#39;&gt;
3804 &amp;lt;h1&gt;{{ installWelcome }}&amp;lt;/h1&gt;
3805 &amp;lt;p&gt;{{ installTagline }}&amp;lt;/p&gt;
3806 - &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt; &amp;lt;/div&gt;
3807 + &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt;
3808 + &amp;lt;br&gt; &amp;lt;a class=&quot;button callreg&quot;&gt;Register without mobile phone&amp;lt;/a&gt;
3809 +
3810 + &amp;lt;/div&gt;
3811 &amp;lt;span class=&#39;dot step1 selected&#39;&gt;&amp;lt;/span&gt;
3812 &amp;lt;span class=&#39;dot step2&#39;&gt;&amp;lt;/span&gt;
3813 &amp;lt;span class=&#39;dot step3&#39;&gt;&amp;lt;/span&gt;
3814 --- /dev/null 2016-10-07 09:55:13.730181472 +0200
3815 +++ b/run-signal-app 2016-10-10 08:54:09.434172391 +0200
3816 @@ -0,0 +1,12 @@
3817 +#!/bin/sh
3818 +set -e
3819 +cd $(dirname $0)
3820 +mkdir -p userdata
3821 +userdata=&quot;`pwd`/userdata&quot;
3822 +if [ -d &quot;$userdata&quot; ] &amp;&amp; [ ! -d &quot;$userdata/.git&quot; ] ; then
3823 + (cd $userdata &amp;&amp; git init)
3824 +fi
3825 +(cd $userdata &amp;&amp; git add . &amp;&amp; git commit -m &quot;Current status.&quot; || true)
3826 +exec chromium \
3827 + --proxy-server=&quot;socks://localhost:9050&quot; \
3828 + --user-data-dir=$userdata --load-and-launch-app=`pwd`
3829 EOF
3830 chmod a+rx run-signal-app
3831 &lt;/pre&gt;
3832
3833 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3834 activities, please send Bitcoin donations to my address
3835 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3836 </description>
3837 </item>
3838
3839 <item>
3840 <title>Isenkram, Appstream and udev make life as a LEGO builder easier</title>
3841 <link>http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</link>
3842 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</guid>
3843 <pubDate>Fri, 7 Oct 2016 09:50:00 +0200</pubDate>
3844 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
3845 system&lt;/a&gt; provide a practical and easy way to figure out which
3846 packages support the hardware in a given machine. The command line
3847 tool &lt;tt&gt;isenkram-lookup&lt;/tt&gt; and the tasksel options provide a
3848 convenient way to list and install packages relevant for the current
3849 hardware during system installation, both user space packages and
3850 firmware packages. The GUI background daemon on the other hand provide
3851 a pop-up proposing to install packages when a new dongle is inserted
3852 while using the computer. For example, if you plug in a smart card
3853 reader, the system will ask if you want to install &lt;tt&gt;pcscd&lt;/tt&gt; if
3854 that package isn&#39;t already installed, and if you plug in a USB video
3855 camera the system will ask if you want to install &lt;tt&gt;cheese&lt;/tt&gt; if
3856 cheese is currently missing. This already work just fine.&lt;/p&gt;
3857
3858 &lt;p&gt;But Isenkram depend on a database mapping from hardware IDs to
3859 package names. When I started no such database existed in Debian, so
3860 I made my own data set and included it with the isenkram package and
3861 made isenkram fetch the latest version of this database from git using
3862 http. This way the isenkram users would get updated package proposals
3863 as soon as I learned more about hardware related packages.&lt;/p&gt;
3864
3865 &lt;p&gt;The hardware is identified using modalias strings. The modalias
3866 design is from the Linux kernel where most hardware descriptors are
3867 made available as a strings that can be matched using filename style
3868 globbing. It handle USB, PCI, DMI and a lot of other hardware related
3869 identifiers.&lt;/p&gt;
3870
3871 &lt;p&gt;The downside to the Isenkram specific database is that there is no
3872 information about relevant distribution / Debian version, making
3873 isenkram propose obsolete packages too. But along came AppStream, a
3874 cross distribution mechanism to store and collect metadata about
3875 software packages. When I heard about the proposal, I contacted the
3876 people involved and suggested to add a hardware matching rule using
3877 modalias strings in the specification, to be able to use AppStream for
3878 mapping hardware to packages. This idea was accepted and AppStream is
3879 now a great way for a package to announce the hardware it support in a
3880 distribution neutral way. I wrote
3881 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html&quot;&gt;a
3882 recipe on how to add such meta-information&lt;/a&gt; in a blog post last
3883 December. If you have a hardware related package in Debian, please
3884 announce the relevant hardware IDs using AppStream.&lt;/p&gt;
3885
3886 &lt;p&gt;In Debian, almost all packages that can talk to a LEGO Mindestorms
3887 RCX or NXT unit, announce this support using AppStream. The effect is
3888 that when you insert such LEGO robot controller into your Debian
3889 machine, Isenkram will propose to install the packages needed to get
3890 it working. The intention is that this should allow the local user to
3891 start programming his robot controller right away without having to
3892 guess what packages to use or which permissions to fix.&lt;/p&gt;
3893
3894 &lt;p&gt;But when I sat down with my son the other day to program our NXT
3895 unit using his Debian Stretch computer, I discovered something
3896 annoying. The local console user (ie my son) did not get access to
3897 the USB device for programming the unit. This used to work, but no
3898 longer in Jessie and Stretch. After some investigation and asking
3899 around on #debian-devel, I discovered that this was because udev had
3900 changed the mechanism used to grant access to local devices. The
3901 ConsoleKit mechanism from &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;
3902 no longer applied, because LDAP users no longer was added to the
3903 plugdev group during login. Michael Biebl told me that this method
3904 was obsolete and the new method used ACLs instead. This was good
3905 news, as the plugdev mechanism is a mess when using a remote user
3906 directory like LDAP. Using ACLs would make sure a user lost device
3907 access when she logged out, even if the user left behind a background
3908 process which would retain the plugdev membership with the ConsoleKit
3909 setup. Armed with this knowledge I moved on to fix the access problem
3910 for the LEGO Mindstorms related packages.&lt;/p&gt;
3911
3912 &lt;p&gt;The new system uses a udev tag, &#39;uaccess&#39;. It can either be
3913 applied directly for a device, or is applied in
3914 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
3915 LEGO Mindstorms udev rules did not have a class, I decided to add the
3916 tag directly in the udev rules files included in the packages. Here
3917 is one example. For the nqc C compiler for the RCX, the
3918 &lt;tt&gt;/lib/udev/rules.d/60-nqc.rules&lt;/tt&gt; file now look like this:
3919
3920 &lt;p&gt;&lt;pre&gt;
3921 SUBSYSTEM==&quot;usb&quot;, ACTION==&quot;add&quot;, ATTR{idVendor}==&quot;0694&quot;, ATTR{idProduct}==&quot;0001&quot;, \
3922 SYMLINK+=&quot;rcx-%k&quot;, TAG+=&quot;uaccess&quot;
3923 &lt;/pre&gt;&lt;/p&gt;
3924
3925 &lt;p&gt;The key part is the &#39;TAG+=&quot;uaccess&quot;&#39; at the end. I suspect all
3926 packages using plugdev in their /lib/udev/rules.d/ files should be
3927 changed to use this tag (either directly or indirectly via
3928 &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;). Perhaps a lintian check should be created
3929 to detect this?&lt;/p&gt;
3930
3931 &lt;p&gt;I&#39;ve been unable to find good documentation on the uaccess feature.
3932 It is unclear to me if the uaccess tag is an internal implementation
3933 detail like the udev-acl tag used by
3934 &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;. If it is, I guess the
3935 indirect method is the preferred way. Michael
3936 &lt;a href=&quot;https://github.com/systemd/systemd/issues/4288&quot;&gt;asked for more
3937 documentation from the systemd project&lt;/a&gt; and I hope it will make
3938 this clearer. For now I use the generic classes when they exist and
3939 is already handled by &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;, and add the tag
3940 directly if no such class exist.&lt;/p&gt;
3941
3942 &lt;p&gt;To learn more about the isenkram system, please check out
3943 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
3944 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
3945
3946 &lt;p&gt;To help out making life for LEGO constructors in Debian easier,
3947 please join us on our IRC channel
3948 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; and join
3949 the &lt;a href=&quot;https://alioth.debian.org/projects/debian-lego/&quot;&gt;Debian
3950 LEGO team&lt;/a&gt; in the Alioth project we created yesterday. A mailing
3951 list is not yet created, but we are working on it. :)&lt;/p&gt;
3952
3953 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3954 activities, please send Bitcoin donations to my address
3955 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3956 </description>
3957 </item>
3958
3959 <item>
3960 <title>First draft Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook now public</title>
3961 <link>http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</link>
3962 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</guid>
3963 <pubDate>Tue, 30 Aug 2016 10:10:00 +0200</pubDate>
3964 <description>&lt;p&gt;In April we
3965 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html&quot;&gt;started
3966 to work&lt;/a&gt; on a Norwegian Bokmål edition of the &quot;open access&quot; book on
3967 how to set up and administrate a Debian system. Today I am happy to
3968 report that the first draft is now publicly available. You can find
3969 it on &lt;a href=&quot;https://debian-handbook.info/get/&quot;&gt;get the Debian
3970 Administrator&#39;s Handbook page&lt;/a&gt; (under Other languages). The first
3971 eight chapters have a first draft translation, and we are working on
3972 proofreading the content. If you want to help out, please start
3973 contributing using
3974 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
3975 hosted weblate project page&lt;/a&gt;, and get in touch using
3976 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
3977 translators mailing list&lt;/a&gt;. Please also check out
3978 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
3979 contributors&lt;/a&gt;. A good way to contribute is to proofread the text
3980 and update weblate if you find errors.&lt;/p&gt;
3981
3982 &lt;p&gt;Our goal is still to make the Norwegian book available on paper as well as
3983 electronic form.&lt;/p&gt;
3984 </description>
3985 </item>
3986
3987 <item>
3988 <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
3989 <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
3990 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
3991 <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
3992 <description>&lt;p&gt;This summer, I read a great article
3993 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
3994 This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
3995 how to profile multi-threaded programs. It presented a system for
3996 profiling software by running experiences in the running program,
3997 testing how run time performance is affected by &quot;speeding up&quot; parts of
3998 the code to various degrees compared to a normal run. It does this by
3999 slowing down parallel threads while the &quot;faster up&quot; code is running
4000 and measure how this affect processing time. The processing time is
4001 measured using probes inserted into the code, either using progress
4002 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
4003 can also measure unmodified code by measuring complete the program
4004 runtime and running the program several times instead.&lt;/p&gt;
4005
4006 &lt;p&gt;The project and presentation was so inspiring that I would like to
4007 get the system into Debian. I
4008 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
4009 a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
4010 system ready for Debian by sending patches. The build process need to
4011 be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
4012 to include the JavaScript web page used to visualize the collected
4013 profiling information included in the source package.
4014 But I expect that should work out fairly soon.&lt;/p&gt;
4015
4016 &lt;p&gt;The way the system work is fairly simple. To run an coz experiment
4017 on a binary with debug symbols available, start the program like this:
4018
4019 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4020 coz run --- program-to-run
4021 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4022
4023 &lt;p&gt;This will create a text file profile.coz with the instrumentation
4024 information. To show what part of the code affect the performance
4025 most, use a web browser and either point it to
4026 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
4027 or use the copy from git (in the gh-pages branch). Check out this web
4028 site to have a look at several example profiling runs and get an idea what the end result from the profile runs look like. To make the
4029 profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
4030 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
4031 code, rebuild and run the profiler. This allow coz to do more
4032 targeted experiments.&lt;/p&gt;
4033
4034 &lt;p&gt;A video published by ACM
4035 &lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
4036 Coz profiler&lt;/a&gt; is available from Youtube. There is also a paper
4037 from the 25th Symposium on Operating Systems Principles available
4038 titled
4039 &lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
4040 finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
4041
4042 &lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
4043 for Coz is available from github. It will only build with clang
4044 because it uses a
4045 &lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
4046 feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
4047 &lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
4048 it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
4049
4050 &lt;p&gt;Please get in touch if you, like me, would like to see this piece
4051 of software in Debian. I would very much like some help with the
4052 packaging effort, as I lack the in depth knowledge on how to package
4053 C++ libraries.&lt;/p&gt;
4054 </description>
4055 </item>
4056
4057 <item>
4058 <title>Sales number for the Free Culture translation, first half of 2016</title>
4059 <link>http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
4060 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
4061 <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
4062 <description>&lt;p&gt;As my regular readers probably remember, the last year I published
4063 a French and Norwegian translation of the classic
4064 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture book&lt;/a&gt; by the
4065 founder of the Creative Commons movement, Lawrence Lessig. A bit less
4066 known is the fact that due to the way I created the translations,
4067 using docbook and po4a, I also recreated the English original. And
4068 because I already had created a new the PDF edition, I published it
4069 too. The revenue from the books are sent to the Creative Commons
4070 Corporation. In other words, I do not earn any money from this
4071 project, I just earn the warm fuzzy feeling that the text is available
4072 for a wider audience and more people can learn why the Creative
4073 Commons is needed.&lt;/p&gt;
4074
4075 &lt;p&gt;Today, just for fun, I had a look at the sales number over at
4076 Lulu.com, which take care of payment, printing and shipping. Much to
4077 my surprise, the English edition is selling better than both the
4078 French and Norwegian edition, despite the fact that it has been
4079 available in English since it was first published. In total, 24 paper
4080 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:&lt;/p&gt;
4081
4082 &lt;table border=&quot;0&quot;&gt;
4083 &lt;tr&gt;&lt;th&gt;Title / language&lt;/th&gt;&lt;th&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
4084 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Culture Libre / French&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;&lt;/tr&gt;
4085 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Fri kultur / Norwegian&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;&lt;/tr&gt;
4086 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;Free Culture / English&lt;/a&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;&lt;/tr&gt;
4087 &lt;/table&gt;
4088
4089 &lt;p&gt;The books are available both from Lulu.com and from large book
4090 stores like Amazon and Barnes&amp;Noble. Most revenue, around $10 per
4091 book, is sent to the Creative Commons project when the book is sold
4092 directly by Lulu.com. The other channels give less revenue. The
4093 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
4094 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
4095 me that the revenue sent so far this year is USD $101.42. No idea
4096 what kind of sales numbers to expect, so I do not know if that is a
4097 good amount of sales for a 10 year old book or not. But it make me
4098 happy that the buyers find the book, and I hope they enjoy reading it
4099 as much as I did.&lt;/p&gt;
4100
4101 &lt;p&gt;The ebook edition is available for free from
4102 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
4103
4104 &lt;p&gt;If you would like to translate and publish the book in your native
4105 language, I would be happy to help make it happen. Please get in
4106 touch.&lt;/p&gt;
4107 </description>
4108 </item>
4109
4110 <item>
4111 <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
4112 <link>http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
4113 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
4114 <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
4115 <description>&lt;p&gt;Did you know there is a TV channel broadcasting talks from DebConf
4116 16 across an entire country? Or that there is a TV channel
4117 broadcasting talks by or about
4118 &lt;a href=&quot;http://beta.frikanalen.no/video/625529/&quot;&gt;Linus Torvalds&lt;/a&gt;,
4119 &lt;a href=&quot;http://beta.frikanalen.no/video/625599/&quot;&gt;Tor&lt;/a&gt;,
4120 &lt;a href=&quot;http://beta.frikanalen.no/video/624019/&quot;&gt;OpenID&lt;/A&gt;,
4121 &lt;a href=&quot;http://beta.frikanalen.no/video/625624/&quot;&gt;Common Lisp&lt;/a&gt;,
4122 &lt;a href=&quot;http://beta.frikanalen.no/video/625446/&quot;&gt;Civic Tech&lt;/a&gt;,
4123 &lt;a href=&quot;http://beta.frikanalen.no/video/625090/&quot;&gt;EFF founder John Barlow&lt;/a&gt;,
4124 &lt;a href=&quot;http://beta.frikanalen.no/video/625432/&quot;&gt;how to make 3D
4125 printer electronics&lt;/a&gt; and many more fascinating topics? It works
4126 using only free software (all of it
4127 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from Github&lt;/a&gt;), and
4128 is administrated using a web browser and a web API.&lt;/p&gt;
4129
4130 &lt;p&gt;The TV channel is the Norwegian open channel
4131 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, and I am involved
4132 via &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG member association&lt;/a&gt; in
4133 running and developing the software for the channel. The channel is
4134 organised as a member organisation where its members can upload and
4135 broadcast what they want (think of it as Youtube for national
4136 broadcasting television). Individuals can broadcast too. The time
4137 slots are handled on a first come, first serve basis. Because the
4138 channel have almost no viewers and very few active members, we can
4139 experiment with TV technology without too much flack when we make
4140 mistakes. And thanks to the few active members, most of the slots on
4141 the schedule are free. I see this as an opportunity to spread
4142 knowledge about technology and free software, and have a script I run
4143 regularly to fill up all the open slots the next few days with
4144 technology related video. The end result is a channel I like to
4145 describe as Techno TV - filled with interesting talks and
4146 presentations.&lt;/p&gt;
4147
4148 &lt;p&gt;It is available on channel 50 on the Norwegian national digital TV
4149 network (RiksTV). It is also available as a multicast stream on
4150 Uninett. And finally, it is available as
4151 &lt;a href=&quot;http://beta.frikanalen.no/&quot;&gt;a WebM unicast stream&lt;/a&gt; from
4152 Frikanalen and NUUG. Check it out. :)&lt;/p&gt;
4153 </description>
4154 </item>
4155
4156 <item>
4157 <title>Unlocking HTC Desire HD on Linux using unruu and fastboot</title>
4158 <link>http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</link>
4159 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</guid>
4160 <pubDate>Thu, 7 Jul 2016 11:30:00 +0200</pubDate>
4161 <description>&lt;p&gt;Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
4162 to be a slight challenge. Here is the recipe if I ever need to do it
4163 again. It all started by me wanting to try the recipe to set up
4164 &lt;a href=&quot;https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy&quot;&gt;an
4165 hardened Android installation&lt;/a&gt; from the Tor project blog on a
4166 device I had access to. It is a old mobile phone with a broken
4167 microphone The initial idea had been to just
4168 &lt;a href=&quot;http://wiki.cyanogenmod.org/w/Install_CM_for_ace&quot;&gt;install
4169 CyanogenMod on it&lt;/a&gt;, but did not quite find time to start on it
4170 until a few days ago.&lt;/p&gt;
4171
4172 &lt;p&gt;The unlock process is supposed to be simple: (1) Boot into the boot
4173 loader (press volume down and power at the same time), (2) select
4174 &#39;fastboot&#39; before (3) connecting the device via USB to a Linux
4175 machine, (4) request the device identifier token by running &#39;fastboot
4176 oem get_identifier_token&#39;, (5) request the device unlocking key using
4177 the &lt;a href=&quot;http://www.htcdev.com/bootloader/&quot;&gt;HTC developer web
4178 site&lt;/a&gt; and unlock the phone using the key file emailed to you.&lt;/p&gt;
4179
4180 &lt;p&gt;Unfortunately, this only work fi you have hboot version 2.00.0029
4181 or newer, and the device I was working on had 2.00.0027. This
4182 apparently can be easily fixed by downloading a Windows program and
4183 running it on your Windows machine, if you accept the terms Microsoft
4184 require you to accept to use Windows - which I do not. So I had to
4185 come up with a different approach. I got a lot of help from AndyCap
4186 on #nuug, and would not have been able to get this working without
4187 him.&lt;/p&gt;
4188
4189 &lt;p&gt;First I needed to extract the hboot firmware from
4190 &lt;a href=&quot;http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe&quot;&gt;the
4191 windows binary for HTC Desire HD&lt;/a&gt; downloaded as &#39;the RUU&#39; from HTC.
4192 For this there is is &lt;a href=&quot;https://github.com/kmdm/unruu/&quot;&gt;a github
4193 project named unruu&lt;/a&gt; using libunshield. The unshield tool did not
4194 recognise the file format, but unruu worked and extracted rom.zip,
4195 containing the new hboot firmware and a text file describing which
4196 devices it would work for.&lt;/p&gt;
4197
4198 &lt;p&gt;Next, I needed to get the new firmware into the device. For this I
4199 followed some instructions
4200 &lt;a href=&quot;http://www.htc1guru.com/2013/09/new-ruu-zips-posted/&quot;&gt;available
4201 from HTC1Guru.com&lt;/a&gt;, and ran these commands as root on a Linux
4202 machine with Debian testing:&lt;/p&gt;
4203
4204 &lt;p&gt;&lt;pre&gt;
4205 adb reboot-bootloader
4206 fastboot oem rebootRUU
4207 fastboot flash zip rom.zip
4208 fastboot flash zip rom.zip
4209 fastboot reboot
4210 &lt;/pre&gt;&lt;/p&gt;
4211
4212 &lt;p&gt;The flash command apparently need to be done twice to take effect,
4213 as the first is just preparations and the second one do the flashing.
4214 The adb command is just to get to the boot loader menu, so turning the
4215 device on while holding volume down and the power button should work
4216 too.&lt;/p&gt;
4217
4218 &lt;p&gt;With the new hboot version in place I could start following the
4219 instructions on the HTC developer web site. I got the device token
4220 like this:&lt;/p&gt;
4221
4222 &lt;p&gt;&lt;pre&gt;
4223 fastboot oem get_identifier_token 2&gt;&amp;1 | sed &#39;s/(bootloader) //&#39;
4224 &lt;/pre&gt;
4225
4226 &lt;p&gt;And once I got the unlock code via email, I could use it like
4227 this:&lt;/p&gt;
4228
4229 &lt;p&gt;&lt;pre&gt;
4230 fastboot flash unlocktoken Unlock_code.bin
4231 &lt;/pre&gt;&lt;/p&gt;
4232
4233 &lt;p&gt;And with that final step in place, the phone was unlocked and I
4234 could start stuffing the software of my own choosing into the device.
4235 So far I only inserted a replacement recovery image to wipe the phone
4236 before I start. We will see what happen next. Perhaps I should
4237 install &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; on it. :)&lt;/p&gt;
4238 </description>
4239 </item>
4240
4241 <item>
4242 <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
4243 <link>http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</link>
4244 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</guid>
4245 <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
4246 <description>&lt;p&gt;For a while now, I have wanted to test
4247 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;the Signal app&lt;/a&gt;, as it is
4248 said to provide end to end encrypted communication and several of my
4249 friends and family are already using it. As I by choice do not own a
4250 mobile phone, this proved to be harder than expected. And I wanted to
4251 have the source of the client and know that it was the code used on my
4252 machine. But yesterday I managed to get it working. I used the
4253 Github source, compared it to the source in
4254 &lt;a href=&quot;https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US&quot;&gt;the
4255 Signal Chrome app&lt;/a&gt; available from the Chrome web store, applied
4256 patches to use the production Signal servers, started the app and
4257 asked for the hidden &quot;register without a smart phone&quot; form. Here is
4258 the recipe how I did it.&lt;/p&gt;
4259
4260 &lt;p&gt;First, I fetched the Signal desktop source from Github, using
4261
4262 &lt;pre&gt;
4263 git clone https://github.com/WhisperSystems/Signal-Desktop.git
4264 &lt;/pre&gt;
4265
4266 &lt;p&gt;Next, I patched the source to use the production servers, to be
4267 able to talk to other Signal users:&lt;/p&gt;
4268
4269 &lt;pre&gt;
4270 cat &amp;lt;&amp;lt;EOF | patch -p0
4271 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
4272 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
4273 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
4274 @@ -47,8 +47,8 @@
4275 });
4276 });
4277
4278 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
4279 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
4280 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org:4433&#39;;
4281 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
4282 var messageReceiver;
4283 window.getSocketStatus = function() {
4284 if (messageReceiver) {
4285 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
4286 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
4287 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
4288 @@ -1,6 +1,6 @@
4289 ;(function() {
4290 &#39;use strict&#39;;
4291 - var BUILD_EXPIRATION = 0;
4292 + var BUILD_EXPIRATION = 1474492690000;
4293
4294 window.extension = window.extension || {};
4295
4296 EOF
4297 &lt;/pre&gt;
4298
4299 &lt;p&gt;The first part is changing the servers, and the second is updating
4300 an expiration timestamp. This timestamp need to be updated regularly.
4301 It is set 90 days in the future by the build process (Gruntfile.js).
4302 The value is seconds since 1970 times 1000, as far as I can tell.&lt;/p&gt;
4303
4304 &lt;p&gt;Based on a tip and good help from the #nuug IRC channel, I wrote a
4305 script to launch Signal in Chromium.&lt;/p&gt;
4306
4307 &lt;pre&gt;
4308 #!/bin/sh
4309 cd $(dirname $0)
4310 mkdir -p userdata
4311 exec chromium \
4312 --proxy-server=&quot;socks://localhost:9050&quot; \
4313 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
4314 &lt;/pre&gt;
4315
4316 &lt;p&gt; The script start the app and configure Chromium to use the Tor
4317 SOCKS5 proxy to make sure those controlling the Signal servers (today
4318 Amazon and Whisper Systems) as well as those listening on the lines
4319 will have a harder time location my laptop based on the Signal
4320 connections if they use source IP address.&lt;/p&gt;
4321
4322 &lt;p&gt;When the script starts, one need to follow the instructions under
4323 &quot;Standalone Registration&quot; in the CONTRIBUTING.md file in the git
4324 repository. I right clicked on the Signal window to get up the
4325 Chromium debugging tool, visited the &#39;Console&#39; tab and wrote
4326 &#39;extension.install(&quot;standalone&quot;)&#39; on the console prompt to get the
4327 registration form. Then I entered by land line phone number and
4328 pressed &#39;Call&#39;. 5 seconds later the phone rang and a robot voice
4329 repeated the verification code three times. After entering the number
4330 into the verification code field in the form, I could start using
4331 Signal from my laptop.
4332
4333 &lt;p&gt;As far as I can tell, The Signal app will leak who is talking to
4334 whom and thus who know who to those controlling the central server,
4335 but such leakage is hard to avoid with a centrally controlled server
4336 setup. It is something to keep in mind when using Signal - the
4337 content of your chats are harder to intercept, but the meta data
4338 exposing your contact network is available to people you do not know.
4339 So better than many options, but not great. And sadly the usage is
4340 connected to my land line, thus allowing those controlling the server
4341 to associate it to my home and person. I would prefer it if only
4342 those I knew could tell who I was on Signal. There are options
4343 avoiding such information leakage, but most of my friends are not
4344 using them, so I am stuck with Signal for now.&lt;/p&gt;
4345
4346 &lt;p&gt;&lt;strong&gt;Update 2017-01-10&lt;/strong&gt;: There is an updated blog post
4347 on this topic in
4348 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html&quot;&gt;Experience
4349 and updated recipe for using the Signal app without a mobile
4350 phone&lt;/a&gt;.&lt;/p&gt;
4351 </description>
4352 </item>
4353
4354 <item>
4355 <title>The new &quot;best&quot; multimedia player in Debian?</title>
4356 <link>http://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</link>
4357 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</guid>
4358 <pubDate>Mon, 6 Jun 2016 12:50:00 +0200</pubDate>
4359 <description>&lt;p&gt;When I set out a few weeks ago to figure out
4360 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html&quot;&gt;which
4361 multimedia player in Debian claimed to support most file formats /
4362 MIME types&lt;/a&gt;, I was a bit surprised how varied the sets of MIME types
4363 the various players claimed support for. The range was from 55 to 130
4364 MIME types. I suspect most media formats are supported by all
4365 players, but this is not really reflected in the MimeTypes values in
4366 their desktop files. There are probably also some bogus MIME types
4367 listed, but it is hard to identify which one this is.&lt;/p&gt;
4368
4369 &lt;p&gt;Anyway, in the mean time I got in touch with upstream for some of
4370 the players suggesting to add more MIME types to their desktop files,
4371 and decided to spend some time myself improving the situation for my
4372 favorite media player VLC. The fixes for VLC entered Debian unstable
4373 yesterday. The complete list of MIME types can be seen on the
4374 &lt;a href=&quot;https://wiki.debian.org/DebianMultimedia/PlayerSupport&quot;&gt;Multimedia
4375 player MIME type support status&lt;/a&gt; Debian wiki page.&lt;/p&gt;
4376
4377 &lt;p&gt;The new &quot;best&quot; multimedia player in Debian? It is VLC, followed by
4378 totem, parole, kplayer, gnome-mpv, mpv, smplayer, mplayer-gui and
4379 kmplayer. I am sure some of the other players desktop files support
4380 several of the formats currently listed as working only with vlc,
4381 toten and parole.&lt;/p&gt;
4382
4383 &lt;p&gt;A sad observation is that only 14 MIME types are listed as
4384 supported by all the tested multimedia players in Debian in their
4385 desktop files: audio/mpeg, audio/vnd.rn-realaudio, audio/x-mpegurl,
4386 audio/x-ms-wma, audio/x-scpls, audio/x-wav, video/mp4, video/mpeg,
4387 video/quicktime, video/vnd.rn-realvideo, video/x-matroska,
4388 video/x-ms-asf, video/x-ms-wmv and video/x-msvideo. Personally I find
4389 it sad that video/ogg and video/webm is not supported by all the media
4390 players in Debian. As far as I can tell, all of them can handle both
4391 formats.&lt;/p&gt;
4392 </description>
4393 </item>
4394
4395 <item>
4396 <title>A program should be able to open its own files on Linux</title>
4397 <link>http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</link>
4398 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</guid>
4399 <pubDate>Sun, 5 Jun 2016 08:30:00 +0200</pubDate>
4400 <description>&lt;p&gt;Many years ago, when koffice was fresh and with few users, I
4401 decided to test its presentation tool when making the slides for a
4402 talk I was giving for NUUG on Japhar, a free Java virtual machine. I
4403 wrote the first draft of the slides, saved the result and went to bed
4404 the day before I would give the talk. The next day I took a plane to
4405 the location where the meeting should take place, and on the plane I
4406 started up koffice again to polish the talk a bit, only to discover
4407 that kpresenter refused to load its own data file. I cursed a bit and
4408 started making the slides again from memory, to have something to
4409 present when I arrived. I tested that the saved files could be
4410 loaded, and the day seemed to be rescued. I continued to polish the
4411 slides until I suddenly discovered that the saved file could no longer
4412 be loaded into kpresenter. In the end I had to rewrite the slides
4413 three times, condensing the content until the talk became shorter and
4414 shorter. After the talk I was able to pinpoint the problem &amp;ndash;
4415 kpresenter wrote inline images in a way itself could not understand.
4416 Eventually that bug was fixed and kpresenter ended up being a great
4417 program to make slides. The point I&#39;m trying to make is that we
4418 expect a program to be able to load its own data files, and it is
4419 embarrassing to its developers if it can&#39;t.&lt;/p&gt;
4420
4421 &lt;p&gt;Did you ever experience a program failing to load its own data
4422 files from the desktop file browser? It is not a uncommon problem. A
4423 while back I discovered that the screencast recorder
4424 gtk-recordmydesktop would save an Ogg Theora video file the KDE file
4425 browser would refuse to open. No video player claimed to understand
4426 such file. I tracked down the cause being &lt;tt&gt;file --mime-type&lt;/tt&gt;
4427 returning the application/ogg MIME type, which no video player I had
4428 installed listed as a MIME type they would understand. I asked for
4429 &lt;a href=&quot;http://bugs.gw.com/view.php?id=382&quot;&gt;file to change its
4430 behavour&lt;/a&gt; and use the MIME type video/ogg instead. I also asked
4431 several video players to add video/ogg to their desktop files, to give
4432 the file browser an idea what to do about Ogg Theora files. After a
4433 while, the desktop file browsers in Debian started to handle the
4434 output from gtk-recordmydesktop properly.&lt;/p&gt;
4435
4436 &lt;p&gt;But history repeats itself. A few days ago I tested the music
4437 system Rosegarden again, and I discovered that the KDE and xfce file
4438 browsers did not know what to do with the Rosegarden project files
4439 (*.rg). I&#39;ve reported &lt;a href=&quot;http://bugs.debian.org/825993&quot;&gt;the
4440 rosegarden problem to BTS&lt;/a&gt; and a fix is commited to git and will be
4441 included in the next upload. To increase the chance of me remembering
4442 how to fix the problem next time some program fail to load its files
4443 from the file browser, here are some notes on how to fix it.&lt;/p&gt;
4444
4445 &lt;p&gt;The file browsers in Debian in general operates on MIME types.
4446 There are two sources for the MIME type of a given file. The output from
4447 &lt;tt&gt;file --mime-type&lt;/tt&gt; mentioned above, and the content of the
4448 shared MIME type registry (under /usr/share/mime/). The file MIME
4449 type is mapped to programs supporting the MIME type, and this
4450 information is collected from
4451 &lt;a href=&quot;https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/&quot;&gt;the
4452 desktop files&lt;/a&gt; available in /usr/share/applications/. If there is
4453 one desktop file claiming support for the MIME type of the file, it is
4454 activated when asking to open a given file. If there are more, one
4455 can normally select which one to use by right-clicking on the file and
4456 selecting the wanted one using &#39;Open with&#39; or similar. In general
4457 this work well. But it depend on each program picking a good MIME
4458 type (preferably
4459 &lt;a href=&quot;http://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;a
4460 MIME type registered with IANA&lt;/a&gt;), file and/or the shared MIME
4461 registry recognizing the file and the desktop file to list the MIME
4462 type in its list of supported MIME types.&lt;/p&gt;
4463
4464 &lt;p&gt;The &lt;tt&gt;/usr/share/mime/packages/rosegarden.xml&lt;/tt&gt; entry for
4465 &lt;a href=&quot;http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec&quot;&gt;the
4466 Shared MIME database&lt;/a&gt; look like this:&lt;/p&gt;
4467
4468 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4469 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
4470 &amp;lt;mime-info xmlns=&quot;http://www.freedesktop.org/standards/shared-mime-info&quot;&amp;gt;
4471 &amp;lt;mime-type type=&quot;audio/x-rosegarden&quot;&amp;gt;
4472 &amp;lt;sub-class-of type=&quot;application/x-gzip&quot;/&amp;gt;
4473 &amp;lt;comment&amp;gt;Rosegarden project file&amp;lt;/comment&amp;gt;
4474 &amp;lt;glob pattern=&quot;*.rg&quot;/&amp;gt;
4475 &amp;lt;/mime-type&amp;gt;
4476 &amp;lt;/mime-info&amp;gt;
4477 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4478
4479 &lt;p&gt;This states that audio/x-rosegarden is a kind of application/x-gzip
4480 (it is a gzipped XML file). Note, it is much better to use an
4481 official MIME type registered with IANA than it is to make up ones own
4482 unofficial ones like the x-rosegarden type used by rosegarden.&lt;/p&gt;
4483
4484 &lt;p&gt;The desktop file of the rosegarden program failed to list
4485 audio/x-rosegarden in its list of supported MIME types, causing the
4486 file browsers to have no idea what to do with *.rg files:&lt;/p&gt;
4487
4488 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4489 % grep Mime /usr/share/applications/rosegarden.desktop
4490 MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
4491 X-KDE-NativeMimeType=audio/x-rosegarden-composition
4492 %
4493 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4494
4495 &lt;p&gt;The fix was to add &quot;audio/x-rosegarden;&quot; at the end of the
4496 MimeType= line.&lt;/p&gt;
4497
4498 &lt;p&gt;If you run into a file which fail to open the correct program when
4499 selected from the file browser, please check out the output from
4500 &lt;tt&gt;file --mime-type&lt;/tt&gt; for the file, ensure the file ending and
4501 MIME type is registered somewhere under /usr/share/mime/ and check
4502 that some desktop file under /usr/share/applications/ is claiming
4503 support for this MIME type. If not, please report a bug to have it
4504 fixed. :)&lt;/p&gt;
4505 </description>
4506 </item>
4507
4508 <item>
4509 <title>Tor - from its creators mouth 11 years ago</title>
4510 <link>http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</link>
4511 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</guid>
4512 <pubDate>Sat, 28 May 2016 14:20:00 +0200</pubDate>
4513 <description>&lt;p&gt;A little more than 11 years ago, one of the creators of Tor, and
4514 the current President of &lt;a href=&quot;https://www.torproject.org/&quot;&gt;the Tor
4515 project&lt;/a&gt;, Roger Dingledine, gave a talk for the members of the
4516 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User group&lt;/a&gt; (NUUG). A
4517 video of the talk was recorded, and today, thanks to the great help
4518 from David Noble, I finally was able to publish the video of the talk
4519 on Frikanalen, the Norwegian open channel TV station where NUUG
4520 currently publishes its talks. You can
4521 &lt;a href=&quot;http://frikanalen.no/se&quot;&gt;watch the live stream using a web
4522 browser&lt;/a&gt; with WebM support, or check out the recording on the video
4523 on demand page for the talk
4524 &quot;&lt;a href=&quot;http://beta.frikanalen.no/video/625599&quot;&gt;Tor: Anonymous
4525 communication for the US Department of Defence...and you.&lt;/a&gt;&quot;.&lt;/p&gt;
4526
4527 &lt;p&gt;Here is the video included for those of you using browsers with
4528 HTML video and Ogg Theora support:&lt;/p&gt;
4529
4530 &lt;p&gt;&lt;video width=&quot;70%&quot; poster=&quot;http://simula.gunkies.org/media/625599/large_thumb/20050421-tor-frikanalen.jpg&quot; controls&gt;
4531 &lt;source src=&quot;http://simula.gunkies.org/media/625599/theora/20050421-tor-frikanalen.ogv&quot; type=&quot;video/ogg&quot;/&gt;
4532 &lt;/video&gt;&lt;/p&gt;
4533
4534 &lt;p&gt;I guess the gist of the talk can be summarised quite simply: If you
4535 want to help the military in USA (and everyone else), use Tor. :)&lt;/p&gt;
4536 </description>
4537 </item>
4538
4539 <item>
4540 <title>Isenkram with PackageKit support - new version 0.23 available in Debian unstable</title>
4541 <link>http://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</link>
4542 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</guid>
4543 <pubDate>Wed, 25 May 2016 10:20:00 +0200</pubDate>
4544 <description>&lt;p&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;The isenkram
4545 system&lt;/a&gt; is a user-focused solution in Debian for handling hardware
4546 related packages. The idea is to have a database of mappings between
4547 hardware and packages, and pop up a dialog suggesting for the user to
4548 install the packages to use a given hardware dongle. Some use cases
4549 are when you insert a Yubikey, it proposes to install the software
4550 needed to control it; when you insert a braille reader list it
4551 proposes to install the packages needed to send text to the reader;
4552 and when you insert a ColorHug screen calibrator it suggests to
4553 install the driver for it. The system work well, and even have a few
4554 command line tools to install firmware packages and packages for the
4555 hardware already in the machine (as opposed to hotpluggable hardware).&lt;/p&gt;
4556
4557 &lt;p&gt;The system was initially written using aptdaemon, because I found
4558 good documentation and example code on how to use it. But aptdaemon
4559 is going away and is generally being replaced by
4560 &lt;a href=&quot;http://www.freedesktop.org/software/PackageKit/&quot;&gt;PackageKit&lt;/a&gt;,
4561 so Isenkram needed a rewrite. And today, thanks to the great patch
4562 from my college Sunil Mohan Adapa in the FreedomBox project, the
4563 rewrite finally took place. I&#39;ve just uploaded a new version of
4564 Isenkram into Debian Unstable with the patch included, and the default
4565 for the background daemon is now to use PackageKit. To check it out,
4566 install the &lt;tt&gt;isenkram&lt;/tt&gt; package and insert some hardware dongle
4567 and see if it is recognised.&lt;/p&gt;
4568
4569 &lt;p&gt;If you want to know what kind of packages isenkram would propose for
4570 the machine it is running on, you can check out the isenkram-lookup
4571 program. This is what it look like on a Thinkpad X230:&lt;/p&gt;
4572
4573 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4574 % isenkram-lookup
4575 bluez
4576 cheese
4577 fprintd
4578 fprintd-demo
4579 gkrellm-thinkbat
4580 hdapsd
4581 libpam-fprintd
4582 pidgin-blinklight
4583 thinkfan
4584 tleds
4585 tp-smapi-dkms
4586 tp-smapi-source
4587 tpb
4588 %p
4589 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4590
4591 &lt;p&gt;The hardware mappings come from several places. The preferred way
4592 is for packages to announce their hardware support using
4593 &lt;a href=&quot;https://www.freedesktop.org/software/appstream/docs/&quot;&gt;the
4594 cross distribution appstream system&lt;/a&gt;.
4595 See
4596 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;previous
4597 blog posts about isenkram&lt;/a&gt; to learn how to do that.&lt;/p&gt;
4598 </description>
4599 </item>
4600
4601 <item>
4602 <title>Discharge rate estimate in new battery statistics collector for Debian</title>
4603 <link>http://people.skolelinux.org/pere/blog/Discharge_rate_estimate_in_new_battery_statistics_collector_for_Debian.html</link>
4604 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Discharge_rate_estimate_in_new_battery_statistics_collector_for_Debian.html</guid>
4605 <pubDate>Mon, 23 May 2016 09:35:00 +0200</pubDate>
4606 <description>&lt;p&gt;Yesterday I updated the
4607 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats
4608 package in Debian&lt;/a&gt; with a few patches sent to me by skilled and
4609 enterprising users. There were some nice user and visible changes.
4610 First of all, both desktop menu entries now work. A design flaw in
4611 one of the script made the history graph fail to show up (its PNG was
4612 dumped in ~/.xsession-errors) if no controlling TTY was available.
4613 The script worked when called from the command line, but not when
4614 called from the desktop menu. I changed this to look for a DISPLAY
4615 variable or a TTY before deciding where to draw the graph, and now the
4616 graph window pop up as expected.&lt;/p&gt;
4617
4618 &lt;p&gt;The next new feature is a discharge rate estimator in one of the
4619 graphs (the one showing the last few hours). New is also the user of
4620 colours showing charging in blue and discharge in red. The percentages
4621 of this graph is relative to last full charge, not battery design
4622 capacity.&lt;/p&gt;
4623
4624 &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2016-05-23-battery-stats-rate.png&quot;/&gt;&lt;/p&gt;
4625
4626 &lt;p&gt;The other graph show the entire history of the collected battery
4627 statistics, comparing it to the design capacity of the battery to
4628 visualise how the battery life time get shorter over time. The red
4629 line in this graph is what the previous graph considers 100 percent:
4630
4631 &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2016-05-23-battery-stats-history.png&quot;/&gt;&lt;/p&gt;
4632
4633 &lt;p&gt;In this graph you can see that I only charge the battery to 80
4634 percent of last full capacity, and how the capacity of the battery is
4635 shrinking. :(&lt;/p&gt;
4636
4637 &lt;p&gt;The last new feature is in the collector, which now will handle
4638 more hardware models. On some hardware, Linux power supply
4639 information is stored in /sys/class/power_supply/ACAD/, while the
4640 collector previously only looked in /sys/class/power_supply/AC/. Now
4641 both are checked to figure if there is power connected to the
4642 machine.&lt;/p&gt;
4643
4644 &lt;p&gt;If you are interested in how your laptop battery is doing, please
4645 check out the
4646 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;
4647 in Debian unstable, or rebuild it on Jessie to get it working on
4648 Debian stable. :) The upstream source is available from &lt;a
4649 href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
4650 Patches are very welcome.&lt;/p&gt;
4651
4652 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4653 activities, please send Bitcoin donations to my address
4654 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4655 </description>
4656 </item>
4657
4658 <item>
4659 <title>French edition of Lawrence Lessigs book Cultura Libre on Amazon and Barnes &amp; Noble</title>
4660 <link>http://people.skolelinux.org/pere/blog/French_edition_of_Lawrence_Lessigs_book_Cultura_Libre_on_Amazon_and_Barnes___Noble.html</link>
4661 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/French_edition_of_Lawrence_Lessigs_book_Cultura_Libre_on_Amazon_and_Barnes___Noble.html</guid>
4662 <pubDate>Sat, 21 May 2016 10:50:00 +0200</pubDate>
4663 <description>&lt;p&gt;A few weeks ago the French paperback edition of Lawrence Lessigs
4664 2004 book Cultura Libre was published. Today I noticed that the book
4665 is now available from book stores. You can now buy it from
4666 &lt;a href=&quot;http://www.amazon.com/Culture-Libre-French-Lawrence-Lessig/dp/8269018260&quot;&gt;Amazon&lt;/a&gt;
4667 ($19.99),
4668 &lt;a href=&quot;http://www.barnesandnoble.com/w/culture-libre-lawrence-lessig/1123776705&quot;&gt;Barnes
4669 &amp; Noble&lt;/a&gt; ($?) and as always from
4670 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Lulu.com&lt;/a&gt;
4671 ($19.99). The revenue is donated to the Creative Commons project. If
4672 you buy from Lulu.com, they currently get $10.59, while if you buy
4673 from one of the book stores most of the revenue go to the book store
4674 and the Creative Commons project get much (not sure how much
4675 less).&lt;/p&gt;
4676
4677 &lt;p&gt;I was a bit surprised to discover that there is a kindle edition
4678 sold by Amazon Digital Services LLC on Amazon. Not quite sure how
4679 that edition was created, but if you want to download a electronic
4680 edition (PDF, EPUB, Mobi) generated from the same files used to create
4681 the paperback edition, they are
4682 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;available
4683 from github&lt;/a&gt;.&lt;/p&gt;
4684 </description>
4685 </item>
4686
4687 <item>
4688 <title>I want the courts to be involved before the police can hijack a news site DNS domain (#domstolkontroll)</title>
4689 <link>http://people.skolelinux.org/pere/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html</link>
4690 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/I_want_the_courts_to_be_involved_before_the_police_can_hijack_a_news_site_DNS_domain___domstolkontroll_.html</guid>
4691 <pubDate>Thu, 19 May 2016 14:00:00 +0200</pubDate>
4692 <description>&lt;p&gt;I just donated to the
4693 &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;NUUG defence
4694 &quot;fond&quot;&lt;/a&gt; to fund the effort in Norway to get the seizure of the news
4695 site popcorn-time.no tested in court. I hope everyone that agree with
4696 me will do the same.&lt;/p&gt;
4697
4698 &lt;p&gt;Would you be worried if you knew the police in your country could
4699 hijack DNS domains of news sites covering free software system without
4700 talking to a judge first? I am. What if the free software system
4701 combined search engine lookups, bittorrent downloads and video playout
4702 and was called Popcorn Time? Would that affect your view? It still
4703 make me worried.&lt;/p&gt;
4704
4705 &lt;p&gt;In March 2016, the Norwegian police seized (as in forced NORID to
4706 change the IP address pointed to by it to one controlled by the
4707 police) the DNS domain popcorn-time.no, without any supervision from
4708 the courts. I did not know about the web site back then, and assumed
4709 the courts had been involved, and was very surprised when I discovered
4710 that the police had hijacked the DNS domain without asking a judge for
4711 permission first. I was even more surprised when I had a look at
4712 &lt;a href=&quot;https://web.archive.org/web/*/http://popcorn-time.no&quot;&gt;the web
4713 site content on the Internet Archive&lt;/A&gt;, and only found news coverage
4714 about Popcorn Time, not any material published without the right
4715 holders permissions.&lt;/p&gt;
4716
4717 &lt;p&gt;The seizure was widely covered in the Norwegian press (see for
4718 example &lt;a href=&quot;http://www.hegnar.no/Nyheter/Naeringsliv/2016/03/Popcorn-time.no-beslaglagt-av-OEkokrim&quot;&gt;Hegnar Online&lt;/a&gt; and
4719 &lt;a href=&quot;http://itavisen.no/2016/03/08/okokrim-har-beslaglagt-popcorn-time-no/&quot;&gt;ITavisen&lt;a/&gt;
4720 and
4721 &lt;a href=&quot;http://www.nrk.no/kultur/okokrim-gar-til-aksjon-mot-popcorn-time-1.12842452&quot;&gt;NRK&lt;/a&gt;),
4722 at first due to the press release sent out by Økokrim, but then based
4723 on
4724 &lt;a href=&quot;http://blogg.torvund.net/2016/03/09/okokrims-beslag-i-domenet-popcorn-time-no/&quot;&gt;protests
4725 from the law professor Olav Torvund&lt;/a&gt; and
4726 &lt;a href=&quot;http://www.klassekampen.no/article/20160311/ARTICLE/160319995&quot;&gt;lawyer
4727 Jon Wessel-Aas&lt;/a&gt;. It even got some
4728 &lt;a href=&quot;https://torrentfreak.com/norwegian-authorities-sued-over-popcorn-time-domain-seizure-160418/&quot;&gt;coverage
4729 on TorrentFreak&lt;/a&gt;.&lt;/p&gt;
4730
4731 &lt;p&gt;I
4732 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html&quot;&gt;
4733 wrote about the case a month ago&lt;/a&gt;, when the
4734 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; (NUUG),
4735 where I am an active member, decided to ask the courts to test this seizure.
4736 The request was denied, but NUUG and its co-requestor EFN have not
4737 given up, and now they are rallying for support to get the seizure
4738 legally challenged. They accept both bank and Bitcoin transfer for
4739 those that want to support the request.&lt;/p&gt;
4740
4741 &lt;p&gt;If you as me believe news sites about free software should not be
4742 censored, even if the free software have both legal and illegal
4743 applications, and that DNS hijacking should be tested by the courts, I
4744 suggest you &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;show
4745 your support by donating to NUUG&lt;/a&gt;.&lt;/a&gt;
4746 </description>
4747 </item>
4748
4749 <item>
4750 <title>Debian now with ZFS on Linux included</title>
4751 <link>http://people.skolelinux.org/pere/blog/Debian_now_with_ZFS_on_Linux_included.html</link>
4752 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_now_with_ZFS_on_Linux_included.html</guid>
4753 <pubDate>Thu, 12 May 2016 07:30:00 +0200</pubDate>
4754 <description>&lt;p&gt;Today, after many years of hard work from many people,
4755 &lt;a href=&quot;http://zfsonlinux.org/&quot;&gt;ZFS for Linux&lt;/a&gt; finally entered
4756 Debian. The package status can be seen on
4757 &lt;a href=&quot;https://tracker.debian.org/pkg/zfs-linux&quot;&gt;the package tracker
4758 for zfs-linux&lt;/a&gt;. and
4759 &lt;a href=&quot;https://qa.debian.org/developer.php?login=pkg-zfsonlinux-devel@lists.alioth.debian.org&quot;&gt;the
4760 team status page&lt;/a&gt;. If you want to help out, please join us.
4761 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/zfs.git&quot;&gt;The
4762 source code&lt;/a&gt; is available via git on Alioth. It would also be
4763 great if you could help out with
4764 &lt;a href=&quot;https://tracker.debian.org/pkg/dkms&quot;&gt;the dkms package&lt;/a&gt;, as
4765 it is an important piece of the puzzle to get ZFS working.&lt;/p&gt;
4766 </description>
4767 </item>
4768
4769 <item>
4770 <title>What is the best multimedia player in Debian?</title>
4771 <link>http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html</link>
4772 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html</guid>
4773 <pubDate>Sun, 8 May 2016 09:40:00 +0200</pubDate>
4774 <description>&lt;p&gt;&lt;strong&gt;Where I set out to figure out which multimedia player in
4775 Debian claim support for most file formats.&lt;/strong&gt;&lt;/p&gt;
4776
4777 &lt;p&gt;A few years ago, I had a look at the media support for Browser
4778 plugins in Debian, to get an idea which plugins to include in Debian
4779 Edu. I created a script to extract the set of supported MIME types
4780 for each plugin, and used this to find out which multimedia browser
4781 plugin supported most file formats / media types.
4782 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;The
4783 result&lt;/a&gt; can still be seen on the Debian wiki, even though it have
4784 not been updated for a while. But browser plugins are less relevant
4785 these days, so I thought it was time to look at standalone
4786 players.&lt;/p&gt;
4787
4788 &lt;p&gt;A few days ago I was tired of VLC not being listed as a viable
4789 player when I wanted to play videos from the Norwegian National
4790 Broadcasting Company, and decided to investigate why. The cause is a
4791 &lt;a href=&quot;https://bugs.debian.org/822245&quot;&gt;missing MIME type in the VLC
4792 desktop file&lt;/a&gt;. In the process I wrote a script to compare the set
4793 of MIME types announced in the desktop file and the browser plugin,
4794 only to discover that there is quite a large difference between the
4795 two for VLC. This discovery made me dig up the script I used to
4796 compare browser plugins, and adjust it to compare desktop files
4797 instead, to try to figure out which multimedia player in Debian
4798 support most file formats.&lt;/p&gt;
4799
4800 &lt;p&gt;The result can be seen on the Debian Wiki, as
4801 &lt;a href=&quot;https://wiki.debian.org/DebianMultimedia/PlayerSupport&quot;&gt;a
4802 table listing all MIME types supported by one of the packages included
4803 in the table&lt;/a&gt;, with the package supporting most MIME types being
4804 listed first in the table.&lt;/p&gt;
4805
4806 &lt;/p&gt;The best multimedia player in Debian? It is totem, followed by
4807 parole, kplayer, mpv, vlc, smplayer mplayer-gui gnome-mpv and
4808 kmplayer. Time for the other players to update their announced MIME
4809 support?&lt;/p&gt;
4810 </description>
4811 </item>
4812
4813 <item>
4814 <title>The Pyra - handheld computer with Debian preinstalled</title>
4815 <link>http://people.skolelinux.org/pere/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html</link>
4816 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html</guid>
4817 <pubDate>Wed, 4 May 2016 10:00:00 +0200</pubDate>
4818 <description>A friend of mine made me aware of
4819 &lt;a href=&quot;https://pyra-handheld.com/boards/pages/pyra/&quot;&gt;The Pyra&lt;/a&gt;, a
4820 handheld computer which will be delivered with Debian preinstalled. I
4821 would love to get one of those for my birthday. :)&lt;/p&gt;
4822
4823 &lt;p&gt;The machine is a complete ARM-based PC with micro HDMI, SATA, USB
4824 plugs and many others connectors, and include a full keyboard and a 5&quot;
4825 LCD touch screen. The 6000mAh battery is claimed to provide a whole
4826 day of battery life time, but I have not seen any independent tests
4827 confirming this. The vendor is still collecting preorders, and the
4828 last I heard last night was that 22 more orders were needed before
4829 production started.&lt;/p&gt;
4830
4831 &lt;p&gt;As far as I know, this is the first handheld preinstalled with
4832 Debian. Please let me know if you know of any others. Is it the
4833 first computer being sold with Debian preinstalled?&lt;/p&gt;
4834 </description>
4835 </item>
4836
4837 <item>
4838 <title>NUUG contests Norwegian police DNS seizure of popcorn-time.no</title>
4839 <link>http://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html</link>
4840 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html</guid>
4841 <pubDate>Mon, 18 Apr 2016 10:00:00 +0200</pubDate>
4842 <description>&lt;p&gt;It is days like today I am really happy to be a member of
4843 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the Norwegian Unix User group&lt;/a&gt;, a
4844 member association for those of us believing in free software, open
4845 standards and unix-like operating systems. NUUG announced today it
4846 will
4847 &lt;a href=&quot;http://www.nuug.no/news/Pressemelding__NUUG_og_EFN_begj_rer_rettslig_pr_ving_for_DNS_domenebeslag_av_popcorn_time_no.shtml&quot;&gt;try
4848 to bring the seizure of the DNS domain popcorn-time.no as
4849 unlawful&lt;/a&gt;, to stand up for the principle that writing about a
4850 controversial topic is not infringing copyrights, and censuring web
4851 pages by hijacking DNS domain should be decided by the courts, not the
4852 police. The DNS domain was seized by the Norwegian National Authority
4853 for Investigation and Prosecution of Economic and Environmental Crime
4854 a month ago. I hope this bring more paying members to NUUG to give
4855 the association the financial muscle needed to bring this case as far
4856 as it must go to stop this kind of DNS hijacking.&lt;/p&gt;
4857 </description>
4858 </item>
4859
4860 <item>
4861 <title>I.F. Stone - an inspiration for us all</title>
4862 <link>http://people.skolelinux.org/pere/blog/I_F__Stone___an_inspiration_for_us_all.html</link>
4863 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/I_F__Stone___an_inspiration_for_us_all.html</guid>
4864 <pubDate>Wed, 13 Apr 2016 21:20:00 +0200</pubDate>
4865 <description>&lt;p&gt;I first got to know I.F. Stone when I came across an article by Jon
4866 Schwarz on The Intercept
4867 &lt;a href=&quot;https://theintercept.com/2015/05/07/new-documentary-legacy-f-stone/&quot;&gt;about
4868 his extraordinary contribution to investigative journalism in
4869 USA&lt;/a&gt;. The article is about a new documentary in two parts
4870 (&lt;a href=&quot;https://vimeo.com/123974841&quot;&gt;part one is 12 minutes&lt;/a&gt; and
4871 &lt;a href=&quot;https://vimeo.com/123974842&quot;&gt;part two is 30 minutes&lt;/a&gt;), and
4872 I found both truly fascinating. It is amazing what he was able to
4873 find by digging up public sources and government papers. He
4874 documented lots of government abuse and cover ups, and I find
4875 &lt;a href=&quot;http://www.ifstone.org/weekly.php&quot;&gt;his weekly news letters&lt;/a&gt;
4876 inspiring to read even today.&lt;/p&gt;
4877
4878 &lt;p&gt;&lt;blockquote&gt;
4879 All governments are run by liars and nothing they say should be believed.
4880 &lt;br&gt;- I. F. Stone
4881 &lt;/blockquote&gt;&lt;/p&gt;
4882
4883 &lt;p&gt;His starting point was that reporters should not assume governments
4884 and corporations are telling the truth, but verify all their claims as
4885 much as possible. I wonder how many Norwegian reporters can be said
4886 to follow the principles of I. F. Stone. They are definitely in short
4887 supply. If you, like me half a year ago, have never heard of him,
4888 check him out.&lt;/p&gt;
4889 </description>
4890 </item>
4891
4892 <item>
4893 <title>A French paperback edition of the book Free Culture by Lawrence Lessig is now available</title>
4894 <link>http://people.skolelinux.org/pere/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html</link>
4895 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html</guid>
4896 <pubDate>Tue, 12 Apr 2016 10:40:00 +0200</pubDate>
4897 <description>&lt;p&gt;I&#39;m happy to report that
4898 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;the
4899 French paperback edition&lt;/a&gt; of
4900 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
4901 project to translate&lt;/a&gt; the &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free
4902 Culture&lt;/a&gt; book by Lawrence Lessig is now available for sale on
4903 Lulu.com. Once I have formally verified my proof reading copy, which
4904 should be in the mail, the paperback edition should be available in
4905 book stores like Amazon and Barnes &amp; Noble too.&lt;/p&gt;
4906
4907 &lt;p&gt;This French edition, Culture Libre, is the work of the
4908 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt; developer Benoît
4909 Guillon, who created the PO file from the initial translation
4910 available from
4911 &lt;a href=&quot;http://www.wikilivres.ca/wiki/Culture_libre&quot;&gt;the Wikilivres
4912 wiki pages&lt;/a&gt; and completed and corrected the translation to match
4913 the original docbook edition my project is using, as well as
4914 coordinated the proof reading of the final result. I believe the end
4915 result look great, but I am biased and do not read French. In
4916 addition to the paperback edition, the book is available in PDF, EPUB
4917 and Mobi format from the github project page linked to above.&lt;/p&gt;
4918
4919 &lt;p&gt;When enabling book store distribution on Lulu.com, I had to nearly
4920 triple the price to allow the book stores some profit. I also had to
4921 accept that I will get some revenue when a book is sold via Lulu.com.
4922 But because of the non-commercial clause in the book license
4923 (CC-BY-NC), this might be a problem. To bypass the problem I
4924 discussed how to handle the revenue with the author, and we agreed
4925 that the revenue for these editions go to the
4926 &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons non-profit
4927 Corporation&lt;/a&gt; who handle donations to the Creative Commons project.
4928 So far they have earned around USD 70 on sales of the
4929 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;English&lt;/a&gt;
4930 and
4931 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Norwegian
4932 Bokmål&lt;/a&gt; editions, according to Lulu.com. They will get the revenue
4933 for the French edition too. Their revenue is higher if you buy the
4934 book directly from Lulu.com instead of via a book store, so I
4935 recommend you buy directly from Lulu.com.&lt;/p&gt;
4936
4937 &lt;p&gt;Perhaps you would like to get the book published in your language?
4938 The translation is done using a web based translator service, so the
4939 technical bar to enter is fairly low. Get in touch if you would like
4940 to make this happen.&lt;/p&gt;
4941 </description>
4942 </item>
4943
4944 <item>
4945 <title>Lets make a Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook</title>
4946 <link>http://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html</link>
4947 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html</guid>
4948 <pubDate>Sun, 10 Apr 2016 23:20:00 +0200</pubDate>
4949 <description>&lt;p&gt;During this weekends
4950 &lt;a href=&quot;http://www.nuug.no/news/Oslo__Takk_for_feilfiksingsfesten.shtml&quot;&gt;bug
4951 squashing party and developer gathering&lt;/a&gt;, we decided to do our part
4952 to make sure there are good books about Debian available in Norwegian
4953 Bokmål, and got in touch with the people behind the
4954 &lt;a href=&quot;http://debian-handbook.info/&quot;&gt;Debian Administrator&#39;s Handbook
4955 project&lt;/a&gt; to get started. If you want to help out, please start
4956 contributing using
4957 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
4958 hosted weblate project page&lt;/a&gt;, and get in touch using
4959 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
4960 translators mailing list&lt;/a&gt;. Please also check out
4961 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
4962 contributors&lt;/a&gt;.&lt;/p&gt;
4963
4964 &lt;p&gt;The book is already available on paper in English, French and
4965 Japanese, and our goal is to get it available on paper in Norwegian
4966 Bokmål too. In addition to the paper edition, there are also EPUB and
4967 Mobi versions available. And there are incomplete translations
4968 available for many more languages.&lt;/p&gt;
4969 </description>
4970 </item>
4971
4972 <item>
4973 <title>One in two hundred Debian users using ZFS on Linux?</title>
4974 <link>http://people.skolelinux.org/pere/blog/One_in_two_hundred_Debian_users_using_ZFS_on_Linux_.html</link>
4975 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/One_in_two_hundred_Debian_users_using_ZFS_on_Linux_.html</guid>
4976 <pubDate>Thu, 7 Apr 2016 22:30:00 +0200</pubDate>
4977 <description>&lt;p&gt;Just for fun I had a look at the popcon number of ZFS related
4978 packages in Debian, and was quite surprised with what I found. I use
4979 ZFS myself at home, but did not really expect many others to do so.
4980 But I might be wrong.&lt;/p&gt;
4981
4982 &lt;p&gt;According to
4983 &lt;a href=&quot;https://qa.debian.org/popcon.php?package=spl-linux&quot;&gt;the popcon
4984 results for spl-linux&lt;/a&gt;, there are 1019 Debian installations, or
4985 0.53% of the population, with the package installed. As far as I know
4986 the only use of the spl-linux package is as a support library for ZFS
4987 on Linux, so I use it here as proxy for measuring the number of ZFS
4988 installation on Linux in Debian. In the kFreeBSD variant of Debian
4989 the ZFS feature is already available, and there
4990 &lt;a href=&quot;https://qa.debian.org/popcon.php?package=zfsutils&quot;&gt;the popcon
4991 results for zfsutils&lt;/a&gt; show 1625 Debian installations or 0.84% of
4992 the population. So I guess I am not alone in using ZFS on Debian.&lt;/p&gt;
4993
4994 &lt;p&gt;But even though the Debian project leader Lucas Nussbaum
4995 &lt;a href=&quot;https://lists.debian.org/debian-devel-announce/2015/04/msg00006.html&quot;&gt;announced
4996 in April 2015&lt;/a&gt; that the legal obstacles blocking ZFS on Debian were
4997 cleared, the package is still not in Debian. The package is again in
4998 the NEW queue. Several uploads have been rejected so far because the
4999 debian/copyright file was incomplete or wrong, but there is no reason
5000 to give up. The current status can be seen on
5001 &lt;a href=&quot;https://qa.debian.org/developer.php?login=pkg-zfsonlinux-devel@lists.alioth.debian.org&quot;&gt;the
5002 team status page&lt;/a&gt;, and
5003 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/zfs.git&quot;&gt;the
5004 source code&lt;/a&gt; is available on Alioth.&lt;/p&gt;
5005
5006 &lt;p&gt;As I want ZFS to be included in next version of Debian to make sure
5007 my home server can function in the future using only official Debian
5008 packages, and the current blocker is to get the debian/copyright file
5009 accepted by the FTP masters in Debian, I decided a while back to try
5010 to help out the team. This was the background for my blog post about
5011 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html&quot;&gt;creating,
5012 updating and checking debian/copyright semi-automatically&lt;/a&gt;, and I
5013 used the techniques I explored there to try to find any errors in the
5014 copyright file. It is not very easy to check every one of the around
5015 2000 files in the source package, but I hope we this time got it
5016 right. If you want to help out, check out the git source and try to
5017 find missing entries in the debian/copyright file.&lt;/p&gt;
5018 </description>
5019 </item>
5020
5021 <item>
5022 <title>syslog-trusted-timestamp - chain of trusted timestamps for your syslog</title>
5023 <link>http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html</link>
5024 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html</guid>
5025 <pubDate>Sat, 2 Apr 2016 09:50:00 +0200</pubDate>
5026 <description>&lt;p&gt;Two years ago, I had
5027 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html&quot;&gt;a
5028 look at trusted timestamping options available&lt;/a&gt;, and among
5029 other things noted a still open
5030 &lt;a href=&quot;https://bugs.debian.org/742553&quot;&gt;bug in the tsget script&lt;/a&gt;
5031 included in openssl that made it harder than necessary to use openssl
5032 as a trusted timestamping client. A few days ago I was told
5033 &lt;a href=&quot;https:/www.difi.no/&quot;&gt;the Norwegian government office DIFI&lt;/a&gt; is
5034 close to releasing their own trusted timestamp service, and in the
5035 process I was happy to learn about a replacement for the tsget script
5036 using only curl:&lt;/p&gt;
5037
5038 &lt;p&gt;&lt;pre&gt;
5039 openssl ts -query -data &quot;/etc/shells&quot; -cert -sha256 -no_nonce \
5040 | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
5041 --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; etc-shells.tsr
5042 openssl ts -reply -text -in etc-shells.tsr
5043 &lt;/pre&gt;&lt;/p&gt;
5044
5045 &lt;p&gt;This produces a binary timestamp file (etc-shells.tsr) which can be
5046 used to verify that the content of the file /etc/shell with the
5047 calculated sha256 hash existed at the point in time when the request
5048 was made. The last command extract the content of the etc-shells.tsr
5049 in human readable form. The idea behind such timestamp is to be able
5050 to prove using cryptography that the content of a file have not
5051 changed since the file was stamped.&lt;/p&gt;
5052
5053 &lt;p&gt;To verify that the file on disk match the public key signature in
5054 the timestamp file, run the following commands. It make sure you have
5055 the required certificate for the trusted timestamp service available
5056 and use it to compare the file content with the timestamp. In
5057 production, one should of course use a better method to verify the
5058 service certificate.&lt;/p&gt;
5059
5060 &lt;p&gt;&lt;pre&gt;
5061 wget -O ca-cert.txt https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
5062 openssl ts -verify -data /etc/shells -in etc-shells.tsr -CAfile ca-cert.txt -text
5063 &lt;/pre&gt;&lt;/p&gt;
5064
5065 &lt;p&gt;Wikipedia have a lot more information about
5066 &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
5067 Timestamping&lt;/a&gt; and
5068 &lt;a href=&quot;https://en.wikipedia.org/wiki/Linked_timestamping&quot;&gt;linked
5069 timestamping&lt;/a&gt;, and there are several trusted timestamping services
5070 around, both as commercial services and as free and public services.
5071 Among the latter is
5072 &lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;the
5073 zeitstempel.dfn.de service&lt;/a&gt; mentioned above and
5074 &lt;a href=&quot;https://freetsa.org/&quot;&gt;freetsa.org service&lt;/a&gt; linked to from the
5075 wikipedia web site. I believe the DIFI service should show up on
5076 https://tsa.difi.no, but it is not available to the public at the
5077 moment. I hope this will change when it is into production. The
5078 &lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;RFC 3161&lt;/a&gt; trusted
5079 timestamping protocol standard is even implemented in LibreOffice,
5080 Microsoft Office and Adobe Acrobat, making it possible to verify when
5081 a document was created.&lt;/p&gt;
5082
5083 &lt;p&gt;I would find it useful to be able to use such trusted timestamp
5084 service to make it possible to verify that my stored syslog files have
5085 not been tampered with. This is not a new idea. I found one example
5086 implemented on the Endian network appliances where
5087 &lt;a href=&quot;http://help.endian.com/entries/21518508-Enabling-Timestamping-on-log-files-&quot;&gt;the
5088 configuration of such feature was described in 2012&lt;/a&gt;.&lt;/p&gt;
5089
5090 &lt;p&gt;But I could not find any free implementation of such feature when I
5091 searched, so I decided to try to
5092 &lt;a href=&quot;https://github.com/petterreinholdtsen/syslog-trusted-timestamp&quot;&gt;build
5093 a prototype named syslog-trusted-timestamp&lt;/a&gt;. My idea is to
5094 generate a timestamp of the old log files after they are rotated, and
5095 store the timestamp in the new log file just after rotation. This
5096 will form a chain that would make it possible to see if any old log
5097 files are tampered with. But syslog is bad at handling kilobytes of
5098 binary data, so I decided to base64 encode the timestamp and add an ID
5099 and line sequence numbers to the base64 data to make it possible to
5100 reassemble the timestamp file again. To use it, simply run it like
5101 this:
5102
5103 &lt;p&gt;&lt;pre&gt;
5104 syslog-trusted-timestamp /path/to/list-of-log-files
5105 &lt;/pre&gt;&lt;/p&gt;
5106
5107 &lt;p&gt;This will send a timestamp from one or more timestamp services (not
5108 yet decided nor implemented) for each listed file to the syslog using
5109 logger(1). To verify the timestamp, the same program is used with the
5110 --verify option:&lt;/p&gt;
5111
5112 &lt;p&gt;&lt;pre&gt;
5113 syslog-trusted-timestamp --verify /path/to/log-file /path/to/log-with-timestamp
5114 &lt;/pre&gt;&lt;/p&gt;
5115
5116 &lt;p&gt;The verification step is not yet well designed. The current
5117 implementation depend on the file path being unique and unchanging,
5118 and this is not a solid assumption. It also uses process number as
5119 timestamp ID, and this is bound to create ID collisions. I hope to
5120 have time to come up with a better way to handle timestamp IDs and
5121 verification later.&lt;/p&gt;
5122
5123 &lt;p&gt;Please check out
5124 &lt;a href=&quot;https://github.com/petterreinholdtsen/syslog-trusted-timestamp&quot;&gt;the
5125 prototype for syslog-trusted-timestamp on github&lt;/a&gt; and send
5126 suggestions and improvement, or let me know if there already exist a
5127 similar system for timestamping logs already to allow me to join
5128 forces with others with the same interest.&lt;/p&gt;
5129
5130 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5131 activities, please send Bitcoin donations to my address
5132 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5133 </description>
5134 </item>
5135
5136 <item>
5137 <title>Full battery stats collector is now available in Debian</title>
5138 <link>http://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html</link>
5139 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html</guid>
5140 <pubDate>Wed, 23 Mar 2016 22:10:00 +0100</pubDate>
5141 <description>&lt;p&gt;Since this morning, the battery-stats package in Debian include an
5142 extended collector that will collect the complete battery history for
5143 later processing and graphing. The original collector store the
5144 battery level as percentage of last full level, while the new
5145 collector also record battery vendor, model, serial number, design
5146 full level, last full level and current battery level. This make it
5147 possible to predict the lifetime of the battery as well as visualise
5148 the energy flow when the battery is charging or discharging.&lt;/p&gt;
5149
5150 &lt;p&gt;The new tools are available in &lt;tt&gt;/usr/share/battery-stats/&lt;/tt&gt;
5151 in the version 0.5.1 package in unstable. Get the new battery level graph
5152 and lifetime prediction by running:
5153
5154 &lt;p&gt;&lt;pre&gt;
5155 /usr/share/battery-stats/battery-stats-graph /var/log/battery-stats.csv
5156 &lt;/pre&gt;&lt;/p&gt;
5157
5158 &lt;p&gt;Or select the &#39;Battery Level Graph&#39; from your application menu.&lt;/p&gt;
5159
5160 &lt;p&gt;The flow in/out of the battery can be seen by running (no menu
5161 entry yet):&lt;/p&gt;
5162
5163 &lt;p&gt;&lt;pre&gt;
5164 /usr/share/battery-stats/battery-stats-graph-flow
5165 &lt;/pre&gt;&lt;/p&gt;
5166
5167 &lt;p&gt;I&#39;m not quite happy with the way the data is visualised, at least
5168 when there are few data points. The graphs look a bit better with a
5169 few years of data.&lt;/p&gt;
5170
5171 &lt;p&gt;A while back one important feature I use in the battery stats
5172 collector broke in Debian. The scripts in
5173 &lt;tt&gt;/usr/lib/pm-utils/power.d/&lt;/tt&gt; were no longer executed. I
5174 suspect it happened when Jessie started using systemd, but I do not
5175 know. The issue is reported as
5176 &lt;a href=&quot;https://bugs.debian.org/818649&quot;&gt;bug #818649&lt;/a&gt; against
5177 pm-utils. I managed to work around it by adding an udev rule to call
5178 the collector script every time the power connector is connected and
5179 disconnected. With this fix in place it was finally time to make a
5180 new release of the package, and get it into Debian.&lt;/p&gt;
5181
5182 &lt;p&gt;If you are interested in how your laptop battery is doing, please
5183 check out the
5184 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;
5185 in Debian unstable, or rebuild it on Jessie to get it working on
5186 Debian stable. :) The upstream source is available from
5187 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
5188 As always, patches are very welcome.&lt;/p&gt;
5189 </description>
5190 </item>
5191
5192 <item>
5193 <title>UsingQR - &quot;Electronic&quot; paper invoices using JSON and QR codes</title>
5194 <link>http://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html</link>
5195 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html</guid>
5196 <pubDate>Sat, 19 Mar 2016 09:40:00 +0100</pubDate>
5197 <description>&lt;p&gt;Back in 2013 I proposed
5198 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html&quot;&gt;a
5199 way to make paper and PDF invoices easier to process electronically by
5200 adding a QR code with the key information about the invoice&lt;/a&gt;. I
5201 suggested using vCard field definition, to get some standard format
5202 for name and address, but any format would work. I did not do
5203 anything about the proposal, but hoped someone one day would make
5204 something like it. It would make it possible to efficiently send
5205 machine readable invoices directly between seller and buyer.&lt;/p&gt;
5206
5207 &lt;p&gt;This was the background when I came across a proposal and
5208 specification from the web based accounting and invoicing supplier
5209 &lt;a href=&quot;http://www.visma.com/&quot;&gt;Visma&lt;/a&gt; in Sweden called
5210 &lt;a href=&quot;http://usingqr.com/&quot;&gt;UsingQR&lt;/a&gt;. Their PDF invoices contain
5211 a QR code with the key information of the invoice in JSON format.
5212 This is the typical content of a QR code following the UsingQR
5213 specification (based on a real world example, some numbers replaced to
5214 get a more bogus entry). I&#39;ve reformatted the JSON to make it easier
5215 to read. Normally this is all on one long line:&lt;/p&gt;
5216
5217 &lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2016-03-19-qr-invoice.png&quot; align=&quot;right&quot;&gt;&lt;pre&gt;
5218 {
5219 &quot;vh&quot;:500.00,
5220 &quot;vm&quot;:0,
5221 &quot;vl&quot;:0,
5222 &quot;uqr&quot;:1,
5223 &quot;tp&quot;:1,
5224 &quot;nme&quot;:&quot;Din Leverandør&quot;,
5225 &quot;cc&quot;:&quot;NO&quot;,
5226 &quot;cid&quot;:&quot;997912345 MVA&quot;,
5227 &quot;iref&quot;:&quot;12300001&quot;,
5228 &quot;idt&quot;:&quot;20151022&quot;,
5229 &quot;ddt&quot;:&quot;20151105&quot;,
5230 &quot;due&quot;:2500.0000,
5231 &quot;cur&quot;:&quot;NOK&quot;,
5232 &quot;pt&quot;:&quot;BBAN&quot;,
5233 &quot;acc&quot;:&quot;17202612345&quot;,
5234 &quot;bc&quot;:&quot;BIENNOK1&quot;,
5235 &quot;adr&quot;:&quot;0313 OSLO&quot;
5236 }
5237 &lt;/pre&gt;&lt;/p&gt;
5238
5239 &lt;/p&gt;The interpretation of the fields can be found in the
5240 &lt;a href=&quot;http://usingqr.com/wp-content/uploads/2014/06/UsingQR_specification1.pdf&quot;&gt;format
5241 specification&lt;/a&gt; (revision 2 from june 2014). The format seem to
5242 have most of the information needed to handle accounting and payment
5243 of invoices, at least the fields I have needed so far here in
5244 Norway.&lt;/p&gt;
5245
5246 &lt;p&gt;Unfortunately, the site and document do not mention anything about
5247 the patent, trademark and copyright status of the format and the
5248 specification. Because of this, I asked the people behind it back in
5249 November to clarify. Ann-Christine Savlid (ann-christine.savlid (at)
5250 visma.com) replied that Visma had not applied for patent or trademark
5251 protection for this format, and that there were no copyright based
5252 usage limitations for the format. I urged her to make sure this was
5253 explicitly written on the web pages and in the specification, but
5254 unfortunately this has not happened yet. So I guess if there is
5255 submarine patents, hidden trademarks or a will to sue for copyright
5256 infringements, those starting to use the UsingQR format might be at
5257 risk, but if this happen there is some legal defense in the fact that
5258 the people behind the format claimed it was safe to do so. At least
5259 with patents, there is always
5260 &lt;a href=&quot;http://www.paperspecs.com/paper-news/beware-the-qr-code-patent-trap/&quot;&gt;a
5261 chance of getting sued...&lt;/a&gt;&lt;/p&gt;
5262
5263 &lt;p&gt;I also asked if they planned to maintain the format in an
5264 independent standard organization to give others more confidence that
5265 they would participate in the standardization process on equal terms
5266 with Visma, but they had no immediate plans for this. Their plan was
5267 to work with banks to try to get more users of the format, and
5268 evaluate the way forward if the format proved to be popular. I hope
5269 they conclude that using an open standard organisation like
5270 &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; is the correct place to
5271 maintain such specification.&lt;/p&gt;
5272
5273 &lt;p&gt;&lt;strong&gt;Update 2016-03-20&lt;/strong&gt;: Via Twitter I became aware of
5274 &lt;a href=&quot;https://news.ycombinator.com/item?id=11319492&quot;&gt;some comments
5275 about this blog post&lt;/a&gt; that had several useful links and references to
5276 similar systems. In the Czech republic, the Czech Banking Association
5277 standard #26, with short name SPAYD, uses QR codes with payment
5278 information. More information is available from the Wikipedia page on
5279 &lt;a href=&quot;https://en.wikipedia.org/wiki/Short_Payment_Descriptor&quot;&gt;Short
5280 Payment Descriptor&lt;/a&gt;. And in Germany, there is a system named
5281 &lt;a href=&quot;http://www.bezahlcode.de/&quot;&gt;BezahlCode&lt;/a&gt;,
5282 (&lt;a href=&quot;http://www.bezahlcode.de/wp-content/uploads/BezahlCode_TechDok.pdf&quot;&gt;specification
5283 v1.8 2013-12-05 available as PDF&lt;/a&gt;), which uses QR codes with
5284 URL-like formatting using &quot;bank:&quot; as the URI schema/protocol to
5285 provide the payment information. There is also the
5286 &lt;a href=&quot;http://www.ferd-net.de/front_content.php?idcat=231&quot;&gt;ZUGFeRD&lt;/a&gt;
5287 file format that perhaps could be transfered using QR codes, but I am
5288 not sure if it is done already. Last, in Bolivia there are reports
5289 that tax information since november 2014 need to be printed in QR
5290 format on invoices. I have not been able to track down a
5291 specification for this format, because of my limited language skill
5292 sets.&lt;/p&gt;
5293 </description>
5294 </item>
5295
5296 <item>
5297 <title>Making battery measurements a little easier in Debian</title>
5298 <link>http://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html</link>
5299 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html</guid>
5300 <pubDate>Tue, 15 Mar 2016 15:00:00 +0100</pubDate>
5301 <description>&lt;p&gt;Back in September, I blogged about
5302 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html&quot;&gt;the
5303 system I wrote to collect statistics about my laptop battery&lt;/a&gt;, and
5304 how it showed the decay and death of this battery (now replaced). I
5305 created a simple deb package to handle the collection and graphing,
5306 but did not want to upload it to Debian as there were already
5307 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;a battery-stats
5308 package in Debian&lt;/a&gt; that should do the same thing, and I did not see
5309 a point of uploading a competing package when battery-stats could be
5310 fixed instead. I reported a few bugs about its non-function, and
5311 hoped someone would step in and fix it. But no-one did.&lt;/p&gt;
5312
5313 &lt;p&gt;I got tired of waiting a few days ago, and took matters in my own
5314 hands. The end result is that I am now the new upstream developer of
5315 battery stats (&lt;a href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;available from github&lt;/a&gt;) and part of the team maintaining
5316 battery-stats in Debian, and the package in Debian unstable is finally
5317 able to collect battery status using the &lt;tt&gt;/sys/class/power_supply/&lt;/tt&gt;
5318 information provided by the Linux kernel. If you install the
5319 battery-stats package from unstable now, you will be able to get a
5320 graph of the current battery fill level, to get some idea about the
5321 status of the battery. The source package build and work just fine in
5322 Debian testing and stable (and probably oldstable too, but I have not
5323 tested). The default graph you get for that system look like this:&lt;/p&gt;
5324
5325 &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2016-03-15-battery-stats-graph-example.png&quot; width=&quot;70%&quot; align=&quot;center&quot;&gt;&lt;/p&gt;
5326
5327 &lt;p&gt;My plans for the future is to merge my old scripts into the
5328 battery-stats package, as my old scripts collected a lot more details
5329 about the battery. The scripts are merged into the upstream
5330 battery-stats git repository already, but I am not convinced they work
5331 yet, as I changed a lot of paths along the way. Will have to test a
5332 bit more before I make a new release.&lt;/p&gt;
5333
5334 &lt;p&gt;I will also consider changing the file format slightly, as I
5335 suspect the way I combine several values into one field might make it
5336 impossible to know the type of the value when using it for processing
5337 and graphing.&lt;/p&gt;
5338
5339 &lt;p&gt;If you would like I would like to keep an close eye on your laptop
5340 battery, check out the battery-stats package in
5341 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;Debian&lt;/a&gt; and
5342 on
5343 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
5344 I would love some help to improve the system further.&lt;/p&gt;
5345 </description>
5346 </item>
5347
5348 <item>
5349 <title>Creating, updating and checking debian/copyright semi-automatically</title>
5350 <link>http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html</link>
5351 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html</guid>
5352 <pubDate>Fri, 19 Feb 2016 15:00:00 +0100</pubDate>
5353 <description>&lt;p&gt;Making packages for Debian requires quite a lot of attention to
5354 details. And one of the details is the content of the
5355 debian/copyright file, which should list all relevant licenses used by
5356 the code in the package in question, preferably in
5357 &lt;a href=&quot;https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/&quot;&gt;machine
5358 readable DEP5 format&lt;/a&gt;.&lt;/p&gt;
5359
5360 &lt;p&gt;For large packages with lots of contributors it is hard to write
5361 and update this file manually, and if you get some detail wrong, the
5362 package is normally rejected by the ftpmasters. So getting it right
5363 the first time around get the package into Debian faster, and save
5364 both you and the ftpmasters some work.. Today, while trying to figure
5365 out what was wrong with
5366 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447&quot;&gt;the
5367 zfsonlinux copyright file&lt;/a&gt;, I decided to spend some time on
5368 figuring out the options for doing this job automatically, or at least
5369 semi-automatically.&lt;/p&gt;
5370
5371 &lt;p&gt;Lucikly, there are at least two tools available for generating the
5372 file based on the code in the source package,
5373 &lt;tt&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/debmake&quot;&gt;debmake&lt;/a&gt;&lt;/tt&gt;
5374 and &lt;tt&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/cme&quot;&gt;cme&lt;/a&gt;&lt;/tt&gt;. I&#39;m
5375 not sure which one of them came first, but both seem to be able to
5376 create a sensible draft file. As far as I can tell, none of them can
5377 be trusted to get the result just right, so the content need to be
5378 polished a bit before the file is OK to upload. I found the debmake
5379 option in
5380 &lt;a href=&quot;http://goofying-with-debian.blogspot.com/2014/07/debmake-checking-source-against-dep-5.html&quot;&gt;a
5381 blog posts from 2014&lt;/a&gt;.
5382
5383 &lt;p&gt;To generate using debmake, use the -cc option:
5384
5385 &lt;p&gt;&lt;pre&gt;
5386 debmake -cc &gt; debian/copyright
5387 &lt;/pre&gt;&lt;/p&gt;
5388
5389 &lt;p&gt;Note there are some problems with python and non-ASCII names, so
5390 this might not be the best option.&lt;/p&gt;
5391
5392 &lt;p&gt;The cme option is based on a config parsing library, and I found
5393 this approach in
5394 &lt;a href=&quot;https://ddumont.wordpress.com/2015/04/05/improving-creation-of-debian-copyright-file/&quot;&gt;a
5395 blog post from 2015&lt;/a&gt;. To generate using cme, use the &#39;update
5396 dpkg-copyright&#39; option:
5397
5398 &lt;p&gt;&lt;pre&gt;
5399 cme update dpkg-copyright
5400 &lt;/pre&gt;&lt;/p&gt;
5401
5402 &lt;p&gt;This will create or update debian/copyright. The cme tool seem to
5403 handle UTF-8 names better than debmake.&lt;/p&gt;
5404
5405 &lt;p&gt;When the copyright file is created, I would also like some help to
5406 check if the file is correct. For this I found two good options,
5407 &lt;tt&gt;debmake -k&lt;/tt&gt; and &lt;tt&gt;license-reconcile&lt;/tt&gt;. The former seem
5408 to focus on license types and file matching, and is able to detect
5409 ineffective blocks in the copyright file. The latter reports missing
5410 copyright holders and years, but was confused by inconsistent license
5411 names (like CDDL vs. CDDL-1.0). I suspect it is good to use both and
5412 fix all issues reported by them before uploading. But I do not know
5413 if the tools and the ftpmasters agree on what is important to fix in a
5414 copyright file, so the package might still be rejected.&lt;/p&gt;
5415
5416 &lt;p&gt;The devscripts tool &lt;tt&gt;licensecheck&lt;/tt&gt; deserve mentioning. It
5417 will read through the source and try to find all copyright statements.
5418 It is not comparing the result to the content of debian/copyright, but
5419 can be useful when verifying the content of the copyright file.&lt;/p&gt;
5420
5421 &lt;p&gt;Are you aware of better tools in Debian to create and update
5422 debian/copyright file. Please let me know, or blog about it on
5423 planet.debian.org.&lt;/p&gt;
5424
5425 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5426 activities, please send Bitcoin donations to my address
5427 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5428
5429 &lt;p&gt;&lt;strong&gt;Update 2016-02-20&lt;/strong&gt;: I got a tip from Mike Gabriel
5430 on how to use licensecheck and cdbs to create a draft copyright file
5431
5432 &lt;p&gt;&lt;pre&gt;
5433 licensecheck --copyright -r `find * -type f` | \
5434 /usr/lib/cdbs/licensecheck2dep5 &gt; debian/copyright.auto
5435 &lt;/pre&gt;&lt;/p&gt;
5436
5437 &lt;p&gt;He mentioned that he normally check the generated file into the
5438 version control system to make it easier to discover license and
5439 copyright changes in the upstream source. I will try to do the same
5440 with my packages in the future.&lt;/p&gt;
5441
5442 &lt;p&gt;&lt;strong&gt;Update 2016-02-21&lt;/strong&gt;: The cme author recommended
5443 against using -quiet for new users, so I removed it from the proposed
5444 command line.&lt;/p&gt;
5445 </description>
5446 </item>
5447
5448 <item>
5449 <title>Using appstream in Debian to locate packages with firmware and mime type support</title>
5450 <link>http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</link>
5451 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</guid>
5452 <pubDate>Thu, 4 Feb 2016 16:40:00 +0100</pubDate>
5453 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;appstream system&lt;/a&gt;
5454 is taking shape in Debian, and one provided feature is a very
5455 convenient way to tell you which package to install to make a given
5456 firmware file available when the kernel is looking for it. This can
5457 be done using apt-file too, but that is for someone else to blog
5458 about. :)&lt;/p&gt;
5459
5460 &lt;p&gt;Here is a small recipe to find the package with a given firmware
5461 file, in this example I am looking for ctfw-3.2.3.0.bin, randomly
5462 picked from the set of firmware announced using appstream in Debian
5463 unstable. In general you would be looking for the firmware requested
5464 by the kernel during kernel module loading. To find the package
5465 providing the example file, do like this:&lt;/p&gt;
5466
5467 &lt;blockquote&gt;&lt;pre&gt;
5468 % apt install appstream
5469 [...]
5470 % apt update
5471 [...]
5472 % appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \
5473 awk &#39;/Package:/ {print $2}&#39;
5474 firmware-qlogic
5475 %
5476 &lt;/pre&gt;&lt;/blockquote&gt;
5477
5478 &lt;p&gt;See &lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;the
5479 appstream wiki&lt;/a&gt; page to learn how to embed the package metadata in
5480 a way appstream can use.&lt;/p&gt;
5481
5482 &lt;p&gt;This same approach can be used to find any package supporting a
5483 given MIME type. This is very useful when you get a file you do not
5484 know how to handle. First find the mime type using &lt;tt&gt;file
5485 --mime-type&lt;/tt&gt;, and next look up the package providing support for
5486 it. Lets say you got an SVG file. Its MIME type is image/svg+xml,
5487 and you can find all packages handling this type like this:&lt;/p&gt;
5488
5489 &lt;blockquote&gt;&lt;pre&gt;
5490 % apt install appstream
5491 [...]
5492 % apt update
5493 [...]
5494 % appstreamcli what-provides mimetype image/svg+xml | \
5495 awk &#39;/Package:/ {print $2}&#39;
5496 bkchem
5497 phototonic
5498 inkscape
5499 shutter
5500 tetzle
5501 geeqie
5502 xia
5503 pinta
5504 gthumb
5505 karbon
5506 comix
5507 mirage
5508 viewnior
5509 postr
5510 ristretto
5511 kolourpaint4
5512 eog
5513 eom
5514 gimagereader
5515 midori
5516 %
5517 &lt;/pre&gt;&lt;/blockquote&gt;
5518
5519 &lt;p&gt;I believe the MIME types are fetched from the desktop file for
5520 packages providing appstream metadata.&lt;/p&gt;
5521 </description>
5522 </item>
5523
5524 <item>
5525 <title>Creepy, visualise geotagged social media information - nice free software</title>
5526 <link>http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</link>
5527 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</guid>
5528 <pubDate>Sun, 24 Jan 2016 10:50:00 +0100</pubDate>
5529 <description>&lt;p&gt;Most people seem not to realise that every time they walk around
5530 with the computerised radio beacon known as a mobile phone their
5531 position is tracked by the phone company and often stored for a long
5532 time (like every time a SMS is received or sent). And if their
5533 computerised radio beacon is capable of running programs (often called
5534 mobile apps) downloaded from the Internet, these programs are often
5535 also capable of tracking their location (if the app requested access
5536 during installation). And when these programs send out information to
5537 central collection points, the location is often included, unless
5538 extra care is taken to not send the location. The provided
5539 information is used by several entities, for good and bad (what is
5540 good and bad, depend on your point of view). What is certain, is that
5541 the private sphere and the right to free movement is challenged and
5542 perhaps even eradicated for those announcing their location this way,
5543 when they share their whereabouts with private and public
5544 entities.&lt;/p&gt;
5545
5546 &lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2016-01-24-nice-creepy-desktop-window.png&quot;&gt;&lt;/p&gt;
5547
5548 &lt;p&gt;The phone company logs provide a register of locations to check out
5549 when one want to figure out what the tracked person was doing. It is
5550 unavailable for most of us, but provided to selected government
5551 officials, company staff, those illegally buying information from
5552 unfaithful servants and crackers stealing the information. But the
5553 public information can be collected and analysed, and a free software
5554 tool to do so is called
5555 &lt;a href=&quot;http://www.geocreepy.com/&quot;&gt;Creepy or Cree.py&lt;/a&gt;. I
5556 discovered it when I read
5557 &lt;a href=&quot;http://www.aftenposten.no/kultur/Slik-kan-du-bli-overvaket-pa-Twitter-og-Instagram-uten-a-ane-det-7787884.html&quot;&gt;an
5558 article about Creepy&lt;/a&gt; in the Norwegian newspaper Aftenposten i
5559 November 2014, and decided to check if it was available in Debian.
5560 The python program was in Debian, but
5561 &lt;a href=&quot;https://tracker.debian.org/pkg/creepy&quot;&gt;the version in
5562 Debian&lt;/a&gt; was completely broken and practically unmaintained. I
5563 uploaded a new version which did not work quite right, but did not
5564 have time to fix it then. This Christmas I decided to finally try to
5565 get Creepy operational in Debian. Now a fixed version is available in
5566 Debian unstable and testing, and almost all Debian specific patches
5567 are now included
5568 &lt;a href=&quot;https://github.com/jkakavas/creepy&quot;&gt;upstream&lt;/a&gt;.&lt;/p&gt;
5569
5570 &lt;p&gt;The Creepy program visualises geolocation information fetched from
5571 Twitter, Instagram, Flickr and Google+, and allow one to get a
5572 complete picture of every social media message posted recently in a
5573 given area, or track the movement of a given individual across all
5574 these services. Earlier it was possible to use the search API of at
5575 least some of these services without identifying oneself, but these
5576 days it is impossible. This mean that to use Creepy, you need to
5577 configure it to log in as yourself on these services, and provide
5578 information to them about your search interests. This should be taken
5579 into account when using Creepy, as it will also share information
5580 about yourself with the services.&lt;/p&gt;
5581
5582 &lt;p&gt;The picture above show the twitter messages sent from (or at least
5583 geotagged with a position from) the city centre of Oslo, the capital
5584 of Norway. One useful way to use Creepy is to first look at
5585 information tagged with an area of interest, and next look at all the
5586 information provided by one or more individuals who was in the area.
5587 I tested it by checking out which celebrity provide their location in
5588 twitter messages by checkout out who sent twitter messages near a
5589 Norwegian TV station, and next could track their position over time,
5590 making it possible to locate their home and work place, among other
5591 things. A similar technique have been
5592 &lt;a href=&quot;http://www.buzzfeed.com/maxseddon/does-this-soldiers-instagram-account-prove-russia-is-covertl&quot;&gt;used
5593 to locate Russian soldiers in Ukraine&lt;/a&gt;, and it is both a powerful
5594 tool to discover lying governments, and a useful tool to help people
5595 understand the value of the private information they provide to the
5596 public.&lt;/p&gt;
5597
5598 &lt;p&gt;The package is not trivial to backport to Debian Stable/Jessie, as
5599 it depend on several python modules currently missing in Jessie (at
5600 least python-instagram, python-flickrapi and
5601 python-requests-toolbelt).&lt;/p&gt;
5602
5603 &lt;p&gt;(I have uploaded
5604 &lt;a href=&quot;https://screenshots.debian.net/package/creepy&quot;&gt;the image to
5605 screenshots.debian.net&lt;/a&gt; and licensed it under the same terms as the
5606 Creepy program in Debian.)&lt;/p&gt;
5607 </description>
5608 </item>
5609
5610 <item>
5611 <title>Always download Debian packages using Tor - the simple recipe</title>
5612 <link>http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html</link>
5613 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html</guid>
5614 <pubDate>Fri, 15 Jan 2016 00:30:00 +0100</pubDate>
5615 <description>&lt;p&gt;During his DebConf15 keynote, Jacob Appelbaum
5616 &lt;a href=&quot;https://summit.debconf.org/debconf15/meeting/331/what-is-to-be-done/&quot;&gt;observed
5617 that those listening on the Internet lines would have good reason to
5618 believe a computer have a given security hole&lt;/a&gt; if it download a
5619 security fix from a Debian mirror. This is a good reason to always
5620 use encrypted connections to the Debian mirror, to make sure those
5621 listening do not know which IP address to attack. In August, Richard
5622 Hartmann observed that encryption was not enough, when it was possible
5623 to interfere download size to security patches or the fact that
5624 download took place shortly after a security fix was released, and
5625 &lt;a href=&quot;http://richardhartmann.de/blog/posts/2015/08/24-Tor-enabled_Debian_mirror/&quot;&gt;proposed
5626 to always use Tor to download packages from the Debian mirror&lt;/a&gt;. He
5627 was not the first to propose this, as the
5628 &lt;tt&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/apt-transport-tor&quot;&gt;apt-transport-tor&lt;/a&gt;&lt;/tt&gt;
5629 package by Tim Retout already existed to make it easy to convince apt
5630 to use &lt;a href=&quot;https://www.torproject.org/&quot;&gt;Tor&lt;/a&gt;, but I was not
5631 aware of that package when I read the blog post from Richard.&lt;/p&gt;
5632
5633 &lt;p&gt;Richard discussed the idea with Peter Palfrader, one of the Debian
5634 sysadmins, and he set up a Tor hidden service on one of the central
5635 Debian mirrors using the address vwakviie2ienjx6t.onion, thus making
5636 it possible to download packages directly between two tor nodes,
5637 making sure the network traffic always were encrypted.&lt;/p&gt;
5638
5639 &lt;p&gt;Here is a short recipe for enabling this on your machine, by
5640 installing &lt;tt&gt;apt-transport-tor&lt;/tt&gt; and replacing http and https
5641 urls with tor+http and tor+https, and using the hidden service instead
5642 of the official Debian mirror site. I recommend installing
5643 &lt;tt&gt;etckeeper&lt;/tt&gt; before you start to have a history of the changes
5644 done in /etc/.&lt;/p&gt;
5645
5646 &lt;blockquote&gt;&lt;pre&gt;
5647 apt install apt-transport-tor
5648 sed -i &#39;s% http://ftp.debian.org/% tor+http://vwakviie2ienjx6t.onion/%&#39; /etc/apt/sources.list
5649 sed -i &#39;s% http% tor+http%&#39; /etc/apt/sources.list
5650 &lt;/pre&gt;&lt;/blockquote&gt;
5651
5652 &lt;p&gt;If you have more sources listed in /etc/apt/sources.list.d/, run
5653 the sed commands for these too. The sed command is assuming your are
5654 using the ftp.debian.org Debian mirror. Adjust the command (or just
5655 edit the file manually) to match your mirror.&lt;/p&gt;
5656
5657 &lt;p&gt;This work in Debian Jessie and later. Note that tools like
5658 &lt;tt&gt;apt-file&lt;/tt&gt; only recently started using the apt transport
5659 system, and do not work with these tor+http URLs. For
5660 &lt;tt&gt;apt-file&lt;/tt&gt; you need the version currently in experimental,
5661 which need a recent apt version currently only in unstable. So if you
5662 need a working &lt;tt&gt;apt-file&lt;/tt&gt;, this is not for you.&lt;/p&gt;
5663
5664 &lt;p&gt;Another advantage from this change is that your machine will start
5665 using Tor regularly and at fairly random intervals (every time you
5666 update the package lists or upgrade or install a new package), thus
5667 masking other Tor traffic done from the same machine. Using Tor will
5668 become normal for the machine in question.&lt;/p&gt;
5669
5670 &lt;p&gt;On &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox&lt;/a&gt;, APT
5671 is set up by default to use &lt;tt&gt;apt-transport-tor&lt;/tt&gt; when Tor is
5672 enabled. It would be great if it was the default on any Debian
5673 system.&lt;/p&gt;
5674 </description>
5675 </item>
5676
5677 <item>
5678 <title>OpenALPR, find car license plates in video streams - nice free software</title>
5679 <link>http://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html</link>
5680 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html</guid>
5681 <pubDate>Wed, 23 Dec 2015 01:00:00 +0100</pubDate>
5682 <description>&lt;p&gt;When I was a kid, we used to collect &quot;car numbers&quot;, as we used to
5683 call the car license plate numbers in those days. I would write the
5684 numbers down in my little book and compare notes with the other kids
5685 to see how many region codes we had seen and if we had seen some
5686 exotic or special region codes and numbers. It was a fun game to pass
5687 time, as we kids have plenty of it.&lt;/p&gt;
5688
5689 &lt;p&gt;A few days I came across
5690 &lt;a href=&quot;https://github.com/openalpr/openalpr&quot;&gt;the OpenALPR
5691 project&lt;/a&gt;, a free software project to automatically discover and
5692 report license plates in images and video streams, and provide the
5693 &quot;car numbers&quot; in a machine readable format. I&#39;ve been looking for
5694 such system for a while now, because I believe it is a bad idea that the
5695 &lt;a href=&quot;https://en.wikipedia.org/wiki/Automatic_number_plate_recognition&quot;&gt;automatic
5696 number plate recognition&lt;/a&gt; tool only is available in the hands of
5697 the powerful, and want it to be available also for the powerless to
5698 even the score when it comes to surveillance and sousveillance. I
5699 discovered the developer
5700 &lt;a href=&quot;https://bugs.debian.org/747509&quot;&gt;wanted to get the tool into
5701 Debian&lt;/a&gt;, and as I too wanted it to be in Debian, I volunteered to
5702 help him get it into shape to get the package uploaded into the Debian
5703 archive.&lt;/p&gt;
5704
5705 &lt;p&gt;Today we finally managed to get the package into shape and uploaded
5706 it into Debian, where it currently
5707 &lt;a href=&quot;https://ftp-master.debian.org//new/openalpr_2.2.1-1.html&quot;&gt;waits
5708 in the NEW queue&lt;/a&gt; for review by the Debian ftpmasters.&lt;/p&gt;
5709
5710 &lt;p&gt;I guess you are wondering why on earth such tool would be useful
5711 for the common folks, ie those not running a large government
5712 surveillance system? Well, I plan to put it in a computer on my bike
5713 and in my car, tracking the cars nearby and allowing me to be notified
5714 when number plates on my watch list are discovered. Another use case
5715 was suggested by a friend of mine, who wanted to set it up at his home
5716 to open the car port automatically when it discovered the plate on his
5717 car. When I mentioned it perhaps was a bit foolhardy to allow anyone
5718 capable of placing his license plate number of a piece of cardboard to
5719 open his car port, men replied that it was always unlocked anyway. I
5720 guess for such use case it make sense. I am sure there are other use
5721 cases too, for those with imagination and a vision.&lt;/p&gt;
5722
5723 &lt;p&gt;If you want to build your own version of the Debian package, check
5724 out the upstream git source and symlink ./distros/debian to ./debian/
5725 before running &quot;debuild&quot; to build the source. Or wait a bit until the
5726 package show up in unstable.&lt;/p&gt;
5727 </description>
5728 </item>
5729
5730 <item>
5731 <title>Using appstream with isenkram to install hardware related packages in Debian</title>
5732 <link>http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</link>
5733 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</guid>
5734 <pubDate>Sun, 20 Dec 2015 12:20:00 +0100</pubDate>
5735 <description>&lt;p&gt;Around three years ago, I created
5736 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;the isenkram
5737 system&lt;/a&gt; to get a more practical solution in Debian for handing
5738 hardware related packages. A GUI system in the isenkram package will
5739 present a pop-up dialog when some hardware dongle supported by
5740 relevant packages in Debian is inserted into the machine. The same
5741 lookup mechanism to detect packages is available as command line
5742 tools in the isenkram-cli package. In addition to mapping hardware,
5743 it will also map kernel firmware files to packages and make it easy to
5744 install needed firmware packages automatically. The key for this
5745 system to work is a good way to map hardware to packages, in other
5746 words, allow packages to announce what hardware they will work
5747 with.&lt;/p&gt;
5748
5749 &lt;p&gt;I started by providing data files in the isenkram source, and
5750 adding code to download the latest version of these data files at run
5751 time, to ensure every user had the most up to date mapping available.
5752 I also added support for storing the mapping in the Packages file in
5753 the apt repositories, but did not push this approach because while I
5754 was trying to figure out how to best store hardware/package mappings,
5755 &lt;a href=&quot;http://www.freedesktop.org/software/appstream/docs/&quot;&gt;the
5756 appstream system&lt;/a&gt; was announced. I got in touch and suggested to
5757 add the hardware mapping into that data set to be able to use
5758 appstream as a data source, and this was accepted at least for the
5759 Debian version of appstream.&lt;/p&gt;
5760
5761 &lt;p&gt;A few days ago using appstream in Debian for this became possible,
5762 and today I uploaded a new version 0.20 of isenkram adding support for
5763 appstream as a data source for mapping hardware to packages. The only
5764 package so far using appstream to announce its hardware support is my
5765 pymissile package. I got help from Matthias Klumpp with figuring out
5766 how do add the required
5767 &lt;a href=&quot;https://appstream.debian.org/html/sid/main/metainfo/pymissile.html&quot;&gt;metadata
5768 in pymissile&lt;/a&gt;. I added a file debian/pymissile.metainfo.xml with
5769 this content:&lt;/p&gt;
5770
5771 &lt;blockquote&gt;&lt;pre&gt;
5772 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
5773 &amp;lt;component&amp;gt;
5774 &amp;lt;id&amp;gt;pymissile&amp;lt;/id&amp;gt;
5775 &amp;lt;metadata_license&amp;gt;MIT&amp;lt;/metadata_license&amp;gt;
5776 &amp;lt;name&amp;gt;pymissile&amp;lt;/name&amp;gt;
5777 &amp;lt;summary&amp;gt;Control original Striker USB Missile Launcher&amp;lt;/summary&amp;gt;
5778 &amp;lt;description&amp;gt;
5779 &amp;lt;p&amp;gt;
5780 Pymissile provides a curses interface to control an original
5781 Marks and Spencer / Striker USB Missile Launcher, as well as a
5782 motion control script to allow a webcamera to control the
5783 launcher.
5784 &amp;lt;/p&amp;gt;
5785 &amp;lt;/description&amp;gt;
5786 &amp;lt;provides&amp;gt;
5787 &amp;lt;modalias&amp;gt;usb:v1130p0202d*&amp;lt;/modalias&amp;gt;
5788 &amp;lt;/provides&amp;gt;
5789 &amp;lt;/component&amp;gt;
5790 &lt;/pre&gt;&lt;/blockquote&gt;
5791
5792 &lt;p&gt;The key for isenkram is the component/provides/modalias value,
5793 which is a glob style match rule for hardware specific strings
5794 (modalias strings) provided by the Linux kernel. In this case, it
5795 will map to all USB devices with vendor code 1130 and product code
5796 0202.&lt;/p&gt;
5797
5798 &lt;p&gt;Note, it is important that the license of all the metadata files
5799 are compatible to have permissions to aggregate them into archive wide
5800 appstream files. Matthias suggested to use MIT or BSD licenses for
5801 these files. A challenge is figuring out a good id for the data, as
5802 it is supposed to be globally unique and shared across distributions
5803 (in other words, best to coordinate with upstream what to use). But
5804 it can be changed later or, so we went with the package name as
5805 upstream for this project is dormant.&lt;/p&gt;
5806
5807 &lt;p&gt;To get the metadata file installed in the correct location for the
5808 mirror update scripts to pick it up and include its content the
5809 appstream data source, the file must be installed in the binary
5810 package under /usr/share/appdata/. I did this by adding the following
5811 line to debian/pymissile.install:&lt;/p&gt;
5812
5813 &lt;blockquote&gt;&lt;pre&gt;
5814 debian/pymissile.metainfo.xml usr/share/appdata
5815 &lt;/pre&gt;&lt;/blockquote&gt;
5816
5817 &lt;p&gt;With that in place, the command line tool isenkram-lookup will list
5818 all packages useful on the current computer automatically, and the GUI
5819 pop-up handler will propose to install the package not already
5820 installed if a hardware dongle is inserted into the machine in
5821 question.&lt;/p&gt;
5822
5823 &lt;p&gt;Details of the modalias field in appstream is available from the
5824 &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt; proposal.&lt;/p&gt;
5825
5826 &lt;p&gt;To locate the modalias values of all hardware present in a machine,
5827 try running this command on the command line:&lt;/p&gt;
5828
5829 &lt;blockquote&gt;&lt;pre&gt;
5830 cat $(find /sys/devices/|grep modalias)
5831 &lt;/pre&gt;&lt;/blockquote&gt;
5832
5833 &lt;p&gt;To learn more about the isenkram system, please check out
5834 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
5835 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
5836 </description>
5837 </item>
5838
5839 <item>
5840 <title>The GNU General Public License is not magic pixie dust</title>
5841 <link>http://people.skolelinux.org/pere/blog/The_GNU_General_Public_License_is_not_magic_pixie_dust.html</link>
5842 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_GNU_General_Public_License_is_not_magic_pixie_dust.html</guid>
5843 <pubDate>Mon, 30 Nov 2015 09:55:00 +0100</pubDate>
5844 <description>&lt;p&gt;A blog post from my fellow Debian developer Paul Wise titled
5845 &quot;&lt;a href=&quot;http://bonedaddy.net/pabs3/log/2015/11/27/sfc-supporter/&quot;&gt;The
5846 GPL is not magic pixie dust&lt;/a&gt;&quot; explain the importance of making sure
5847 the &lt;a href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;GPL&lt;/a&gt; is enforced.
5848 I quote the blog post from Paul in full here with his permission:&lt;p&gt;
5849
5850 &lt;blockquote&gt;
5851
5852 &lt;p&gt;&lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;&lt;img src=&quot;https://sfconservancy.org/img/supporter-badge.png&quot; width=&quot;194&quot; height=&quot;90&quot; alt=&quot;Become a Software Freedom Conservancy Supporter!&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
5853
5854 &lt;blockquote&gt;
5855 The GPL is not magic pixie dust. It does not work by itself.&lt;br/&gt;
5856
5857 The first step is to choose a
5858 &lt;a href=&quot;https://copyleft.org/&quot;&gt;copyleft&lt;/a&gt; license for your
5859 code.&lt;br/&gt;
5860
5861 The next step is, when someone fails to follow that copyleft license,
5862 &lt;b&gt;it must be enforced&lt;/b&gt;&lt;br/&gt;
5863
5864 and its a simple fact of our modern society that such type of
5865 work&lt;br/&gt;
5866
5867 is incredibly expensive to do and incredibly difficult to do.
5868 &lt;/blockquote&gt;
5869
5870 &lt;p&gt;&lt;small&gt;-- &lt;a href=&quot;http://ebb.org/bkuhn/&quot;&gt;Bradley Kuhn&lt;/a&gt;, in
5871 &lt;a href=&quot;http://faif.us/&quot; title=&quot;Free as in Freedom&quot;&gt;FaiF&lt;/a&gt;
5872 &lt;a href=&quot;http://faif.us/cast/2015/nov/24/0x57/&quot;&gt;episode
5873 0x57&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
5874
5875 &lt;p&gt;As the Debian Website
5876 &lt;a href=&quot;https://bugs.debian.org/794116&quot;&gt;used&lt;/a&gt;
5877 &lt;a href=&quot;https://anonscm.debian.org/viewvc/webwml/webwml/english/intro/free.wml?r1=1.24&amp;amp;r2=1.25&quot;&gt;to&lt;/a&gt;
5878 imply, public domain and permissively licensed software can lead to
5879 the production of more proprietary software as people discover useful
5880 software, extend it and or incorporate it into their hardware or
5881 software products. Copyleft licenses such as the GNU GPL were created
5882 to close off this avenue to the production of proprietary software but
5883 such licenses are not enough. With the ongoing adoption of Free
5884 Software by individuals and groups, inevitably the community&#39;s
5885 expectations of license compliance are violated, usually out of
5886 ignorance of the way Free Software works, but not always. As Karen
5887 and Bradley explained in &lt;a href=&quot;http://faif.us/&quot; title=&quot;Free as in
5888 Freedom&quot;&gt;FaiF&lt;/a&gt;
5889 &lt;a href=&quot;http://faif.us/cast/2015/nov/24/0x57/&quot;&gt;episode 0x57&lt;/a&gt;,
5890 copyleft is nothing if no-one is willing and able to stand up in court
5891 to protect it. The reality of today&#39;s world is that legal
5892 representation is expensive, difficult and time consuming. With
5893 &lt;a href=&quot;http://gpl-violations.org/&quot;&gt;gpl-violations.org&lt;/a&gt; in hiatus
5894 &lt;a href=&quot;http://gpl-violations.org/news/20151027-homepage-recovers/&quot;&gt;until&lt;/a&gt;
5895 some time in 2016, the &lt;a href=&quot;https://sfconservancy.org/&quot;&gt;Software
5896 Freedom Conservancy&lt;/a&gt; (a tax-exempt charity) is the major defender
5897 of the Linux project, Debian and other groups against GPL violations.
5898 In March the SFC supported a
5899 &lt;a href=&quot;https://sfconservancy.org/news/2015/mar/05/vmware-lawsuit/&quot;&gt;lawsuit
5900 by Christoph Hellwig&lt;/a&gt; against VMware for refusing to
5901 &lt;a href=&quot;https://sfconservancy.org/linux-compliance/vmware-lawsuit-faq.html&quot;&gt;comply
5902 with the GPL&lt;/a&gt; in relation to their use of parts of the Linux
5903 kernel. Since then two of their sponsors pulled corporate funding and
5904 conferences
5905 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/&quot;&gt;blocked
5906 or cancelled their talks&lt;/a&gt;. As a result they have decided to rely
5907 less on corporate funding and more on the broad community of
5908 individuals who support Free Software and copyleft. So the SFC has
5909 &lt;a href=&quot;https://sfconservancy.org/news/2015/nov/23/2015fundraiser/&quot;&gt;launched&lt;/a&gt;
5910 a &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;campaign&lt;/a&gt; to create
5911 a community of folks who stand up for copyleft and the GPL by
5912 supporting their work on promoting and supporting copyleft and Free
5913 Software.&lt;/p&gt;
5914
5915 &lt;p&gt;If you support Free Software,
5916 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/26/like-what-I-do/&quot;&gt;like&lt;/a&gt;
5917 what the SFC do, agree with their
5918 &lt;a href=&quot;https://sfconservancy.org/linux-compliance/principles.html&quot;&gt;compliance
5919 principles&lt;/a&gt;, are happy about their
5920 &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;successes&lt;/a&gt; in 2015,
5921 work on a project that is an SFC
5922 &lt;a href=&quot;https://sfconservancy.org/members/current/&quot;&gt;member&lt;/a&gt; and or
5923 just want to stand up for copyleft, please join
5924 &lt;a href=&quot;https://identi.ca/cwebber/image/JQGPA4qbTyyp3-MY8QpvuA&quot;&gt;Christopher
5925 Allan Webber&lt;/a&gt;,
5926 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/&quot;&gt;Carol
5927 Smith&lt;/a&gt;,
5928 &lt;a href=&quot;http://www.jonobacon.org/2015/11/25/supporting-software-freedom-conservancy/&quot;&gt;Jono
5929 Bacon&lt;/a&gt;, myself and
5930 &lt;a href=&quot;https://sfconservancy.org/sponsors/#supporters&quot;&gt;others&lt;/a&gt; in
5931 becoming a
5932 &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;supporter&lt;/a&gt;. For the
5933 next week your donation will be
5934 &lt;a href=&quot;https://sfconservancy.org/news/2015/nov/27/black-friday/&quot;&gt;matched&lt;/a&gt;
5935 by an anonymous donor. Please also consider asking your employer to
5936 match your donation or become a sponsor of SFC. Don&#39;t forget to
5937 spread the word about your support for SFC via email, your blog and or
5938 social media accounts.&lt;/p&gt;
5939
5940 &lt;/blockquote&gt;
5941
5942 &lt;p&gt;I agree with Paul on this topic and just signed up as a Supporter
5943 of Software Freedom Conservancy myself. Perhaps you should be a
5944 supporter too?&lt;/p&gt;
5945 </description>
5946 </item>
5947
5948 <item>
5949 <title>PGP key transition statement for key EE4E02F9</title>
5950 <link>http://people.skolelinux.org/pere/blog/PGP_key_transition_statement_for_key_EE4E02F9.html</link>
5951 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/PGP_key_transition_statement_for_key_EE4E02F9.html</guid>
5952 <pubDate>Tue, 17 Nov 2015 10:50:00 +0100</pubDate>
5953 <description>&lt;p&gt;I&#39;ve needed a new OpenPGP key for a while, but have not had time to
5954 set it up properly. I wanted to generate it offline and have it
5955 available on &lt;a href=&quot;http://shop.kernelconcepts.de/#openpgp&quot;&gt;a OpenPGP
5956 smart card&lt;/a&gt; for daily use, and learning how to do it and finding
5957 time to sit down with an offline machine almost took forever. But
5958 finally I&#39;ve been able to complete the process, and have now moved
5959 from my old GPG key to a new GPG key. See
5960 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2015-11-17-new-gpg-key-transition.txt&quot;&gt;the
5961 full transition statement, signed with both my old and new key&lt;/a&gt; for
5962 the details. This is my new key:&lt;/p&gt;
5963
5964 &lt;pre&gt;
5965 pub 3936R/&lt;a href=&quot;http://pgp.cs.uu.nl/stats/111D6B29EE4E02F9.html&quot;&gt;111D6B29EE4E02F9&lt;/a&gt; 2015-11-03 [expires: 2019-11-14]
5966 Key fingerprint = 3AC7 B2E3 ACA5 DF87 78F1 D827 111D 6B29 EE4E 02F9
5967 uid Petter Reinholdtsen &amp;lt;pere@hungry.com&amp;gt;
5968 uid Petter Reinholdtsen &amp;lt;pere@debian.org&amp;gt;
5969 sub 4096R/87BAFB0E 2015-11-03 [expires: 2019-11-02]
5970 sub 4096R/F91E6DE9 2015-11-03 [expires: 2019-11-02]
5971 sub 4096R/A0439BAB 2015-11-03 [expires: 2019-11-02]
5972 &lt;/pre&gt;
5973
5974 &lt;p&gt;The key can be downloaded from the OpenPGP key servers, signed by
5975 my old key.&lt;/p&gt;
5976
5977 &lt;p&gt;If you signed my old key
5978 (&lt;a href=&quot;http://pgp.cs.uu.nl/stats/DB4CCC4B2A30D729.html&quot;&gt;DB4CCC4B2A30D729&lt;/a&gt;),
5979 I&#39;d very much appreciate a signature on my new key, details and
5980 instructions in the transition statement. I m happy to reciprocate if
5981 you have a similarly signed transition statement to present.&lt;/p&gt;
5982 </description>
5983 </item>
5984
5985 <item>
5986 <title>Is Pentagon deciding the Norwegian negotiating position on Internet governance?</title>
5987 <link>http://people.skolelinux.org/pere/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html</link>
5988 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html</guid>
5989 <pubDate>Tue, 3 Nov 2015 13:40:00 +0100</pubDate>
5990 <description>&lt;p&gt;In Norway, all government offices are required by law to keep a
5991 list of every document or letter arriving and leaving their offices.
5992 Internal notes should also be documented. The document list (called a mail
5993 journal - &quot;postjournal&quot; in Norwegian) is public information and thanks
5994 to the Norwegian Freedom of Information Act (Offentleglova) the mail
5995 journal is available for everyone. Most offices even publish the mail
5996 journal on their web pages, as PDFs or tables in web pages. The state-level offices even have a shared web based search service (called
5997 &lt;a href=&quot;https://www.oep.no/&quot;&gt;Offentlig Elektronisk Postjournal -
5998 OEP&lt;/a&gt;) to make it possible to search the entries in the list. Not
5999 all journal entries show up on OEP, and the search service is hard to
6000 use, but OEP does make it easier to find at least some interesting
6001 journal entries .&lt;/p&gt;
6002
6003 &lt;p&gt;In 2012 I came across a document in the mail journal for the
6004 Norwegian Ministry of Transport and Communications on OEP that
6005 piqued my interest. The title of the document was
6006 &quot;&lt;a href=&quot;https://www.oep.no/search/resultSingle.html?journalPostId=4192362&quot;&gt;Internet
6007 Governance and how it affects national security&lt;/a&gt;&quot; (Norwegian:
6008 &quot;Internet Governance og påvirkning på nasjonal sikkerhet&quot;). The
6009 document date was 2012-05-22, and it was said to be sent from the
6010 &quot;Permanent Mission of Norway to the United Nations&quot;. I asked for a
6011 copy, but my request was rejected with a reference to a legal clause said to authorize them to reject it
6012 (&lt;a href=&quot;http://lovdata.no/lov/2006-05-19-1620&quot;&gt;offentleglova § 20,
6013 letter c&lt;/a&gt;) and an explanation that the document was exempt because
6014 of foreign policy interests as it contained information related to the
6015 Norwegian negotiating position, negotiating strategies or similar. I
6016 was told the information in the document related to the ongoing
6017 negotiation in the International Telecommunications Union (ITU). The
6018 explanation made sense to me in early January 2013, as a ITU
6019 conference in Dubay discussing Internet Governance
6020 (&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Telecommunication_Union#World_Conference_on_International_Telecommunications_2012_.28WCIT-12.29&quot;&gt;World
6021 Conference on International Telecommunications - WCIT-12&lt;/a&gt;) had just
6022 ended,
6023 &lt;a href=&quot;http://www.digi.no/kommentarer/2012/12/18/tvil-om-usas-rolle-pa-teletoppmote&quot;&gt;reportedly
6024 in chaos&lt;/a&gt; when USA walked out of the negotiations and 25 countries
6025 including Norway refused to sign the new treaty. It seemed
6026 reasonable to believe talks were still going on a few weeks later.
6027 Norway was represented at the ITU meeting by two authorities, the
6028 &lt;a href=&quot;http://www.nkom.no/&quot;&gt;Norwegian Communications Authority&lt;/a&gt;
6029 and the &lt;a href=&quot;https://www.regjeringen.no/no/dep/sd/&quot;&gt;Ministry of
6030 Transport and Communications&lt;/a&gt;. This might be the reason the letter
6031 was sent to the ministry. As I was unable to find the document in the
6032 mail journal of any Norwegian UN mission, I asked the ministry who had
6033 sent the document to the ministry, and was told that it was the Deputy
6034 Permanent Representative with the Permanent Mission of Norway in
6035 Geneva.&lt;/p&gt;
6036
6037 &lt;p&gt;Three years later, I was still curious about the content of that
6038 document, and again asked for a copy, believing the negotiation was
6039 over now. This time
6040 &lt;a href=&quot;https://mimesbronn.no/request/kopi_av_dokumenter_i_sak_2012914&quot;&gt;I
6041 asked both the Ministry of Transport and Communications as the
6042 receiver&lt;/a&gt; and
6043 &lt;a href=&quot;https://mimesbronn.no/request/brev_om_internet_governance_og_p&quot;&gt;asked
6044 the Permanent Mission of Norway in Geneva as the sender&lt;/a&gt; for a
6045 copy, to see if they both agreed that it should be withheld from the
6046 public. The ministry upheld its rejection quoting the same law
6047 reference as before, while the permanent mission rejected it quoting a
6048 different clause
6049 (&lt;a href=&quot;http://lovdata.no/lov/2006-05-19-1620&quot;&gt;offentleglova § 20
6050 letter b&lt;/a&gt;), claiming that they were required to keep the
6051 content of the document from the public because it contained
6052 information given to Norway with the expressed or implied expectation
6053 that the information should not be made public. I asked the permanent
6054 mission for an explanation, and was told that the document contained
6055 an account from a meeting held in the Pentagon for a limited group of NATO
6056 nations where the organiser of the meeting did not intend the content
6057 of the meeting to be publicly known. They explained that giving me a
6058 copy might cause Norway to not get access to similar information in
6059 the future and thus hurt the future foreign interests of Norway. They
6060 also explained that the Permanent Mission of Norway in Geneva was not
6061 the author of the document, they only got a copy of it, and because of
6062 this had not listed it in their mail journal.&lt;/p&gt;
6063
6064 &lt;p&gt;Armed with this
6065 knowledge I asked the Ministry to reconsider and asked who was the
6066 author of the document, now realising that it was not same as the
6067 &quot;sender&quot; according to Ministry of Transport and Communications. The
6068 ministry upheld its rejection but told me the name of the author of
6069 the document. According to
6070 &lt;a href=&quot;https://www.regjeringen.no/no/aktuelt/unga69_rapport1/id2001204/&quot;&gt;a
6071 government report&lt;/a&gt; the author was with the Permanent Mission of
6072 Norway in New York a bit more than a year later (2014-09-22), so I
6073 guessed that might be the office responsible for writing and sending
6074 the report initially and
6075 &lt;a href=&quot;https://www.mimesbronn.no/request/mote_2012_i_pentagon_om_itu&quot;&gt;asked
6076 them for a copy&lt;/a&gt; but I was obviously wrong as I was told that the
6077 document was unknown to them and that the author did not work there
6078 when the document was written. Next, I asked the Permanent Mission of
6079 Norway in Geneva and the Foreign Ministry to reconsider and at least
6080 tell me who sent the document to Deputy Permanent Representative with
6081 the Permanent Mission of Norway in Geneva. The Foreign Ministry also
6082 upheld its rejection, but told me that the person sending the document
6083 to Permanent Mission of Norway in Geneva was the defence attaché with
6084 the Norwegian Embassy in Washington. I do not know if this is the
6085 same person as the author of the document.&lt;/p&gt;
6086
6087 &lt;p&gt;If I understand the situation correctly, someone capable of
6088 inviting selected NATO nations to a meeting in Pentagon organised a
6089 meeting where someone representing the Norwegian defence attaché in
6090 Washington attended, and the account from this meeting is interpreted
6091 by the Ministry of Transport and Communications to expose Norways
6092 negotiating position, negotiating strategies and similar regarding the
6093 ITU negotiations on Internet Governance. It is truly amazing what can
6094 be derived from mere meta-data.&lt;/p&gt;
6095
6096 &lt;p&gt;I wonder which NATO countries besides Norway attended this meeting?
6097 And what exactly was said and done at the meeting? Anyone know?&lt;/p&gt;
6098 </description>
6099 </item>
6100
6101 <item>
6102 <title>New book, &quot;Fri kultur&quot; by @lessig, a Norwegian Bokmål translation of &quot;Free Culture&quot; from 2004</title>
6103 <link>http://people.skolelinux.org/pere/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html</link>
6104 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html</guid>
6105 <pubDate>Sat, 31 Oct 2015 09:00:00 +0100</pubDate>
6106 <description>&lt;p&gt;People keep asking me where to get the various forms of the book I
6107 published last week, the Norwegian Bokmål edition of Lawrence Lessigs
6108 book &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt;. It was
6109 published on paper via lulu.com, and is also available in PDF, ePub
6110 and MOBI format. I currently sell the paper edition for self cost
6111 from lulu.com, but might extend the distribution to book stores like
6112 Amazon and Barnes &amp; Noble later. This will double the price and force
6113 me to make a profit from selling the book. Anyway, here are links to
6114 get the book in different formats:&lt;/p&gt;
6115
6116 &lt;ul&gt;
6117
6118 &lt;li&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html&quot;&gt;Buy
6119 paper edition from lulu.com&lt;/a&gt;&lt;/li&gt;
6120
6121 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.pdf&quot;&gt;Download
6122 PDF, size 7.9 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
6123
6124 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.epub&quot;&gt;Download
6125 ePub, size 11 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
6126
6127 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.mobi&quot;&gt;Download
6128 MOBI, size 3.8 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
6129
6130 &lt;/ul&gt;
6131
6132 &lt;p&gt;Note that the MOBI version have problems with the table of content,
6133 at least with the viewers I have been able to test. And the ePub file
6134 have several problems according to
6135 &lt;a href=&quot;https://github.com/IDPF/epubcheck&quot;&gt;epubcheck&lt;/a&gt;, but seem
6136 to display fine in the viewers I have tested. All the files needed to
6137 create the book in various forms are available from
6138 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;the
6139 github project page&lt;/a&gt;.&lt;/p&gt;
6140
6141 &lt;p&gt;The project got press coverage from the Norwegian IT news site
6142 digi.no. Check out the article
6143 &quot;&lt;a href=&quot;http://www.digi.no/juss_og_samfunn/2015/10/29/vil-apne-politikernes-oyne-for-creative-commons&quot;&gt;Vil
6144 åpne politikernes øyne for Creative Commons&lt;/a&gt;&quot;.&lt;/li&gt;
6145
6146 &lt;p&gt;I&#39;ve &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/freeculture&quot;&gt;blogged
6147 about the project&lt;/a&gt; as it moved along. The blogs document the translation
6148 progress and insights I had along the way.&lt;/p&gt;
6149 </description>
6150 </item>
6151
6152 <item>
6153 <title>&quot;Free Culture&quot; by @lessig - The background story for Creative Commons - new edition available</title>
6154 <link>http://people.skolelinux.org/pere/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html</link>
6155 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html</guid>
6156 <pubDate>Fri, 23 Oct 2015 12:10:00 +0200</pubDate>
6157 <description>&lt;p&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html&quot;&gt;Click
6158 here to buy the book&lt;/a&gt;.&lt;/p&gt;
6159
6160 &lt;p&gt;In 2004, as the &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons
6161 movement&lt;/a&gt; gained momentum, its creator Lawrence Lessig wrote the
6162 book &lt;a href=&quot;https://en.wikipedia.org/wiki/Free_Culture_(book)&quot;&gt;Free
6163 Culture&lt;/a&gt; to explain the problems with increasing copyright
6164 regulation and suggest some solutions. I read the book back then and
6165 was very moved by it. Reading the book inspired me and changed the
6166 way I looked on copyright law, and I would love it if more people
6167 would read it too.&lt;/p&gt;
6168
6169 &lt;p&gt;Because of this, I decided in the summer of 2012 to translate it to
6170 Norwegian Bokmål and publish it for those of my friends and family
6171 that prefer to read books in Norwegian. I translated the book using
6172 docbook and a gettext PO file, and a byproduct of this process is a
6173 new edition of the English original. I&#39;ve been in touch with the
6174 author during by work, and he said it was fine with him if I also
6175 published an English version. So I decided to do so. Today, I made
6176 this edition
6177 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html&quot;&gt;available
6178 for sale on Lulu.com&lt;/a&gt;, for those interested in a paper book. This
6179 is the cover:
6180
6181 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html&quot;&gt;&lt;img align=&quot;center&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2015-10-23-free-culture-english-published-cover.png&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
6182
6183 &lt;p&gt;The Norwegian Bokmål version will be available for purchase in a
6184 few days. I also plan to publish a French version in a few weeks or
6185 months, depending on the amount of people with knowledge of French to
6186 join the translation project. So far there is only one active
6187 person, but the French book is almost completely translated but
6188 need some proof reading.&lt;/p&gt;
6189
6190 &lt;p&gt;The book is also available in PDF, ePub and MOBI formats from
6191 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
6192 github project page&lt;/a&gt;. Note the ePub and MOBI versions have some
6193 formatting problems I believe is due to bugs in the docbook tool
6194 dbtoepub (Debian BTS issues
6195 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795842&quot;&gt;#795842&lt;/a&gt;
6196 and
6197 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796871&quot;&gt;#796871&lt;/a&gt;),
6198 but I have not taken the time to investigate. I recommend the PDF and
6199 ePub version for now, as they seem to show up fine in the viewers I
6200 have available.&lt;/p&gt;
6201
6202 &lt;p&gt;After the translation to Norwegian Bokmål was complete, I was able
6203 to secure some sponsoring from
6204 &lt;a href=&quot;http://www.nuugfoundation.no/&quot;&gt;the NUUG Foundation&lt;/a&gt; to
6205 print the book. This is the reason their logo is located on the back
6206 cover. I am very grateful for their contribution, and will use it to
6207 give a copy of the Norwegian edition to members of the Norwegian
6208 Parliament and other decision makers here in Norway.&lt;/p&gt;
6209 </description>
6210 </item>
6211
6212 <item>
6213 <title>Lawrence Lessig interviewed Edward Snowden a year ago</title>
6214 <link>http://people.skolelinux.org/pere/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html</link>
6215 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html</guid>
6216 <pubDate>Mon, 19 Oct 2015 11:50:00 +0200</pubDate>
6217 <description>&lt;p&gt;Last year, &lt;a href=&quot;https://lessig2016.us/&quot;&gt;US president candidate
6218 in the Democratic Party&lt;/a&gt; Lawrence interviewed Edward Snowden. The
6219 one hour interview was
6220 &lt;a href=&quot;https://www.youtube.com/watch?v=o_Sr96TFQQE&quot;&gt;published by
6221 Harvard Law School 2014-10-23 on Youtube&lt;/a&gt;, and the meeting took
6222 place 2014-10-20.&lt;/p&gt;
6223
6224 &lt;p&gt;The questions are very good, and there is lots of useful
6225 information to be learned and very interesting issues to think about
6226 being raised. Please check it out.&lt;/p&gt;
6227
6228 &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/o_Sr96TFQQE&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
6229
6230 &lt;p&gt;I find it especially interesting to hear again that Snowden did try
6231 to bring up his reservations through the official channels without any
6232 luck. It is in sharp contrast to the answers made 2013-11-06 by the
6233 Norwegian prime minister Erna Solberg to the Norwegian Parliament,
6234 &lt;a href=&quot;https://tale.holderdeord.no/speeches/s131106/68&quot;&gt;claiming
6235 Snowden is no Whistle-Blower&lt;/a&gt; because he should have taken up his
6236 concerns internally and using official channels. It make me sad
6237 that this is the political leadership we have here in Norway.&lt;/p&gt;
6238 </description>
6239 </item>
6240
6241 <item>
6242 <title>The Story of Aaron Swartz - Let us all weep!</title>
6243 <link>http://people.skolelinux.org/pere/blog/The_Story_of_Aaron_Swartz___Let_us_all_weep_.html</link>
6244 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Story_of_Aaron_Swartz___Let_us_all_weep_.html</guid>
6245 <pubDate>Thu, 8 Oct 2015 12:10:00 +0200</pubDate>
6246 <description>&lt;p&gt;The movie &quot;&lt;a href=&quot;http://www.takepart.com/internets-own-boy&quot;&gt;The
6247 Internet&#39;s Own Boy: The Story of Aaron Swartz&lt;/a&gt;&quot; is both inspiring
6248 and depressing at the same time. The work of Aaron Swartz has
6249 inspired me in my work, and I am grateful of all the improvements he
6250 was able to initiate or complete. I wish I am able to do as much good
6251 in my life as he did in his. Every minute of this 1:45 long movie is
6252 inspiring in documenting how much impact a single person can have on
6253 improving the society and this world. And it is depressing in
6254 documenting how the law enforcement of USA (and other countries) is
6255 corrupted to a point where they can push a bright kid to his death for
6256 downloading too many scientific articles. Aaron is dead. Let us all
6257 weep.&lt;/p&gt;
6258
6259 &lt;p&gt;The movie is also available on
6260 &lt;a href=&quot;https://www.youtube.com/watch?v=vXr-2hwTk58&quot;&gt;Youtube&lt;/a&gt;. I
6261 wish there were Norwegian subtitles available, so I could show it to
6262 my parents.&lt;/p&gt;
6263 </description>
6264 </item>
6265
6266 <item>
6267 <title>French Docbook/PDF/EPUB/MOBI edition of the Free Culture book</title>
6268 <link>http://people.skolelinux.org/pere/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html</link>
6269 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html</guid>
6270 <pubDate>Thu, 1 Oct 2015 13:20:00 +0200</pubDate>
6271 <description>&lt;p&gt;As I wrap up the Norwegian version of
6272 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Free
6273 Culture&lt;/a&gt; book by Lawrence Lessig (still waiting for my final proof
6274 reading copy to arrive in the mail), my great
6275 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt; helper and
6276 developer of the dblatex docbook processor, Benoît Guillon, decided a
6277 to try to create a French version of the book. He started with the
6278 French translation available from the
6279 &lt;a href=&quot;http://www.wikilivres.ca/wiki/Culture_libre&quot;&gt;Wikilivres wiki
6280 pages&lt;/a&gt;, and wrote a program to convert it into a PO file, allowing
6281 the translation to be integrated into the po4a based framework I use
6282 to create the Norwegian translation from the English edition. We meet
6283 on the &lt;a href=&quot;irc://irc.freenode.net/%23dblatex&quot;&gt;#dblatex IRC
6284 channel&lt;/a&gt; to discuss the work. If you want to help create a French
6285 edition, check out
6286 &lt;a href=&quot;https://github.com/marsgui/free-culture-lessig&quot;&gt;his git
6287 repository&lt;/a&gt; and join us on IRC. If the French edition look good,
6288 we might publish it as a paper book on lulu.com. A French version of
6289 the drawings and the cover need to be provided for this to happen.&lt;/p&gt;
6290 </description>
6291 </item>
6292
6293 <item>
6294 <title>The life and death of a laptop battery</title>
6295 <link>http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html</link>
6296 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html</guid>
6297 <pubDate>Thu, 24 Sep 2015 16:00:00 +0200</pubDate>
6298 <description>&lt;p&gt;When I get a new laptop, the battery life time at the start is OK.
6299 But this do not last. The last few laptops gave me a feeling that
6300 within a year, the life time is just a fraction of what it used to be,
6301 and it slowly become painful to use the laptop without power connected
6302 all the time. Because of this, when I got a new Thinkpad X230 laptop
6303 about two years ago, I decided to monitor its battery state to have
6304 more hard facts when the battery started to fail.&lt;/p&gt;
6305
6306 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2015-09-24-laptop-battery-graph.png&quot;/&gt;
6307
6308 &lt;p&gt;First I tried to find a sensible Debian package to record the
6309 battery status, assuming that this must be a problem already handled
6310 by someone else. I found
6311 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;,
6312 which collects statistics from the battery, but it was completely
6313 broken. I sent a few suggestions to the maintainer, but decided to
6314 write my own collector as a shell script while I waited for feedback
6315 from him. Via
6316 &lt;a href=&quot;http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html&quot;&gt;a
6317 blog post about the battery development on a MacBook Air&lt;/a&gt; I also
6318 discovered
6319 &lt;a href=&quot;https://github.com/jradavenport/batlog.git&quot;&gt;batlog&lt;/a&gt;, not
6320 available in Debian.&lt;/p&gt;
6321
6322 &lt;p&gt;I started my collector 2013-07-15, and it has been collecting
6323 battery stats ever since. Now my
6324 /var/log/hjemmenett-battery-status.log file contain around 115,000
6325 measurements, from the time the battery was working great until now,
6326 when it is unable to charge above 7% of original capacity. My
6327 collector shell script is quite simple and look like this:&lt;/p&gt;
6328
6329 &lt;pre&gt;
6330 #!/bin/sh
6331 # Inspired by
6332 # http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html
6333 # See also
6334 # http://blog.sleeplessbeastie.eu/2013/01/02/debian-how-to-monitor-battery-capacity/
6335 logfile=/var/log/hjemmenett-battery-status.log
6336
6337 files=&quot;manufacturer model_name technology serial_number \
6338 energy_full energy_full_design energy_now cycle_count status&quot;
6339
6340 if [ ! -e &quot;$logfile&quot; ] ; then
6341 (
6342 printf &quot;timestamp,&quot;
6343 for f in $files; do
6344 printf &quot;%s,&quot; $f
6345 done
6346 echo
6347 ) &gt; &quot;$logfile&quot;
6348 fi
6349
6350 log_battery() {
6351 # Print complete message in one echo call, to avoid race condition
6352 # when several log processes run in parallel.
6353 msg=$(printf &quot;%s,&quot; $(date +%s); \
6354 for f in $files; do \
6355 printf &quot;%s,&quot; $(cat $f); \
6356 done)
6357 echo &quot;$msg&quot;
6358 }
6359
6360 cd /sys/class/power_supply
6361
6362 for bat in BAT*; do
6363 (cd $bat &amp;&amp; log_battery &gt;&gt; &quot;$logfile&quot;)
6364 done
6365 &lt;/pre&gt;
6366
6367 &lt;p&gt;The script is called when the power management system detect a
6368 change in the power status (power plug in or out), and when going into
6369 and out of hibernation and suspend. In addition, it collect a value
6370 every 10 minutes. This make it possible for me know when the battery
6371 is discharging, charging and how the maximum charge change over time.
6372 The code for the Debian package
6373 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-status&quot;&gt;is now
6374 available on github&lt;/a&gt;.&lt;/p&gt;
6375
6376 &lt;p&gt;The collected log file look like this:&lt;/p&gt;
6377
6378 &lt;pre&gt;
6379 timestamp,manufacturer,model_name,technology,serial_number,energy_full,energy_full_design,energy_now,cycle_count,status,
6380 1376591133,LGC,45N1025,Li-ion,974,62800000,62160000,39050000,0,Discharging,
6381 [...]
6382 1443090528,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
6383 1443090601,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
6384 &lt;/pre&gt;
6385
6386 &lt;p&gt;I wrote a small script to create a graph of the charge development
6387 over time. This graph depicted above show the slow death of my laptop
6388 battery.&lt;/p&gt;
6389
6390 &lt;p&gt;But why is this happening? Why are my laptop batteries always
6391 dying in a year or two, while the batteries of space probes and
6392 satellites keep working year after year. If we are to believe
6393 &lt;a href=&quot;http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries&quot;&gt;Battery
6394 University&lt;/a&gt;, the cause is me charging the battery whenever I have a
6395 chance, and the fix is to not charge the Lithium-ion batteries to 100%
6396 all the time, but to stay below 90% of full charge most of the time.
6397 I&#39;ve been told that the Tesla electric cars
6398 &lt;a href=&quot;http://my.teslamotors.com/de_CH/forum/forums/battery-charge-limit&quot;&gt;limit
6399 the charge of their batteries to 80%&lt;/a&gt;, with the option to charge to
6400 100% when preparing for a longer trip (not that I would want a car
6401 like Tesla where rights to privacy is abandoned, but that is another
6402 story), which I guess is the option we should have for laptops on
6403 Linux too.&lt;/p&gt;
6404
6405 &lt;p&gt;Is there a good and generic way with Linux to tell the battery to
6406 stop charging at 80%, unless requested to charge to 100% once in
6407 preparation for a longer trip? I found
6408 &lt;a href=&quot;http://askubuntu.com/questions/34452/how-can-i-limit-battery-charging-to-80-capacity&quot;&gt;one
6409 recipe on askubuntu for Ubuntu to limit charging on Thinkpad to
6410 80%&lt;/a&gt;, but could not get it to work (kernel module refused to
6411 load).&lt;/p&gt;
6412
6413 &lt;p&gt;I wonder why the battery capacity was reported to be more than 100%
6414 at the start. I also wonder why the &quot;full capacity&quot; increases some
6415 times, and if it is possible to repeat the process to get the battery
6416 back to design capacity. And I wonder if the discharge and charge
6417 speed change over time, or if this stay the same. I did not yet try
6418 to write a tool to calculate the derivative values of the battery
6419 level, but suspect some interesting insights might be learned from
6420 those.&lt;/p&gt;
6421
6422 &lt;p&gt;Update 2015-09-24: I got a tip to install the packages
6423 acpi-call-dkms and tlp (unfortunately missing in Debian stable)
6424 packages instead of the tp-smapi-dkms package I had tried to use
6425 initially, and use &#39;tlp setcharge 40 80&#39; to change when charging start
6426 and stop. I&#39;ve done so now, but expect my existing battery is toast
6427 and need to be replaced. The proposal is unfortunately Thinkpad
6428 specific.&lt;/p&gt;
6429 </description>
6430 </item>
6431
6432 <item>
6433 <title>Book cover for the Free Culture book finally done</title>
6434 <link>http://people.skolelinux.org/pere/blog/Book_cover_for_the_Free_Culture_book_finally_done.html</link>
6435 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Book_cover_for_the_Free_Culture_book_finally_done.html</guid>
6436 <pubDate>Thu, 3 Sep 2015 21:00:00 +0200</pubDate>
6437 <description>&lt;p&gt;Creating a good looking book cover proved harder than I expected.
6438 I wanted to create a cover looking similar to the original cover of
6439 the
6440 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Free
6441 Culture&lt;/a&gt; book we are translating to Norwegian, and I wanted it in
6442 vector format for high resolution printing. But my inkscape knowledge
6443 were not nearly good enough to pull that off.
6444
6445 &lt;p&gt;But thanks to the great inkscape community, I was able to wrap up
6446 the cover yesterday evening. I asked on the
6447 &lt;a href=&quot;irc://irc.freenode.net/%23inkscape&quot;&gt;#inkscape IRC channel&lt;/a&gt;
6448 on Freenode for help and clues, and Marc Jeanmougin (Mc-) volunteered
6449 to try to recreate it based on the PDF of the cover from the HTML
6450 version. Not only did he create a
6451 &lt;a href=&quot;https://marc.jeanmougin.fr/share/copy1.svg &quot;&gt;SVG document with
6452 the original and his vector version side by side&lt;/a&gt;, he even provided
6453 an &lt;a href=&quot;https://marc.jeanmougin.fr/share/out-1.ogv&quot;&gt;instruction
6454 video&lt;/a&gt; explaining how he did it&lt;/a&gt;. But the instruction video is
6455 not easy to follow for an untrained inkscape user. The video is a
6456 recording on how he did it, and he is obviously very experienced as
6457 the menu selections are very quick and he mentioned on IRC that he did
6458 use some keyboard shortcuts that can&#39;t be seen on the video, but it
6459 give a good idea about the inkscape operations to use to create the
6460 stripes with the embossed copyright sign in the center.&lt;/p&gt;
6461
6462 &lt;p&gt;I took his SVG file, copied the vector image and re-sized it to fit
6463 on the cover I was drawing. I am happy with the end result, and the
6464 current english version look like this:&lt;/p&gt;
6465
6466 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2015-09-03-free-culture-cover.png&quot; width=&quot;70%&quot; align=&quot;center&quot;/&gt;
6467
6468 &lt;p&gt;I am not quite sure about the text on the back, but guess it will
6469 do. I picked three quotes from the official site for the book, and
6470 hope it will work to trigger the interest of potential readers. The
6471 Norwegian cover will look the same, but with the texts and bar code
6472 replaced with the Norwegian version.&lt;/p&gt;
6473
6474 &lt;p&gt;The book is very close to being ready for publication, and I expect
6475 to upload the final draft to Lulu in the next few days and order a
6476 final proof reading copy to verify that everything look like it should
6477 before allowing everyone to order their own copy of Free Culture, in
6478 English or Norwegian Bokmål. I&#39;m waiting to give the the productive
6479 proof readers a chance to complete their work.&lt;/p&gt;
6480 </description>
6481 </item>
6482
6483 <item>
6484 <title>In my hand, a pocket book edition of the Norwegian Free Culture book!</title>
6485 <link>http://people.skolelinux.org/pere/blog/In_my_hand__a_pocket_book_edition_of_the_Norwegian_Free_Culture_book_.html</link>
6486 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/In_my_hand__a_pocket_book_edition_of_the_Norwegian_Free_Culture_book_.html</guid>
6487 <pubDate>Wed, 19 Aug 2015 22:10:00 +0200</pubDate>
6488 <description>&lt;p&gt;Today, finally, my first printed draft edition of the Norwegian
6489 translation of Free Culture I have been working on for the last few
6490 years arrived in the mail. I had to fake a cover to get the interior
6491 printed, and the exterior of the book look awful, but that is
6492 irrelevant at this point. I asked for a printed pocket book version
6493 to get an idea about the font sizes and paper format as well as how
6494 good the figures and images look in print, but also to test what the
6495 pocket book version would look like. After receiving the 500 page
6496 pocket book, it became obvious to me that that pocket book size is too
6497 small for this book. I believe the book is too thick, and several
6498 tables and figures do not look good in the size they get with that
6499 small page sizes. I believe I will go with the 5.5x8.5 inch size
6500 instead. A surprise discovery from the paper version was how bad the
6501 URLs look in print. They are very hard to read in the colophon page.
6502 The URLs are red in the PDF, but light gray on paper. I need to
6503 change the color of links somehow to look better. But there is a
6504 printed book in my hand, and it feels great. :)&lt;/p&gt;
6505
6506 &lt;p&gt;Now I only need to fix the cover, wrap up the postscript with the
6507 store behind the book, and collect the last corrections from the proof
6508 readers before the book is ready for proper printing. Cover artists
6509 willing to work for free and create a Creative Commons licensed vector
6510 file looking similar to the original is most welcome, as my skills as
6511 a graphics designer are mostly missing.&lt;/p&gt;
6512 </description>
6513 </item>
6514
6515 <item>
6516 <title>First paper version of the Norwegian Free Culture book heading my way</title>
6517 <link>http://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</link>
6518 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</guid>
6519 <pubDate>Sun, 9 Aug 2015 10:15:00 +0200</pubDate>
6520 <description>&lt;p&gt;Typesetting a book is harder than I hoped. As the translation is
6521 mostly done, and a volunteer proof reader was going to check the text
6522 on paper, it was time this summer to focus on formatting my translated
6523 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; based version of the
6524 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; book by Lawrence
6525 Lessig. I&#39;ve been trying to get both docboox-xsl+fop and dblatex to
6526 give me a good looking PDF, but in the end I went with dblatex, because
6527 its Debian maintainer and upstream developer were responsive and very
6528 helpful in solving my formatting challenges.&lt;/p&gt;
6529
6530 &lt;p&gt;Last night, I finally managed to create a PDF that no longer made
6531 &lt;a href=&quot;http://www.lulu.com/&quot;&gt;Lulu.com&lt;/a&gt; complain after uploading,
6532 and I ordered a text version of the book on paper. It is lacking a
6533 proper book cover and is not tagged with the correct ISBN number, but
6534 should give me an idea what the finished book will look like.&lt;/p&gt;
6535
6536 &lt;p&gt;Instead of using Lulu, I did consider printing the book using
6537 &lt;a href=&quot;http://www.createspace.com/&quot;&gt;CreateSpace&lt;/a&gt;, but ended up
6538 using Lulu because it had smaller book size options (CreateSpace seem
6539 to lack pocket book with extended distribution). I looked for a
6540 similar service in Norway, but have not seen anything so far. Please
6541 let me know if I am missing out on something here.&lt;/p&gt;
6542
6543 &lt;p&gt;But I still struggle to decide the book size. Should I go for
6544 pocket book (4.25x6.875 inches / 10.8x17.5 cm) with 556 pages, Digest
6545 (5.5x8.5 inches / 14x21.6 cm) with 323 pages or US Trade (6x8 inches /
6546 15.3x22.9 cm) with 280 pages? Fewer pager give a cheaper book, and a
6547 smaller book is easier to carry around. The test book I ordered was
6548 pocket book sized, to give me an idea how well that fit in my hand,
6549 but I suspect I will end up using a digest sized book in the end to
6550 bring the prize down further.&lt;/p&gt;
6551
6552 &lt;p&gt;My biggest challenge at the moment is making nice cover art. My
6553 inkscape skills are not yet up to the task of replicating the original
6554 cover in SVG format. I also need to figure out what to write about
6555 the book on the back (will most likely use the same text as the
6556 description on web based book stores). I would love help with this,
6557 if you are willing to license the art source and final version using
6558 the same CC license as the book. My artistic skills are not really up
6559 to the task.&lt;/p&gt;
6560
6561 &lt;p&gt;I plan to publish the book in both English and Norwegian and on
6562 paper, in PDF form as well as EPUB and MOBI format. The current
6563 status can as usual be found on
6564 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
6565 in the archive/ directory. So far I have spent all time on making the
6566 PDF version look good. Someone should probably do the same with the
6567 dbtoepub generated e-book. Help is definitely needed here, as I
6568 expect to run out of steem before I find time to improve the epub
6569 formatting.&lt;/p&gt;
6570
6571 &lt;p&gt;Please let me know via github if you find typos in the book or
6572 discover translations that should be improved. The final proof
6573 reading is being done right now, and I expect to publish the finished
6574 result in a few months.&lt;/p&gt;
6575 </description>
6576 </item>
6577
6578 <item>
6579 <title>Typesetting DocBook footnotes as endnotes with dblatex</title>
6580 <link>http://people.skolelinux.org/pere/blog/Typesetting_DocBook_footnotes_as_endnotes_with_dblatex.html</link>
6581 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Typesetting_DocBook_footnotes_as_endnotes_with_dblatex.html</guid>
6582 <pubDate>Thu, 16 Jul 2015 18:10:00 +0200</pubDate>
6583 <description>&lt;p&gt;I&#39;m still working on the Norwegian version of the
6584 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture book by Lawrence
6585 Lessig&lt;/a&gt;, and is now working on the final typesetting and layout.
6586 One of the features I want to get the structure similar to the
6587 original book is to typeset the footnotes as endnotes in the notes
6588 chapter. Based on the
6589 &lt;a href=&quot;https://bugs.debian.org/685063&quot;&gt;feedback from the Debian
6590 maintainer and the dblatex developer&lt;/a&gt;, I came up with this recipe I
6591 would like to share with you. The proposal was to create a new LaTeX
6592 class file and add the LaTeX code there, but this is not always
6593 practical, when I want to be able to replace the class using a make
6594 file variable. So my proposal misuses the latex.begindocument XSL
6595 parameter value, to get a small fragment into the correct location in
6596 the generated LaTeX File.&lt;/p&gt;
6597
6598 &lt;p&gt;First, decide where in the DocBook document to place the endnotes,
6599 and add this text there:&lt;/p&gt;
6600
6601 &lt;pre&gt;
6602 &amp;lt;?latex \theendnotes ?&amp;gt;
6603 &lt;/pre&gt;
6604
6605 &lt;p&gt;Next, create a xsl stylesheet file dblatex-endnotes.xsl to add the
6606 code needed to add the endnote instructions in the preamble of the
6607 generated LaTeX document, with content like this:&lt;/p&gt;
6608
6609 &lt;pre&gt;
6610 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
6611 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
6612 &amp;lt;xsl:param name=&quot;latex.begindocument&quot;&amp;gt;
6613 &amp;lt;xsl:text&amp;gt;
6614 \usepackage{endnotes}
6615 \let\footnote=\endnote
6616 \def\enoteheading{\mbox{}\par\vskip-\baselineskip }
6617 \begin{document}
6618 &amp;lt;/xsl:text&amp;gt;
6619 &amp;lt;/xsl:param&amp;gt;
6620 &amp;lt;/xsl:stylesheet&amp;gt;
6621 &lt;/pre&gt;
6622
6623 &lt;p&gt;Finally, load this xsl file when running dblatex, for example like
6624 this:&lt;/p&gt;
6625
6626 &lt;pre&gt;
6627 dblatex --xsl-user=dblatex-endnotes.xsl freeculture.nb.xml
6628 &lt;/pre&gt;
6629
6630 &lt;p&gt;The end result can be seen on github, where
6631 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
6632 book project&lt;/a&gt; is located.&lt;/p&gt;
6633 </description>
6634 </item>
6635
6636 <item>
6637 <title>MPEG LA on &quot;Internet Broadcast AVC Video&quot; licensing and non-private use</title>
6638 <link>http://people.skolelinux.org/pere/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html</link>
6639 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html</guid>
6640 <pubDate>Tue, 7 Jul 2015 09:50:00 +0200</pubDate>
6641 <description>&lt;p&gt;After asking the Norwegian Broadcasting Company (NRK)
6642 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Hva_gj_r_at_NRK_kan_distribuere_H_264_video_uten_patentavtale_med_MPEG_LA_.html&quot;&gt;why
6643 they can broadcast and stream H.264 video without an agreement with
6644 the MPEG LA&lt;/a&gt;, I was wiser, but still confused. So I asked MPEG LA
6645 if their understanding matched that of NRK. As far as I can tell, it
6646 does not.&lt;/p&gt;
6647
6648 &lt;p&gt;I started by asking for more information about the various
6649 licensing classes and what exactly is covered by the &quot;Internet
6650 Broadcast AVC Video&quot; class that NRK pointed me at to explain why NRK
6651 did not need a license for streaming H.264 video:
6652
6653 &lt;p&gt;&lt;blockquote&gt;
6654
6655 &lt;p&gt;According to
6656 &lt;a href=&quot;http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/226/n-10-02-02.pdf&quot;&gt;a
6657 MPEG LA press release dated 2010-02-02&lt;/a&gt;, there is no charge when
6658 using MPEG AVC/H.264 according to the terms of &quot;Internet Broadcast AVC
6659 Video&quot;. I am trying to understand exactly what the terms of &quot;Internet
6660 Broadcast AVC Video&quot; is, and wondered if you could help me. What
6661 exactly is covered by these terms, and what is not?&lt;/p&gt;
6662
6663 &lt;p&gt;The only source of more information I have been able to find is a
6664 PDF named
6665 &lt;a href=&quot;http://www.mpegla.com/main/programs/avc/Documents/avcweb.pdf&quot;&gt;AVC
6666 Patent Portfolio License Briefing&lt;/a&gt;, which states this about the
6667 fees:&lt;/p&gt;
6668
6669 &lt;ul&gt;
6670 &lt;li&gt;Where End User pays for AVC Video
6671 &lt;ul&gt;
6672 &lt;li&gt;Subscription (not limited by title) – 100,000 or fewer
6673 subscribers/yr = no royalty; &amp;gt; 100,000 to 250,000 subscribers/yr =
6674 $25,000; &amp;gt;250,000 to 500,000 subscribers/yr = $50,000; &amp;gt;500,000 to
6675 1M subscribers/yr = $75,000; &amp;gt;1M subscribers/yr = $100,000&lt;/li&gt;
6676
6677 &lt;li&gt;Title-by-Title - 12 minutes or less = no royalty; &amp;gt;12 minutes in
6678 length = lower of (a) 2% or (b) $0.02 per title&lt;/li&gt;
6679 &lt;/ul&gt;&lt;/li&gt;
6680
6681 &lt;li&gt;Where remuneration is from other sources
6682 &lt;ul&gt;
6683 &lt;li&gt;Free Television - (a) one-time $2,500 per transmission encoder or
6684 (b) annual fee starting at $2,500 for &amp;gt; 100,000 HH rising to
6685 maximum $10,000 for &amp;gt;1,000,000 HH&lt;/li&gt;
6686
6687 &lt;li&gt;Internet Broadcast AVC Video (not title-by-title, not subscription)
6688 – no royalty for life of the AVC Patent Portfolio License&lt;/li&gt;
6689 &lt;/ul&gt;&lt;/li&gt;
6690 &lt;/ul&gt;
6691
6692 &lt;p&gt;Am I correct in assuming that the four categories listed is the
6693 categories used when selecting licensing terms, and that &quot;Internet
6694 Broadcast AVC Video&quot; is the category for things that do not fall into
6695 one of the other three categories? Can you point me to a good source
6696 explaining what is ment by &quot;title-by-title&quot; and &quot;Free Television&quot; in
6697 the license terms for AVC/H.264?&lt;/p&gt;
6698
6699 &lt;p&gt;Will a web service providing H.264 encoded video content in a
6700 &quot;video on demand&quot; fashing similar to Youtube and Vimeo, where no
6701 subscription is required and no payment is required from end users to
6702 get access to the videos, fall under the terms of the &quot;Internet
6703 Broadcast AVC Video&quot;, ie no royalty for life of the AVC Patent
6704 Portfolio license? Does it matter if some users are subscribed to get
6705 access to personalized services?&lt;/p&gt;
6706
6707 &lt;p&gt;Note, this request and all answers will be published on the
6708 Internet.&lt;/p&gt;
6709 &lt;/blockquote&gt;&lt;/p&gt;
6710
6711 &lt;p&gt;The answer came quickly from Benjamin J. Myers, Licensing Associate
6712 with the MPEG LA:&lt;/p&gt;
6713
6714 &lt;p&gt;&lt;blockquote&gt;
6715 &lt;p&gt;Thank you for your message and for your interest in MPEG LA. We
6716 appreciate hearing from you and I will be happy to assist you.&lt;/p&gt;
6717
6718 &lt;p&gt;As you are aware, MPEG LA offers our AVC Patent Portfolio License
6719 which provides coverage under patents that are essential for use of
6720 the AVC/H.264 Standard (MPEG-4 Part 10). Specifically, coverage is
6721 provided for end products and video content that make use of AVC/H.264
6722 technology. Accordingly, the party offering such end products and
6723 video to End Users concludes the AVC License and is responsible for
6724 paying the applicable royalties.&lt;/p&gt;
6725
6726 &lt;p&gt;Regarding Internet Broadcast AVC Video, the AVC License generally
6727 defines such content to be video that is distributed to End Users over
6728 the Internet free-of-charge. Therefore, if a party offers a service
6729 which allows users to upload AVC/H.264 video to its website, and such
6730 AVC Video is delivered to End Users for free, then such video would
6731 receive coverage under the sublicense for Internet Broadcast AVC
6732 Video, which is not subject to any royalties for the life of the AVC
6733 License. This would also apply in the scenario where a user creates a
6734 free online account in order to receive a customized offering of free
6735 AVC Video content. In other words, as long as the End User is given
6736 access to or views AVC Video content at no cost to the End User, then
6737 no royalties would be payable under our AVC License.&lt;/p&gt;
6738
6739 &lt;p&gt;On the other hand, if End Users pay for access to AVC Video for a
6740 specific period of time (e.g., one month, one year, etc.), then such
6741 video would constitute Subscription AVC Video. In cases where AVC
6742 Video is delivered to End Users on a pay-per-view basis, then such
6743 content would constitute Title-by-Title AVC Video. If a party offers
6744 Subscription or Title-by-Title AVC Video to End Users, then they would
6745 be responsible for paying the applicable royalties you noted below.&lt;/p&gt;
6746
6747 &lt;p&gt;Finally, in the case where AVC Video is distributed for free
6748 through an &quot;over-the-air, satellite and/or cable transmission&quot;, then
6749 such content would constitute Free Television AVC Video and would be
6750 subject to the applicable royalties.&lt;/p&gt;
6751
6752 &lt;p&gt;For your reference, I have attached
6753 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2015-07-07-mpegla.pdf&quot;&gt;a
6754 .pdf copy of the AVC License&lt;/a&gt;. You will find the relevant
6755 sublicense information regarding AVC Video in Sections 2.2 through
6756 2.5, and the corresponding royalties in Section 3.1.2 through 3.1.4.
6757 You will also find the definitions of Title-by-Title AVC Video,
6758 Subscription AVC Video, Free Television AVC Video, and Internet
6759 Broadcast AVC Video in Section 1 of the License. Please note that the
6760 electronic copy is provided for informational purposes only and cannot
6761 be used for execution.&lt;/p&gt;
6762
6763 &lt;p&gt;I hope the above information is helpful. If you have additional
6764 questions or need further assistance with the AVC License, please feel
6765 free to contact me directly.&lt;/p&gt;
6766 &lt;/blockquote&gt;&lt;/p&gt;
6767
6768 &lt;p&gt;Having a fresh copy of the license text was useful, and knowing
6769 that the definition of Title-by-Title required payment per title made
6770 me aware that my earlier understanding of that phrase had been wrong.
6771 But I still had a few questions:&lt;/p&gt;
6772
6773 &lt;p&gt;&lt;blockquote&gt;
6774 &lt;p&gt;I have a small followup question. Would it be possible for me to get
6775 a license with MPEG LA even if there are no royalties to be paid? The
6776 reason I ask, is that some video related products have a copyright
6777 clause limiting their use without a license with MPEG LA. The clauses
6778 typically look similar to this:
6779
6780 &lt;p&gt;&lt;blockquote&gt;
6781 This product is licensed under the AVC patent portfolio license for
6782 the personal and non-commercial use of a consumer to (a) encode
6783 video in compliance with the AVC standard (&quot;AVC video&quot;) and/or (b)
6784 decode AVC video that was encoded by a consumer engaged in a
6785 personal and non-commercial activity and/or AVC video that was
6786 obtained from a video provider licensed to provide AVC video. No
6787 license is granted or shall be implied for any other use. additional
6788 information may be obtained from MPEG LA L.L.C.
6789 &lt;/blockquote&gt;&lt;/p&gt;
6790
6791 &lt;p&gt;It is unclear to me if this clause mean that I need to enter into
6792 an agreement with MPEG LA to use the product in question, even if
6793 there are no royalties to be paid to MPEG LA. I suspect it will
6794 differ depending on the jurisdiction, and mine is Norway. What is
6795 MPEG LAs view on this?&lt;/p&gt;
6796 &lt;/blockquote&gt;&lt;/p&gt;
6797
6798 &lt;p&gt;According to the answer, MPEG LA believe those using such tools for
6799 non-personal or commercial use need a license with them:&lt;/p&gt;
6800
6801 &lt;p&gt;&lt;blockquote&gt;
6802
6803 &lt;p&gt;With regard to the Notice to Customers, I would like to begin by
6804 clarifying that the Notice from Section 7.1 of the AVC License
6805 reads:&lt;/p&gt;
6806
6807 &lt;p&gt;THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR
6808 THE PERSONAL USE OF A CONSUMER OR OTHER USES IN WHICH IT DOES NOT
6809 RECEIVE REMUNERATION TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC
6810 STANDARD (&quot;AVC VIDEO&quot;) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED
6811 BY A CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM
6812 A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED
6813 OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE
6814 OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM&lt;/p&gt;
6815
6816 &lt;p&gt;The Notice to Customers is intended to inform End Users of the
6817 personal usage rights (for example, to watch video content) included
6818 with the product they purchased, and to encourage any party using the
6819 product for commercial purposes to contact MPEG LA in order to become
6820 licensed for such use (for example, when they use an AVC Product to
6821 deliver Title-by-Title, Subscription, Free Television or Internet
6822 Broadcast AVC Video to End Users, or to re-Sell a third party&#39;s AVC
6823 Product as their own branded AVC Product).&lt;/p&gt;
6824
6825 &lt;p&gt;Therefore, if a party is to be licensed for its use of an AVC
6826 Product to Sell AVC Video on a Title-by-Title, Subscription, Free
6827 Television or Internet Broadcast basis, that party would need to
6828 conclude the AVC License, even in the case where no royalties were
6829 payable under the License. On the other hand, if that party (either a
6830 Consumer or business customer) simply uses an AVC Product for their
6831 own internal purposes and not for the commercial purposes referenced
6832 above, then such use would be included in the royalty paid for the AVC
6833 Products by the licensed supplier.&lt;/p&gt;
6834
6835 &lt;p&gt;Finally, I note that our AVC License provides worldwide coverage in
6836 countries that have AVC Patent Portfolio Patents, including
6837 Norway.&lt;/p&gt;
6838
6839 &lt;p&gt;I hope this clarification is helpful. If I may be of any further
6840 assistance, just let me know.&lt;/p&gt;
6841 &lt;/blockquote&gt;&lt;/p&gt;
6842
6843 &lt;p&gt;The mentioning of Norwegian patents made me a bit confused, so I
6844 asked for more information:&lt;/p&gt;
6845
6846 &lt;p&gt;&lt;blockquote&gt;
6847
6848 &lt;p&gt;But one minor question at the end. If I understand you correctly,
6849 you state in the quote above that there are patents in the AVC Patent
6850 Portfolio that are valid in Norway. This make me believe I read the
6851 list available from &amp;lt;URL:
6852 &lt;a href=&quot;http://www.mpegla.com/main/programs/AVC/Pages/PatentList.aspx&quot;&gt;http://www.mpegla.com/main/programs/AVC/Pages/PatentList.aspx&lt;/a&gt;
6853 &amp;gt; incorrectly, as I believed the &quot;NO&quot; prefix in front of patents
6854 were Norwegian patents, and the only one I could find under Mitsubishi
6855 Electric Corporation expired in 2012. Which patents are you referring
6856 to that are relevant for Norway?&lt;/p&gt;
6857
6858 &lt;/blockquote&gt;&lt;/p&gt;
6859
6860 &lt;p&gt;Again, the quick answer explained how to read the list of patents
6861 in that list:&lt;/p&gt;
6862
6863 &lt;p&gt;&lt;blockquote&gt;
6864
6865 &lt;p&gt;Your understanding is correct that the last AVC Patent Portfolio
6866 Patent in Norway expired on 21 October 2012. Therefore, where AVC
6867 Video is both made and Sold in Norway after that date, then no
6868 royalties would be payable for such AVC Video under the AVC License.
6869 With that said, our AVC License provides historic coverage for AVC
6870 Products and AVC Video that may have been manufactured or Sold before
6871 the last Norwegian AVC patent expired. I would also like to clarify
6872 that coverage is provided for the country of manufacture and the
6873 country of Sale that has active AVC Patent Portfolio Patents.&lt;/p&gt;
6874
6875 &lt;p&gt;Therefore, if a party offers AVC Products or AVC Video for Sale in
6876 a country with active AVC Patent Portfolio Patents (for example,
6877 Sweden, Denmark, Finland, etc.), then that party would still need
6878 coverage under the AVC License even if such products or video are
6879 initially made in a country without active AVC Patent Portfolio
6880 Patents (for example, Norway). Similarly, a party would need to
6881 conclude the AVC License if they make AVC Products or AVC Video in a
6882 country with active AVC Patent Portfolio Patents, but eventually Sell
6883 such AVC Products or AVC Video in a country without active AVC Patent
6884 Portfolio Patents.&lt;/p&gt;
6885 &lt;/blockquote&gt;&lt;/p&gt;
6886
6887 &lt;p&gt;As far as I understand it, MPEG LA believe anyone using Adobe
6888 Premiere and other video related software with a H.264 distribution
6889 license need a license agreement with MPEG LA to use such tools for
6890 anything non-private or commercial, while it is OK to set up a
6891 Youtube-like service as long as no-one pays to get access to the
6892 content. I still have no clear idea how this applies to Norway, where
6893 none of the patents MPEG LA is licensing are valid. Will the
6894 copyright terms take precedence or can those terms be ignored because
6895 the patents are not valid in Norway?&lt;/p&gt;
6896 </description>
6897 </item>
6898
6899 <item>
6900 <title>New laptop - some more clues and ideas based on feedback</title>
6901 <link>http://people.skolelinux.org/pere/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html</link>
6902 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html</guid>
6903 <pubDate>Sun, 5 Jul 2015 21:40:00 +0200</pubDate>
6904 <description>&lt;p&gt;Several people contacted me after my previous blog post about my
6905 need for a new laptop, and provided very useful feedback. I wish to
6906 thank every one of these. Several pointed me to the possibility of
6907 fixing my X230, and I am already in the process of getting Lenovo to
6908 do so thanks to the on site, next day support contract covering the
6909 machine. But the battery is almost useless (I expect to replace it
6910 with a non-official battery) and I do not expect the machine to live
6911 for many more years, so it is time to plan its replacement. If I did
6912 not have a support contract, it was suggested to find replacement parts
6913 using &lt;a href=&quot;http://www.francecrans.com/&quot;&gt;FrancEcrans&lt;/a&gt;, but it
6914 might present a language barrier as I do not understand French.&lt;/p&gt;
6915
6916 &lt;p&gt;One tip I got was to use the
6917 &lt;a href=&quot;https://skinflint.co.uk/?cat=nb&quot;&gt;Skinflint&lt;/a&gt; web service to
6918 compare laptop models. It seem to have more models available than
6919 prisjakt.no. Another tip I got from someone I know have similar
6920 keyboard preferences was that the HP EliteBook 840 keyboard is not
6921 very good, and this matches my experience with earlier EliteBook
6922 keyboards I tested. Because of this, I will not consider it any further.
6923
6924 &lt;p&gt;When I wrote my blog post, I was not aware of Thinkpad X250, the
6925 newest Thinkpad X model. The keyboard reintroduces mouse buttons
6926 (which is missing from the X240), and is working fairly well with
6927 Debian Sid/Unstable according to
6928 &lt;a href=&quot;http://www.corsac.net/X250/&quot;&gt;Corsac.net&lt;/a&gt;. The reports I
6929 got on the keyboard quality are not consistent. Some say the keyboard
6930 is good, others say it is ok, while others say it is not very good.
6931 Those with experience from X41 and and X60 agree that the X250
6932 keyboard is not as good as those trusty old laptops, and suggest I
6933 keep and fix my X230 instead of upgrading, or get a used X230 to
6934 replace it. I&#39;m also told that the X250 lack leds for caps lock, disk
6935 activity and battery status, which is very convenient on my X230. I&#39;m
6936 also told that the CPU fan is running very often, making it a bit
6937 noisy. In any case, the X250 do not work out of the box with Debian
6938 Stable/Jessie, one of my requirements.&lt;/p&gt;
6939
6940 &lt;p&gt;I have also gotten a few vendor proposals, one was
6941 &lt;a href=&quot;http://pro-star.com&quot;&gt;Pro-Star&lt;/a&gt;, another was
6942 &lt;a href=&quot;http://shop.gluglug.org.uk/product/libreboot-x200/&quot;&gt;Libreboot&lt;/a&gt;.
6943 The latter look very attractive to me.&lt;/p&gt;
6944
6945 &lt;p&gt;Again, thank you all for the very useful feedback. It help a lot
6946 as I keep looking for a replacement.&lt;/p&gt;
6947
6948 &lt;p&gt;Update 2015-07-06: I was recommended to check out the
6949 &lt;a href=&quot;&quot;&gt;lapstore.de&lt;/a&gt; web shop for used laptops. They got several
6950 different
6951 &lt;a href=&quot;http://www.lapstore.de/f.php/shop/lapstore/f/411/lang/x/kw/Lenovo_ThinkPad_X_Serie/&quot;&gt;old
6952 thinkpad X models&lt;/a&gt;, and provide one year warranty.&lt;/p&gt;
6953 </description>
6954 </item>
6955
6956 <item>
6957 <title>Time to find a new laptop, as the old one is broken after only two years</title>
6958 <link>http://people.skolelinux.org/pere/blog/Time_to_find_a_new_laptop__as_the_old_one_is_broken_after_only_two_years.html</link>
6959 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_to_find_a_new_laptop__as_the_old_one_is_broken_after_only_two_years.html</guid>
6960 <pubDate>Fri, 3 Jul 2015 07:10:00 +0200</pubDate>
6961 <description>&lt;p&gt;My primary work horse laptop is failing, and will need a
6962 replacement soon. The left 5 cm of the screen on my Thinkpad X230
6963 started flickering yesterday, and I suspect the cause is a broken
6964 cable, as changing the angle of the screen some times get rid of the
6965 flickering.&lt;/p&gt;
6966
6967 &lt;p&gt;My requirements have not really changed since I bought it, and is
6968 still as
6969 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html&quot;&gt;I
6970 described them in 2013&lt;/a&gt;. The last time I bought a laptop, I had
6971 good help from
6972 &lt;a href=&quot;http://www.prisjakt.no/category.php?k=353&quot;&gt;prisjakt.no&lt;/a&gt;
6973 where I could select at least a few of the requirements (mouse pin,
6974 wifi, weight) and go through the rest manually. Three button mouse
6975 and a good keyboard is not available as an option, and all the three
6976 laptop models proposed today (Thinkpad X240, HP EliteBook 820 G1 and
6977 G2) lack three mouse buttons). It is also unclear to me how good the
6978 keyboard on the HP EliteBooks are. I hope Lenovo have not messed up
6979 the keyboard, even if the quality and robustness in the X series have
6980 deteriorated since X41.&lt;/p&gt;
6981
6982 &lt;p&gt;I wonder how I can find a sensible laptop when none of the options
6983 seem sensible to me? Are there better services around to search the
6984 set of available laptops for features? Please send me an email if you
6985 have suggestions.&lt;/p&gt;
6986
6987 &lt;p&gt;Update 2015-07-23: I got a suggestion to check out the FSF
6988 &lt;a href=&quot;http://www.fsf.org/resources/hw/endorsement/respects-your-freedom&quot;&gt;list
6989 of endorsed hardware&lt;/a&gt;, which is useful background information.&lt;/p&gt;
6990 </description>
6991 </item>
6992
6993 <item>
6994 <title>MakerCon Nordic videos now available on Frikanalen</title>
6995 <link>http://people.skolelinux.org/pere/blog/MakerCon_Nordic_videos_now_available_on_Frikanalen.html</link>
6996 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/MakerCon_Nordic_videos_now_available_on_Frikanalen.html</guid>
6997 <pubDate>Thu, 2 Jul 2015 14:10:00 +0200</pubDate>
6998 <description>&lt;p&gt;Last oktober I was involved on behalf of
6999 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt; with recording the talks at
7000 &lt;a href=&quot;http://www.makercon.no/&quot;&gt;MakerCon Nordic&lt;/a&gt;, a conference for
7001 the Maker movement. Since then it has been the plan to publish the
7002 recordings on &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, which
7003 finally happened the last few days. A few talks are missing because
7004 the speakers asked the organizers to not publish them, but most of the
7005 talks are available. The talks are being broadcasted on RiksTV
7006 channel 50 and using multicast on Uninett, as well as being available
7007 from the Frikanalen web site. The unedited recordings are
7008 &lt;a href=&quot;https://www.youtube.com/user/MakerConNordic/&quot;&gt;available on
7009 Youtube too&lt;/a&gt;.&lt;/p&gt;
7010
7011 &lt;p&gt;This is the list of talks available at the moment. Visit the
7012 &lt;a href=&quot;http://beta.frikanalen.no/video/?q=makercon&quot;&gt;Frikanalen video
7013 pages&lt;/a&gt; to view them.&lt;/p&gt;
7014
7015 &lt;ul&gt;
7016
7017 &lt;li&gt;Evolutionary algorithms as a design tool - from art
7018 to robotics (Kyrre Glette)&lt;/li&gt;
7019
7020 &lt;li&gt;Make and break (Hans Gerhard Meier)&lt;/li&gt;
7021
7022 &lt;li&gt;Making a one year school course for young makers
7023 (Olav Helland)&lt;/li&gt;
7024
7025 &lt;li&gt;Innovation Inspiration - IPR Databases as a Source of
7026 Inspiration (Hege Langlo)&lt;/li&gt;
7027
7028 &lt;li&gt;Making a toy for makers (Erik Torstensson)&lt;/li&gt;
7029
7030 &lt;li&gt;How to make 3D printer electronics (Elias Bakken)&lt;/li&gt;
7031
7032 &lt;li&gt;Hovering Clouds: Looking at online tool offerings for Product
7033 Design and 3D Printing (William Kempton)&lt;/li&gt;
7034
7035 &lt;li&gt;Travelling maker stories (Øyvind Nydal Dahl)&lt;/li&gt;
7036
7037 &lt;li&gt;Making the first Maker Faire in Sweden (Nils Olander)&lt;/li&gt;
7038
7039 &lt;li&gt;Breaking the mold: Printing 1000’s of parts (Espen Sivertsen)&lt;/li&gt;
7040
7041 &lt;li&gt;Ultimaker — and open source 3D printing (Erik de Bruijn)&lt;/li&gt;
7042
7043 &lt;li&gt;Autodesk’s 3D Printing Platform: Sparking innovation (Hilde
7044 Sevens)&lt;/li&gt;
7045
7046 &lt;li&gt;How Making is Changing the World – and How You Can Too!
7047 (Jennifer Turliuk)&lt;/li&gt;
7048
7049 &lt;li&gt;Open-Source Adventuring: OpenROV, OpenExplorer and the Future of
7050 Connected Exploration (David Lang)&lt;/li&gt;
7051
7052 &lt;li&gt;Making in Norway (Haakon Karlsen Jr., Graham Hayward and Jens
7053 Dyvik)&lt;/li&gt;
7054
7055 &lt;li&gt;The Impact of the Maker Movement (Mike Senese)&lt;/li&gt;
7056
7057 &lt;/ul&gt;
7058
7059 &lt;p&gt;Part of the reason this took so long was that the scripts NUUG had
7060 to prepare a recording for publication were five years old and no
7061 longer worked with the current video processing tools (command line
7062 argument changes). In addition, we needed better audio normalization,
7063 which sent me on a detour to
7064 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html&quot;&gt;package
7065 bs1770gain for Debian&lt;/a&gt;. Now this is in place and it became a lot
7066 easier to publish NUUG videos on Frikanalen.&lt;/p&gt;
7067 </description>
7068 </item>
7069
7070 <item>
7071 <title>Graphing the Norwegian company ownership structure</title>
7072 <link>http://people.skolelinux.org/pere/blog/Graphing_the_Norwegian_company_ownership_structure.html</link>
7073 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Graphing_the_Norwegian_company_ownership_structure.html</guid>
7074 <pubDate>Mon, 15 Jun 2015 14:00:00 +0200</pubDate>
7075 <description>&lt;p&gt;It is a bit work to figure out the ownership structure of companies
7076 in Norway. The information is publicly available, but one need to
7077 recursively look up ownership for all owners to figure out the complete
7078 ownership graph of a given set of companies. To save me the work in
7079 the future, I wrote a script to do this automatically, outputting the
7080 ownership structure using the Graphviz/dotty format. The data source
7081 is web scraping from &lt;a href=&quot;http://www.proff.no/&quot;&gt;Proff&lt;/a&gt;, because
7082 I failed to find a useful source directly from the official keepers of
7083 the ownership data, &lt;a href=&quot;http://www.brreg.no/&quot;&gt;Brønnøysundsregistrene&lt;/a&gt;.&lt;/p&gt;
7084
7085 &lt;p&gt;To get an ownership graph for a set of companies, fetch
7086 &lt;a href=&quot;https://github.com/petterreinholdtsen/brreg-norway-ownership-graph&quot;&gt;the code from git&lt;/a&gt; and run it using the organisation number. I&#39;m
7087 using the Norwegian newspaper Dagbladet as an example here, as its
7088 ownership structure is very simple:&lt;/p&gt;
7089
7090 &lt;pre&gt;
7091 % time ./bin/eierskap-dotty 958033540 &gt; dagbladet.dot
7092
7093 real 0m2.841s
7094 user 0m0.184s
7095 sys 0m0.036s
7096 %
7097 &lt;/pre&gt;
7098
7099 &lt;p&gt;The script accept several organisation numbers on the command line,
7100 allowing a cluster of companies to be graphed in the same image. The
7101 resulting dot file for the example above look like this. The edges
7102 are labeled with the ownership percentage, and the nodes uses the
7103 organisation number as their name and the name as the label:&lt;/p&gt;
7104
7105 &lt;pre&gt;
7106 digraph ownership {
7107 rankdir = LR;
7108 &quot;Aller Holding A/s&quot; -&gt; &quot;910119877&quot; [label=&quot;100%&quot;]
7109 &quot;910119877&quot; -&gt; &quot;998689015&quot; [label=&quot;100%&quot;]
7110 &quot;998689015&quot; -&gt; &quot;958033540&quot; [label=&quot;99%&quot;]
7111 &quot;974530600&quot; -&gt; &quot;958033540&quot; [label=&quot;1%&quot;]
7112 &quot;958033540&quot; [label=&quot;AS DAGBLADET&quot;]
7113 &quot;998689015&quot; [label=&quot;Berner Media Holding AS&quot;]
7114 &quot;974530600&quot; [label=&quot;Dagbladets Stiftelse&quot;]
7115 &quot;910119877&quot; [label=&quot;Aller Media AS&quot;]
7116 }
7117 &lt;/pre&gt;
7118
7119 &lt;p&gt;To view the ownership graph, run &quot;&lt;tt&gt;dotty dagbladet.dot&lt;/tt&gt;&quot; or
7120 convert it to a PNG using &quot;&lt;tt&gt;dot -T png dagbladet.dot &gt;
7121 dagbladet.png&lt;/tt&gt;&quot;. The result can be seen below:&lt;/p&gt;
7122
7123 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2015-06-15-ownership-graphs-norway-dagbladet.png&quot; width=&quot;80%&quot;&gt;
7124
7125 &lt;p&gt;Note that I suspect the &quot;Aller Holding A/S&quot; entry to be incorrect
7126 data in the official ownership register, as that name is not
7127 registered in the official company register for Norway. The ownership
7128 register is sensitive to typos and there seem to be no strict checking
7129 of the ownership links.&lt;/p&gt;
7130
7131 &lt;p&gt;Let me know if you improve the script or find better data sources.
7132 The code is licensed according to GPL 2 or newer.&lt;/p&gt;
7133
7134 &lt;p&gt;Update 2015-06-15: Since the initial post I&#39;ve been told that
7135 &quot;&lt;a href=&quot;http://www.proff.dk/firma/carl-allers-etablissement-aktieselskab/københavn-v/hovedkontorer/13624518-3/&quot;&gt;Aller
7136 Holding A/S&lt;/a&gt;&quot; is a Danish company, which explain why it did not
7137 have a Norwegian organisation number. I&#39;ve also been told that there
7138 is a &lt;a href=&quot;http://www.brreg.no/automatiske/webservices/&quot;&gt;web
7139 services API available&lt;/a&gt; from Brønnøysundsregistrene, for those
7140 willing to accept the terms or pay the price.&lt;/p&gt;
7141 </description>
7142 </item>
7143
7144 <item>
7145 <title>Measuring and adjusting the loudness of a TV channel using bs1770gain</title>
7146 <link>http://people.skolelinux.org/pere/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html</link>
7147 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html</guid>
7148 <pubDate>Thu, 11 Jun 2015 13:40:00 +0200</pubDate>
7149 <description>&lt;p&gt;Television loudness is the source of frustration for viewers
7150 everywhere. Some channels are very load, others are less loud, and
7151 ads tend to shout very high to get the attention of the viewers, and
7152 the viewers do not like this. This fact is well known to the TV
7153 channels. See for example the BBC white paper
7154 &quot;&lt;a href=&quot;http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP202.pdf&quot;&gt;Terminology
7155 for loudness and level dBTP, LU, and all that&lt;/a&gt;&quot; from 2011 for a
7156 summary of the problem domain. To better address the need for even
7157 loadness, the TV channels got together several years ago to agree on a
7158 new way to measure loudness in digital files as one step in
7159 standardizing loudness. From this came the ITU-R standard BS.1770,
7160 &quot;&lt;a href=&quot;http://www.itu.int/rec/R-REC-BS.1770/en&quot;&gt;Algorithms to
7161 measure audio programme loudness and true-peak audio level&lt;/a&gt;&quot;.&lt;/p&gt;
7162
7163 &lt;p&gt;The ITU-R BS.1770 specification describe an algorithm to measure
7164 loadness in LUFS (Loudness Units, referenced to Full Scale). But
7165 having a way to measure is not enough. To get the same loudness
7166 across TV channels, one also need to decide which value to standardize
7167 on. For European TV channels, this was done in the EBU Recommondaton
7168 R128, &quot;&lt;a href=&quot;https://tech.ebu.ch/docs/r/r128.pdf&quot;&gt;Loudness
7169 normalisation and permitted maximum level of audio signals&lt;/a&gt;&quot;, which
7170 specifies a recommended level of -23 LUFS. In Norway, I have been
7171 told that NRK, TV2, MTG and SBS have decided among themselves to
7172 follow the R128 recommondation for playout from 2016-03-01.&lt;/p&gt;
7173
7174 &lt;p&gt;There are free software available to measure and adjust the loudness
7175 level using the LUFS. In Debian, I am aware of a library named
7176 &lt;a href=&quot;https://tracker.debian.org/pkg/libebur128&quot;&gt;libebur128&lt;/a&gt;
7177 able to measure the loudness and since yesterday morning a new binary
7178 named &lt;a href=&quot;http://bs1770gain.sourceforge.net&quot;&gt;bs1770gain&lt;/a&gt;
7179 capable of both measuring and adjusting was uploaded and is waiting
7180 for NEW processing. I plan to maintain the latter in Debian under the
7181 &lt;a href=&quot;https://qa.debian.org/developer.php?email=pkg-multimedia-maintainers%40lists.alioth.debian.org&quot;&gt;Debian
7182 multimedia&lt;/a&gt; umbrella.&lt;/p&gt;
7183
7184 &lt;p&gt;The free software based TV channel I am involved in,
7185 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, plan to follow the
7186 R128 recommondation ourself as soon as we can adjust the software to
7187 do so, and the bs1770gain tool seem like a good fit for that part of
7188 the puzzle to measure loudness on new video uploaded to Frikanalen.
7189 Personally, I plan to use bs1770gain to adjust the loudness of videos
7190 I upload to Frikanalen on behalf of &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the
7191 NUUG member organisation&lt;/a&gt;. The program seem to be able to measure
7192 the LUFS value of any media file handled by ffmpeg, but I&#39;ve only
7193 successfully adjusted the LUFS value of WAV files. I suspect it
7194 should be able to adjust it for all the formats handled by ffmpeg.&lt;/p&gt;
7195 </description>
7196 </item>
7197
7198 <item>
7199 <title>Norwegian citizens now required by law to give their fingerprint to the police</title>
7200 <link>http://people.skolelinux.org/pere/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html</link>
7201 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html</guid>
7202 <pubDate>Sun, 10 May 2015 16:00:00 +0200</pubDate>
7203 <description>&lt;p&gt;5 days ago, the Norwegian Parliament decided, unanimously, that all
7204 citizens of Norway, no matter if they are suspected of something
7205 criminal or not, are
7206 &lt;a href=&quot;https://www.holderdeord.no/votes/1430838871e&quot;&gt;required to
7207 give fingerprints to the police&lt;/a&gt; (vote details from Holder de
7208 ord). The law make it sound like it will be optional, but in a few
7209 years there will be no option any more. The ID will be required to
7210 vote, to get a bank account, a bank card, to change address on the
7211 post office, to receive an electronic ID or to get a drivers license
7212 and many other tasks required to function in Norway. The banks plan
7213 to stop providing their own ID on the bank cards when this new
7214 national ID is introduced, and the national road authorities plan to
7215 change the drivers license to no longer be usable as identity cards.
7216 In effect, to function as a citizen in Norway a national ID card will
7217 be required, and to get it one need to provide the fingerprints to
7218 the police.&lt;/p&gt;
7219
7220 &lt;p&gt;In addition to handing the fingerprint to the police (which
7221 promised to not make a copy of the fingerprint image at that point in
7222 time, but say nothing about doing it later), a picture of the
7223 fingerprint will be stored on the RFID chip, along with a picture of
7224 the face and other information about the person. Some of the
7225 information will be encrypted, but the encryption will be the same
7226 system as currently used in the passports. The codes to decrypt will
7227 be available to a lot of government offices and their suppliers around
7228 the globe, but for those that do not know anyone in those circles it
7229 is good to know that
7230 &lt;a href=&quot;http://www.theguardian.com/technology/2006/nov/17/news.homeaffairs&quot;&gt;the
7231 encryption is already broken&lt;/a&gt;. And they
7232 &lt;a href=&quot;http://www.networkworld.com/article/2215057/wireless/bad-guys-could-read-rfid-passports-at-217-feet--maybe-a-lot-more.html&quot;&gt;can
7233 be read from 70 meters away&lt;/a&gt;. This can be mitigated a bit by
7234 keeping it in a Faraday cage (metal box or metal wire container), but
7235 one will be required to take it out of there often enough to expose
7236 ones private and personal information to a lot of people that have no
7237 business getting access to that information.&lt;/p&gt;
7238
7239 &lt;p&gt;The new Norwegian national IDs are a vehicle for identity theft,
7240 and I feel sorry for us all having politicians accepting such invasion
7241 of privacy without any objections. So are the Norwegian passports,
7242 but it has been possible to function in Norway without those so far.
7243 That option is going away with the passing of the new law. In this, I
7244 envy the Germans, because for them it is optional how much biometric
7245 information is stored in their national ID.&lt;/p&gt;
7246
7247 &lt;p&gt;And if forced collection of fingerprints was not bad enough, the
7248 information collected in the national ID card register can be handed
7249 over to foreign intelligence services and police authorities, &quot;when
7250 extradition is not considered disproportionate&quot;.&lt;/p&gt;
7251
7252 &lt;p&gt;Update 2015-05-12: For those unable to believe that the Parliament
7253 really could make such decision, I wrote
7254 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Blir_det_virkelig_krav_om_fingeravtrykk_i_nasjonale_ID_kort_.html&quot;&gt;a
7255 summary of the sources I have&lt;/a&gt; for concluding the way I do
7256 (Norwegian Only, as the sources are all in Norwegian).&lt;/p&gt;
7257 </description>
7258 </item>
7259
7260 <item>
7261 <title>What would it cost to store all phone calls in Norway?</title>
7262 <link>http://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html</link>
7263 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html</guid>
7264 <pubDate>Fri, 1 May 2015 19:30:00 +0200</pubDate>
7265 <description>&lt;p&gt;Many years ago, a friend of mine calculated how much it would cost
7266 to store the sound of all phone calls in Norway, and came up with the
7267 cost of around 20 million NOK (2.4 mill EUR) for all the calls in a
7268 year. I got curious and wondered what the same calculation would look
7269 like today. To do so one need an idea of how much data storage is
7270 needed for each minute of sound, how many minutes all the calls in
7271 Norway sums up to, and the cost of data storage.&lt;/p&gt;
7272
7273 &lt;p&gt;The 2005 numbers are from
7274 &lt;a href=&quot;http://www.digi.no/analyser/2005/10/04/vi-prater-stadig-mindre-i-roret&quot;&gt;digi.no&lt;/a&gt;,
7275 the 2012 numbers are from
7276 &lt;a href=&quot;http://www.nkom.no/aktuelt/nyheter/fortsatt-vekst-i-det-norske-ekommarkedet&quot;&gt;a
7277 NKOM report&lt;/a&gt;, and I got the 2013 numbers after asking NKOM via
7278 email. I was told the numbers for 2014 will be presented May 20th,
7279 and decided not to wait for those, as I doubt they will be very
7280 different from the numbers from 2013.&lt;/p&gt;
7281
7282 &lt;p&gt;The amount of data storage per minute sound depend on the wanted
7283 quality, and for phone calls it is generally believed that 8 Kbit/s is
7284 enough. See for example a
7285 &lt;a href=&quot;http://www.cisco.com/c/en/us/support/docs/voice/voice-quality/7934-bwidth-consume.html#topic1&quot;&gt;summary
7286 on voice quality from Cisco&lt;/a&gt; for some alternatives. 8 Kbit/s is 60
7287 Kbytes/min, and this can be multiplied with the number of call minutes
7288 to get the storage requirements.&lt;/p&gt;
7289
7290 &lt;p&gt;Storage prices varies a lot, depending on speed, backup strategies,
7291 availability requirements etc. But a simple way to calculate can be
7292 to use the price of a TiB-disk (around 1000 NOK / 120 EUR) and double
7293 it to take space, power and redundancy into account. It could be much
7294 higher with high speed and good redundancy requirements.&lt;/p&gt;
7295
7296 &lt;p&gt;But back to the question, What would it cost to store all phone
7297 calls in Norway? Not much. Here is a small table showing the
7298 estimated cost, which is within the budget constraint of most medium
7299 and large organisations:&lt;/p&gt;
7300
7301 &lt;table border=&quot;1&quot;&gt;
7302 &lt;tr&gt;&lt;th&gt;Year&lt;/th&gt;&lt;th&gt;Call minutes&lt;/th&gt;&lt;th&gt;Size&lt;/th&gt;&lt;th&gt;Price in NOK / EUR&lt;/th&gt;&lt;/tr&gt;
7303 &lt;tr&gt;&lt;td&gt;2005&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;24 000 000 000&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1.3 PiB&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;3 mill / 358 000&lt;/td&gt;&lt;/tr&gt;
7304 &lt;tr&gt;&lt;td&gt;2012&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;18 000 000 000&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;1.0 PiB&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;2.2 mill / 262 000&lt;/td&gt;&lt;/tr&gt;
7305 &lt;tr&gt;&lt;td&gt;2013&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;17 000 000 000&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;950 TiB&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;2.1 mill / 250 000&lt;/td&gt;&lt;/tr&gt;
7306 &lt;/table&gt;
7307
7308 &lt;p&gt;This is the cost of buying the storage. Maintenance need to be
7309 taken into account too, but calculating that is left as an exercise
7310 for the reader. But it is obvious to me from those numbers that
7311 recording the sound of all phone calls in Norway is not going to be
7312 stopped because it is too expensive. I wonder if someone already is
7313 collecting the data?&lt;/p&gt;
7314 </description>
7315 </item>
7316
7317 <item>
7318 <title>First Jessie based Debian Edu beta release</title>
7319 <link>http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_beta_release.html</link>
7320 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_beta_release.html</guid>
7321 <pubDate>Sun, 26 Apr 2015 14:10:00 +0200</pubDate>
7322 <description>&lt;p&gt;I am happy to report that the Debian Edu team sent out
7323 &lt;a href=&quot;https://lists.debian.org/debian-edu-announce/2015/04/msg00000.html&quot;&gt;this
7324 announcement today&lt;/a&gt;:&lt;/p&gt;
7325
7326 &lt;pre&gt;
7327 the Debian Edu / Skolelinux project is pleased to announce the first
7328 *beta* release of Debian Edu &quot;Jessie&quot; 8.0+edu0~b1, which for the first
7329 time is composed entirely of packages from the current Debian stable
7330 release, Debian 8 &quot;Jessie&quot;.
7331
7332 (As most reading this will know, Debian &quot;Jessie&quot; hasn&#39;t actually been
7333 released by now. The release is still in progress but should finish
7334 later today ;)
7335
7336 We expect to make a final release of Debian Edu &quot;Jessie&quot; in the coming
7337 weeks, timed with the first point release of Debian Jessie. Upgrades
7338 from this beta release of Debian Edu Jessie to the final release will
7339 be possible and encouraged!
7340
7341 Please report feedback to debian-edu@lists.debian.org and/or submit
7342 bugs: http://wiki.debian.org/DebianEdu/HowTo/ReportBugs
7343
7344 Debian Edu - sometimes also known as &quot;Skolelinux&quot; - is a complete
7345 operating system for schools, universities and other
7346 organisations. Through its pre- prepared installation profiles
7347 administrators can install servers, workstations and laptops which
7348 will work in harmony on the school network. With Debian Edu, the
7349 teachers themselves or their technical support staff can roll out a
7350 complete multi-user, multi-machine study environment within hours or
7351 days.
7352
7353 Debian Edu is already in use at several hundred schools all over the
7354 world, particularly in Germany, Spain and Norway. Installations come
7355 with hundreds of applications pre-installed, plus the whole Debian
7356 archive of thousands of compatible packages within easy reach.
7357
7358 For those who want to give Debian Edu Jessie a try, download and
7359 installation instructions are available, including detailed
7360 instructions in the manual explaining the first steps, such as setting
7361 up a network or adding users. Please note that the password for the
7362 user your prompted for during installation must have a length of at
7363 least 5 characters!
7364
7365 == Where to download ==
7366
7367 A multi-architecture CD / usbstick image (649 MiB) for network booting
7368 can be downloaded at the following locations:
7369
7370 http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~b1-CD.iso
7371 rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~b1-CD.iso .
7372
7373 The SHA1SUM of this image is: 54a524d16246cddd8d2cfd6ea52f2dd78c47ee0a
7374
7375 Alternatively an extended DVD / usbstick image (4.9 GiB) is also
7376 available, with more software included (saving additional download
7377 time):
7378
7379 http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~b1-USB.iso
7380 rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~b1-USB.iso
7381
7382 The SHA1SUM of this image is: fb1f1504a490c077a48653898f9d6a461cb3c636
7383
7384 Sources are available from the Debian archive, see
7385 http://ftp.debian.org/debian-cd/8.0.0/source/ for some download
7386 options.
7387
7388 == Debian Edu Jessie manual in seven languages ==
7389
7390 Please see https://wiki.debian.org/DebianEdu/Documentation/Jessie/ for
7391 the English version of the Debian Edu jessie manual.
7392
7393 This manual has been fully translated to German, French, Italian,
7394 Danish, Dutch and Norwegian Bokmål. A partly translated version exists
7395 for Spanish. See http://maintainer.skolelinux.org/debian-edu-doc/ for
7396 online version of the translated manual.
7397
7398 More information about Debian 8 &quot;Jessie&quot; itself is provided in the
7399 release notes and the installation manual:
7400 - http://www.debian.org/releases/jessie/releasenotes
7401 - http://www.debian.org/releases/jessie/installmanual
7402
7403
7404 == Errata / known problems ==
7405
7406 It takes up to 15 minutes for a changed hostname to be updated via
7407 DHCP (#780461).
7408
7409 The hostname script fails to update LTSP server hostname (#783087).
7410
7411 Workaround: run update-hostname-from-ip on the client to update the
7412 hostname immediately.
7413
7414 Check https://wiki.debian.org/DebianEdu/Status/Jessie for a possibly
7415 more current and complete list.
7416
7417 == Some more details about Debian Edu 8.0+edu0~b1 Codename Jessie released 2015-04-25 ==
7418
7419 === Software updates ===
7420
7421 Everything which is new in Debian 8 Jessie, e.g.:
7422
7423 * Linux kernel 3.16.7-ctk9; for the i386 architecture, support for
7424 i486 processors has been dropped; oldest supported ones: i586 (like
7425 Intel Pentium and AMD K5).
7426
7427 * Desktop environments KDE Plasma Workspaces 4.11.13, GNOME 3.14,
7428 Xfce 4.12, LXDE 0.5.6
7429 * new optional desktop environment: MATE 1.8
7430 * KDE Plasma Workspaces is installed by default; to choose one of
7431 the others see the manual.
7432 * the browsers Iceweasel 31 ESR and Chromium 41
7433 * LibreOffice 4.3.3
7434 * GOsa 2.7.4
7435 * LTSP 5.5.4
7436 * CUPS print system 1.7.5
7437 * new boot framework: systemd
7438 * Educational toolbox GCompris 14.12
7439 * Music creator Rosegarden 14.02
7440 * Image editor Gimp 2.8.14
7441 * Virtual stargazer Stellarium 0.13.1
7442 * golearn 0.9
7443 * tuxpaint 0.9.22
7444 * New version of debian-installer from Debian Jessie.
7445 * Debian Jessie includes about 43000 packages available for installation.
7446 * More information about Debian 8 Jessie is provided in its release
7447 notes and the installation manual, see the link above.
7448
7449 === Installation changes ===
7450
7451 Installations done via PXE now also install firmware automatically
7452 for the hardware present.
7453
7454 === Fixed bugs ===
7455
7456 A number of bugs have been fixed in this release; the most noticeable
7457 from a user perspective:
7458
7459 * Inserting incorrect DNS information in Gosa will no longer break
7460 DNS completely, but instead stop DNS updates until the incorrect
7461 information is corrected (710362)
7462
7463 * shutdown-at-night now shuts the system down if gdm3 is used (775608).
7464
7465 === Sugar desktop removed ===
7466
7467 As the Sugar desktop was removed from Debian Jessie, it is also not
7468 available in Debian Edu jessie.
7469
7470
7471 == About Debian Edu / Skolelinux ==
7472
7473 Debian Edu, also known as Skolelinux, is a Linux distribution based on
7474 Debian providing an out-of-the box environment of a completely
7475 configured school network. Directly after installation a school server
7476 running all services needed for a school network is set up just
7477 waiting for users and machines being added via GOsa², a comfortable
7478 Web-UI. A netbooting environment is prepared using PXE, so after
7479 initial installation of the main server from CD or USB stick all other
7480 machines can be installed via the network. The provided school server
7481 provides LDAP database and Kerberos authentication service,
7482 centralized home directories, DHCP server, web proxy and many other
7483 services. The desktop contains more than 60 educational software
7484 packages and more are available from the Debian archive, and schools
7485 can choose between KDE, GNOME, LXDE, Xfce and MATE desktop
7486 environment.
7487
7488 == About Debian ==
7489
7490 The Debian Project was founded in 1993 by Ian Murdock to be a truly
7491 free community project. Since then the project has grown to be one of
7492 the largest and most influential open source projects. Thousands of
7493 volunteers from all over the world work together to create and
7494 maintain Debian software. Available in 70 languages, and supporting a
7495 huge range of computer types, Debian calls itself the universal
7496 operating system.
7497
7498 == Thanks ==
7499
7500 Thanks to everyone making Debian and Debian Edu / Skolelinux happen!
7501 You rock.
7502 &lt;/pre&gt;
7503 </description>
7504 </item>
7505
7506 <item>
7507 <title>Debian Edu interview: Shirish Agarwal</title>
7508 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Shirish_Agarwal.html</link>
7509 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Shirish_Agarwal.html</guid>
7510 <pubDate>Wed, 15 Apr 2015 09:20:00 +0200</pubDate>
7511 <description>&lt;p&gt;It was a surprise to me to learn that project to create a complete
7512 computer system for schools I&#39;ve involved in,
7513 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, was
7514 being used in India. But apparently it is, and I managed to get an
7515 interview with one of the friends of the project there, Shirish
7516 Agarwal.&lt;/p&gt;
7517
7518 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
7519
7520 &lt;p&gt;My name is Shirish Agarwal. Based out of the educational and
7521 historical city of Pune, from the western state of Maharashtra, India.
7522 My bread comes from giving training, giving policy tips,
7523 installations on free software to mom and pop shops in different
7524 fields from Desktop publishing to retail shops as well as work with
7525 few software start-ups as well.&lt;/p&gt;
7526
7527 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
7528 project?&lt;/strong&gt;&lt;/p&gt;
7529
7530 &lt;p&gt;It started innocently enough. I have been using Debian for a few
7531 years and in one local minidebconf / debutsav I was asked if there was
7532 anything for schools or education. I had worked / played with free
7533 educational softwares such as Gcompris and Stellarium for my many
7534 nieces and nephews so researched and found Debian Edu or Skolelinux as
7535 it was known then. Since then I have started using the various
7536 education meta-packages provided by the project.&lt;/p&gt;
7537
7538 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
7539 Edu?&lt;/strong&gt;&lt;/p&gt;
7540
7541 &lt;p&gt;It&#39;s closest I have seen where a package full of educational
7542 software are packed, which are free and open (both literally and
7543 figuratively). Even if I take the simplest software which is
7544 gcompris, the number of activities therein are amazing. Another one of
7545 the softwares that I have liked for a long time is stellarium. Even
7546 pysycache is cool except for couple of issues I encountered
7547 &lt;a href=&quot;https://bugs.debian.org/781841&quot;&gt;#781841&lt;/a&gt; and
7548 &lt;a href=&quot;https://bugs.debian.org/781842&quot;&gt;#781842&lt;/a&gt;.&lt;/p&gt;
7549
7550 &lt;p&gt;I prefer software installed on the system over web based solutions,
7551 as a web site can disappear any time but the software on disk has the
7552 possibility of a larger life span. Of course with both it&#39;s more a
7553 question if it has enough users who make it fun or sustainable or both
7554 for the developer per-se.&lt;/p&gt;
7555
7556 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
7557 Edu?&lt;/strong&gt;&lt;/p&gt;
7558
7559 &lt;p&gt;I do see that the Debian Edu team seems to be short-handed and I
7560 think more efforts should be made to make it popular and ask and take
7561 help from people and the larger community wherever possible.&lt;/p&gt;
7562
7563 &lt;p&gt;I don&#39;t see any disadvantage to use Skolelinux apart from the fact
7564 that most apps. are generic which is good or bad how you see it.
7565 However, saying that I do acknowledge the fact that the canvas is
7566 pretty big and there are lot of interesting ideas that could be done
7567 but for reasons not known not done or if done I don&#39;t know about them.
7568 Let me share some of the ideas (these are more upstream based but
7569 still) I have had for a long time :&lt;/p&gt;
7570
7571 &lt;p&gt;1. Classical maths question of two trains in opposing directions
7572 each running @x kmph/mph at y distance, when they will meet and how
7573 far would each travel and similar questions like these.
7574
7575 &lt;p&gt;The computer is a fantastic system where questions like these can
7576 be drawn, animated and the methodology and answers teased out in
7577 interactive manner. While sites such as the
7578 &lt;a href=&quot;http://mathforum.org/dr.math/faq/faq.two.trains.html&quot;&gt;Ask
7579 Dr. Math FAQ on The Two Trains problem&lt;/a&gt; (as an example or point of
7580 inspiration) can be used there is lot more that can be done. I dunno
7581 if there is a free software which does something like this. The idea
7582 being a blend of objects + animation + interaction which does
7583 this. The whole interaction could be gamified with points or sounds or
7584 colourful celebration whenever the user gets even part of the question
7585 or/and methodology right. That would help reinforce good behaviour.
7586 This understanding could be used to share/showcase everything from how
7587 the first wheel came to be, to evolution to how astronomy started,
7588 psychics and everything in-between.&lt;/p&gt;
7589
7590 &lt;p&gt;One specific idea in the train part was having the Linux mascot on
7591 one train and the BSD or GNU mascot on the other train and they
7592 meeting somewhere in-between. Characters from blender movies could
7593 also be used.&lt;/p&gt;
7594
7595 &lt;p&gt;2. Loads of crossword-puzzles with reference to subjects: We have
7596 enormous data sets in Wikipedia and Wikitionary. I don&#39;t think it
7597 should be a big job to design crossword puzzles. Using categories and
7598 sub-categories it should be doable to have Q&amp;A single word answers
7599 from the existing data-sets. What would make it easy or hard could be
7600 the length of the word + existence of many or few vowels depending on
7601 the user&#39;s input.&lt;/p&gt;
7602
7603 &lt;p&gt;3. Jigsaw puzzles - We already have a great software called
7604 palapeli with number of slicers making it pretty interesting. What
7605 needs to be done is to download large number of public domain and
7606 copyleft images, tease and use IPTC tags to categorise them into
7607 nature, history etc. and let it loose. This could turn to be really
7608 huge collection of images. One source could be taken from
7609 commons.wikimedia.org, others could be huge collection of royalty-free
7610 stock photos. Potential is immense.&lt;/p&gt;
7611
7612 &lt;p&gt;Apart from this, free software suffers in two directions, we lag
7613 both in development (of using new features per-se) and maintenance a
7614 lot. This is more so in educational software as these applications
7615 need to be timely and the opportunity cost of missing deadlines is
7616 immense. If we are able to solve issues of funding for development and
7617 maintenance of such software I don&#39;t see any big difficulties. I know
7618 of few start-ups in and around India who would love to develop and
7619 maintain such software if funding issues could be solved.&lt;/p&gt;
7620
7621 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
7622
7623 &lt;p&gt;That would be huge list. Some of the softwares are obviously apt,
7624 aptitude, debdelta, leafpad, the shell of course (zsh nowadays),
7625 quassel for IRC. In games I use shisen-sho while card-games are evenly
7626 between kpat and Aiselriot. In desktops it&#39;s a tie between
7627 gnome-flashback and mate.&lt;/p&gt;
7628
7629 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
7630 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
7631
7632 &lt;p&gt;I think it should first start with using specific FOSS apps. in
7633 whatever environment they are. If it&#39;s MS-Windows or Mac so be it.
7634 Once they are habitual with the apps. and there is buy-in from the
7635 school management then it could be installed anywhere. Most of the
7636 people now understand the concept of a repository because of the
7637 various online stores so it isn&#39;t hard to convince on that front.&lt;/p&gt;
7638
7639 &lt;p&gt;What is harder is having enough people with technical skills and
7640 passion to service them. If you get buy-in from one or two teachers
7641 then ideas like above could also be asked to be done as a project as
7642 well.&lt;/p&gt;
7643
7644 &lt;p&gt;I think where we fall short more than anything is in marketing. For
7645 instance, Debian has this whole range of fonts in its archive but
7646 there isn&#39;t even a page where all those different fonts in the La
7647 Ipsum format could be tried out for newcomers.&lt;/p&gt;
7648
7649 &lt;p&gt;One of the issues faced constantly in installations is with updates
7650 and upgrades. People have this myth that each update and upgrade
7651 means the user interface will / has to change. I have seen this
7652 innumerable times. That perhaps is one of the reasons which browsers
7653 like Iceweasel / Firefox change user interfaces so much, not because
7654 it might be needed or be functional but because people believe that
7655 changed user interfaces are better. This, can easily be pointed with
7656 the user interfaces changed with almost every MS-Windows and Mac OS
7657 releases.&lt;/p&gt;
7658
7659 &lt;p&gt;The problems with Debian Edu for deployment are many. The biggest
7660 is the huge gap between what is taught in schools and what Debian Edu
7661 is aimed at.
7662
7663 &lt;p&gt;Me and my friends did teach on week-ends in a government school for
7664 around 2 years, and
7665 &lt;a href=&quot;https://flossexperiences.wordpress.com/2012/10/08/sharings/&quot;&gt;gathered
7666 some experience&lt;/a&gt; there. Some of the things we learnt/discovered
7667 there was :&lt;/p&gt;
7668
7669 &lt;ol&gt;
7670
7671 &lt;li&gt;Most of the teachers are very territorial about their subjects
7672 and they do not want you to teach anything out of the
7673 portion/syllabus given.&lt;/li&gt;
7674
7675 &lt;li&gt;They want any activity on the system in accordance to whatever
7676 is in the syllabus.&lt;/li&gt;
7677
7678 &lt;li&gt;There are huge barriers both with the English language and at
7679 times with objects or whatever. An example, let&#39;s say in gcompris
7680 you have objects falling down and you have to name them and let&#39;s
7681 say the falling object is a hat or a fedora hat, this would not be
7682 as recognizable as say a
7683 &lt;a href=&quot;https://en.wikipedia.org/wiki/Puneri_Pagadi&quot;&gt;Puneri
7684 Pagdi&lt;/a&gt; so there is need to inject local objects, words wherever
7685 possible. Especially for word-games there are so many hindi words
7686 which have become part of english vocabulary (for instance in
7687 parley), those could be made into a hinglish collection or
7688 something but that is something for upstream to do.&lt;/li&gt;
7689
7690 &lt;/ol&gt;
7691 </description>
7692 </item>
7693
7694 <item>
7695 <title>I&#39;m going to the Open Source Developers&#39; Conference Nordic 2015!</title>
7696 <link>http://people.skolelinux.org/pere/blog/I_m_going_to_the_Open_Source_Developers__Conference_Nordic_2015_.html</link>
7697 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/I_m_going_to_the_Open_Source_Developers__Conference_Nordic_2015_.html</guid>
7698 <pubDate>Tue, 7 Apr 2015 10:30:00 +0200</pubDate>
7699 <description>&lt;p&gt;I am happy to let you all know that I&#39;m going to the &lt;a
7700 href=&quot;http://act.osdc.no/osdc2015no/&quot;&gt;Open Source Developers&#39;
7701 Conference Nordic 2015&lt;/a&gt;!&lt;/p&gt;
7702
7703 &lt;p&gt;It take place Friday 8th to Sunday 10th of May in Oslo next to
7704 where I work, and I finally got around to submitting
7705 &lt;a href=&quot;http://act.osdc.no/osdc2015no/talk/6192&quot;&gt;a talk proposal for
7706 it&lt;/a&gt; (dead link for most people until the talk is accepted). As
7707 part of my involvement with the
7708 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group member
7709 association&lt;/a&gt; I have been slightly involved in the planning of this
7710 conference for a while now, with a focus on organising a Civic Hacking
7711 Hackathon with our friends
7712 over at &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; and
7713 &lt;a href=&quot;http://www.holderdeord.no/&quot;&gt;Holder de ord&lt;/a&gt;. This part is
7714 named the &#39;My Society&#39; track in the program. There is still space for
7715 more talks and participants. I hope to see you there.&lt;/p&gt;
7716
7717 &lt;p&gt;Check out &lt;a href=&quot;http://act.osdc.no/osdc2015no/talks&quot;&gt;the talks
7718 submitted and accepted so far&lt;/a&gt;.&lt;/p&gt;
7719 </description>
7720 </item>
7721
7722 <item>
7723 <title>Proof reading the Norwegian translation of Free Culture by Lessig</title>
7724 <link>http://people.skolelinux.org/pere/blog/Proof_reading_the_Norwegian_translation_of_Free_Culture_by_Lessig.html</link>
7725 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Proof_reading_the_Norwegian_translation_of_Free_Culture_by_Lessig.html</guid>
7726 <pubDate>Sat, 4 Apr 2015 09:30:00 +0200</pubDate>
7727 <description>&lt;p&gt;During eastern I had some time to continue working on the Norwegian
7728 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
7729 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
7730 At the moment I am proof reading the finished text, looking for typos,
7731 inconsistent wordings and sentences that do not flow as they should.
7732 I&#39;m more than two thirds done with the text, and welcome others to
7733 check the text up to chapter 13. The current status is available on the
7734 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
7735 project pages. You can also check out the
7736 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;,
7737 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
7738 and HTML version available in the
7739 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive&quot;&gt;archive
7740 directory&lt;/a&gt;.&lt;/p&gt;
7741
7742 &lt;p&gt;Please report typos, bugs and improvements to the github project if
7743 you find any.&lt;/p&gt;
7744 </description>
7745 </item>
7746
7747 <item>
7748 <title>Frikanalen, Norwegian TV channel for technical topics</title>
7749 <link>http://people.skolelinux.org/pere/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html</link>
7750 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html</guid>
7751 <pubDate>Mon, 9 Mar 2015 11:10:00 +0100</pubDate>
7752 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt;,
7753 where I am a member, and where people interested in free software,
7754 open standards and UNIX like operating systems like Linux and the BSDs
7755 come together, record our monthly technical presentations on video.
7756 The purpose is to document the talks and spread them to a wider
7757 audience. For this, the the Norwegian nationwide open channel
7758 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; is a useful venue.
7759 Since a few days ago, when I figured out the
7760 &lt;a href=&quot;http://beta.frikanalen.no/api/&quot;&gt;REST API&lt;/a&gt; to program the
7761 &lt;a href=&quot;http://beta.frikanalen.tv/guide/&quot;&gt;channel time schedule&lt;/a&gt;,
7762 the channel has been filled with NUUG talks, related recordings and
7763 some Creative Commons licensed TED talks (from archive.org). I fill
7764 all &quot;leftover bits&quot; on the channel with content from NUUG, which at
7765 the moment is almost 17 of 24 hours every day.&lt;/p&gt;
7766
7767 &lt;p&gt;The list of NUUG videos
7768 &lt;a href=&quot;http://beta.frikanalen.tv/organization/82&quot;&gt;uploaded so far&lt;/a&gt;
7769 include things like a
7770 &lt;a href=&quot;http://beta.frikanalen.tv/video/625090&quot;&gt;one hour talk by John
7771 Perry Barlow when he visited Oslo&lt;/a&gt;, a presentation of
7772 &lt;a href=&quot;http://beta.frikanalen.tv/video/624275&quot;&gt;Haiku, the BeOS
7773 re-implementation&lt;/a&gt;, the
7774 &lt;a href=&quot;http://beta.frikanalen.tv/video/624493&quot;&gt;history of FiksGataMi,
7775 the Norwegian version of FixMyStreet&lt;/a&gt;, the good old
7776 &lt;a href=&quot;http://beta.frikanalen.tv/video/623566&quot;&gt;Warriors of the net
7777 video&lt;/A&gt; and many others.&lt;/p&gt;
7778
7779 &lt;p&gt;We have a large backlog of NUUG talks not yet uploaded to
7780 Frikanalen, and plan to upload every useful bit to the channel to
7781 spread the word there. I also hope to find useful recordings from the
7782 Chaos Computer Club and Debian conferences and spread them on the
7783 channel as well. But this require locating the videos and their meta
7784 information (title, description, license, etc), and preparing the
7785 recordings for broadcast, and I have not yet had the spare time to
7786 focus on this. Perhaps you want to help. Please join us on IRC,
7787 &lt;a href=&quot;irc://irc.freenode.net/%23nuug&quot;&gt;#nuug on irc.freenode.net&lt;/a&gt;
7788 if you want to help make this happen.&lt;/p&gt;
7789
7790 &lt;p&gt;But as I said, already the channel is already almost exclusively
7791 filled with technical topics, and if you want to learn something new
7792 today, check out the &lt;a href=&quot;http://www.frikanalen.tv/se&quot;&gt;Ogg Theora
7793 web stream&lt;/a&gt; or use one of the other ways to get access to the
7794 channel. Unfortunately the Ogg Theora recoding for distribution still
7795 do not properly sync the video and sound. It is generated by recoding
7796 a internal MPEG transport stream with MPEG4 coded video (ie H.264) to
7797 Ogg Theora / Vorbis, and we have not been able to find a way that
7798 produces acceptable quality. Help needed, please get in touch if you
7799 know how to fix it using free software.&lt;/p&gt;
7800 </description>
7801 </item>
7802
7803 <item>
7804 <title>The Citizenfour documentary on the Snowden confirmations to Norway</title>
7805 <link>http://people.skolelinux.org/pere/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html</link>
7806 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html</guid>
7807 <pubDate>Sat, 28 Feb 2015 22:10:00 +0100</pubDate>
7808 <description>&lt;p&gt;Today I was happy to learn that the documentary
7809 &lt;a href=&quot;https://citizenfourfilm.com/&quot;&gt;Citizenfour&lt;/a&gt; by
7810 &lt;a href=&quot;https://en.wikipedia.org/wiki/Laura_Poitras&quot;&gt;Laura Poitras&lt;/a&gt;
7811 finally will show up in Norway. According to the magazine
7812 &lt;a href=&quot;http://montages.no/&quot;&gt;Montages&lt;/a&gt;, a deal has finally been
7813 made for
7814 &lt;a href=&quot;http://montages.no/nyheter/snowden-dokumentaren-citizenfour-far-norsk-kinodistribusjon/&quot;&gt;Cinema
7815 distribution in Norway&lt;/a&gt; and the movie will have its premiere soon.
7816 This is great news. As part of my involvement with
7817 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the Norwegian Unix User Group&lt;/a&gt;, me and
7818 a friend have
7819 &lt;a href=&quot;http://www.nuug.no/news/Dokumentar_om_Snowdenbekreftelsene_til_Norge_.shtml&quot;&gt;tried
7820 to get the movie to Norway&lt;/a&gt; ourselves, but obviously
7821 &lt;a href=&quot;http://www.nuug.no/news/Dokumentar_om_Snowdenbekreftelsene_endelig_til_Norge_.shtml&quot;&gt;we
7822 were too late&lt;/a&gt; and Tor Fosse beat us to it. I am happy he did, as
7823 the movie will make its way to the public and we do not have to make
7824 it happen ourselves.
7825 &lt;a href=&quot;https://www.youtube.com/watch?v=XiGwAvd5mvM&quot;&gt;The trailer&lt;/a&gt;
7826 can be seen on youtube, if you are curious what kind of film this
7827 is.&lt;/p&gt;
7828
7829 &lt;p&gt;The whistle blower Edward Snowden really deserve political asylum
7830 here in Norway, but I am afraid he would not be safe.&lt;/p&gt;
7831 </description>
7832 </item>
7833
7834 <item>
7835 <title>The Norwegian open channel Frikanalen - 24x7 on the Internet</title>
7836 <link>http://people.skolelinux.org/pere/blog/The_Norwegian_open_channel_Frikanalen___24x7_on_the_Internet.html</link>
7837 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Norwegian_open_channel_Frikanalen___24x7_on_the_Internet.html</guid>
7838 <pubDate>Wed, 25 Feb 2015 09:10:00 +0100</pubDate>
7839 <description>&lt;p&gt;The Norwegian nationwide open channel
7840 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; is still going
7841 strong. It allow everyone to send the video they want on national
7842 television. It is a TV station administrated completely using a web
7843 browser, running only &lt;ahref=&quot;https://github.com/Frikanalen&quot;&gt;Free
7844 Software&lt;/a&gt;, providing &lt;ahref=&quot;http://beta.frikanalen.tv/api&quot;&gt;a REST
7845 api&lt;/a&gt; for administrators and members, and with distribution on the
7846 national DVB-T distribution network RiksTV. But only between 12:00
7847 and 17:30 Norwegian time. This has finally changed, after many years
7848 with limited distribution. A few weeks ago, we set up a Ogg Theora
7849 stream via icecast to allow everyone with Internet access to check out
7850 the channel the rest of the day. This is presented on
7851 &lt;a href=&quot;http://www.frikanalen.tv/se&quot;&gt;the Frikanalen web site now&lt;/a&gt;. And
7852 since a few days ago, the channel is also available
7853 via &lt;a href=&quot;https://www.uninett.no/iptv-tilgang&quot;&gt;multicast on
7854 UNINETT&lt;/a&gt;, available for those using IPTV TVs and set-top boxes in
7855 the Norwegian National Research and Education network.&lt;/p&gt;
7856
7857 &lt;p&gt;If you want to see what is on the channel, point your media player
7858 to one of these sources. The first should work with most players and
7859 browsers, while as far as I know, the multicast UDP stream only work
7860 with VLC.&lt;/p&gt;
7861
7862 &lt;ul&gt;
7863 &lt;li&gt;&lt;a href=&quot;http://video.nuug.no/frikanalen.ogv&quot;&gt;http://video.nuug.no/frikanalen.ogv&lt;/a&gt;&lt;/li&gt;
7864 &lt;li&gt;udp://@224.17.43.129:1234&lt;/li&gt;
7865 &lt;/ul&gt;
7866
7867 &lt;p&gt;The Ogg Theora / icecast stream is not working well, as the video
7868 and audio is slightly out of sync. We have not been able to figure
7869 out how to fix it. It is generated by recoding a internal MPEG
7870 transport stream with MPEG4 coded video (ie H.264) to Ogg Theora /
7871 Vorbis, and the result is less then stellar. If you have ideas how to
7872 fix it, please let us know on frikanalen (at) nuug.no. We currently
7873 use this with ffmpeg2theora 0.29:&lt;/p&gt;
7874
7875 &lt;blockquote&gt;&lt;pre&gt;
7876 ./ffmpeg2theora.linux &amp;lt;OBE_gemini_URL.ts&amp;gt; -F 25 -x 720 -y 405 \
7877 --deinterlace --inputfps 25 -c 1 -H 48000 --keyint 8 --buf-delay 100 \
7878 --nosync -V 700 -o - | oggfwd video.nuug.no 8000 &amp;lt;pw&amp;gt; /frikanalen.ogv
7879 &lt;/pre&gt;&lt;/blockquote&gt;
7880
7881 &lt;p&gt;If you get the multicast UDP stream working, please let me know, as
7882 I am curious how far the multicast stream reach. It do not make it to
7883 my home network, nor any other commercially available network in
7884 Norway that I am aware of.&lt;/p&gt;
7885 </description>
7886 </item>
7887
7888 <item>
7889 <title>Nude body scanner now present on Norwegian airport</title>
7890 <link>http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</link>
7891 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</guid>
7892 <pubDate>Tue, 10 Feb 2015 15:20:00 +0100</pubDate>
7893 <description>&lt;p&gt;Aftenposten, one of the largest newspapers in Norway, today report
7894 that
7895 &lt;a href=&quot;http://www.aftenposten.no/reise/Slik-skannes-kroppen-din-i-fremtidens-sikkerhetskontroll-490666_1.snd&quot;&gt;three
7896 of the nude body scanners now is put to use at Gardermoen&lt;/a&gt;, the
7897 main airport in Norway. This way the travelers can have their body
7898 photographed without cloths when visiting Norway. Of course this
7899 horrible news is presented with a positive spin, stating that &quot;now
7900 travelers can move past the security check point faster and more
7901 efficiently&quot;, but fail to mention that the machines in question take
7902 pictures of their nude bodies and store them internally in the
7903 computer, while only presenting sketch figure of the body to the
7904 public. The article is written in a way that leave the impression
7905 that the new machines do not take these nude pictures and only create
7906 the sketch figures. In reality the same nude pictures are still
7907 taken, but not presented to everyone. They are still available for
7908 the owners of the system and the people doing maintenance of the
7909 scanners, as long as they are taken and stored.&lt;/p&gt;
7910
7911 &lt;p&gt;Wikipedia have a more on
7912 &lt;a href=&quot;https://en.wikipedia.org/wiki/Full_body_scanner&quot;&gt;Full body
7913 scanners&lt;/a&gt;, including example images and a summary of the
7914 controversy about these scanners.&lt;/p&gt;
7915
7916 &lt;p&gt;Personally I will decline to use these machines, as I believe strip
7917 searches of my body is a very intrusive attack on my privacy, and not
7918 something everyone should have to accept to travel.&lt;/p&gt;
7919 </description>
7920 </item>
7921
7922 <item>
7923 <title>Nagios module to check if the Frikanalen video stream is working</title>
7924 <link>http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</link>
7925 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</guid>
7926 <pubDate>Sun, 8 Feb 2015 13:00:00 +0100</pubDate>
7927 <description>&lt;p&gt;When running a TV station with both broadcast and web stream
7928 distribution, it is useful to know that the stream is working. As I
7929 am involved in the Norwegian open channel
7930 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; as part of my
7931 activity in the &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG member
7932 organisation&lt;/a&gt;, I wrote a script to use mplayer to connect to a
7933 video stream, pick two images 35 seconds apart and compare them. If
7934 the images are missing or identical, something is probably wrong with
7935 the stream and an alarm should be triggered. The script is written as
7936 a Nagios plugin, allowing us to use Nagios to run the check regularly
7937 and sound the alarm when something is wrong. It is able to detect
7938 both a hanging and a broken video stream.&lt;/p&gt;
7939
7940 &lt;p&gt;I just uploaded the code for the script into the
7941 &lt;a href=&quot;https://github.com/Frikanalen/frikanalen/blob/master/nagios-plugin/check_video_stream_images&quot;&gt;Frikanalen
7942 git repository&lt;/a&gt; on github. If you run a TV station with web
7943 streaming, perhaps you can find it useful too.&lt;/p&gt;
7944
7945 &lt;p&gt;Last year, the Frikanalen public TV station transformed into using
7946 only Linux based free software to administrate, schedule and
7947 distribute the TV content. The
7948 &lt;a href=&quot;https://github.com/Frikanalen&quot;&gt;source code for the entire TV
7949 station&lt;/a&gt; is available from the Github project page. Everyone can
7950 use it to send their content on national TV, and we provide both a web
7951 GUI and &lt;a href=&quot;http://beta.frikanalen.tv/api/&quot;&gt;a web API&lt;/a&gt; to
7952 &lt;a href=&quot;http://beta.frikanalen.tv/login/?next=/members/video/&quot;&gt;add&lt;/a&gt;
7953 and &lt;a href=&quot;http://beta.frikanalen.tv/members/plan/&quot;&gt;schedule
7954 content&lt;/a&gt;. And thanks to last weeks developer gathering and
7955 following activity, we now have the schedule
7956 &lt;a href=&quot;http://beta.frikanalen.tv/xmltv/2015/01/01&quot;&gt;available as
7957 XMLTV&lt;/a&gt; too. Still a lot of work left to do, especially with the
7958 process to add videos and with the scheduling, so your contribution is
7959 most welcome. Perhaps you want to set up your own TV station?&lt;/p&gt;
7960
7961 &lt;p&gt;Update 2015-02-25: Got a tip from Uninett about their
7962 &lt;a href=&quot;https://scm.uninett.no/maalepaaler/qstream/&quot;&gt;qstream
7963 monitoring system&lt;/a&gt;, which gather connection time, jitter, packet
7964 loss and burst bandwidth usage. It look useful to check if UDP
7965 streams are working as they should.&lt;/p&gt;
7966 </description>
7967 </item>
7968
7969 <item>
7970 <title>Norwegian Bokmål subtitles for the FSF video User Liberation</title>
7971 <link>http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_subtitles_for_the_FSF_video_User_Liberation.html</link>
7972 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_subtitles_for_the_FSF_video_User_Liberation.html</guid>
7973 <pubDate>Mon, 12 Jan 2015 21:00:00 +0100</pubDate>
7974 <description>&lt;p&gt;A few days ago, the &lt;a href=&quot;https://www.fsf.org/&quot;&gt;Free Software
7975 Foundation&lt;/a&gt; announced a new video
7976 &lt;a href=&quot;https://www.fsf.org/blogs/community/user-liberation-watch-and-share-our-new-video&quot;&gt;explaining
7977 Free software&lt;/a&gt; in simple terms. The video named User Liberation is
7978 3 minutes long, and I recommend showing it to everyone you know as a
7979 way to explain what Free Software is all about. Unfortunately several
7980 of the people I know do not understand English and Spanish, so it did
7981 not make sense to show it to them.&lt;/p&gt;
7982
7983 &lt;p&gt;But today I was told that
7984 &lt;a href=&quot;https://www.fsf.org/blogs/community/user-liberation-watch-and-share-our-new-video&quot;&gt;English
7985 subtitles were available&lt;/a&gt; and set out to provide Norwegian Bokmål
7986 subtitles based on these. The result has been sent to FSF and made
7987 available in
7988 &lt;a href=&quot;https://github.com/petterreinholdtsen/fsf-video-user-liberation-subtitles&quot;&gt;a
7989 git repository&lt;/a&gt; provided by Github. Please let me know if you find
7990 errors or have improvements to the subtitles.&lt;/p&gt;
7991
7992 &lt;p&gt;Update 2015-02-03: Since I publised this post, FSF created a
7993 Libreplanet
7994 &lt;a href=&quot;http://libreplanet.org/wiki/Group:FSF/User_Liberation_Video_Translation&quot;&gt;project
7995 to track subtitles&lt;/A&gt; for the video.&lt;/p&gt;
7996 </description>
7997 </item>
7998
7999 <item>
8000 <title>Updated version of the Norwegian web service FiksGataMi</title>
8001 <link>http://people.skolelinux.org/pere/blog/Updated_version_of_the_Norwegian_web_service_FiksGataMi.html</link>
8002 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Updated_version_of_the_Norwegian_web_service_FiksGataMi.html</guid>
8003 <pubDate>Tue, 30 Dec 2014 17:55:00 +0100</pubDate>
8004 <description>&lt;p&gt;I am very happy that we in the
8005 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User group (NUUG)&lt;/a&gt;,
8006 spearheaded by Marius Halden from NUUG and Matthew Somerville from
8007 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;, finally managed to
8008 upgrade the code base for the Norwegian version of
8009 &lt;a href=&quot;http://fixmystreet.org/&quot;&gt;FixMyStreet&lt;/a&gt;. This
8010 was the first major update since 2011. The refurbished
8011 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is already live, and
8012 seem to hold up the pressure. The
8013 &lt;a href=&quot;http://www.nuug.no/news/Pressemelding__FiksGataMi_i_oppdatert_og_mobilvennlig_klesdrakt.shtml&quot;&gt;press
8014 release and announcement&lt;/a&gt; went out this morning.&lt;/p&gt;
8015
8016 &lt;p&gt;FixMyStreet is a web platform for allowing the citizens to easily
8017 report problems with public infrastructure to the responsible
8018 authorities. Think of it as a shared mail client with map support,
8019 allowing everyone to see what already was reported and comment on the
8020 reports in public.&lt;/p&gt;
8021 </description>
8022 </item>
8023
8024 <item>
8025 <title>Of course USA loses in cyber war - NSA and friends made sure it would happen</title>
8026 <link>http://people.skolelinux.org/pere/blog/Of_course_USA_loses_in_cyber_war___NSA_and_friends_made_sure_it_would_happen.html</link>
8027 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Of_course_USA_loses_in_cyber_war___NSA_and_friends_made_sure_it_would_happen.html</guid>
8028 <pubDate>Fri, 19 Dec 2014 13:10:00 +0100</pubDate>
8029 <description>&lt;p&gt;So, Sony caved in
8030 (&lt;a href=&quot;https://twitter.com/RobLowe/status/545338568512917504&quot;&gt;according
8031 to Rob Lowe&lt;/a&gt;) and demonstrated that America lost its first cyberwar
8032 (&lt;a href=&quot;https://twitter.com/newtgingrich/status/545339074975109122&quot;&gt;according
8033 to Newt Gingrich&lt;/a&gt;). It should not surprise anyone, after the
8034 whistle blower Edward Snowden documented that the government of USA
8035 and their allies for many years have done their best to make sure the
8036 technology used by its citizens is filled with security holes allowing
8037 the secret services to spy on its own population. No one in their
8038 right minds could believe that the ability to snoop on the people all
8039 over the globe could only be used by the personnel authorized to do so
8040 by the president of the United States of America. If the capabilities
8041 are there, they will be used by friend and foe alike, and now they are
8042 being used to bring Sony on its knees.&lt;/p&gt;
8043
8044 &lt;p&gt;I doubt it will a lesson learned, and expect USA to lose its next
8045 cyber war too, given how eager the western intelligence communities
8046 (and probably the non-western too, but it is less in the news) seem to
8047 be to continue its current dragnet surveillance practice.&lt;/p&gt;
8048
8049 &lt;p&gt;There is a reason why China and others are trying to move away from
8050 Windows to Linux and other alternatives, and it is not to avoid
8051 sending its hard earned dollars to Cayman Islands (or whatever
8052 &lt;a href=&quot;https://en.wikipedia.org/wiki/Tax_haven&quot;&gt;tax haven&lt;/a&gt;
8053 Microsoft is using these days to collect the majority of its
8054 income. :)&lt;/p&gt;
8055 </description>
8056 </item>
8057
8058 <item>
8059 <title>How to stay with sysvinit in Debian Jessie</title>
8060 <link>http://people.skolelinux.org/pere/blog/How_to_stay_with_sysvinit_in_Debian_Jessie.html</link>
8061 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_stay_with_sysvinit_in_Debian_Jessie.html</guid>
8062 <pubDate>Sat, 22 Nov 2014 01:00:00 +0100</pubDate>
8063 <description>&lt;p&gt;By now, it is well known that Debian Jessie will not be using
8064 sysvinit as its boot system by default. But how can one keep using
8065 sysvinit in Jessie? It is fairly easy, and here are a few recipes,
8066 courtesy of
8067 &lt;a href=&quot;http://www.vitavonni.de/blog/201410/2014102101-avoiding-systemd.html&quot;&gt;Erich
8068 Schubert&lt;/a&gt; and
8069 &lt;a href=&quot;http://smcv.pseudorandom.co.uk/2014/still_universal/&quot;&gt;Simon
8070 McVittie&lt;/a&gt;.
8071
8072 &lt;p&gt;If you already are using Wheezy and want to upgrade to Jessie and
8073 keep sysvinit as your boot system, create a file
8074 &lt;tt&gt;/etc/apt/preferences.d/use-sysvinit&lt;/tt&gt; with this content before
8075 you upgrade:&lt;/p&gt;
8076
8077 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8078 Package: systemd-sysv
8079 Pin: release o=Debian
8080 Pin-Priority: -1
8081 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
8082
8083 &lt;p&gt;This file content will tell apt and aptitude to not consider
8084 installing systemd-sysv as part of any installation and upgrade
8085 solution when resolving dependencies, and thus tell it to avoid
8086 systemd as a default boot system. The end result should be that the
8087 upgraded system keep using sysvinit.&lt;/p&gt;
8088
8089 &lt;p&gt;If you are installing Jessie for the first time, there is no way to
8090 get sysvinit installed by default (debootstrap used by
8091 debian-installer have no option for this), but one can tell the
8092 installer to switch to sysvinit before the first boot. Either by
8093 using a kernel argument to the installer, or by adding a line to the
8094 preseed file used. First, the kernel command line argument:
8095
8096 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8097 preseed/late_command=&quot;in-target apt-get install --purge -y sysvinit-core&quot;
8098 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
8099
8100 &lt;p&gt;Next, the line to use in a preseed file:&lt;/p&gt;
8101
8102 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8103 d-i preseed/late_command string in-target apt-get install -y sysvinit-core
8104 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
8105
8106 &lt;p&gt;One can of course also do this after the first boot by installing
8107 the sysvinit-core package.&lt;/p&gt;
8108
8109 &lt;p&gt;I recommend only using sysvinit if you really need it, as the
8110 sysvinit boot sequence in Debian have several hardware specific bugs
8111 on Linux caused by the fact that it is unpredictable when hardware
8112 devices show up during boot. But on the other hand, the new default
8113 boot system still have a few rough edges I hope will be fixed before
8114 Jessie is released.&lt;/p&gt;
8115
8116 &lt;p&gt;Update 2014-11-26: Inspired by
8117 &lt;ahref=&quot;https://www.mirbsd.org/permalinks/wlog-10-tg_e20141125-tg.htm#e20141125-tg_wlog-10-tg&quot;&gt;a
8118 blog post by Torsten Glaser&lt;/a&gt;, added --purge to the preseed
8119 line.&lt;/p&gt;
8120 </description>
8121 </item>
8122
8123 <item>
8124 <title>A Debian package for SMTP via Tor (aka SMTorP) using exim4</title>
8125 <link>http://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html</link>
8126 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html</guid>
8127 <pubDate>Mon, 10 Nov 2014 13:40:00 +0100</pubDate>
8128 <description>&lt;p&gt;The right to communicate with your friends and family in private,
8129 without anyone snooping, is a right every citicen have in a liberal
8130 democracy. But this right is under serious attack these days.&lt;/p&gt;
8131
8132 &lt;p&gt;A while back it occurred to me that one way to make the dragnet
8133 surveillance conducted by NSA, GCHQ, FRA and others (and confirmed by
8134 the whisleblower Snowden) more expensive for Internet email,
8135 is to deliver all email using SMTP via Tor. Such SMTP option would be
8136 a nice addition to the FreedomBox project if we could send email
8137 between FreedomBox machines without leaking metadata about the emails
8138 to the people peeking on the wire. I
8139 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/freedombox-discuss/2014-October/006493.html&quot;&gt;proposed
8140 this on the FreedomBox project mailing list in October&lt;/a&gt; and got a
8141 lot of useful feedback and suggestions. It also became obvious to me
8142 that this was not a novel idea, as the same idea was tested and
8143 documented by Johannes Berg as early as 2006, and both
8144 &lt;a href=&quot;https://github.com/pagekite/Mailpile/wiki/SMTorP&quot;&gt;the
8145 Mailpile&lt;/a&gt; and &lt;a href=&quot;http://dee.su/cables&quot;&gt;the Cables&lt;/a&gt; systems
8146 propose a similar method / protocol to pass emails between users.&lt;/p&gt;
8147
8148 &lt;p&gt;To implement such system one need to set up a Tor hidden service
8149 providing the SMTP protocol on port 25, and use email addresses
8150 looking like username@hidden-service-name.onion. With such addresses
8151 the connections to port 25 on hidden-service-name.onion using Tor will
8152 go to the correct SMTP server. To do this, one need to configure the
8153 Tor daemon to provide the hidden service and the mail server to accept
8154 emails for this .onion domain. To learn more about Exim configuration
8155 in Debian and test the design provided by Johannes Berg in his FAQ, I
8156 set out yesterday to create a Debian package for making it trivial to
8157 set up such SMTP over Tor service based on Debian. Getting it to work
8158 were fairly easy, and
8159 &lt;a href=&quot;https://github.com/petterreinholdtsen/exim4-smtorp&quot;&gt;the
8160 source code for the Debian package&lt;/a&gt; is available from github. I
8161 plan to move it into Debian if further testing prove this to be a
8162 useful approach.&lt;/p&gt;
8163
8164 &lt;p&gt;If you want to test this, set up a blank Debian machine without any
8165 mail system installed (or run &lt;tt&gt;apt-get purge exim4-config&lt;/tt&gt; to
8166 get rid of exim4). Install tor, clone the git repository mentioned
8167 above, build the deb and install it on the machine. Next, run
8168 &lt;tt&gt;/usr/lib/exim4-smtorp/setup-exim-hidden-service&lt;/tt&gt; and follow
8169 the instructions to get the service up and running. Restart tor and
8170 exim when it is done, and test mail delivery using swaks like
8171 this:&lt;/p&gt;
8172
8173 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8174 torsocks swaks --server dutlqrrmjhtfa3vp.onion \
8175 --to fbx@dutlqrrmjhtfa3vp.onion
8176 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8177
8178 &lt;p&gt;This will test the SMTP delivery using tor. Replace the email
8179 address with your own address to test your server. :)&lt;/p&gt;
8180
8181 &lt;p&gt;The setup procedure is still to complex, and I hope it can be made
8182 easier and more automatic. Especially the tor setup need more work.
8183 Also, the package include a tor-smtp tool written in C, but its task
8184 should probably be rewritten in some script language to make the deb
8185 architecture independent. It would probably also make the code easier
8186 to review. The tor-smtp tool currently need to listen on a socket for
8187 exim to talk to it and is started using xinetd. It would be better if
8188 no daemon and no socket is needed. I suspect it is possible to get
8189 exim to run a command line tool for delivery instead of talking to a
8190 socket, and hope to figure out how in a future version of this
8191 system.&lt;/p&gt;
8192
8193 &lt;p&gt;Until I wipe my test machine, I can be reached using the
8194 &lt;tt&gt;fbx@dutlqrrmjhtfa3vp.onion&lt;/tt&gt; mail address, deliverable over
8195 SMTorP. :)&lt;/p&gt;
8196 </description>
8197 </item>
8198
8199 <item>
8200 <title>First Jessie based Debian Edu released (alpha0)</title>
8201 <link>http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html</link>
8202 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html</guid>
8203 <pubDate>Mon, 27 Oct 2014 20:40:00 +0100</pubDate>
8204 <description>&lt;p&gt;I am happy to report that I on behalf of the Debian Edu team just
8205 sent out
8206 &lt;a href=&quot;https://lists.debian.org/debian-edu-announce/2014/10/msg00000.html&quot;&gt;this
8207 announcement&lt;/a&gt;:&lt;/p&gt;
8208
8209 &lt;pre&gt;
8210 The Debian Edu Team is pleased to announce the release of Debian Edu
8211 Jessie 8.0+edu0~alpha0
8212
8213 Debian Edu is a complete operating system for schools. Through its
8214 various installation profiles you can install servers, workstations
8215 and laptops which will work together on the school network. With
8216 Debian Edu, the teachers themselves or their technical support can
8217 roll out a complete multi-user multi-machine study environment within
8218 hours or a few days. Debian Edu comes with hundreds of applications
8219 pre-installed, but you can always add more packages from Debian.
8220
8221 For those who want to give Debian Edu Jessie a try, download and
8222 installation instructions are available, including detailed
8223 instructions in the manual[1] explaining the first steps, such as
8224 setting up a network or adding users. Please note that the password
8225 for the user your prompted for during installation must have a length
8226 of at least 5 characters!
8227
8228 [1] &amp;lt;URL: &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Jessie&quot;&gt;https://wiki.debian.org/DebianEdu/Documentation/Jessie&lt;/a&gt; &amp;gt;
8229
8230 Would you like to give your school&#39;s computer a longer life? Are you
8231 tired of sneaker administration, running from computer to computer
8232 reinstalling the operating system? Would you like to administrate all
8233 the computers in your school using only a couple of hours every week?
8234 Check out Debian Edu Jessie!
8235
8236 Skolelinux is used by at least two hundred schools all over the world,
8237 mostly in Germany and Norway.
8238
8239 About Debian Edu and Skolelinux
8240 ===============================
8241
8242 Debian Edu, also known as Skolelinux[2], is a Linux distribution based
8243 on Debian providing an out-of-the box environment of a completely
8244 configured school network. Immediately after installation a school
8245 server running all services needed for a school network is set up just
8246 waiting for users and machines being added via GOsa², a comfortable
8247 Web-UI. A netbooting environment is prepared using PXE, so after
8248 initial installation of the main server from CD or USB stick all other
8249 machines can be installed via the network. The provided school server
8250 provides LDAP database and Kerberos authentication service,
8251 centralized home directories, DHCP server, web proxy and many other
8252 services. The desktop contains more than 60 educational software
8253 packages[3] and more are available from the Debian archive, and
8254 schools can choose between KDE, Gnome, LXDE, Xfce and MATE desktop
8255 environment.
8256
8257 [2] &amp;lt;URL: &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;http://www.skolelinux.org/&lt;/a&gt; &amp;gt;
8258 [3] &amp;lt;URL: &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&lt;/a&gt; &amp;gt;
8259
8260 Full release notes and manual
8261 =============================
8262
8263 Below the download URLs there is a list of some of the new features
8264 and bugfixes of Debian Edu 8.0+edu0~alpha0 Codename Jessie. The full
8265 list is part of the manual. (See the feature list in the manual[4] for
8266 the English version.) For some languages manual translations are
8267 available, see the manual translation overview[5].
8268
8269 [4] &amp;lt;URL: &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features&quot;&gt;https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features&lt;/a&gt; &amp;gt;
8270 [5] &amp;lt;URL: &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/&quot;&gt;http://maintainer.skolelinux.org/debian-edu-doc/&lt;/a&gt; &amp;gt;
8271
8272 Where to get it
8273 ---------------
8274
8275 To download the multiarch netinstall CD release (624 MiB) you can use
8276
8277 * &lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso&lt;/a&gt;
8278 * &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso&lt;/a&gt;
8279 * rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso .
8280
8281 The SHA1SUM of this image is: 361188818e036ce67280a572f757de82ebfeb095
8282
8283 New features for Debian Edu 8.0+edu0~alpha0 Codename Jessie released 2014-10-27
8284 ===============================================================================
8285
8286
8287 Installation changes
8288 --------------------
8289
8290 * PXE installation now installs firmware automatically for the hardware present.
8291
8292 Software updates
8293 ----------------
8294
8295 Everything which is new in Debian Jessie 8.0, eg:
8296
8297 * Linux kernel 3.16.x
8298 * Desktop environments KDE &quot;Plasma&quot; 4.11.12, GNOME 3.14, Xfce 4.10,
8299 LXDE 0.5.6 and MATE 1.8 (KDE &quot;Plasma&quot; is installed by default; to
8300 choose one of the others see manual.)
8301 * the browsers Iceweasel 31 ESR and Chromium 38
8302 * !LibreOffice 4.3.3
8303 * GOsa 2.7.4
8304 * LTSP 5.5.4
8305 * CUPS print system 1.7.5
8306 * new boot framework: systemd
8307 * Educational toolbox GCompris 14.07
8308 * Music creator Rosegarden 14.02
8309 * Image editor Gimp 2.8.14
8310 * Virtual stargazer Stellarium 0.13.0
8311 * golearn 0.9
8312 * tuxpaint 0.9.22
8313 * New version of debian-installer from Debian Jessie.
8314 * Debian Jessie includes about 42000 packages available for
8315 installation.
8316 * More information about Debian Jessie 8.0 is provided in the release
8317 notes[6] and the installation manual[7].
8318
8319 [6] &amp;lt;URL: &lt;a href=&quot;http://www.debian.org/releases/jessie/releasenotes&quot;&gt;http://www.debian.org/releases/jessie/releasenotes&lt;/a&gt; &amp;gt;
8320 [7] &amp;lt;URL: &lt;a href=&quot;http://www.debian.org/releases/jessie/installmanual&quot;&gt;http://www.debian.org/releases/jessie/installmanual&lt;/a&gt; &amp;gt;
8321
8322 Fixed bugs
8323 ----------
8324
8325 * Inserting incorrect DNS information in Gosa will no longer break
8326 DNS completely, but instead stop DNS updates until the incorrect
8327 information is corrected (Debian bug #710362)
8328 * and many others.
8329
8330 Documentation and translation updates
8331 -------------------------------------
8332
8333 * The Debian Edu Jessie Manual is fully translated to German, French,
8334 Italian, Danish and Dutch. Partly translated versions exist for
8335 Norwegian Bokmal and Spanish.
8336
8337 Other changes
8338 -------------
8339
8340 * Due to new Squid settings, powering off or rebooting the main
8341 server takes more time.
8342 * To manage printers localhost:631 has to be used, currently www:631
8343 doesn&#39;t work.
8344
8345 Regressions / known problems
8346 ----------------------------
8347
8348 * Installing LTSP chroot fails with a bug related to eatmydata about
8349 exim4-config failing to run its postinst (see Debian bug #765694
8350 and Debian bug #762103).
8351 * Munin collection is not properly configured on clients (Debian bug
8352 #764594). The fix is available in a newer version of munin-node.
8353 * PXE setup for Main Server and Thin Client Server setup does not
8354 work when installing on a machine without direct Internet access.
8355 Will be fixed when Debian bug #766960 is fixed in Jessie.
8356
8357 See the status page[8] for the complete list.
8358
8359 [8] &amp;lt;URL: &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Status/Jessie&quot;&gt;https://wiki.debian.org/DebianEdu/Status/Jessie&lt;/a&gt; &amp;gt;
8360
8361 How to report bugs
8362 ------------------
8363
8364 &amp;lt;URL: &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt; &amp;gt;
8365
8366 About Debian
8367 ============
8368
8369 The Debian Project was founded in 1993 by Ian Murdock to be a truly
8370 free community project. Since then the project has grown to be one of
8371 the largest and most influential open source projects. Thousands of
8372 volunteers from all over the world work together to create and
8373 maintain Debian software. Available in 70 languages, and supporting a
8374 huge range of computer types, Debian calls itself the universal
8375 operating system.
8376
8377 Contact Information
8378 For further information, please visit the Debian web pages[9] or send
8379 mail to press@debian.org.
8380
8381 [9] &amp;lt;URL: &lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt; &amp;gt;
8382 &lt;/pre&gt;
8383 </description>
8384 </item>
8385
8386 <item>
8387 <title>I spent last weekend recording MakerCon Nordic</title>
8388 <link>http://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html</link>
8389 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html</guid>
8390 <pubDate>Thu, 23 Oct 2014 23:00:00 +0200</pubDate>
8391 <description>&lt;p&gt;I spent last weekend at &lt;a href=&quot;http://www.makercon.no/&quot;&gt;Makercon
8392 Nordic&lt;/a&gt;, a great conference and workshop for makers in Norway and
8393 the surrounding countries. I had volunteered on behalf of the
8394 Norwegian Unix Users Group (NUUG) to video record the talks, and we
8395 had a great and exhausting time recording the entire day, two days in
8396 a row. There were only two of us, Hans-Petter and me, and we used the
8397 regular video equipment for NUUG, with a
8398 &lt;a href=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;dvswitch&lt;/a&gt;, a
8399 camera and a VGA to DV convert box, and mixed video and slides
8400 live.&lt;/p&gt;
8401
8402 &lt;p&gt;Hans-Petter did the post-processing, consisting of uploading the
8403 around 180 GiB of raw video to Youtube, and the result is
8404 &lt;a href=&quot;https://www.youtube.com/user/MakerConNordic/&quot;&gt;now becoming
8405 public&lt;/a&gt; on the MakerConNordic account. The videos have the license
8406 NUUG always use on our recordings, which is
8407 &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/3.0/no/&quot;&gt;Creative
8408 Commons Navngivelse-Del på samme vilkår 3.0 Norge&lt;/a&gt;. Many great
8409 talks available. Check it out! :)&lt;/p&gt;
8410 </description>
8411 </item>
8412
8413 <item>
8414 <title>listadmin, the quick way to moderate mailman lists - nice free software</title>
8415 <link>http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html</link>
8416 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html</guid>
8417 <pubDate>Wed, 22 Oct 2014 20:00:00 +0200</pubDate>
8418 <description>&lt;p&gt;If you ever had to moderate a mailman list, like the ones on
8419 alioth.debian.org, you know the web interface is fairly slow to
8420 operate. First you visit one web page, enter the moderation password
8421 and get a new page shown with a list of all the messages to moderate
8422 and various options for each email address. This take a while for
8423 every list you moderate, and you need to do it regularly to do a good
8424 job as a list moderator. But there is a quick alternative,
8425 &lt;a href=&quot;http://heim.ifi.uio.no/kjetilho/hacks/#listadmin&quot;&gt;the
8426 listadmin program&lt;/a&gt;. It allow you to check lists for new messages
8427 to moderate in a fraction of a second. Here is a test run on two
8428 lists I recently took over:&lt;/p&gt;
8429
8430 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8431 % time listadmin xiph
8432 fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
8433 fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
8434
8435 real 0m1.709s
8436 user 0m0.232s
8437 sys 0m0.012s
8438 %
8439 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8440
8441 &lt;p&gt;In 1.7 seconds I had checked two mailing lists and confirmed that
8442 there are no message in the moderation queue. Every morning I
8443 currently moderate 68 mailman lists, and it normally take around two
8444 minutes. When I took over the two pkg-xiph lists above a few days
8445 ago, there were 400 emails waiting in the moderator queue. It took me
8446 less than 15 minutes to process them all using the listadmin
8447 program.&lt;/p&gt;
8448
8449 &lt;p&gt;If you install
8450 &lt;a href=&quot;https://tracker.debian.org/pkg/listadmin&quot;&gt;the listadmin
8451 package&lt;/a&gt; from Debian and create a file &lt;tt&gt;~/.listadmin.ini&lt;/tt&gt;
8452 with content like this, the moderation task is a breeze:&lt;/p&gt;
8453
8454 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8455 username username@example.org
8456 spamlevel 23
8457 default discard
8458 discard_if_reason &quot;Posting restricted to members only. Remove us from your mail list.&quot;
8459
8460 password secret
8461 adminurl https://{domain}/mailman/admindb/{list}
8462 mailman-list@lists.example.com
8463
8464 password hidden
8465 other-list@otherserver.example.org
8466 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8467
8468 &lt;p&gt;There are other options to set as well. Check the manual page to
8469 learn the details.&lt;/p&gt;
8470
8471 &lt;p&gt;If you are forced to moderate lists on a mailman installation where
8472 the SSL certificate is self signed or not properly signed by a
8473 generally accepted signing authority, you can set a environment
8474 variable when calling listadmin to disable SSL verification:&lt;/p&gt;
8475
8476 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8477 PERL_LWP_SSL_VERIFY_HOSTNAME=0 listadmin
8478 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8479
8480 &lt;p&gt;If you want to moderate a subset of the lists you take care of, you
8481 can provide an argument to the listadmin script like I do in the
8482 initial screen dump (the xiph argument). Using an argument, only
8483 lists matching the argument string will be processed. This make it
8484 quick to accept messages if you notice the moderation request in your
8485 email.&lt;/p&gt;
8486
8487 &lt;p&gt;Without the listadmin program, I would never be the moderator of 68
8488 mailing lists, as I simply do not have time to spend on that if the
8489 process was any slower. The listadmin program have saved me hours of
8490 time I could spend elsewhere over the years. It truly is nice free
8491 software.&lt;/p&gt;
8492
8493 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
8494 activities, please send Bitcoin donations to my address
8495 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
8496
8497 &lt;p&gt;Update 2014-10-27: Added missing &#39;username&#39; statement in
8498 configuration example. Also, I&#39;ve been told that the
8499 PERL_LWP_SSL_VERIFY_HOSTNAME=0 setting do not work for everyone. Not
8500 sure why.&lt;/p&gt;
8501 </description>
8502 </item>
8503
8504 <item>
8505 <title>Debian Jessie, PXE and automatic firmware installation</title>
8506 <link>http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</link>
8507 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</guid>
8508 <pubDate>Fri, 17 Oct 2014 14:10:00 +0200</pubDate>
8509 <description>&lt;p&gt;When PXE installing laptops with Debian, I often run into the
8510 problem that the WiFi card require some firmware to work properly.
8511 And it has been a pain to fix this using preseeding in Debian.
8512 Normally something more is needed. But thanks to
8513 &lt;a href=&quot;https://packages.qa.debian.org/i/isenkram.html&quot;&gt;my isenkram
8514 package&lt;/a&gt; and its recent tasksel extension, it has now become easy
8515 to do this using simple preseeding.&lt;/p&gt;
8516
8517 &lt;p&gt;The isenkram-cli package provide tasksel tasks which will install
8518 firmware for the hardware found in the machine (actually, requested by
8519 the kernel modules for the hardware). (It can also install user space
8520 programs supporting the hardware detected, but that is not the focus
8521 of this story.)&lt;/p&gt;
8522
8523 &lt;p&gt;To get this working in the default installation, two preeseding
8524 values are needed. First, the isenkram-cli package must be installed
8525 into the target chroot (aka the hard drive) before tasksel is executed
8526 in the pkgsel step of the debian-installer system. This is done by
8527 preseeding the base-installer/includes debconf value to include the
8528 isenkram-cli package. The package name is next passed to debootstrap
8529 for installation. With the isenkram-cli package in place, tasksel
8530 will automatically use the isenkram tasks to detect hardware specific
8531 packages for the machine being installed and install them, because
8532 isenkram-cli contain tasksel tasks.&lt;/p&gt;
8533
8534 &lt;p&gt;Second, one need to enable the non-free APT repository, because
8535 most firmware unfortunately is non-free. This is done by preseeding
8536 the apt-mirror-setup step. This is unfortunate, but for a lot of
8537 hardware it is the only option in Debian.&lt;/p&gt;
8538
8539 &lt;p&gt;The end result is two lines needed in your preseeding file to get
8540 firmware installed automatically by the installer:&lt;/p&gt;
8541
8542 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8543 base-installer base-installer/includes string isenkram-cli
8544 apt-mirror-setup apt-setup/non-free boolean true
8545 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8546
8547 &lt;p&gt;The current version of isenkram-cli in testing/jessie will install
8548 both firmware and user space packages when using this method. It also
8549 do not work well, so use version 0.15 or later. Installing both
8550 firmware and user space packages might give you a bit more than you
8551 want, so I decided to split the tasksel task in two, one for firmware
8552 and one for user space programs. The firmware task is enabled by
8553 default, while the one for user space programs is not. This split is
8554 implemented in the package currently in unstable.&lt;/p&gt;
8555
8556 &lt;p&gt;If you decide to give this a go, please let me know (via email) how
8557 this recipe work for you. :)&lt;/p&gt;
8558
8559 &lt;p&gt;So, I bet you are wondering, how can this work. First and
8560 foremost, it work because tasksel is modular, and driven by whatever
8561 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
8562 isenkram-cli package place two files for tasksel to find. First there
8563 is the task description file (/usr/share/tasksel/descs/isenkram.desc):&lt;/p&gt;
8564
8565 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8566 Task: isenkram-packages
8567 Section: hardware
8568 Description: Hardware specific packages (autodetected by isenkram)
8569 Based on the detected hardware various hardware specific packages are
8570 proposed.
8571 Test-new-install: show show
8572 Relevance: 8
8573 Packages: for-current-hardware
8574
8575 Task: isenkram-firmware
8576 Section: hardware
8577 Description: Hardware specific firmware packages (autodetected by isenkram)
8578 Based on the detected hardware various hardware specific firmware
8579 packages are proposed.
8580 Test-new-install: mark show
8581 Relevance: 8
8582 Packages: for-current-hardware-firmware
8583 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8584
8585 &lt;p&gt;The key parts are Test-new-install which indicate how the task
8586 should be handled and the Packages line referencing to a script in
8587 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
8588 list of packages to install. The for-current-hardware-firmware script
8589 look like this to list relevant firmware for the machine:
8590
8591 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8592 #!/bin/sh
8593 #
8594 PATH=/usr/sbin:$PATH
8595 export PATH
8596 isenkram-autoinstall-firmware -l
8597 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8598
8599 &lt;p&gt;With those two pieces in place, the firmware is installed by
8600 tasksel during the normal d-i run. :)&lt;/p&gt;
8601
8602 &lt;p&gt;If you want to test what tasksel will install when isenkram-cli is
8603 installed, run &lt;tt&gt;DEBIAN_PRIORITY=critical tasksel --test
8604 --new-install&lt;/tt&gt; to get the list of packages that tasksel would
8605 install.&lt;/p&gt;
8606
8607 &lt;p&gt;&lt;a href=&quot;https://wiki.debian.org/DebianEdu/&quot;&gt;Debian Edu&lt;/a&gt; will be
8608 pilots in testing this feature, as isenkram is used there now to
8609 install firmware, replacing the earlier scripts.&lt;/p&gt;
8610 </description>
8611 </item>
8612
8613 <item>
8614 <title>Ubuntu used to show the bread prizes at ICA Storo</title>
8615 <link>http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</link>
8616 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</guid>
8617 <pubDate>Sat, 4 Oct 2014 15:20:00 +0200</pubDate>
8618 <description>&lt;p&gt;Today I came across an unexpected Ubuntu boot screen. Above the
8619 bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
8620 with Linux kernel 3.2.0-23 (ie probably version 12.04 LTS) was stuck
8621 on a screen normally showing the bread types and prizes:&lt;/p&gt;
8622
8623 &lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;70%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2014-10-04-ubuntu-ica-storo-crop.jpeg&quot;&gt;&lt;/p&gt;
8624
8625 &lt;p&gt;If it had booted as it was supposed to, I would never had known
8626 about this hidden Linux installation. It is interesting what
8627 &lt;a href=&quot;http://revealingerrors.com/&quot;&gt;errors can reveal&lt;/a&gt;.&lt;/p&gt;
8628 </description>
8629 </item>
8630
8631 <item>
8632 <title>New lsdvd release version 0.17 is ready</title>
8633 <link>http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html</link>
8634 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html</guid>
8635 <pubDate>Sat, 4 Oct 2014 08:40:00 +0200</pubDate>
8636 <description>&lt;p&gt;The &lt;a href=&quot;https://sourceforge.net/p/lsdvd/&quot;&gt;lsdvd project&lt;/a&gt;
8637 got a new set of developers a few weeks ago, after the original
8638 developer decided to step down and pass the project to fresh blood.
8639 This project is now maintained by Petter Reinholdtsen and Steve
8640 Dibb.&lt;/p&gt;
8641
8642 &lt;p&gt;I just wrapped up
8643 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/mailman/message/32896061/&quot;&gt;a
8644 new lsdvd release&lt;/a&gt;, available in git or from
8645 &lt;a href=&quot;https://sourceforge.net/projects/lsdvd/files/lsdvd/&quot;&gt;the
8646 download page&lt;/a&gt;. This is the changelog dated 2014-10-03 for version
8647 0.17.&lt;/p&gt;
8648
8649 &lt;ul&gt;
8650
8651 &lt;li&gt;Ignore &#39;phantom&#39; audio, subtitle tracks&lt;/li&gt;
8652 &lt;li&gt;Check for garbage in the program chains, which indicate that a track is
8653 non-existant, to work around additional copy protection&lt;/li&gt;
8654 &lt;li&gt;Fix displaying content type for audio tracks, subtitles&lt;/li&gt;
8655 &lt;li&gt;Fix pallete display of first entry&lt;/li&gt;
8656 &lt;li&gt;Fix include orders&lt;/li&gt;
8657 &lt;li&gt;Ignore read errors in titles that would not be displayed anyway&lt;/li&gt;
8658 &lt;li&gt;Fix the chapter count&lt;/li&gt;
8659 &lt;li&gt;Make sure the array size and the array limit used when initialising
8660 the palette size is the same.&lt;/li&gt;
8661 &lt;li&gt;Fix array printing.&lt;/li&gt;
8662 &lt;li&gt;Correct subsecond calculations.&lt;/li&gt;
8663 &lt;li&gt;Add sector information to the output format.&lt;/li&gt;
8664 &lt;li&gt;Clean up code to be closer to ANSI C and compile without warnings
8665 with more GCC compiler warnings.&lt;/li&gt;
8666
8667 &lt;/ul&gt;
8668
8669 &lt;p&gt;This change bring together patches for lsdvd in use in various
8670 Linux and Unix distributions, as well as patches submitted to the
8671 project the last nine years. Please check it out. :)&lt;/p&gt;
8672 </description>
8673 </item>
8674
8675 <item>
8676 <title>How to test Debian Edu Jessie despite some fatal problems with the installer</title>
8677 <link>http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html</link>
8678 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html</guid>
8679 <pubDate>Fri, 26 Sep 2014 12:20:00 +0200</pubDate>
8680 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
8681 project&lt;/a&gt; provide a Linux solution for schools, including a
8682 powerful desktop with education software, a central server providing
8683 web pages, user database, user home directories, central login and PXE
8684 boot of both clients without disk and the installation to install Debian
8685 Edu on machines with disk (and a few other services perhaps to small
8686 to mention here). We in the Debian Edu team are currently working on
8687 the Jessie based version, trying to get everything in shape before the
8688 freeze, to avoid having to maintain our own package repository in the
8689 future. The
8690 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Status/Jessie&quot;&gt;current
8691 status&lt;/a&gt; can be seen on the Debian wiki, and there is still heaps of
8692 work left. Some fatal problems block testing, breaking the installer,
8693 but it is possible to work around these to get anyway. Here is a
8694 recipe on how to get the installation limping along.&lt;/p&gt;
8695
8696 &lt;p&gt;First, download the test ISO via
8697 &lt;a href=&quot;ftp://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso&quot;&gt;ftp&lt;/a&gt;,
8698 &lt;a href=&quot;http://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso&quot;&gt;http&lt;/a&gt;
8699 or rsync (use
8700 ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso).
8701 The ISO build was broken on Tuesday, so we do not get a new ISO every
8702 12 hours or so, but thankfully the ISO we already got we are able to
8703 install with some tweaking.&lt;/p&gt;
8704
8705 &lt;p&gt;When you get to the Debian Edu profile question, go to tty2
8706 (use Alt-Ctrl-F2), run&lt;/p&gt;
8707
8708 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8709 nano /usr/bin/edu-eatmydata-install
8710 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8711
8712 &lt;p&gt;and add &#39;exit 0&#39; as the second line, disabling the eatmydata
8713 optimization. Return to the installation, select the profile you want
8714 and continue. Without this change, exim4-config will fail to install
8715 due to a known bug in eatmydata.&lt;/p&gt;
8716
8717 &lt;p&gt;When you get the grub question at the end, answer /dev/sda (or if
8718 this do not work, figure out what your correct value would be. All my
8719 test machines need /dev/sda, so I have no advice if it do not fit
8720 your need.&lt;/p&gt;
8721
8722 &lt;p&gt;If you installed a profile including a graphical desktop, log in as
8723 root after the initial boot from hard drive, and install the
8724 education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
8725 or mate. If you want several desktop options, install more than one
8726 metapackage. Once this is done, reboot and you should have a working
8727 graphical login screen. This workaround should no longer be needed
8728 once the education-tasks package version 1.801 enter testing in two
8729 days.&lt;/p&gt;
8730
8731 &lt;p&gt;I believe the ISO build will start working on two days when the new
8732 tasksel package enter testing and Steve McIntyre get a chance to
8733 update the debian-cd git repository. The eatmydata, grub and desktop
8734 issues are already fixed in unstable and testing, and should show up
8735 on the ISO as soon as the ISO build start working again. Well the
8736 eatmydata optimization is really just disabled. The proper fix
8737 require an upload by the eatmydata maintainer applying the patch
8738 provided in bug &lt;a href=&quot;https://bugs.debian.org/702711&quot;&gt;#702711&lt;/a&gt;.
8739 The rest have proper fixes in unstable.&lt;/p&gt;
8740
8741 &lt;p&gt;I hope this get you going with the installation testing, as we are
8742 quickly running out of time trying to get our Jessie based
8743 installation ready before the distribution freeze in a month.&lt;/p&gt;
8744 </description>
8745 </item>
8746
8747 <item>
8748 <title>Suddenly I am the new upstream of the lsdvd command line tool</title>
8749 <link>http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</link>
8750 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</guid>
8751 <pubDate>Thu, 25 Sep 2014 11:20:00 +0200</pubDate>
8752 <description>&lt;p&gt;I use the &lt;a href=&quot;https://sourceforge.net/p/lsdvd/&quot;&gt;lsdvd tool&lt;/a&gt;
8753 to handle my fairly large DVD collection. It is a nice command line
8754 tool to get details about a DVD, like title, tracks, track length,
8755 etc, in XML, Perl or human readable format. But lsdvd have not seen
8756 any new development since 2006 and had a few irritating bugs affecting
8757 its use with some DVDs. Upstream seemed to be dead, and in January I
8758 sent a small probe asking for a version control repository for the
8759 project, without any reply. But I use it regularly and would like to
8760 get &lt;a href=&quot;https://packages.qa.debian.org/lsdvd&quot;&gt;an updated version
8761 into Debian&lt;/a&gt;. So two weeks ago I tried harder to get in touch with
8762 the project admin, and after getting a reply from him explaining that
8763 he was no longer interested in the project, I asked if I could take
8764 over. And yesterday, I became project admin.&lt;/p&gt;
8765
8766 &lt;p&gt;I&#39;ve been in touch with a Gentoo developer and the Debian
8767 maintainer interested in joining forces to maintain the upstream
8768 project, and I hope we can get a new release out fairly quickly,
8769 collecting the patches spread around on the internet into on place.
8770 I&#39;ve added the relevant Debian patches to the freshly created git
8771 repository, and expect the Gentoo patches to make it too. If you got
8772 a DVD collection and care about command line tools, check out
8773 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/git/ci/master/tree/&quot;&gt;the git source&lt;/a&gt; and join
8774 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/mailman/&quot;&gt;the project mailing
8775 list&lt;/a&gt;. :)&lt;/p&gt;
8776 </description>
8777 </item>
8778
8779 <item>
8780 <title>Speeding up the Debian installer using eatmydata and dpkg-divert</title>
8781 <link>http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</link>
8782 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</guid>
8783 <pubDate>Tue, 16 Sep 2014 14:00:00 +0200</pubDate>
8784 <description>&lt;p&gt;The &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; installer could be
8785 a lot quicker. When we install more than 2000 packages in
8786 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; using
8787 tasksel in the installer, unpacking the binary packages take forever.
8788 A part of the slow I/O issue was discussed in
8789 &lt;a href=&quot;https://bugs.debian.org/613428&quot;&gt;bug #613428&lt;/a&gt; about too
8790 much file system sync-ing done by dpkg, which is the package
8791 responsible for unpacking the binary packages. Other parts (like code
8792 executed by postinst scripts) might also sync to disk during
8793 installation. All this sync-ing to disk do not really make sense to
8794 me. If the machine crash half-way through, I start over, I do not try
8795 to salvage the half installed system. So the failure sync-ing is
8796 supposed to protect against, hardware or system crash, is not really
8797 relevant while the installer is running.&lt;/p&gt;
8798
8799 &lt;p&gt;A few days ago, I thought of a way to get rid of all the file
8800 system sync()-ing in a fairly non-intrusive way, without the need to
8801 change the code in several packages. The idea is not new, but I have
8802 not heard anyone propose the approach using dpkg-divert before. It
8803 depend on the small and clever package
8804 &lt;a href=&quot;https://packages.qa.debian.org/eatmydata&quot;&gt;eatmydata&lt;/a&gt;, which
8805 uses LD_PRELOAD to replace the system functions for syncing data to
8806 disk with functions doing nothing, thus allowing programs to live
8807 dangerous while speeding up disk I/O significantly. Instead of
8808 modifying the implementation of dpkg, apt and tasksel (which are the
8809 packages responsible for selecting, fetching and installing packages),
8810 it occurred to me that we could just divert the programs away, replace
8811 them with a simple shell wrapper calling
8812 &quot;eatmydata&amp;nbsp;$program&amp;nbsp;$@&quot;, to get the same effect.
8813 Two days ago I decided to test the idea, and wrapped up a simple
8814 implementation for the Debian Edu udeb.&lt;/p&gt;
8815
8816 &lt;p&gt;The effect was stunning. In my first test it reduced the running
8817 time of the pkgsel step (installing tasks) from 64 to less than 44
8818 minutes (20 minutes shaved off the installation) on an old Dell
8819 Latitude D505 machine. I am not quite sure what the optimised time
8820 would have been, as I messed up the testing a bit, causing the debconf
8821 priority to get low enough for two questions to pop up during
8822 installation. As soon as I saw the questions I moved the installation
8823 along, but do not know how long the question were holding up the
8824 installation. I did some more measurements using Debian Edu Jessie,
8825 and got these results. The time measured is the time stamp in
8826 /var/log/syslog between the &quot;pkgsel: starting tasksel&quot; and the
8827 &quot;pkgsel: finishing up&quot; lines, if you want to do the same measurement
8828 yourself. In Debian Edu, the tasksel dialog do not show up, and the
8829 timing thus do not depend on how quickly the user handle the tasksel
8830 dialog.&lt;/p&gt;
8831
8832 &lt;p&gt;&lt;table&gt;
8833
8834 &lt;tr&gt;
8835 &lt;th&gt;Machine/setup&lt;/th&gt;
8836 &lt;th&gt;Original tasksel&lt;/th&gt;
8837 &lt;th&gt;Optimised tasksel&lt;/th&gt;
8838 &lt;th&gt;Reduction&lt;/th&gt;
8839 &lt;/tr&gt;
8840
8841 &lt;tr&gt;
8842 &lt;td&gt;Latitude D505 Main+LTSP LXDE&lt;/td&gt;
8843 &lt;td&gt;64 min (07:46-08:50)&lt;/td&gt;
8844 &lt;td&gt;&lt;44 min (11:27-12:11)&lt;/td&gt;
8845 &lt;td&gt;&gt;20 min 18%&lt;/td&gt;
8846 &lt;/tr&gt;
8847
8848 &lt;tr&gt;
8849 &lt;td&gt;Latitude D505 Roaming LXDE&lt;/td&gt;
8850 &lt;td&gt;57 min (08:48-09:45)&lt;/td&gt;
8851 &lt;td&gt;34 min (07:43-08:17)&lt;/td&gt;
8852 &lt;td&gt;23 min 40%&lt;/td&gt;
8853 &lt;/tr&gt;
8854
8855 &lt;tr&gt;
8856 &lt;td&gt;Latitude D505 Minimal&lt;/td&gt;
8857 &lt;td&gt;22 min (10:37-10:59)&lt;/td&gt;
8858 &lt;td&gt;11 min (11:16-11:27)&lt;/td&gt;
8859 &lt;td&gt;11 min 50%&lt;/td&gt;
8860 &lt;/tr&gt;
8861
8862 &lt;tr&gt;
8863 &lt;td&gt;Thinkpad X200 Minimal&lt;/td&gt;
8864 &lt;td&gt;6 min (08:19-08:25)&lt;/td&gt;
8865 &lt;td&gt;4 min (08:04-08:08)&lt;/td&gt;
8866 &lt;td&gt;2 min 33%&lt;/td&gt;
8867 &lt;/tr&gt;
8868
8869 &lt;tr&gt;
8870 &lt;td&gt;Thinkpad X200 Roaming KDE&lt;/td&gt;
8871 &lt;td&gt;19 min (09:21-09:40)&lt;/td&gt;
8872 &lt;td&gt;15 min (10:25-10:40)&lt;/td&gt;
8873 &lt;td&gt;4 min 21%&lt;/td&gt;
8874 &lt;/tr&gt;
8875
8876 &lt;/table&gt;&lt;/p&gt;
8877
8878 &lt;p&gt;The test is done using a netinst ISO on a USB stick, so some of the
8879 time is spent downloading packages. The connection to the Internet
8880 was 100Mbit/s during testing, so downloading should not be a
8881 significant factor in the measurement. Download typically took a few
8882 seconds to a few minutes, depending on the amount of packages being
8883 installed.&lt;/p&gt;
8884
8885 &lt;p&gt;The speedup is implemented by using two hooks in
8886 &lt;a href=&quot;https://www.debian.org/devel/debian-installer/&quot;&gt;Debian
8887 Installer&lt;/a&gt;, the pre-pkgsel.d hook to set up the diverts, and the
8888 finish-install.d hook to remove the divert at the end of the
8889 installation. I picked the pre-pkgsel.d hook instead of the
8890 post-base-installer.d hook because I test using an ISO without the
8891 eatmydata package included, and the post-base-installer.d hook in
8892 Debian Edu can only operate on packages included in the ISO. The
8893 negative effect of this is that I am unable to activate this
8894 optimization for the kernel installation step in d-i. If the code is
8895 moved to the post-base-installer.d hook, the speedup would be larger
8896 for the entire installation.&lt;/p&gt;
8897
8898 &lt;p&gt;I&#39;ve implemented this in the
8899 &lt;a href=&quot;https://packages.qa.debian.org/debian-edu-install&quot;&gt;debian-edu-install&lt;/a&gt;
8900 git repository, and plan to provide the optimization as part of the
8901 Debian Edu installation. If you want to test this yourself, you can
8902 create two files in the installer (or in an udeb). One shell script
8903 need do go into /usr/lib/pre-pkgsel.d/, with content like this:&lt;/p&gt;
8904
8905 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8906 #!/bin/sh
8907 set -e
8908 . /usr/share/debconf/confmodule
8909 info() {
8910 logger -t my-pkgsel &quot;info: $*&quot;
8911 }
8912 error() {
8913 logger -t my-pkgsel &quot;error: $*&quot;
8914 }
8915 override_install() {
8916 apt-install eatmydata || true
8917 if [ -x /target/usr/bin/eatmydata ] ; then
8918 for bin in dpkg apt-get aptitude tasksel ; do
8919 file=/usr/bin/$bin
8920 # Test that the file exist and have not been diverted already.
8921 if [ -f /target$file ] ; then
8922 info &quot;diverting $file using eatmydata&quot;
8923 printf &quot;#!/bin/sh\neatmydata $bin.distrib \&quot;\$@\&quot;\n&quot; \
8924 &gt; /target$file.edu
8925 chmod 755 /target$file.edu
8926 in-target dpkg-divert --package debian-edu-config \
8927 --rename --quiet --add $file
8928 ln -sf ./$bin.edu /target$file
8929 else
8930 error &quot;unable to divert $file, as it is missing.&quot;
8931 fi
8932 done
8933 else
8934 error &quot;unable to find /usr/bin/eatmydata after installing the eatmydata pacage&quot;
8935 fi
8936 }
8937
8938 override_install
8939 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8940
8941 &lt;p&gt;To clean up, another shell script should go into
8942 /usr/lib/finish-install.d/ with code like this:
8943
8944 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8945 #! /bin/sh -e
8946 . /usr/share/debconf/confmodule
8947 error() {
8948 logger -t my-finish-install &quot;error: $@&quot;
8949 }
8950 remove_install_override() {
8951 for bin in dpkg apt-get aptitude tasksel ; do
8952 file=/usr/bin/$bin
8953 if [ -x /target$file.edu ] ; then
8954 rm /target$file
8955 in-target dpkg-divert --package debian-edu-config \
8956 --rename --quiet --remove $file
8957 rm /target$file.edu
8958 else
8959 error &quot;Missing divert for $file.&quot;
8960 fi
8961 done
8962 sync # Flush file buffers before continuing
8963 }
8964
8965 remove_install_override
8966 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8967
8968 &lt;p&gt;In Debian Edu, I placed both code fragments in a separate script
8969 edu-eatmydata-install and call it from the pre-pkgsel.d and
8970 finish-install.d scripts.&lt;/p&gt;
8971
8972 &lt;p&gt;By now you might ask if this change should get into the normal
8973 Debian installer too? I suspect it should, but am not sure the
8974 current debian-installer coordinators find it useful enough. It also
8975 depend on the side effects of the change. I&#39;m not aware of any, but I
8976 guess we will see if the change is safe after some more testing.
8977 Perhaps there is some package in Debian depending on sync() and
8978 fsync() having effect? Perhaps it should go into its own udeb, to
8979 allow those of us wanting to enable it to do so without affecting
8980 everyone.&lt;/p&gt;
8981
8982 &lt;p&gt;Update 2014-09-24: Since a few days ago, enabling this optimization
8983 will break installation of all programs using gnutls because of
8984 &lt;a href=&quot;https://bugs.debian.org/702711&quot;&gt;bug #702711&lt;/a&gt;. An updated
8985 eatmydata package in Debian will solve it.&lt;/p&gt;
8986
8987 &lt;p&gt;Update 2014-10-17: The bug mentioned above is fixed in testing and
8988 the optimization work again. And I have discovered that the
8989 dpkg-divert trick is not really needed and implemented a slightly
8990 simpler approach as part of the debian-edu-install package. See
8991 tools/edu-eatmydata-install in the source package.&lt;/p&gt;
8992
8993 &lt;p&gt;Update 2014-11-11: Unfortunately, a new
8994 &lt;a href=&quot;http://bugs.debian.org/765738&quot;&gt;bug #765738&lt;/a&gt; in eatmydata only
8995 triggering on i386 made it into testing, and broke this installation
8996 optimization again. If &lt;a href=&quot;http://bugs.debian.org/768893&quot;&gt;unblock
8997 request 768893&lt;/a&gt; is accepted, it should be working again.&lt;/p&gt;
8998 </description>
8999 </item>
9000
9001 <item>
9002 <title>Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net</title>
9003 <link>http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</link>
9004 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</guid>
9005 <pubDate>Wed, 10 Sep 2014 13:10:00 +0200</pubDate>
9006 <description>&lt;p&gt;Yesterday, I had the pleasure of attending a talk with the
9007 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; about
9008 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20140909-sks-keyservers/&quot;&gt;the
9009 OpenPGP keyserver pool sks-keyservers.net&lt;/a&gt;, and was very happy to
9010 learn that there is a large set of publicly available key servers to
9011 use when looking for peoples public key. So far I have used
9012 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
9013 were misbehaving, but those days are ended. The servers I have used
9014 up until yesterday have been slow and some times unavailable. I hope
9015 those problems are gone now.&lt;/p&gt;
9016
9017 &lt;p&gt;Behind the round robin DNS entry of the
9018 &lt;a href=&quot;https://sks-keyservers.net/&quot;&gt;sks-keyservers.net&lt;/a&gt; service
9019 there is a pool of more than 100 keyservers which are checked every
9020 day to ensure they are well connected and up to date. It must be
9021 better than what I have used so far. :)&lt;/p&gt;
9022
9023 &lt;p&gt;Yesterdays speaker told me that the service is the default
9024 keyserver provided by the default configuration in GnuPG, but this do
9025 not seem to be used in Debian. Perhaps it should?&lt;/p&gt;
9026
9027 &lt;p&gt;Anyway, I&#39;ve updated my ~/.gnupg/options file to now include this
9028 line:&lt;/p&gt;
9029
9030 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9031 keyserver pool.sks-keyservers.net
9032 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9033
9034 &lt;p&gt;With GnuPG version 2 one can also locate the keyserver using SRV
9035 entries in DNS. Just for fun, I did just that at work, so now every
9036 user of GnuPG at the University of Oslo should find a OpenGPG
9037 keyserver automatically should their need it:&lt;/p&gt;
9038
9039 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9040 % host -t srv _pgpkey-http._tcp.uio.no
9041 _pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
9042 %
9043 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9044
9045 &lt;p&gt;Now if only
9046 &lt;a href=&quot;http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/&quot;&gt;the
9047 HKP lookup protocol&lt;/a&gt; supported finding signature paths, I would be
9048 very happy. It can look up a given key or search for a user ID, but I
9049 normally do not want that, but to find a trust path from my key to
9050 another key. Given a user ID or key ID, I would like to find (and
9051 download) the keys representing a signature path from my key to the
9052 key in question, to be able to get a trust path between the two keys.
9053 This is as far as I can tell not possible today. Perhaps something
9054 for a future version of the protocol?&lt;/p&gt;
9055 </description>
9056 </item>
9057
9058 <item>
9059 <title>Do you need an agreement with MPEG-LA to publish and broadcast H.264 video in Norway?</title>
9060 <link>http://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html</link>
9061 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html</guid>
9062 <pubDate>Mon, 25 Aug 2014 22:10:00 +0200</pubDate>
9063 <description>&lt;p&gt;Two years later, I am still not sure if it is legal here in Norway
9064 to use or publish a video in H.264 or MPEG4 format edited by the
9065 commercially licensed video editors, without limiting the use to
9066 create &quot;personal&quot; or &quot;non-commercial&quot; videos or get a license
9067 agreement with &lt;a href=&quot;http://www.mpegla.com&quot;&gt;MPEG LA&lt;/a&gt;. If one
9068 want to publish and broadcast video in a non-personal or commercial
9069 setting, it might be that those tools can not be used, or that video
9070 format can not be used, without breaking their copyright license. I
9071 am not sure.
9072 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Trenger_en_avtale_med_MPEG_LA_for___publisere_og_kringkaste_H_264_video_.html&quot;&gt;Back
9073 then&lt;/a&gt;, I found that the copyright license terms for Adobe Premiere
9074 and Apple Final Cut Pro both specified that one could not use the
9075 program to produce anything else without a patent license from MPEG
9076 LA. The issue is not limited to those two products, though. Other
9077 much used products like those from Avid and Sorenson Media have terms
9078 of use are similar to those from Adobe and Apple. The complicating
9079 factor making me unsure if those terms have effect in Norway or not is
9080 that the patents in question are not valid in Norway, but copyright
9081 licenses are.&lt;/p&gt;
9082
9083 &lt;p&gt;These are the terms for Avid Artist Suite, according to their
9084 &lt;a href=&quot;http://www.avid.com/US/about-avid/legal-notices/legal-enduserlicense2&quot;&gt;published
9085 end user&lt;/a&gt;
9086 &lt;a href=&quot;http://www.avid.com/static/resources/common/documents/corporate/LICENSE.pdf&quot;&gt;license
9087 text&lt;/a&gt; (converted to lower case text for easier reading):&lt;/p&gt;
9088
9089 &lt;p&gt;&lt;blockquote&gt;
9090 &lt;p&gt;18.2. MPEG-4. MPEG-4 technology may be included with the
9091 software. MPEG LA, L.L.C. requires this notice: &lt;/p&gt;
9092
9093 &lt;p&gt;This product is licensed under the MPEG-4 visual patent portfolio
9094 license for the personal and non-commercial use of a consumer for (i)
9095 encoding video in compliance with the MPEG-4 visual standard (“MPEG-4
9096 video”) and/or (ii) decoding MPEG-4 video that was encoded by a
9097 consumer engaged in a personal and non-commercial activity and/or was
9098 obtained from a video provider licensed by MPEG LA to provide MPEG-4
9099 video. No license is granted or shall be implied for any other
9100 use. Additional information including that relating to promotional,
9101 internal and commercial uses and licensing may be obtained from MPEG
9102 LA, LLC. See http://www.mpegla.com. This product is licensed under
9103 the MPEG-4 systems patent portfolio license for encoding in compliance
9104 with the MPEG-4 systems standard, except that an additional license
9105 and payment of royalties are necessary for encoding in connection with
9106 (i) data stored or replicated in physical media which is paid for on a
9107 title by title basis and/or (ii) data which is paid for on a title by
9108 title basis and is transmitted to an end user for permanent storage
9109 and/or use, such additional license may be obtained from MPEG LA,
9110 LLC. See http://www.mpegla.com for additional details.&lt;/p&gt;
9111
9112 &lt;p&gt;18.3. H.264/AVC. H.264/AVC technology may be included with the
9113 software. MPEG LA, L.L.C. requires this notice:&lt;/p&gt;
9114
9115 &lt;p&gt;This product is licensed under the AVC patent portfolio license for
9116 the personal use of a consumer or other uses in which it does not
9117 receive remuneration to (i) encode video in compliance with the AVC
9118 standard (“AVC video”) and/or (ii) decode AVC video that was encoded
9119 by a consumer engaged in a personal activity and/or was obtained from
9120 a video provider licensed to provide AVC video. No license is granted
9121 or shall be implied for any other use. Additional information may be
9122 obtained from MPEG LA, L.L.C. See http://www.mpegla.com.&lt;/p&gt;
9123 &lt;/blockquote&gt;&lt;/p&gt;
9124
9125 &lt;p&gt;Note the requirement that the videos created can only be used for
9126 personal or non-commercial purposes.&lt;/p&gt;
9127
9128 &lt;p&gt;The Sorenson Media software have
9129 &lt;a href=&quot;http://www.sorensonmedia.com/terms/&quot;&gt;similar terms&lt;/a&gt;:&lt;/p&gt;
9130
9131 &lt;p&gt;&lt;blockquote&gt;
9132
9133 &lt;p&gt;With respect to a license from Sorenson pertaining to MPEG-4 Video
9134 Decoders and/or Encoders: Any such product is licensed under the
9135 MPEG-4 visual patent portfolio license for the personal and
9136 non-commercial use of a consumer for (i) encoding video in compliance
9137 with the MPEG-4 visual standard (“MPEG-4 video”) and/or (ii) decoding
9138 MPEG-4 video that was encoded by a consumer engaged in a personal and
9139 non-commercial activity and/or was obtained from a video provider
9140 licensed by MPEG LA to provide MPEG-4 video. No license is granted or
9141 shall be implied for any other use. Additional information including
9142 that relating to promotional, internal and commercial uses and
9143 licensing may be obtained from MPEG LA, LLC. See
9144 http://www.mpegla.com.&lt;/p&gt;
9145
9146 &lt;p&gt;With respect to a license from Sorenson pertaining to MPEG-4
9147 Consumer Recorded Data Encoder, MPEG-4 Systems Internet Data Encoder,
9148 MPEG-4 Mobile Data Encoder, and/or MPEG-4 Unique Use Encoder: Any such
9149 product is licensed under the MPEG-4 systems patent portfolio license
9150 for encoding in compliance with the MPEG-4 systems standard, except
9151 that an additional license and payment of royalties are necessary for
9152 encoding in connection with (i) data stored or replicated in physical
9153 media which is paid for on a title by title basis and/or (ii) data
9154 which is paid for on a title by title basis and is transmitted to an
9155 end user for permanent storage and/or use. Such additional license may
9156 be obtained from MPEG LA, LLC. See http://www.mpegla.com for
9157 additional details.&lt;/p&gt;
9158
9159 &lt;/blockquote&gt;&lt;/p&gt;
9160
9161 &lt;p&gt;Some free software like
9162 &lt;a href=&quot;https://handbrake.fr/&quot;&gt;Handbrake&lt;/A&gt; and
9163 &lt;a href=&quot;http://ffmpeg.org/&quot;&gt;FFMPEG&lt;/a&gt; uses GPL/LGPL licenses and do
9164 not have any such terms included, so for those, there is no
9165 requirement to limit the use to personal and non-commercial.&lt;/p&gt;
9166 </description>
9167 </item>
9168
9169 <item>
9170 <title>Debian Edu interview: Bernd Zeitzen</title>
9171 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Bernd_Zeitzen.html</link>
9172 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Bernd_Zeitzen.html</guid>
9173 <pubDate>Thu, 31 Jul 2014 08:30:00 +0200</pubDate>
9174 <description>&lt;p&gt;The complete and free “out of the box” software solution for
9175 schools, &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
9176 Skolelinux&lt;/a&gt;, is used quite a lot in Germany, and one of the people
9177 involved is Bernd Zeitzen, who show up on the project mailing lists
9178 from time to time with interesting questions and tips on how to adjust
9179 the setup. I managed to interview him this summer.&lt;/p&gt;
9180
9181 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
9182
9183 &lt;p&gt;My name is Bernd Zeitzen and I&#39;m married with Hedda, a self
9184 employed physiotherapist. My former profession is tool maker, but I
9185 haven&#39;t worked for 30 years in this job. 30 years ago I started to
9186 support my wife and become her officeworker and a few years later the
9187 administrator for a small computer network, today based on Ubuntu
9188 Server (Samba, OpenVPN). For her daily work she has to use Windows
9189 Desktops because the software she needs to organize her business only
9190 works with Windows . :-(&lt;/p&gt;
9191
9192 &lt;p&gt;In 1988 we started with one PC and DOS, then I learned to use
9193 Windows 98, 2000, XP, …, 8, Ubuntu, MacOSX. Today we are running a
9194 Linux server with 6 Windows clients and 10 persons (teacher of
9195 children with special needs, speech therapist, occupational therapist,
9196 psychologist and officeworkers) using our Samba shares via OpenVPN to
9197 work with the documentations of our patients.&lt;/p&gt;
9198
9199 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
9200 project?&lt;/strong&gt;&lt;/p&gt;
9201
9202 &lt;p&gt;Two years ago a friend of mine asked me, if I want to get a job in
9203 his school (&lt;a href=&quot;http://www.gymnasium-harsewinkel.de/&quot;&gt;Gymnasium
9204 Harsewinkel&lt;/a&gt;). They started with Skolelinux / Debian Edu and they
9205 were looking for people to give support to the teachers using the
9206 software and the network and teaching the pupils increasing their
9207 computer skills in optional lessons. I&#39;m spending 4-6 hours a week
9208 with this job.&lt;/p&gt;
9209
9210 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
9211 Edu?&lt;/strong&gt;&lt;/p&gt;
9212
9213 &lt;p&gt;The independence.&lt;/p&gt;
9214
9215 &lt;p&gt;First: Every person is allowed to use, share and develop the
9216 software. Even if you are poor, you are allowed to use the software
9217 included in Skolelinux/Debian Edu and all the other Free Software.&lt;/p&gt;
9218
9219 &lt;p&gt;Second: The software runs on old machines and this gives us the
9220 possibility to recycle computers, weeded out from offices. The
9221 servers and desktops are running for more than two years and they are
9222 working reliable. &lt;/p&gt;
9223
9224 &lt;p&gt;We have two servers (one tjener and one terminal server), 45
9225 workstations in three classrooms and seven laptops as a mobile
9226 solution for all classrooms. These machines are all booting from the
9227 terminal server. In the moment we are installing 30 laptops as mobile
9228 workstations. Then the pupils have the possibility to work with these
9229 machines in their classrooms. Internet access is realized by a WLAN
9230 router, connected to the schools network. This is all done without a
9231 dedicated system administrator or a computer science teacher.&lt;/p&gt;
9232
9233 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
9234 Edu?&lt;/strong&gt;&lt;/p&gt;
9235
9236 &lt;p&gt;Teachers and pupils are Windows users. &amp;lt;Irony on&amp;gt; And Linux
9237 isn&#39;t cool. It&#39;s software for freaks using the command line. &amp;lt;Irony
9238 off&amp;gt; They don&#39;t realize the stability of the system. &lt;/p&gt;
9239
9240 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
9241
9242 &lt;p&gt;Firefox, Thunderbird, LibreOffice, Ubuntu Server 12.04 (Samba,
9243 Apache, MySQL, Joomla!, … and Skolelinux / Debian Edu)&lt;/p&gt;
9244
9245 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
9246 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
9247
9248 &lt;p&gt;In Germany we have the situation: every school is free to decide
9249 which software they want to use. This decision is influenced by
9250 teachers who learned to use Windows and MS Office. They buy a PC with
9251 Windows preinstalled and an additional testing version of MS
9252 Office. They don&#39;t know about the possibility to use Free Software
9253 instead. Another problem are the publisher of school books. They
9254 develop their software, added to the school books, for Windows.&lt;/p&gt;
9255 </description>
9256 </item>
9257
9258 <item>
9259 <title>98.6 percent done with the Norwegian draft translation of Free Culture</title>
9260 <link>http://people.skolelinux.org/pere/blog/98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</link>
9261 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</guid>
9262 <pubDate>Wed, 23 Jul 2014 22:40:00 +0200</pubDate>
9263 <description>&lt;p&gt;This summer I finally had time to continue working on the Norwegian
9264 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
9265 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
9266 to get a Norwegian text explaining the problems with todays copyright
9267 law. Yesterday, I finally completed translated the book text. There
9268 are still some foot/end notes left to translate, the colophon page
9269 need to be rewritten, and a few words and phrases still need to be
9270 translated, but the Norwegian text is ready for the first proof
9271 reading. :) More spell checking is needed, and several illustrations
9272 need to be cleaned up. The work stopped up because I had to give
9273 priority to other projects the last year, and the progress graph of
9274 the translation show this very well:&lt;/p&gt;
9275
9276 &lt;p&gt;&lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;&lt;/p&gt;
9277
9278 &lt;p&gt;If you want to read the result, check out the
9279 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
9280 project pages and the
9281 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;,
9282 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
9283 and HTML version available in the
9284 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive&quot;&gt;archive
9285 directory&lt;/a&gt;.&lt;/p&gt;
9286
9287 &lt;p&gt;Please report typos, bugs and improvements to the github project if
9288 you find any.&lt;/p&gt;
9289 </description>
9290 </item>
9291
9292 <item>
9293 <title>From English wiki to translated PDF and epub via Docbook</title>
9294 <link>http://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html</link>
9295 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html</guid>
9296 <pubDate>Tue, 17 Jun 2014 11:30:00 +0200</pubDate>
9297 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
9298 project&lt;/a&gt; provide an instruction manual for teachers, system
9299 administrators and other users that contain useful tips for setting up
9300 and maintaining a Debian Edu installation. This text is about how the
9301 text processing of this manual is handled in the project.&lt;/p&gt;
9302
9303 &lt;p&gt;One goal of the project is to provide information in the native
9304 language of its users, and for this we need to handle translations.
9305 But we also want to make sure each language contain the same
9306 information, so for this we need a good way to keep the translations
9307 in sync. And we want it to be easy for our users to improve the
9308 documentation, avoiding the need to learn special formats or tools to
9309 contribute, and the obvious way to do this is to make it possible to
9310 edit the documentation using a web browser. We also want it to be
9311 easy for translators to keep the translation up to date, and give them
9312 help in figuring out what need to be translated. Here is the list of
9313 tools and the process we have found trying to reach all these
9314 goals.&lt;/p&gt;
9315
9316 &lt;p&gt;We maintain the authoritative source of our manual in the
9317 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/&quot;&gt;Debian
9318 wiki&lt;/a&gt;, as several wiki pages written in English. It consist of one
9319 front page with references to the different chapters, several pages
9320 for each chapter, and finally one &quot;collection page&quot; gluing all the
9321 chapters together into one large web page (aka
9322 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/AllInOne&quot;&gt;the
9323 AllInOne page&lt;/a&gt;). The AllInOne page is the one used for further
9324 processing and translations. Thanks to the fact that the
9325 &lt;a href=&quot;http://moinmo.in/&quot;&gt;MoinMoin&lt;/a&gt; installation on
9326 wiki.debian.org support exporting pages in
9327 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;the Docbook format&lt;/a&gt;, we can fetch
9328 the list of pages to export using the raw version of the AllInOne
9329 page, loop over each of them to generate a Docbook XML version of the
9330 manual. This process also download images and transform image
9331 references to use the locally downloaded images. The generated
9332 Docbook XML files are slightly broken, so some post-processing is done
9333 using the &lt;tt&gt;documentation/scripts/get_manual&lt;/tt&gt; program, and the
9334 result is a nice Docbook XML file (debian-edu-wheezy-manual.xml) and
9335 a handfull of images. The XML file can now be used to generate PDF, HTML
9336 and epub versions of the English manual. This is the basic step of
9337 our process, making PDF (using dblatex), HTML (using xsltproc) and
9338 epub (using dbtoepub) version from Docbook XML, and the resulting files
9339 are placed in the debian-edu-doc-en binary package.&lt;/p&gt;
9340
9341 &lt;p&gt;But English documentation is not enough for us. We want translated
9342 documentation too, and we want to make it easy for translators to
9343 track the English original. For this we use the
9344 &lt;a href=&quot;http://packages.qa.debian.org/p/poxml.html&quot;&gt;poxml&lt;/a&gt; package,
9345 which allow us to transform the English Docbook XML file into a
9346 translation file (a .pot file), usable with the normal gettext based
9347 translation tools used by those translating free software. The pot
9348 file is used to create and maintain translation files (several .po
9349 files), which the translations update with the native language
9350 translations of all titles, paragraphs and blocks of text in the
9351 original. The next step is combining the original English Docbook XML
9352 and the translation file (say debian-edu-wheezy-manual.nb.po), to
9353 create a translated Docbook XML file (in this case
9354 debian-edu-wheezy-manual.nb.xml). This translated (or partly
9355 translated, if the translation is not complete) Docbook XML file can
9356 then be used like the original to create a PDF, HTML and epub version
9357 of the documentation.&lt;/p&gt;
9358
9359 &lt;p&gt;The translators use different tools to edit the .po files. We
9360 recommend using
9361 &lt;a href=&quot;http://www.kde.org/applications/development/lokalize/&quot;&gt;lokalize&lt;/a&gt;,
9362 while some use emacs and vi, others can use web based editors like
9363 &lt;a href=&quot;http://pootle.translatehouse.org/&quot;&gt;Poodle&lt;/a&gt; or
9364 &lt;a href=&quot;https://www.transifex.com/&quot;&gt;Transifex&lt;/a&gt;. All we care about
9365 is where the .po file end up, in our git repository. Updated
9366 translations can either be committed directly to git, or submitted as
9367 &lt;a href=&quot;https://bugs.debian.org/src:debian-edu-doc&quot;&gt;bug reports
9368 against the debian-edu-doc package&lt;/a&gt;.&lt;/p&gt;
9369
9370 &lt;p&gt;One challenge is images, which both might need to be translated (if
9371 they show translated user applications), and are needed in different
9372 formats when creating PDF and HTML versions (epub is a HTML version in
9373 this regard). For this we transform the original PNG images to the
9374 needed density and format during build, and have a way to provide
9375 translated images by storing translated versions in
9376 images/$LANGUAGECODE/. I am a bit unsure about the details here. The
9377 package maintainers know more.&lt;/p&gt;
9378
9379 &lt;p&gt;If you wonder what the result look like, we provide
9380 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/&quot;&gt;the content
9381 of the documentation packages on the web&lt;/a&gt;. See for example the
9382 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/it/debian-edu-wheezy-manual.pdf&quot;&gt;Italian
9383 PDF version&lt;/a&gt; or the
9384 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/de/debian-edu-wheezy-manual.html&quot;&gt;German
9385 HTML version&lt;/a&gt;. We do not yet build the epub version by default,
9386 but perhaps it will be done in the future.&lt;/p&gt;
9387
9388 &lt;p&gt;To learn more, check out
9389 &lt;a href=&quot;http://packages.qa.debian.org/d/debian-edu-doc.html&quot;&gt;the
9390 debian-edu-doc package&lt;/a&gt;,
9391 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/&quot;&gt;the
9392 manual on the wiki&lt;/a&gt; and
9393 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/Translations&quot;&gt;the
9394 translation instructions&lt;/a&gt; in the manual.&lt;/p&gt;
9395 </description>
9396 </item>
9397
9398 <item>
9399 <title>Free software car computer solution?</title>
9400 <link>http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html</link>
9401 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html</guid>
9402 <pubDate>Thu, 29 May 2014 18:45:00 +0200</pubDate>
9403 <description>&lt;p&gt;Dear lazyweb. I&#39;m planning to set up a small Raspberry Pi computer
9404 in my car, connected to
9405 &lt;a href=&quot;http://www.dx.com/p/400a-4-0-tft-lcd-digital-monitor-for-vehicle-parking-reverse-camera-1440x272-12v-dc-57776&quot;&gt;a
9406 small screen&lt;/a&gt; next to the rear mirror. I plan to hook it up with a
9407 GPS and a USB wifi card too. The idea is to get my own
9408 &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Carputer&quot;&gt;Carputer&lt;/a&gt;&quot;. But I
9409 wonder if someone already created a good free software solution for
9410 such car computer.&lt;/p&gt;
9411
9412 &lt;p&gt;This is my current wish list for such system:&lt;/p&gt;
9413
9414 &lt;ul&gt;
9415
9416 &lt;li&gt;Work on Raspberry Pi.&lt;/li&gt;
9417
9418 &lt;li&gt;Show current speed limit based on location, and warn if going too
9419 fast (for example using color codes yellow and red on the screen,
9420 or make a sound). This could be done either using either data from
9421 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;Openstreetmap&lt;/a&gt; or OCR
9422 info gathered from a dashboard camera.&lt;/li&gt;
9423
9424 &lt;li&gt;Track automatic toll road passes and their cost, show total spent
9425 and make it possible to calculate toll costs for planned
9426 route.&lt;/li&gt;
9427
9428 &lt;li&gt;Collect GPX tracks for use with OpenStreetMap.&lt;/li&gt;
9429
9430 &lt;li&gt;Automatically detect and use any wireless connection to connect
9431 to home server. Try IP over DNS
9432 (&lt;a href=&quot;http://dev.kryo.se/iodine/&quot;&gt;iodine&lt;/a&gt;) or ICMP
9433 (&lt;a href=&quot;http://code.gerade.org/hans/&quot;&gt;Hans&lt;/a&gt;) if direct
9434 connection do not work.&lt;/li&gt;
9435
9436 &lt;li&gt;Set up mesh network to talk to other cars with the same system,
9437 or some standard car mesh protocol.&lt;/li&gt;
9438
9439 &lt;li&gt;Warn when approaching speed cameras and speed camera ranges
9440 (speed calculated between two cameras).&lt;/li&gt;
9441
9442 &lt;li&gt;Suport dashboard/front facing camera to discover speed limits and
9443 run OCR to track registration number of passing cars.&lt;/li&gt;
9444
9445 &lt;/ul&gt;
9446
9447 &lt;p&gt;If you know of any free software car computer system supporting
9448 some or all of these features, please let me know.&lt;/p&gt;
9449 </description>
9450 </item>
9451
9452 <item>
9453 <title>Half the Coverity issues in Gnash fixed in the next release</title>
9454 <link>http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html</link>
9455 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html</guid>
9456 <pubDate>Tue, 29 Apr 2014 14:20:00 +0200</pubDate>
9457 <description>&lt;p&gt;I&#39;ve been following &lt;a href=&quot;http://www.getgnash.org/&quot;&gt;the Gnash
9458 project&lt;/a&gt; for quite a while now. It is a free software
9459 implementation of Adobe Flash, both a standalone player and a browser
9460 plugin. Gnash implement support for the AVM1 format (and not the
9461 newer AVM2 format - see
9462 &lt;a href=&quot;http://lightspark.github.io/&quot;&gt;Lightspark&lt;/a&gt; for that one),
9463 allowing several flash based sites to work. Thanks to the friendly
9464 developers at Youtube, it also work with Youtube videos, because the
9465 Javascript code at Youtube detect Gnash and serve a AVM1 player to
9466 those users. :) Would be great if someone found time to implement AVM2
9467 support, but it has not happened yet. If you install both Lightspark
9468 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
9469 so you can get both handled as free software. Unfortunately,
9470 Lightspark so far only implement a small subset of AVM2, and many
9471 sites do not work yet.&lt;/p&gt;
9472
9473 &lt;p&gt;A few months ago, I started looking at
9474 &lt;a href=&quot;http://scan.coverity.com/&quot;&gt;Coverity&lt;/a&gt;, the static source
9475 checker used to find heaps and heaps of bugs in free software (thanks
9476 to the donation of a scanning service to free software projects by the
9477 company developing this non-free code checker), and Gnash was one of
9478 the projects I decided to check out. Coverity is able to find lock
9479 errors, memory errors, dead code and more. A few days ago they even
9480 extended it to also be able to find the heartbleed bug in OpenSSL.
9481 There are heaps of checks being done on the instrumented code, and the
9482 amount of bogus warnings is quite low compared to the other static
9483 code checkers I have tested over the years.&lt;/p&gt;
9484
9485 &lt;p&gt;Since a few weeks ago, I&#39;ve been working with the other Gnash
9486 developers squashing bugs discovered by Coverity. I was quite happy
9487 today when I checked the current status and saw that of the 777 issues
9488 detected so far, 374 are marked as fixed. This make me confident that
9489 the next Gnash release will be more stable and more dependable than
9490 the previous one. Most of the reported issues were and are in the
9491 test suite, but it also found a few in the rest of the code.&lt;/p&gt;
9492
9493 &lt;p&gt;If you want to help out, you find us on
9494 &lt;a href=&quot;https://lists.gnu.org/mailman/listinfo/gnash-dev&quot;&gt;the
9495 gnash-dev mailing list&lt;/a&gt; and on
9496 &lt;a href=&quot;irc://irc.freenode.net/#gnash&quot;&gt;the #gnash channel on
9497 irc.freenode.net IRC server&lt;/a&gt;.&lt;/p&gt;
9498 </description>
9499 </item>
9500
9501 <item>
9502 <title>Install hardware dependent packages using tasksel (Isenkram 0.7)</title>
9503 <link>http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</link>
9504 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</guid>
9505 <pubDate>Wed, 23 Apr 2014 14:50:00 +0200</pubDate>
9506 <description>&lt;p&gt;It would be nice if it was easier in Debian to get all the hardware
9507 related packages relevant for the computer installed automatically.
9508 So I implemented one, using
9509 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;my Isenkram
9510 package&lt;/a&gt;. To use it, install the tasksel and isenkram packages and
9511 run tasksel as user root. You should be presented with a new option,
9512 &quot;Hardware specific packages (autodetected by isenkram)&quot;. When you
9513 select it, tasksel will install the packages isenkram claim is fit for
9514 the current hardware, hot pluggable or not.&lt;p&gt;
9515
9516 &lt;p&gt;The implementation is in two files, one is the tasksel menu entry
9517 description, and the other is the script used to extract the list of
9518 packages to install. The first part is in
9519 &lt;tt&gt;/usr/share/tasksel/descs/isenkram.desc&lt;/tt&gt; and look like
9520 this:&lt;/p&gt;
9521
9522 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9523 Task: isenkram
9524 Section: hardware
9525 Description: Hardware specific packages (autodetected by isenkram)
9526 Based on the detected hardware various hardware specific packages are
9527 proposed.
9528 Test-new-install: mark show
9529 Relevance: 8
9530 Packages: for-current-hardware
9531 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9532
9533 &lt;p&gt;The second part is in
9534 &lt;tt&gt;/usr/lib/tasksel/packages/for-current-hardware&lt;/tt&gt; and look like
9535 this:&lt;/p&gt;
9536
9537 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9538 #!/bin/sh
9539 #
9540 (
9541 isenkram-lookup
9542 isenkram-autoinstall-firmware -l
9543 ) | sort -u
9544 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9545
9546 &lt;p&gt;All in all, a very short and simple implementation making it
9547 trivial to install the hardware dependent package we all may want to
9548 have installed on our machines. I&#39;ve not been able to find a way to
9549 get tasksel to tell you exactly which packages it plan to install
9550 before doing the installation. So if you are curious or careful,
9551 check the output from the isenkram-* command line tools first.&lt;/p&gt;
9552
9553 &lt;p&gt;The information about which packages are handling which hardware is
9554 fetched either from the isenkram package itself in
9555 /usr/share/isenkram/, from git.debian.org or from the APT package
9556 database (using the Modaliases header). The APT package database
9557 parsing have caused a nasty resource leak in the isenkram daemon (bugs
9558 &lt;a href=&quot;http://bugs.debian.org/719837&quot;&gt;#719837&lt;/a&gt; and
9559 &lt;a href=&quot;http://bugs.debian.org/730704&quot;&gt;#730704&lt;/a&gt;). The cause is in
9560 the python-apt code (bug
9561 &lt;a href=&quot;http://bugs.debian.org/745487&quot;&gt;#745487&lt;/a&gt;), but using a
9562 workaround I was able to get rid of the file descriptor leak and
9563 reduce the memory leak from ~30 MiB per hardware detection down to
9564 around 2 MiB per hardware detection. It should make the desktop
9565 daemon a lot more useful. The fix is in version 0.7 uploaded to
9566 unstable today.&lt;/p&gt;
9567
9568 &lt;p&gt;I believe the current way of mapping hardware to packages in
9569 Isenkram is is a good draft, but in the future I expect isenkram to
9570 use the AppStream data source for this. A proposal for getting proper
9571 AppStream support into Debian is floating around as
9572 &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt;, and
9573 &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive&quot;&gt;GSoC
9574 project&lt;/a&gt; will take place this summer to improve the situation. I
9575 look forward to seeing the result, and welcome patches for isenkram to
9576 start using the information when it is ready.&lt;/p&gt;
9577
9578 &lt;p&gt;If you want your package to map to some specific hardware, either
9579 add a &quot;Xb-Modaliases&quot; header to your control file like I did in
9580 &lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;the pymissile
9581 package&lt;/a&gt; or submit a bug report with the details to the isenkram
9582 package. See also
9583 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;all my
9584 blog posts tagged isenkram&lt;/a&gt; for details on the notation. I expect
9585 the information will be migrated to AppStream eventually, but for the
9586 moment I got no better place to store it.&lt;/p&gt;
9587 </description>
9588 </item>
9589
9590 <item>
9591 <title>FreedomBox milestone - all packages now in Debian Sid</title>
9592 <link>http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</link>
9593 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</guid>
9594 <pubDate>Tue, 15 Apr 2014 22:10:00 +0200</pubDate>
9595 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox
9596 project&lt;/a&gt; is working on providing the software and hardware to make
9597 it easy for non-technical people to host their data and communication
9598 at home, and being able to communicate with their friends and family
9599 encrypted and away from prying eyes. It is still going strong, and
9600 today a major mile stone was reached.&lt;/p&gt;
9601
9602 &lt;p&gt;Today, the last of the packages currently used by the project to
9603 created the system images were accepted into Debian Unstable. It was
9604 the freedombox-setup package, which is used to configure the images
9605 during build and on the first boot. Now all one need to get going is
9606 the build code from the freedom-maker git repository and packages from
9607 Debian. And once the freedombox-setup package enter testing, we can
9608 build everything directly from Debian. :)&lt;/p&gt;
9609
9610 &lt;p&gt;Some key packages used by Freedombox are
9611 &lt;a href=&quot;http://packages.qa.debian.org/freedombox-setup&quot;&gt;freedombox-setup&lt;/a&gt;,
9612 &lt;a href=&quot;http://packages.qa.debian.org/plinth&quot;&gt;plinth&lt;/a&gt;,
9613 &lt;a href=&quot;http://packages.qa.debian.org/pagekite&quot;&gt;pagekite&lt;/a&gt;,
9614 &lt;a href=&quot;http://packages.qa.debian.org/tor&quot;&gt;tor&lt;/a&gt;,
9615 &lt;a href=&quot;http://packages.qa.debian.org/privoxy&quot;&gt;privoxy&lt;/a&gt;,
9616 &lt;a href=&quot;http://packages.qa.debian.org/owncloud&quot;&gt;owncloud&lt;/a&gt; and
9617 &lt;a href=&quot;http://packages.qa.debian.org/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt;. There
9618 are plans to integrate more packages into the setup. User
9619 documentation is maintained on the Debian wiki. Please
9620 &lt;a href=&quot;https://wiki.debian.org/FreedomBox/Manual/Jessie&quot;&gt;check out
9621 the manual&lt;/a&gt; and help us improve it.&lt;/p&gt;
9622
9623 &lt;p&gt;To test for yourself and create boot images with the FreedomBox
9624 setup, run this on a Debian machine using a user with sudo rights to
9625 become root:&lt;/p&gt;
9626
9627 &lt;p&gt;&lt;pre&gt;
9628 sudo apt-get install git vmdebootstrap mercurial python-docutils \
9629 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
9630 u-boot-tools
9631 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
9632 freedom-maker
9633 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
9634 &lt;/pre&gt;&lt;/p&gt;
9635
9636 &lt;p&gt;Root access is needed to run debootstrap and mount loopback
9637 devices. See the README in the freedom-maker git repo for more
9638 details on the build. If you do not want all three images, trim the
9639 make line. Note that the virtualbox-image target is not really
9640 virtualbox specific. It create a x86 image usable in kvm, qemu,
9641 vmware and any other x86 virtual machine environment. You might need
9642 the version of vmdebootstrap in Jessie to get the build working, as it
9643 include fixes for a race condition with kpartx.&lt;/p&gt;
9644
9645 &lt;p&gt;If you instead want to install using a Debian CD and the preseed
9646 method, boot a Debian Wheezy ISO and use this boot argument to load
9647 the preseed values:&lt;/p&gt;
9648
9649 &lt;p&gt;&lt;pre&gt;
9650 url=&lt;a href=&quot;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&quot;&gt;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&lt;/a&gt;
9651 &lt;/pre&gt;&lt;/p&gt;
9652
9653 &lt;p&gt;I have not tested it myself the last few weeks, so I do not know if
9654 it still work.&lt;/p&gt;
9655
9656 &lt;p&gt;If you wonder how to help, one task you could look at is using
9657 systemd as the boot system. It will become the default for Linux in
9658 Jessie, so we need to make sure it is usable on the Freedombox. I did
9659 a simple test a few weeks ago, and noticed dnsmasq failed to start
9660 during boot when using systemd. I suspect there are other problems
9661 too. :) To detect problems, there is a test suite included, which can
9662 be run from the plinth web interface.&lt;/p&gt;
9663
9664 &lt;p&gt;Give it a go and let us know how it goes on the mailing list, and help
9665 us get the new release published. :) Please join us on
9666 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC (#freedombox on
9667 irc.debian.org)&lt;/a&gt; and
9668 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
9669 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
9670 </description>
9671 </item>
9672
9673 <item>
9674 <title>S3QL, a locally mounted cloud file system - nice free software</title>
9675 <link>http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</link>
9676 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</guid>
9677 <pubDate>Wed, 9 Apr 2014 11:30:00 +0200</pubDate>
9678 <description>&lt;p&gt;For a while now, I have been looking for a sensible offsite backup
9679 solution for use at home. My requirements are simple, it must be
9680 cheap and locally encrypted (in other words, I keep the encryption
9681 keys, the storage provider do not have access to my private files).
9682 One idea me and my friends had many years ago, before the cloud
9683 storage providers showed up, was to use Google mail as storage,
9684 writing a Linux block device storing blocks as emails in the mail
9685 service provided by Google, and thus get heaps of free space. On top
9686 of this one can add encryption, RAID and volume management to have
9687 lots of (fairly slow, I admit that) cheap and encrypted storage. But
9688 I never found time to implement such system. But the last few weeks I
9689 have looked at a system called
9690 &lt;a href=&quot;https://bitbucket.org/nikratio/s3ql/&quot;&gt;S3QL&lt;/a&gt;, a locally
9691 mounted network backed file system with the features I need.&lt;/p&gt;
9692
9693 &lt;p&gt;S3QL is a fuse file system with a local cache and cloud storage,
9694 handling several different storage providers, any with Amazon S3,
9695 Google Drive or OpenStack API. There are heaps of such storage
9696 providers. S3QL can also use a local directory as storage, which
9697 combined with sshfs allow for file storage on any ssh server. S3QL
9698 include support for encryption, compression, de-duplication, snapshots
9699 and immutable file systems, allowing me to mount the remote storage as
9700 a local mount point, look at and use the files as if they were local,
9701 while the content is stored in the cloud as well. This allow me to
9702 have a backup that should survive fire. The file system can not be
9703 shared between several machines at the same time, as only one can
9704 mount it at the time, but any machine with the encryption key and
9705 access to the storage service can mount it if it is unmounted.&lt;/p&gt;
9706
9707 &lt;p&gt;It is simple to use. I&#39;m using it on Debian Wheezy, where the
9708 package is included already. So to get started, run &lt;tt&gt;apt-get
9709 install s3ql&lt;/tt&gt;. Next, pick a storage provider. I ended up picking
9710 Greenqloud, after reading their nice recipe on
9711 &lt;a href=&quot;https://greenqloud.zendesk.com/entries/44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy&quot;&gt;how
9712 to use S3QL with their Amazon S3 service&lt;/a&gt;, because I trust the laws
9713 in Iceland more than those in USA when it come to keeping my personal
9714 data safe and private, and thus would rather spend money on a company
9715 in Iceland. Another nice recipe is available from the article
9716 &lt;a href=&quot;http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage&quot;&gt;S3QL
9717 Filesystem for HPC Storage&lt;/a&gt; by Jeff Layton in the HPC section of
9718 Admin magazine. When the provider is picked, figure out how to get
9719 the API key needed to connect to the storage API. With Greencloud,
9720 the key did not show up until I had added payment details to my
9721 account.&lt;/p&gt;
9722
9723 &lt;p&gt;Armed with the API access details, it is time to create the file
9724 system. First, create a new bucket in the cloud. This bucket is the
9725 file system storage area. I picked a bucket name reflecting the
9726 machine that was going to store data there, but any name will do.
9727 I&#39;ll refer to it as &lt;tt&gt;bucket-name&lt;/tt&gt; below. In addition, one need
9728 the API login and password, and a locally created password. Store it
9729 all in ~root/.s3ql/authinfo2 like this:
9730
9731 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9732 [s3c]
9733 storage-url: s3c://s.greenqloud.com:443/bucket-name
9734 backend-login: API-login
9735 backend-password: API-password
9736 fs-passphrase: local-password
9737 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9738
9739 &lt;p&gt;I create my local passphrase using &lt;tt&gt;pwget 50&lt;/tt&gt; or similar,
9740 but any sensible way to create a fairly random password should do it.
9741 Armed with these details, it is now time to run mkfs, entering the API
9742 details and password to create it:&lt;/p&gt;
9743
9744 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9745 # mkdir -m 700 /var/lib/s3ql-cache
9746 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
9747 --ssl s3c://s.greenqloud.com:443/bucket-name
9748 Enter backend login:
9749 Enter backend password:
9750 Before using S3QL, make sure to read the user&#39;s guide, especially
9751 the &#39;Important Rules to Avoid Loosing Data&#39; section.
9752 Enter encryption password:
9753 Confirm encryption password:
9754 Generating random encryption key...
9755 Creating metadata tables...
9756 Dumping metadata...
9757 ..objects..
9758 ..blocks..
9759 ..inodes..
9760 ..inode_blocks..
9761 ..symlink_targets..
9762 ..names..
9763 ..contents..
9764 ..ext_attributes..
9765 Compressing and uploading metadata...
9766 Wrote 0.00 MB of compressed metadata.
9767 # &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9768
9769 &lt;p&gt;The next step is mounting the file system to make the storage available.
9770
9771 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9772 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
9773 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
9774 Using 4 upload threads.
9775 Downloading and decompressing metadata...
9776 Reading metadata...
9777 ..objects..
9778 ..blocks..
9779 ..inodes..
9780 ..inode_blocks..
9781 ..symlink_targets..
9782 ..names..
9783 ..contents..
9784 ..ext_attributes..
9785 Mounting filesystem...
9786 # df -h /s3ql
9787 Filesystem Size Used Avail Use% Mounted on
9788 s3c://s.greenqloud.com:443/bucket-name 1.0T 0 1.0T 0% /s3ql
9789 #
9790 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9791
9792 &lt;p&gt;The file system is now ready for use. I use rsync to store my
9793 backups in it, and as the metadata used by rsync is downloaded at
9794 mount time, no network traffic (and storage cost) is triggered by
9795 running rsync. To unmount, one should not use the normal umount
9796 command, as this will not flush the cache to the cloud storage, but
9797 instead running the umount.s3ql command like this:
9798
9799 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9800 # umount.s3ql /s3ql
9801 #
9802 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9803
9804 &lt;p&gt;There is a fsck command available to check the file system and
9805 correct any problems detected. This can be used if the local server
9806 crashes while the file system is mounted, to reset the &quot;already
9807 mounted&quot; flag. This is what it look like when processing a working
9808 file system:&lt;/p&gt;
9809
9810 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9811 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:443/bucket-name
9812 Using cached metadata.
9813 File system seems clean, checking anyway.
9814 Checking DB integrity...
9815 Creating temporary extra indices...
9816 Checking lost+found...
9817 Checking cached objects...
9818 Checking names (refcounts)...
9819 Checking contents (names)...
9820 Checking contents (inodes)...
9821 Checking contents (parent inodes)...
9822 Checking objects (reference counts)...
9823 Checking objects (backend)...
9824 ..processed 5000 objects so far..
9825 ..processed 10000 objects so far..
9826 ..processed 15000 objects so far..
9827 Checking objects (sizes)...
9828 Checking blocks (referenced objects)...
9829 Checking blocks (refcounts)...
9830 Checking inode-block mapping (blocks)...
9831 Checking inode-block mapping (inodes)...
9832 Checking inodes (refcounts)...
9833 Checking inodes (sizes)...
9834 Checking extended attributes (names)...
9835 Checking extended attributes (inodes)...
9836 Checking symlinks (inodes)...
9837 Checking directory reachability...
9838 Checking unix conventions...
9839 Checking referential integrity...
9840 Dropping temporary indices...
9841 Backing up old metadata...
9842 Dumping metadata...
9843 ..objects..
9844 ..blocks..
9845 ..inodes..
9846 ..inode_blocks..
9847 ..symlink_targets..
9848 ..names..
9849 ..contents..
9850 ..ext_attributes..
9851 Compressing and uploading metadata...
9852 Wrote 0.89 MB of compressed metadata.
9853 #
9854 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9855
9856 &lt;p&gt;Thanks to the cache, working on files that fit in the cache is very
9857 quick, about the same speed as local file access. Uploading large
9858 amount of data is to me limited by the bandwidth out of and into my
9859 house. Uploading 685 MiB with a 100 MiB cache gave me 305 kiB/s,
9860 which is very close to my upload speed, and downloading the same
9861 Debian installation ISO gave me 610 kiB/s, close to my download speed.
9862 Both were measured using &lt;tt&gt;dd&lt;/tt&gt;. So for me, the bottleneck is my
9863 network, not the file system code. I do not know what a good cache
9864 size would be, but suspect that the cache should e larger than your
9865 working set.&lt;/p&gt;
9866
9867 &lt;p&gt;I mentioned that only one machine can mount the file system at the
9868 time. If another machine try, it is told that the file system is
9869 busy:&lt;/p&gt;
9870
9871 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9872 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
9873 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
9874 Using 8 upload threads.
9875 Backend reports that fs is still mounted elsewhere, aborting.
9876 #
9877 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9878
9879 &lt;p&gt;The file content is uploaded when the cache is full, while the
9880 metadata is uploaded once every 24 hour by default. To ensure the
9881 file system content is flushed to the cloud, one can either umount the
9882 file system, or ask S3QL to flush the cache and metadata using
9883 s3qlctrl:
9884
9885 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9886 # s3qlctrl upload-meta /s3ql
9887 # s3qlctrl flushcache /s3ql
9888 #
9889 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9890
9891 &lt;p&gt;If you are curious about how much space your data uses in the
9892 cloud, and how much compression and deduplication cut down on the
9893 storage usage, you can use s3qlstat on the mounted file system to get
9894 a report:&lt;/p&gt;
9895
9896 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
9897 # s3qlstat /s3ql
9898 Directory entries: 9141
9899 Inodes: 9143
9900 Data blocks: 8851
9901 Total data size: 22049.38 MB
9902 After de-duplication: 21955.46 MB (99.57% of total)
9903 After compression: 21877.28 MB (99.22% of total, 99.64% of de-duplicated)
9904 Database size: 2.39 MB (uncompressed)
9905 (some values do not take into account not-yet-uploaded dirty blocks in cache)
9906 #
9907 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
9908
9909 &lt;p&gt;I mentioned earlier that there are several possible suppliers of
9910 storage. I did not try to locate them all, but am aware of at least
9911 &lt;a href=&quot;https://www.greenqloud.com/&quot;&gt;Greenqloud&lt;/a&gt;,
9912 &lt;a href=&quot;http://drive.google.com/&quot;&gt;Google Drive&lt;/a&gt;,
9913 &lt;a href=&quot;http://aws.amazon.com/s3/&quot;&gt;Amazon S3 web serivces&lt;/a&gt;,
9914 &lt;a href=&quot;http://www.rackspace.com/&quot;&gt;Rackspace&lt;/a&gt; and
9915 &lt;a href=&quot;http://crowncloud.net/&quot;&gt;Crowncloud&lt;/A&gt;. The latter even
9916 accept payment in Bitcoin. Pick one that suit your need. Some of
9917 them provide several GiB of free storage, but the prize models are
9918 quite different and you will have to figure out what suits you
9919 best.&lt;/p&gt;
9920
9921 &lt;p&gt;While researching this blog post, I had a look at research papers
9922 and posters discussing the S3QL file system. There are several, which
9923 told me that the file system is getting a critical check by the
9924 science community and increased my confidence in using it. One nice
9925 poster is titled
9926 &quot;&lt;a href=&quot;http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf&quot;&gt;An
9927 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
9928 Store and Transformative Parallel I/O Approach&lt;/a&gt;&quot; by Hsing-Bung
9929 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
9930 and Pamela Smith. Please have a look.&lt;/p&gt;
9931
9932 &lt;p&gt;Given my problems with different file systems earlier, I decided to
9933 check out the mounted S3QL file system to see if it would be usable as
9934 a home directory (in other word, that it provided POSIX semantics when
9935 it come to locking and umask handling etc). Running
9936 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html&quot;&gt;my
9937 test code to check file system semantics&lt;/a&gt;, I was happy to discover that
9938 no error was found. So the file system can be used for home
9939 directories, if one chooses to do so.&lt;/p&gt;
9940
9941 &lt;p&gt;If you do not want a locally file system, and want something that
9942 work without the Linux fuse file system, I would like to mention the
9943 &lt;a href=&quot;http://www.tarsnap.com/&quot;&gt;Tarsnap service&lt;/a&gt;, which also
9944 provide locally encrypted backup using a command line client. It have
9945 a nicer access control system, where one can split out read and write
9946 access, allowing some systems to write to the backup and others to
9947 only read from it.&lt;/p&gt;
9948
9949 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
9950 activities, please send Bitcoin donations to my address
9951 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
9952 </description>
9953 </item>
9954
9955 <item>
9956 <title>ReactOS Windows clone - nice free software</title>
9957 <link>http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</link>
9958 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</guid>
9959 <pubDate>Tue, 1 Apr 2014 12:10:00 +0200</pubDate>
9960 <description>&lt;p&gt;Microsoft have announced that Windows XP reaches its end of life
9961 2014-04-08, in 7 days. But there are heaps of machines still running
9962 Windows XP, and depending on Windows XP to run their applications, and
9963 upgrading will be expensive, both when it comes to money and when it
9964 comes to the amount of effort needed to migrate from Windows XP to a
9965 new operating system. Some obvious options (buy new a Windows
9966 machine, buy a MacOSX machine, install Linux on the existing machine)
9967 are already well known and covered elsewhere. Most of them involve
9968 leaving the user applications installed on Windows XP behind and
9969 trying out replacements or updated versions. In this blog post I want
9970 to mention one strange bird that allow people to keep the hardware and
9971 the existing Windows XP applications and run them on a free software
9972 operating system that is Windows XP compatible.&lt;/p&gt;
9973
9974 &lt;p&gt;&lt;a href=&quot;http://www.reactos.org/&quot;&gt;ReactOS&lt;/a&gt; is a free software
9975 operating system (GNU GPL licensed) working on providing a operating
9976 system that is binary compatible with Windows, able to run windows
9977 programs directly and to use Windows drivers for hardware directly.
9978 The project goal is for Windows user to keep their existing machines,
9979 drivers and software, and gain the advantages from user a operating
9980 system without usage limitations caused by non-free licensing. It is
9981 a Windows clone running directly on the hardware, so quite different
9982 from the approach taken by &lt;a href=&quot;http://www.winehq.org/&quot;&gt;the Wine
9983 project&lt;/a&gt;, which make it possible to run Windows binaries on
9984 Linux.&lt;/p&gt;
9985
9986 &lt;p&gt;The ReactOS project share code with the Wine project, so most
9987 shared libraries available on Windows are already implemented already.
9988 There is also a software manager like the one we are used to on Linux,
9989 allowing the user to install free software applications with a simple
9990 click directly from the Internet. Check out the
9991 &lt;a href=&quot;http://www.reactos.org/screenshots&quot;&gt;screen shots on the
9992 project web site&lt;/a&gt; for an idea what it look like (it looks just like
9993 Windows before metro).&lt;/p&gt;
9994
9995 &lt;p&gt;I do not use ReactOS myself, preferring Linux and Unix like
9996 operating systems. I&#39;ve tested it, and it work fine in a virt-manager
9997 virtual machine. The browser, minesweeper, notepad etc is working
9998 fine as far as I can tell. Unfortunately, my main test application
9999 is the software included on a CD with the Lego Mindstorms NXT, which
10000 seem to install just fine from CD but fail to leave any binaries on
10001 the disk after the installation. So no luck with that test software.
10002 No idea why, but hope someone else figure out and fix the problem.
10003 I&#39;ve tried the ReactOS Live ISO on a physical machine, and it seemed
10004 to work just fine. If you like Windows and want to keep running your
10005 old Windows binaries, check it out by
10006 &lt;a href=&quot;http://www.reactos.org/download&quot;&gt;downloading&lt;/a&gt; the
10007 installation CD, the live CD or the preinstalled virtual machine
10008 image.&lt;/p&gt;
10009 </description>
10010 </item>
10011
10012 <item>
10013 <title>Debian Edu interview: Roger Marsal</title>
10014 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</link>
10015 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</guid>
10016 <pubDate>Sun, 30 Mar 2014 11:40:00 +0200</pubDate>
10017 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
10018 keep gaining new users. Some weeks ago, a person showed up on IRC,
10019 &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt;, with a
10020 wish to contribute, and I managed to get a interview with this great
10021 contributor Roger Marsal to learn more about his background.&lt;/p&gt;
10022
10023 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
10024
10025 &lt;p&gt;My name is Roger Marsal, I&#39;m 27 years old (1986 generation) and I
10026 live in Barcelona, Spain. I&#39;ve got a strong business background and I
10027 work as a patrimony manager and as a real estate agent. Additionally,
10028 I&#39;ve co-founded a British based tech company that is nowadays on the
10029 last development phase of a new social networking concept.&lt;/p&gt;
10030
10031 &lt;p&gt;I&#39;m a Linux enthusiast that started its journey with Ubuntu four years
10032 ago and have recently switched to Debian seeking rock solid stability
10033 and as a necessary step to gain expertise.&lt;/p&gt;
10034
10035 &lt;p&gt;In a nutshell, I spend my days working and learning as much as I
10036 can to face both my job, entrepreneur project and feed my Linux
10037 hunger.&lt;/p&gt;
10038
10039 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
10040 project?&lt;/strong&gt;&lt;/p&gt;
10041
10042 &lt;p&gt;I discovered the &lt;a href=&quot;http://www.ltsp.org/&quot;&gt;LTSP&lt;/a&gt; advantages
10043 with &quot;Ubuntu 12.04 alternate install&quot; and after a year of use I
10044 started looking for an alternative. Even though I highly value and
10045 respect the Ubuntu project, I thought it was necessary for me to
10046 change to a more robust and stable alternative. As far as I was using
10047 Debian on my personal laptop I thought it would be fine to install
10048 Debian and configure an LTSP server myself. Surprised, I discovered
10049 that the Debian project also supported a kind of Edubuntu equivalent,
10050 and after having some pain I obtained a Debian Edu network up and
10051 running. I just loved it.&lt;/p&gt;
10052
10053 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
10054 Edu?&lt;/strong&gt;&lt;/p&gt;
10055
10056 &lt;p&gt;I found a main advantage in that, once you know &quot;the tips and
10057 tricks&quot;, a new installation just works out of the box. It&#39;s the most
10058 complete alternative I&#39;ve found to create an LTSP network. All the
10059 other distributions seems to be made of plastic, Debian Edu seems to
10060 be made of steel.&lt;/p&gt;
10061
10062 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
10063 Edu?&lt;/strong&gt;&lt;/p&gt;
10064
10065 &lt;p&gt;I found two main disadvantages.&lt;/p&gt;
10066
10067 &lt;p&gt;I&#39;m not an expert but I&#39;ve got notions and I had to spent a considerable
10068 amount of time trying to bring up a standard network topology. I&#39;m quite
10069 stubborn and I just worked until I did but I&#39;m sure many people with few
10070 resources (not big schools, but academies for example) would have switched
10071 or dropped.&lt;/p&gt;
10072
10073 &lt;p&gt;It&#39;s amazing how such a complex system like Debian Edu has achieved
10074 this out-of-the-box state. Even though tweaking without breaking gets
10075 more difficult, as more factors have to be considered. This can
10076 discourage many people too.&lt;/p&gt;
10077
10078 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
10079
10080 &lt;p&gt;I use Debian, Firefox, Okular, Inkscape, LibreOffice and
10081 Virtualbox.&lt;/p&gt;
10082
10083
10084 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
10085 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
10086
10087 &lt;p&gt;I don&#39;t think there is a need for a particular strategy. The free
10088 attribute in both &quot;freedom&quot; and &quot;no price&quot; meanings is what will
10089 really bring free software to schools. In my experience I can think of
10090 the &lt;a href=&quot;http://www.r-project.org/&quot;&gt;&quot;R&quot; statistical language&lt;/a&gt;; a
10091 few years a ago was an extremely nerd tool for university people.
10092 Today it&#39;s being increasingly used to teach statistics at many
10093 different level of studies. I believe free and open software will
10094 increasingly gain popularity, but I&#39;m sure schools will be one of the
10095 first scenarios where this will happen.&lt;/p&gt;
10096 </description>
10097 </item>
10098
10099 <item>
10100 <title>Public Trusted Timestamping services for everyone</title>
10101 <link>http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</link>
10102 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</guid>
10103 <pubDate>Tue, 25 Mar 2014 12:50:00 +0100</pubDate>
10104 <description>&lt;p&gt;Did you ever need to store logs or other files in a way that would
10105 allow it to be used as evidence in court, and needed a way to
10106 demonstrate without reasonable doubt that the file had not been
10107 changed since it was created? Or, did you ever need to document that
10108 a given document was received at some point in time, like some
10109 archived document or the answer to an exam, and not changed after it
10110 was received? The problem in these settings is to remove the need to
10111 trust yourself and your computers, while still being able to prove
10112 that a file is the same as it was at some given time in the past.&lt;/p&gt;
10113
10114 &lt;p&gt;A solution to these problems is to have a trusted third party
10115 &quot;stamp&quot; the document and verify that at some given time the document
10116 looked a given way. Such
10117 &lt;a href=&quot;https://en.wikipedia.org/wiki/Notarius&quot;&gt;notarius&lt;/a&gt; service
10118 have been around for thousands of years, and its digital equivalent is
10119 called a
10120 &lt;a href=&quot;http://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
10121 timestamping service&lt;/a&gt;. &lt;a href=&quot;http://www.ietf.org/&quot;&gt;The Internet
10122 Engineering Task Force&lt;/a&gt; standardised how such service could work a
10123 few years ago as &lt;a href=&quot;http://tools.ietf.org/html/rfc3161&quot;&gt;RFC
10124 3161&lt;/a&gt;. The mechanism is simple. Create a hash of the file in
10125 question, send it to a trusted third party which add a time stamp to
10126 the hash and sign the result with its private key, and send back the
10127 signed hash + timestamp. Both email, FTP and HTTP can be used to
10128 request such signature, depending on what is provided by the service
10129 used. Anyone with the document and the signature can then verify that
10130 the document matches the signature by creating their own hash and
10131 checking the signature using the trusted third party public key.
10132 There are several commercial services around providing such
10133 timestamping. A quick search for
10134 &quot;&lt;a href=&quot;https://duckduckgo.com/?q=rfc+3161+service&quot;&gt;rfc 3161
10135 service&lt;/a&gt;&quot; pointed me to at least
10136 &lt;a href=&quot;https://www.digistamp.com/technical/how-a-digital-time-stamp-works/&quot;&gt;DigiStamp&lt;/a&gt;,
10137 &lt;a href=&quot;http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx&quot;&gt;Quo
10138 Vadis&lt;/a&gt;,
10139 &lt;a href=&quot;https://www.globalsign.com/timestamp-service/&quot;&gt;Global Sign&lt;/a&gt;
10140 and &lt;a href=&quot;http://www.globaltrustfinder.com/TSADefault.aspx&quot;&gt;Global
10141 Trust Finder&lt;/a&gt;. The system work as long as the private key of the
10142 trusted third party is not compromised.&lt;/p&gt;
10143
10144 &lt;p&gt;But as far as I can tell, there are very few public trusted
10145 timestamp services available for everyone. I&#39;ve been looking for one
10146 for a while now. But yesterday I found one over at
10147 &lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;Deutches
10148 Forschungsnetz&lt;/a&gt; mentioned in
10149 &lt;a href=&quot;http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/&quot;&gt;a
10150 blog by David Müller&lt;/a&gt;. I then found
10151 &lt;a href=&quot;http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html&quot;&gt;a
10152 good recipe on how to use the service&lt;/a&gt; over at the University of
10153 Greifswald.&lt;/p&gt;
10154
10155 &lt;p&gt;&lt;a href=&quot;http://www.openssl.org/&quot;&gt;The OpenSSL library&lt;/a&gt; contain
10156 both server and tools to use and set up your own signing service. See
10157 the ts(1SSL), tsget(1SSL) manual pages for more details. The
10158 following shell script demonstrate how to extract a signed timestamp
10159 for any file on the disk in a Debian environment:&lt;/p&gt;
10160
10161 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10162 #!/bin/sh
10163 set -e
10164 url=&quot;http://zeitstempel.dfn.de&quot;
10165 caurl=&quot;https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt&quot;
10166 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
10167 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
10168 cafile=chain.txt
10169 if [ ! -f $cafile ] ; then
10170 wget -O $cafile &quot;$caurl&quot;
10171 fi
10172 openssl ts -query -data &quot;$1&quot; -cert | tee &quot;$reqfile&quot; \
10173 | /usr/lib/ssl/misc/tsget -h &quot;$url&quot; -o &quot;$resfile&quot;
10174 openssl ts -reply -in &quot;$resfile&quot; -text 1&gt;&amp;2
10175 openssl ts -verify -data &quot;$1&quot; -in &quot;$resfile&quot; -CAfile &quot;$cafile&quot; 1&gt;&amp;2
10176 base64 &lt; &quot;$resfile&quot;
10177 rm &quot;$reqfile&quot; &quot;$resfile&quot;
10178 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10179
10180 &lt;p&gt;The argument to the script is the file to timestamp, and the output
10181 is a base64 encoded version of the signature to STDOUT and details
10182 about the signature to STDERR. Note that due to
10183 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553&quot;&gt;a bug
10184 in the tsget script&lt;/a&gt;, you might need to modify the included script
10185 and remove the last line. Or just write your own HTTP uploader using
10186 curl. :) Now you too can prove and verify that files have not been
10187 changed.&lt;/p&gt;
10188
10189 &lt;p&gt;But the Internet need more public trusted timestamp services.
10190 Perhaps something for &lt;a href=&quot;http://www.uninett.no/&quot;&gt;Uninett&lt;/a&gt; or
10191 my work place the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
10192 to set up?&lt;/p&gt;
10193 </description>
10194 </item>
10195
10196 <item>
10197 <title>Video DVD reader library / python-dvdvideo - nice free software</title>
10198 <link>http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</link>
10199 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</guid>
10200 <pubDate>Fri, 21 Mar 2014 15:25:00 +0100</pubDate>
10201 <description>&lt;p&gt;Keeping your DVD collection safe from scratches and curious
10202 children fingers while still having it available when you want to see a
10203 movie is not straight forward. My preferred method at the moment is
10204 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
10205 Hour or other useful players to view the resulting file. This way the
10206 subtitles and bonus material are still available and using the ISO is
10207 just like inserting the original DVD record in the DVD player.&lt;/p&gt;
10208
10209 &lt;p&gt;Earlier I used dd for taking security copies, but it do not handle
10210 DVDs giving read errors (which are quite a few of them). I&#39;ve also
10211 tried using
10212 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html&quot;&gt;dvdbackup
10213 and genisoimage&lt;/a&gt;, but these days I use the marvellous python library
10214 and program
10215 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;python-dvdvideo&lt;/a&gt;
10216 written by Bastian Blank. It is
10217 &lt;a href=&quot;http://packages.qa.debian.org/p/python-dvdvideo.html&quot;&gt;in Debian
10218 already&lt;/a&gt; and the binary package name is python3-dvdvideo. Instead
10219 of trying to read every block from the DVD, it parses the file
10220 structure and figure out which block on the DVD is actually in used,
10221 and only read those blocks from the DVD. This work surprisingly well,
10222 and I have been able to almost backup my entire DVD collection using
10223 this method.&lt;/p&gt;
10224
10225 &lt;p&gt;So far, python-dvdvideo have failed on between 10 and
10226 20 DVDs, which is a small fraction of my collection. The most common
10227 problem is
10228 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720831&quot;&gt;DVDs
10229 using UTF-16 instead of UTF-8 characters&lt;/a&gt;, which according to
10230 Bastian is against the DVD specification (and seem to cause some
10231 players to fail too). A rarer problem is what seem to be inconsistent
10232 DVD structures, as the python library
10233 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723079&quot;&gt;claim
10234 there is a overlap between objects&lt;/a&gt;. An equally rare problem claim
10235 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741878&quot;&gt;some
10236 value is out of range&lt;/a&gt;. No idea what is going on there. I wish I
10237 knew enough about the DVD format to fix these, to ensure my movie
10238 collection will stay with me in the future.&lt;/p&gt;
10239
10240 &lt;p&gt;So, if you need to keep your DVDs safe, back them up using
10241 python-dvdvideo. :)&lt;/p&gt;
10242 </description>
10243 </item>
10244
10245 <item>
10246 <title>Freedombox on Dreamplug, Raspberry Pi and virtual x86 machine</title>
10247 <link>http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html</link>
10248 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html</guid>
10249 <pubDate>Fri, 14 Mar 2014 11:00:00 +0100</pubDate>
10250 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox
10251 project&lt;/a&gt; is working on providing the software and hardware for
10252 making it easy for non-technical people to host their data and
10253 communication at home, and being able to communicate with their
10254 friends and family encrypted and away from prying eyes. It has been
10255 going on for a while, and is slowly progressing towards a new test
10256 release (0.2).&lt;/p&gt;
10257
10258 &lt;p&gt;And what day could be better than the Pi day to announce that the
10259 new version will provide &quot;hard drive&quot; / SD card / USB stick images for
10260 Dreamplug, Raspberry Pi and VirtualBox (or any other virtualization
10261 system), and can also be installed using a Debian installer preseed
10262 file. The Debian based Freedombox is now based on Debian Jessie,
10263 where most of the needed packages used are already present. Only one,
10264 the freedombox-setup package, is missing. To try to build your own
10265 boot image to test the current status, fetch the freedom-maker scripts
10266 and build using
10267 &lt;a href=&quot;http://packages.qa.debian.org/vmdebootstrap&quot;&gt;vmdebootstrap&lt;/a&gt;
10268 with a user with sudo access to become root:
10269
10270 &lt;pre&gt;
10271 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
10272 freedom-maker
10273 sudo apt-get install git vmdebootstrap mercurial python-docutils \
10274 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
10275 u-boot-tools
10276 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
10277 &lt;/pre&gt;
10278
10279 &lt;p&gt;Root access is needed to run debootstrap and mount loopback
10280 devices. See the README for more details on the build. If you do not
10281 want all three images, trim the make line. But note that thanks to &lt;a
10282 href=&quot;https://bugs.debian.org/741407&quot;&gt;a race condition in
10283 vmdebootstrap&lt;/a&gt;, the build might fail without the patch to the
10284 kpartx call.&lt;/p&gt;
10285
10286 &lt;p&gt;If you instead want to install using a Debian CD and the preseed
10287 method, boot a Debian Wheezy ISO and use this boot argument to load
10288 the preseed values:&lt;/p&gt;
10289
10290 &lt;pre&gt;
10291 url=&lt;a href=&quot;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&quot;&gt;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&lt;/a&gt;
10292 &lt;/pre&gt;
10293
10294 &lt;p&gt;But note that due to &lt;a href=&quot;https://bugs.debian.org/740673&quot;&gt;a
10295 recently introduced bug in apt in Jessie&lt;/a&gt;, the installer will
10296 currently hang while setting up APT sources. Killing the
10297 &#39;&lt;tt&gt;apt-cdrom ident&lt;/tt&gt;&#39; process when it hang a few times during the
10298 installation will get the installation going. This affect all
10299 installations in Jessie, and I expect it will be fixed soon.&lt;/p&gt;
10300
10301 &lt;p&gt;Give it a go and let us know how it goes on the mailing list, and help
10302 us get the new release published. :) Please join us on
10303 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC (#freedombox on
10304 irc.debian.org)&lt;/a&gt; and
10305 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
10306 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
10307 </description>
10308 </item>
10309
10310 <item>
10311 <title>How to add extra storage servers in Debian Edu / Skolelinux</title>
10312 <link>http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html</link>
10313 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html</guid>
10314 <pubDate>Wed, 12 Mar 2014 12:50:00 +0100</pubDate>
10315 <description>&lt;p&gt;On larger sites, it is useful to use a dedicated storage server for
10316 storing user home directories and data. The design for handling this
10317 in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, is
10318 to update the automount rules in LDAP and let the automount daemon on
10319 the clients take care of the rest. I was reminded about the need to
10320 document this better when one of the customers of
10321 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt;, where I am
10322 on the board of directors, asked about how to do this. The steps to
10323 get this working are the following:&lt;/p&gt;
10324
10325 &lt;p&gt;&lt;ol&gt;
10326
10327 &lt;li&gt;Add new storage server in DNS. I use nas-server.intern as the
10328 example host here.&lt;/li&gt;
10329
10330 &lt;li&gt;Add automoun LDAP information about this server in LDAP, to allow
10331 all clients to automatically mount it on reqeust.&lt;/li&gt;
10332
10333 &lt;li&gt;Add the relevant entries in tjener.intern:/etc/fstab, because
10334 tjener.intern do not use automount to avoid mounting loops.&lt;/li&gt;
10335
10336 &lt;/ol&gt;&lt;/p&gt;
10337
10338 &lt;p&gt;DNS entries are added in GOsa², and not described here. Follow the
10339 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/GettingStarted&quot;&gt;instructions
10340 in the manual&lt;/a&gt; (Machine Management with GOsa² in section Getting
10341 started).&lt;/p&gt;
10342
10343 &lt;p&gt;Ensure that the NFS export points on the server are exported to the
10344 relevant subnets or machines:&lt;/p&gt;
10345
10346 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10347 root@tjener:~# showmount -e nas-server
10348 Export list for nas-server:
10349 /storage 10.0.0.0/8
10350 root@tjener:~#
10351 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10352
10353 &lt;p&gt;Here everything on the backbone network is granted access to the
10354 /storage export. With NFSv3 it is slightly better to limit it to
10355 netgroup membership or single IP addresses to have some limits on the
10356 NFS access.&lt;/p&gt;
10357
10358 &lt;p&gt;The next step is to update LDAP. This can not be done using GOsa²,
10359 because it lack a module for automount. Instead, use ldapvi and add
10360 the required LDAP objects using an editor.&lt;/p&gt;
10361
10362 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10363 ldapvi --ldap-conf -ZD &#39;(cn=admin)&#39; -b ou=automount,dc=skole,dc=skolelinux,dc=no
10364 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10365
10366 &lt;p&gt;When the editor show up, add the following LDAP objects at the
10367 bottom of the document. The &quot;/&amp;&quot; part in the last LDAP object is a
10368 wild card matching everything the nas-server exports, removing the
10369 need to list individual mount points in LDAP.&lt;/p&gt;
10370
10371 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10372 add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
10373 objectClass: automount
10374 cn: nas-server
10375 automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
10376
10377 add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
10378 objectClass: top
10379 objectClass: automountMap
10380 ou: auto.nas-server
10381
10382 add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
10383 objectClass: automount
10384 cn: /
10385 automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&amp;
10386 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10387
10388 &lt;p&gt;The last step to remember is to mount the relevant mount points in
10389 tjener.intern by adding them to /etc/fstab, creating the mount
10390 directories using mkdir and running &quot;mount -a&quot; to mount them.&lt;/p&gt;
10391
10392 &lt;p&gt;When this is done, your users should be able to access the files on
10393 the storage server directly by just visiting the
10394 /tjener/nas-server/storage/ directory using any application on any
10395 workstation, LTSP client or LTSP server.&lt;/p&gt;
10396 </description>
10397 </item>
10398
10399 <item>
10400 <title>New home and release 1.0 for netgroup and innetgr (aka ng-utils)</title>
10401 <link>http://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html</link>
10402 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html</guid>
10403 <pubDate>Sat, 22 Feb 2014 21:45:00 +0100</pubDate>
10404 <description>&lt;p&gt;Many years ago, I wrote a GPL licensed version of the netgroup and
10405 innetgr tools, because I needed them in
10406 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;. I called the project
10407 ng-utils, and it has served me well. I placed the project under the
10408 &lt;a href=&quot;http://www.hungry.com/&quot;&gt;Hungry Programmer&lt;/a&gt; umbrella, and it was maintained in our CVS
10409 repository. But many years ago, the CVS repository was dropped (lost,
10410 not migrated to new hardware, not sure), and the project have lacked a
10411 proper home since then.&lt;/p&gt;
10412
10413 &lt;p&gt;Last summer, I had a look at the package and made a new release
10414 fixing a irritating crash bug, but was unable to store the changes in
10415 a proper source control system. I applied for a project on
10416 &lt;a href=&quot;https://alioth.debian.org/&quot;&gt;Alioth&lt;/a&gt;, but did not have time
10417 to follow up on it. Until today. :)&lt;/p&gt;
10418
10419 &lt;p&gt;After many hours of cleaning and migration, the ng-utils project
10420 now have a new home, and a git repository with the highlight of the
10421 history of the project. I published all release tarballs and imported
10422 them into the git repository. As the project is really stable and not
10423 expected to gain new features any time soon, I decided to make a new
10424 release and call it 1.0. Visit the new project home on
10425 &lt;a href=&quot;https://alioth.debian.org/projects/ng-utils/&quot;&gt;https://alioth.debian.org/projects/ng-utils/&lt;/a&gt;
10426 if you want to check it out. The new version is also uploaded into
10427 &lt;a href=&quot;http://packages.qa.debian.org/n/ng-utils.html&quot;&gt;Debian Unstable&lt;/a&gt;.&lt;/p&gt;
10428 </description>
10429 </item>
10430
10431 <item>
10432 <title>Testing sysvinit from experimental in Debian Hurd</title>
10433 <link>http://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html</link>
10434 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html</guid>
10435 <pubDate>Mon, 3 Feb 2014 13:40:00 +0100</pubDate>
10436 <description>&lt;p&gt;A few days ago I decided to try to help the Hurd people to get
10437 their changes into sysvinit, to allow them to use the normal sysvinit
10438 boot system instead of their old one. This follow up on the
10439 &lt;a href=&quot;https://teythoon.cryptobitch.de//categories/gsoc.html&quot;&gt;great
10440 Google Summer of Code work&lt;/a&gt; done last summer by Justus Winter to
10441 get Debian on Hurd working more like Debian on Linux. To get started,
10442 I downloaded a prebuilt hard disk image from
10443 &lt;a href=&quot;http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz&quot;&gt;http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz&lt;/a&gt;,
10444 and started it using virt-manager.&lt;/p&gt;
10445
10446 &lt;p&gt;The first think I had to do after logging in (root without any
10447 password) was to get the network operational. I followed
10448 &lt;a href=&quot;https://www.debian.org/ports/hurd/hurd-install&quot;&gt;the
10449 instructions on the Debian GNU/Hurd ports page&lt;/a&gt; and ran these
10450 commands as root to get the machine to accept a IP address from the
10451 kvm internal DHCP server:&lt;/p&gt;
10452
10453 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10454 settrans -fgap /dev/netdde /hurd/netdde
10455 kill $(ps -ef|awk &#39;/[p]finet/ { print $2}&#39;)
10456 kill $(ps -ef|awk &#39;/[d]evnode/ { print $2}&#39;)
10457 dhclient /dev/eth0
10458 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10459
10460 &lt;p&gt;After this, the machine had internet connectivity, and I could
10461 upgrade it and install the sysvinit packages from experimental and
10462 enable it as the default boot system in Hurd.&lt;/p&gt;
10463
10464 &lt;p&gt;But before I did that, I set a password on the root user, as ssh is
10465 running on the machine it for ssh login to work a password need to be
10466 set. Also, note that a bug somewhere in openssh on Hurd block
10467 compression from working. Remember to turn that off on the client
10468 side.&lt;/p&gt;
10469
10470 &lt;p&gt;Run these commands as root to upgrade and test the new sysvinit
10471 stuff:&lt;/p&gt;
10472
10473 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10474 cat &gt; /etc/apt/sources.list.d/experimental.list &amp;lt;&amp;lt;EOF
10475 deb http://http.debian.net/debian/ experimental main
10476 EOF
10477 apt-get update
10478 apt-get dist-upgrade
10479 apt-get install -t experimental initscripts sysv-rc sysvinit \
10480 sysvinit-core sysvinit-utils
10481 update-alternatives --config runsystem
10482 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10483
10484 &lt;p&gt;To reboot after switching boot system, you have to use
10485 &lt;tt&gt;reboot-hurd&lt;/tt&gt; instead of just &lt;tt&gt;reboot&lt;/tt&gt;, as there is not
10486 yet a sysvinit process able to receive the signals from the normal
10487 &#39;reboot&#39; command. After switching to sysvinit as the boot system,
10488 upgrading every package and rebooting, the network come up with DHCP
10489 after boot as it should, and the settrans/pkill hack mentioned at the
10490 start is no longer needed. But for some strange reason, there are no
10491 longer any login prompt in the virtual console, so I logged in using
10492 ssh instead.
10493
10494 &lt;p&gt;Note that there are some race conditions in Hurd making the boot
10495 fail some times. No idea what the cause is, but hope the Hurd porters
10496 figure it out. At least Justus said on IRC (#debian-hurd on
10497 irc.debian.org) that they are aware of the problem. A way to reduce
10498 the impact is to upgrade to the Hurd packages built by Justus by
10499 adding this repository to the machine:&lt;/p&gt;
10500
10501 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10502 cat &gt; /etc/apt/sources.list.d/hurd-ci.list &amp;lt;&amp;lt;EOF
10503 deb http://darnassus.sceen.net/~teythoon/hurd-ci/ sid main
10504 EOF
10505 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10506
10507 &lt;p&gt;At the moment the prebuilt virtual machine get some packages from
10508 http://ftp.debian-ports.org/debian, because some of the packages in
10509 unstable do not yet include the required patches that are lingering in
10510 BTS. This is the completely list of &quot;unofficial&quot; packages installed:&lt;/p&gt;
10511
10512 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
10513 # aptitude search &#39;?narrow(?version(CURRENT),?origin(Debian Ports))&#39;
10514 i emacs - GNU Emacs editor (metapackage)
10515 i gdb - GNU Debugger
10516 i hurd-recommended - Miscellaneous translators
10517 i isc-dhcp-client - ISC DHCP client
10518 i isc-dhcp-common - common files used by all the isc-dhcp* packages
10519 i libc-bin - Embedded GNU C Library: Binaries
10520 i libc-dev-bin - Embedded GNU C Library: Development binaries
10521 i libc0.3 - Embedded GNU C Library: Shared libraries
10522 i A libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
10523 i libc0.3-dev - Embedded GNU C Library: Development Libraries and Hea
10524 i multiarch-support - Transitional package to ensure multiarch compatibilit
10525 i A x11-common - X Window System (X.Org) infrastructure
10526 i xorg - X.Org X Window System
10527 i A xserver-xorg - X.Org X server
10528 i A xserver-xorg-input-all - X.Org X server -- input driver metapackage
10529 #
10530 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
10531
10532 &lt;p&gt;All in all, testing hurd has been an interesting experience. :)
10533 X.org did not work out of the box and I never took the time to follow
10534 the porters instructions to fix it. This time I was interested in the
10535 command line stuff.&lt;p&gt;
10536 </description>
10537 </item>
10538
10539 <item>
10540 <title>A fist full of non-anonymous Bitcoins</title>
10541 <link>http://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html</link>
10542 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html</guid>
10543 <pubDate>Wed, 29 Jan 2014 14:10:00 +0100</pubDate>
10544 <description>&lt;p&gt;Bitcoin is a incredible use of peer to peer communication and
10545 encryption, allowing direct and immediate money transfer without any
10546 central control. It is sometimes claimed to be ideal for illegal
10547 activity, which I believe is quite a long way from the truth. At least
10548 I would not conduct illegal money transfers using a system where the
10549 details of every transaction are kept forever. This point is
10550 investigated in
10551 &lt;a href=&quot;https://www.usenix.org/publications/login&quot;&gt;USENIX ;login:&lt;/a&gt;
10552 from December 2013, in the article
10553 &quot;&lt;a href=&quot;https://www.usenix.org/system/files/login/articles/03_meiklejohn-online.pdf&quot;&gt;A
10554 Fistful of Bitcoins - Characterizing Payments Among Men with No
10555 Names&lt;/a&gt;&quot; by Sarah Meiklejohn, Marjori Pomarole,Grant Jordan, Kirill
10556 Levchenko, Damon McCoy, Geoffrey M. Voelker, and Stefan Savage. They
10557 analyse the transaction log in the Bitcoin system, using it to find
10558 addresses belong to individuals and organisations and follow the flow
10559 of money from both Bitcoin theft and trades on Silk Road to where the
10560 money end up. This is how they wrap up their article:&lt;/p&gt;
10561
10562 &lt;p&gt;&lt;blockquote&gt;
10563 &lt;p&gt;&quot;To demonstrate the usefulness of this type of analysis, we turned
10564 our attention to criminal activity. In the Bitcoin economy, criminal
10565 activity can appear in a number of forms, such as dealing drugs on
10566 Silk Road or simply stealing someone else’s bitcoins. We followed the
10567 flow of bitcoins out of Silk Road (in particular, from one notorious
10568 address) and from a number of highly publicized thefts to see whether
10569 we could track the bitcoins to known services. Although some of the
10570 thieves attempted to use sophisticated mixing techniques (or possibly
10571 mix services) to obscure the flow of bitcoins, for the most part
10572 tracking the bitcoins was quite straightforward, and we ultimately saw
10573 large quantities of bitcoins flow to a variety of exchanges directly
10574 from the point of theft (or the withdrawal from Silk Road).&lt;/p&gt;
10575
10576 &lt;p&gt;As acknowledged above, following stolen bitcoins to the point at
10577 which they are deposited into an exchange does not in itself identify
10578 the thief; however, it does enable further de-anonymization in the
10579 case in which certain agencies can determine (through, for example,
10580 subpoena power) the real-world owner of the account into which the
10581 stolen bitcoins were deposited. Because such exchanges seem to serve
10582 as chokepoints into and out of the Bitcoin economy (i.e., there are
10583 few alternative ways to cash out), we conclude that using Bitcoin for
10584 money laundering or other illicit purposes does not (at least at
10585 present) seem to be particularly attractive.&quot;&lt;/p&gt;
10586 &lt;/blockquote&gt;&lt;p&gt;
10587
10588 &lt;p&gt;These researches are not the first to analyse the Bitcoin
10589 transaction log. The 2011 paper
10590 &quot;&lt;a href=&quot;http://arxiv.org/abs/1107.4524&quot;&gt;An Analysis of Anonymity in
10591 the Bitcoin System&lt;/A&gt;&quot; by Fergal Reid and Martin Harrigan is
10592 summarized like this:&lt;/p&gt;
10593
10594 &lt;p&gt;&lt;blockquote&gt;
10595 &quot;Anonymity in Bitcoin, a peer-to-peer electronic currency system, is a
10596 complicated issue. Within the system, users are identified by
10597 public-keys only. An attacker wishing to de-anonymize its users will
10598 attempt to construct the one-to-many mapping between users and
10599 public-keys and associate information external to the system with the
10600 users. Bitcoin tries to prevent this attack by storing the mapping of
10601 a user to his or her public-keys on that user&#39;s node only and by
10602 allowing each user to generate as many public-keys as required. In
10603 this chapter we consider the topological structure of two networks
10604 derived from Bitcoin&#39;s public transaction history. We show that the
10605 two networks have a non-trivial topological structure, provide
10606 complementary views of the Bitcoin system and have implications for
10607 anonymity. We combine these structures with external information and
10608 techniques such as context discovery and flow analysis to investigate
10609 an alleged theft of Bitcoins, which, at the time of the theft, had a
10610 market value of approximately half a million U.S. dollars.&quot;
10611 &lt;/blockquote&gt;&lt;/p&gt;
10612
10613 &lt;p&gt;I hope these references can help kill the urban myth that Bitcoin
10614 is anonymous. It isn&#39;t really a good fit for illegal activites. Use
10615 cash if you need to stay anonymous, at least until regular DNA
10616 sampling of notes and coins become the norm. :)&lt;/p&gt;
10617
10618 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
10619 activities, please send Bitcoin donations to my address
10620 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
10621 </description>
10622 </item>
10623
10624 <item>
10625 <title>New chrpath release 0.16</title>
10626 <link>http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</link>
10627 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</guid>
10628 <pubDate>Tue, 14 Jan 2014 11:00:00 +0100</pubDate>
10629 <description>&lt;p&gt;&lt;a href=&quot;http://www.coverity.com/&quot;&gt;Coverity&lt;/a&gt; is a nice tool to
10630 find problems in C, C++ and Java code using static source code
10631 analysis. It can detect a lot of different problems, and is very
10632 useful to find memory and locking bugs in the error handling part of
10633 the source. The company behind it provide
10634 &lt;a href=&quot;https://scan.coverity.com/&quot;&gt;check of free software projects as
10635 a community service&lt;/a&gt;, and many hundred free software projects are
10636 already checked. A few days ago I decided to have a closer look at
10637 the Coverity system, and discovered that the
10638 &lt;a href=&quot;http://www.gnu.org/software/gnash/&quot;&gt;gnash&lt;/a&gt; and
10639 &lt;a href=&quot;http://sourceforge.net/projects/ipmitool/&quot;&gt;ipmitool&lt;/a&gt;
10640 projects I am involved with was already registered. But these are
10641 fairly big, and I would also like to have a small and easy project to
10642 check, and decided to &lt;a href=&quot;http://scan.coverity.com/projects/1179&quot;&gt;request
10643 checking of the chrpath project&lt;/a&gt;. It was
10644 added to the checker and discovered seven potential defects. Six of
10645 these were real, mostly resource &quot;leak&quot; when the program detected an
10646 error. Nothing serious, as the resources would be released a fraction
10647 of a second later when the program exited because of the error, but it
10648 is nice to do it right in case the source of the program some time in
10649 the future end up in a library. Having fixed all defects and added
10650 &lt;a href=&quot;https://lists.alioth.debian.org/mailman/listinfo/chrpath-devel&quot;&gt;a
10651 mailing list for the chrpath developers&lt;/a&gt;, I decided it was time to
10652 publish a new release. These are the release notes:&lt;/p&gt;
10653
10654 &lt;p&gt;New in 0.16 released 2014-01-14:&lt;/p&gt;
10655
10656 &lt;ul&gt;
10657
10658 &lt;li&gt;Fixed all minor bugs discovered by Coverity.&lt;/li&gt;
10659 &lt;li&gt;Updated config.sub and config.guess from the GNU project.&lt;/li&gt;
10660 &lt;li&gt;Mention new project mailing list in the documentation.&lt;/li&gt;
10661
10662 &lt;/ul&gt;
10663
10664 &lt;p&gt;You can
10665 &lt;a href=&quot;https://alioth.debian.org/frs/?group_id=31052&quot;&gt;download the
10666 new version 0.16 from alioth&lt;/a&gt;. Please let us know via the Alioth
10667 project if something is wrong with the new release. The test suite
10668 did not discover any old errors, so if you find a new one, please also
10669 include a test suite check.&lt;/p&gt;
10670 </description>
10671 </item>
10672
10673 <item>
10674 <title>Debian Edu interview: Dominik George</title>
10675 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html</link>
10676 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html</guid>
10677 <pubDate>Wed, 25 Dec 2013 13:40:00 +0100</pubDate>
10678 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
10679 project&lt;/a&gt; consist of both newcomers and old timers, and this time I
10680 was able to get an interview with a newcomer in the project who showed
10681 up on the IRC channel a few weeks ago to let us know about his
10682 successful installation of Debian Edu Wheezy in his School. Say hello
10683 to &lt;a href=&quot;https://www.ohloh.net/accounts/Natureshadow&quot;&gt;Dominik
10684 George&lt;/a&gt;.&lt;/p&gt;
10685
10686 &lt;!-- http://www.dominik-george.de/images/foto.jpg --&gt;
10687
10688 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
10689
10690 &lt;p&gt;I am a 23 year-old student from Germany who has spent half of his
10691 life with open source. In &quot;real life&quot;, I am, as already mentioned, a
10692 student in the fields of Computer Science, Electrical Engineering,
10693 Information Technologies and Anglistics. Due to my (only partially
10694 voluntary) huge engagement in the open source world, these things are
10695 a bit vacant right now however.&lt;/p&gt;
10696
10697 &lt;p&gt;I also have been working as a project teacher at a Gymasnium
10698 (public school) for various years now. I took up that work some time
10699 around 2005 when still attending that school myself and have continued
10700 it until today. I also had been running the (kind of very advanced)
10701 network of that school together with a team of very interested and
10702 talented students in the age of 11 to 15 years, who took the chance to
10703 learn a lot about open source and networking before I left the school
10704 to help building another school&#39;s informational education concept from
10705 scratch.&lt;/p&gt;
10706
10707 &lt;p&gt;That said, one might see me as a kind of &quot;glue&quot; between school kids
10708 and the elderly of teachers as well as between the open source
10709 ecosystem and the (even more complex) educational ecosystem.&lt;/p&gt;
10710
10711 &lt;p&gt;When I am not busy with open source or education, I like Geocaching
10712 and cycling.&lt;/p&gt;
10713
10714 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
10715 project?&lt;/strong&gt;&lt;/p&gt;
10716
10717 &lt;p&gt;I think that happened some time around 2009 when I first attended
10718 &lt;a href=&quot;http://www.froscon.org&quot;&gt;FrOSCon&lt;/a&gt; and visited the project
10719 booth. I think I wasn&#39;t too interested back then because I used to
10720 have an attitude of disliking software that does too much stuff on its
10721 own. Maybe I was too inexperienced to realise the upsides of an
10722 &quot;out-of-the-box&quot; solution ;).&lt;/p&gt;
10723
10724 &lt;p&gt;The first time I actively talked to Skolelinux people was at
10725 &lt;a href=&quot;http://www.openrheinruhr.de&quot;&gt;OpenRheinRuhr&lt;/a&gt; 2011 when the
10726 BiscuIT project, a home-grewn software used by my school for various
10727 really cool things from timetables and class contact lists to lunch
10728 ordering, student ID card printing and project elections first got to
10729 a stage where it could have been published. I asked the Skolelinux
10730 guys running the booth if the project were interested in it and gave a
10731 small demonstration, but there wasn&#39;t any real feedback and the guys
10732 seemed rather uninterested.&lt;/p&gt;
10733
10734 &lt;p&gt;After I left the school where I developed the software, it got
10735 mostly lost, but I am now reimplementing it for my new school. I have
10736 reusability and compatibility in mind, and I hop there will be a new
10737 basis for contributing it to the Skolelinux project ;)!&lt;/p&gt;
10738
10739 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
10740 Edu?&lt;/strong&gt;&lt;/p&gt;
10741
10742 &lt;p&gt;The most important advantage seems to be that it &quot;just
10743 works&quot;. After overcoming some minor (but still very annoying) glitches
10744 in the installer, I got a fully functional, working school network,
10745 without the month-long hassle I experienced when setting all that up
10746 from scratch in earlier years. And above that, it rocked - I didn&#39;t
10747 have any real hardware at hand, because the school was just founded
10748 and has no money whatsoever, so I installed a combined server (main
10749 server, terminal services and workstation) in a VM on my personal
10750 notebook, bridging the LTSP network interface to the ethernet port,
10751 and then PXE-booted the Windows notebooks that were lying around from
10752 it. I could use 8 clients without any performance issues, by using a
10753 tiny little VM on a tiny little notebook. I think that&#39;s enough to say
10754 that it rocks!&lt;/p&gt;
10755
10756 &lt;p&gt;Secondly, there are marketing reasons. Life&#39;s bad, and so no
10757 politician will ever permit a setup described as &quot;Debian, an universal
10758 operating system, with some really cool educational tools&quot; while they
10759 will be jsut fine with &quot;Skolelinux, a single-purpose solution for your
10760 school network&quot;, even if both turn out to be the very same thing (yes,
10761 this is unfair towards the Skolelinux project, and must not be taken
10762 too seriously - you get the idea, anyway).&lt;/p&gt;
10763
10764 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
10765 Edu?&lt;/strong&gt;&lt;/p&gt;
10766
10767 &lt;p&gt;I have not been involved with Skolelinux long enough to really
10768 answer this question in a fair way. Thus, please allow me to put it in
10769 other words: &quot;What do you expect from Skolelinux to keep liking it?&quot; I
10770 can list a few points about that:&lt;/p&gt;
10771
10772 &lt;ul&gt;
10773
10774 &lt;li&gt;always strive to get all things integrated into Debian upstream
10775 &lt;li&gt;be open to discussion about changes and the like, even with newcomers
10776 &lt;li&gt;be helpful at being helpful ;)
10777
10778 &lt;/ul&gt;
10779
10780 &lt;p&gt;I&#39;m really sorry I cannot say much more about that :(!&lt;/p&gt;
10781
10782 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
10783
10784 &lt;p&gt;First of all, all software I use is free and open. I have abandoned
10785 all non-free software (except for firmware on my darned phone) this
10786 year.&lt;/p&gt;
10787
10788 &lt;p&gt;I run Debian GNU/Linux on all PC systems I use. On that, I mostly
10789 run text tools. I use
10790 &lt;a href=&quot;https://www.mirbsd.org/mksh.htm&quot;&gt;mksh&lt;/a&gt; as shell,
10791 &lt;a href=&quot;https://www.mirbsd.org/jupp.htm&quot;&gt;jupp&lt;/a&gt; as very advanced
10792 text editor (I even got the developer to help me write a script/macro
10793 based full-featured student management software with the two),
10794 &lt;a href=&quot;http://mcabber.com/&quot;&gt;mcabber&lt;/a&gt; for XMPP and
10795 &lt;a href=&quot;http://www.irssi.org/&quot;&gt;irssi&lt;/a&gt; for IRC. For that overly
10796 coloured world called the WWW, I use
10797 &lt;a href=&quot;https://www.mozilla.org/en-US/firefox/new/&quot;&gt;Iceweasel
10798 (Firefox)&lt;/a&gt;. Oh, and &lt;a href=&quot;http://www.mutt.org/&quot;&gt;mutt&lt;/a&gt; for
10799 e-mail.&lt;/p&gt;
10800
10801 &lt;p&gt;However, while I am personally aware of the fact that text tools
10802 are more efficient and powerful than anything else, I also use (or at
10803 least operate) some tools that are suitable to bring open source to
10804 kids. One of these things is &lt;a href=&quot;http://jappix.org/&quot;&gt;Jappix&lt;/a&gt;,
10805 which I already introduced to some kids even before they got aware of
10806 Facebook, making them see for themselves that they do not need
10807 Facebook now ;).&lt;/p&gt;
10808
10809 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
10810 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
10811
10812 &lt;p&gt;Well, that&#39;s a two-sided thing. One side is what I believe, and one
10813 side is what I have experienced.&lt;/p&gt;
10814
10815 &lt;p&gt;I believe that the right strategy is showing them the benefits. But
10816 that won&#39;t work out as long as the acceptance of free alternatives
10817 grows globally. What I mean is that if all the kids are almost forced
10818 to use Windows, Facebook, Skype, you name it at home, they will not
10819 see why they would want to use alternatives at school. I have seen
10820 students take seat in front of a fully-functional, modern Debian
10821 desktop that could do anything their Windows at home could do, and
10822 they jsut refused to use it because &quot;Linux sucks&quot;. It is something
10823 that makes the council of our city spend around 600000 € to buy
10824 software - not including hardware, mind you - for operating school
10825 networks, and for installing a system that, as has been proved, does
10826 not work. For those of you readers who are good at maths, have you
10827 already found out how many lives could have been saved with that money
10828 if we had instead used it to bring education to parts of the world
10829 that need it? I have, and found it to be nothing less dramatic than
10830 plain criminal.&lt;/p&gt;
10831
10832 &lt;p&gt;That said, the only feasible way appears to be the bottom up
10833 method. We have to bring free software to kids and parents. I have
10834 founded an association named
10835 &lt;a href=&quot;https://www.teckids.org&quot;&gt;Teckids&lt;/a&gt; here in Germany that does
10836 just that. We organise several events for kids and adolescents in the
10837 area of free and open source software, for example the
10838 &lt;a href=&quot;http://kids.froscon.org&quot;&gt;FrogLabs&lt;/a&gt;, which share staff with
10839 Teckids and are the youth programme of
10840 &lt;a href=&quot;http://www.froscon.org&quot;&gt;the Free and Open Source Software
10841 Conference (FrOSCon)&lt;/a&gt;. We do a lot more than most other conferences
10842 - this year, we first offered the FrogLabs as a holiday camp for kids
10843 aged 10 to 16. It was a huge success, with approx. 30 kids taking part
10844 and learning with and about free software through a whole weekend. All
10845 of us had a lot of fun, and the results were really exciting.&lt;/p&gt;
10846
10847 &lt;p&gt;Apart from that, we are preparing a campaign that is supposed to bring
10848 the message of free alternatives to stuff kids use every day to them and
10849 their parents, e.g. the use of Jabber / Jappix instead of Facebook and
10850 Skype. To make that possible, we are planning to get together a team of
10851 clever kids who understand very well what their peers need and can bring
10852 it across to them. So we will have a peer-driven network of adolescents
10853 who teach each other and collect feedback from the community of minors.
10854 We then take that feedback and our own experience to work closely with
10855 open source projects, such as Skolelinux or Jappix, at improving their
10856 software in a way that makes it more and more attractive for the target
10857 group. At least I hope that we will have good cooperation with
10858 Skolelinux in the future ;)!&lt;/p&gt;
10859
10860 &lt;p&gt;So in conclusion, what I believe is that, if it weren&#39;t for the world
10861 being so bad, it should be very clear to the political decision makers
10862 that the only way to go nowadays is free software for various reasons,
10863 but I have learnt that the only way that seems to work is bottom up.&lt;/p&gt;
10864
10865 &lt;!--
10866
10867 &gt; * Who should be interviewed with this questions in the future?
10868
10869 That&#39;s probably the hardest question of them all, as I do not know the
10870 community. However, I would be willing to do the following:
10871
10872 &lt;li&gt;Run an interview with a German headteacher who is very open to
10873 free software, and also prefers it, but cannot really use it because
10874 of the decision makers above;
10875 &lt;li&gt;Run interviews with some kids, both with and without previous
10876 knowledge about free software
10877
10878 If that is wanted, just let me know ;).
10879
10880 --&gt;
10881 </description>
10882 </item>
10883
10884 <item>
10885 <title>Debian Edu interview: Klaus Knopper</title>
10886 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html</link>
10887 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html</guid>
10888 <pubDate>Fri, 6 Dec 2013 09:50:00 +0100</pubDate>
10889 <description>&lt;p&gt;It has been a while since I managed to publish the last interview,
10890 but the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
10891 Skolelinux&lt;/a&gt; community is still going strong, and yesterday we even
10892 had a new school administrator show up on
10893 &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt; to share
10894 his success story with installing Debian Edu at their school. This
10895 time I have been able to get some helpful comments from the creator of
10896 Knoppix, Klaus Knopper, who was involved in a Skolelinux project in
10897 Germany a few years ago.&lt;/p&gt;
10898
10899 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
10900
10901 &lt;p&gt;I am Klaus Knopper. I have a master degree in electrical
10902 engineering, and is currently professor in information management at
10903 the university of applied sciences Kaiserslautern / Germany and
10904 freelance Open Source software developer and consultant.&lt;/p&gt;
10905
10906 &lt;p&gt;All of this is pretty much of the work I spend my days with. Apart
10907 from teaching, I&#39;m also conducting some more or less experimental
10908 projects like the &lt;a href=&quot;http://www.knoppix.org&quot;&gt;Knoppix GNU/Linux live
10909 system&lt;/a&gt; (Debian-based like Skolelinux),
10910 &lt;a href=&quot;http://www.knopper.net/knoppix-adriane/index-en.html&quot;&gt;ADRIANE&lt;/a&gt;
10911 (a blind-friendly talking desktop system) and
10912 &lt;a href=&quot;http://www.knopper.net/linbo/index-en.html&quot;&gt;LINBO&lt;/a&gt;
10913 (Linux-based network boot console, a fast remote install and repair
10914 system supporting various operating systems).&lt;/p&gt;
10915
10916 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
10917 project?&lt;/strong&gt;&lt;/p&gt;
10918
10919 &lt;p&gt;The credit for this have to go to Kurt Gramlich, who is the German
10920 coordinator for Skolelinux. We were looking for an all-in-one open
10921 source community-supported distribution for schools, and Kurt
10922 introduced us to Skolelinux for this purpose.&lt;/p&gt;
10923
10924 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
10925 Edu?&lt;/strong&gt;&lt;/p&gt;
10926
10927 &lt;ul&gt;
10928 &lt;li&gt;Quick installation,&lt;/li&gt;
10929 &lt;li&gt;works (almost) out of the box,&lt;/li&gt;
10930 &lt;li&gt;contains many useful software packages for teaching and learning,&lt;/li&gt;
10931 &lt;li&gt;is a purely community-based distro and not controlled by a
10932 single company,&lt;/li&gt;
10933 &lt;li&gt;has a large number of supporters and teachers who share their
10934 experience and problem solutions.&lt;/li&gt;
10935 &lt;/ul&gt;
10936
10937 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
10938 Edu?&lt;/strong&gt;&lt;/p&gt;
10939
10940 &lt;ul&gt;
10941 &lt;li&gt;Skolelinux is - as we had to learn - not easily upgradable to
10942 the next version. Opposed to its genuine Debian base, upgrading to
10943 a new version means a full new installation from scratch to get it
10944 working again reliably.
10945
10946 &lt;li&gt;Skolelinux is based on Debian/stable, and therefore always a
10947 little outdated in terms of program versions compared to Edubuntu or
10948 similar educational Linux distros, which rather use Debian/testing
10949 as their base.
10950
10951 &lt;li&gt;Skolelinux has some very self-opinionated and stubborn default
10952 configuration which in my opinion adds unnecessary complexity and is
10953 not always suitable for a schools needs, the preset network
10954 configuration is actually a core definition feature of Skolelinux
10955 and not easy to change, so schools sometimes have to change their
10956 network configuration to make it &quot;Skolelinux-compatible&quot;.
10957
10958 &lt;li&gt;Some proposed extensions, which were made available as
10959 contribution, like secure examination mode and lecture material
10960 distribution and collection, were not accepted into the mainline
10961 Skolelinux development and are now not easy to maintain in the
10962 future because of Skolelinux somewhat undeterministic update
10963 schemes.&lt;/li&gt;
10964
10965 &lt;li&gt;Skolelinux has only a very tiny number of base developers
10966 compared to Debian.&lt;/li&gt;
10967
10968 &lt;/ul&gt;
10969
10970 &lt;p&gt;For these reasons and experience from our project, I would now
10971 rather consider using plain Debian for schools next time, until
10972 Skolelinux is more closely integrated into Debian and becomes
10973 upgradeable without reinstallation.&lt;/p&gt;
10974
10975 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
10976
10977 &lt;p&gt;GNU/Linux with LXDE desktop, bash for interactive dialog and
10978 programming, texlive for documentation and correspondence,
10979 occasionally LibreOffice for document format conversion. Various
10980 programming languages for teaching.&lt;/p&gt;
10981
10982 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
10983 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
10984
10985 &lt;p&gt;Strong arguments are&lt;/p&gt;
10986
10987 &lt;ul&gt;
10988
10989 &lt;li&gt;Knowledge is free, and so should be methods and tools for
10990 teaching and learning.&lt;/li&gt;
10991
10992 &lt;li&gt;Students can learn with and use the same software at school, at
10993 home, and at their working place without running into license or
10994 conversion problems.&lt;/li&gt;
10995
10996 &lt;li&gt;Closed source or proprietary software hides knowledge rather
10997 than exposing it, and proprietary software vendors try to bind
10998 customers to certain products. But teachers need to teach
10999 science, not products.&lt;/li&gt;
11000
11001 &lt;li&gt;If you have everything you for daily work as open source, what
11002 would you need proprietary software for?&lt;/li&gt;
11003
11004 &lt;/ul&gt;
11005 </description>
11006 </item>
11007
11008 <item>
11009 <title>Dugnadsnett for alle, a wireless community network in Oslo, take shape</title>
11010 <link>http://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html</link>
11011 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html</guid>
11012 <pubDate>Sat, 30 Nov 2013 10:10:00 +0100</pubDate>
11013 <description>&lt;p&gt;If you want the ability to electronically communicate directly with
11014 your neighbors and friends using a network controlled by your peers in
11015 stead of centrally controlled by a few corporations, or would like to
11016 experiment with interesting network technology, the
11017 &lt;a href=&quot;http://www.dugnadsnett.no/&quot;&gt;Dugnasnett for alle i Oslo&lt;/a&gt;
11018 might be project for you. 39 mesh nodes are currently being planned,
11019 in the freshly started initiative from NUUG and Hackeriet to create a
11020 wireless community network. The work is inspired by
11021 &lt;a href=&quot;http://freifunk.net/&quot;&gt;Freifunk&lt;/a&gt;,
11022 &lt;a href=&quot;http://www.awmn.net/&quot;&gt;Athens Wireless Metropolitan
11023 Network&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Roofnet&quot;&gt;Roofnet&lt;/a&gt;
11024 and other successful mesh networks around the globe. Two days ago we
11025 held a workshop to try to get people started on setting up their own
11026 mesh node, and there we decided to create a new mailing list
11027 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/dugnadsnett&quot;&gt;dugnadsnett
11028 (at) nuug.no&lt;/a&gt; and IRC channel
11029 &lt;a href=&quot;irc://irc.freenode.net/#dugnadsnett.no&quot;&gt;#dugnadsnett.no&lt;/a&gt; to
11030 coordinate the work. See also the NUUG blog post
11031 &lt;a href=&quot;http://www.nuug.no/news/E_postliste_og_IRC_kanal_for_Dugnadsnett_for_alle_i_Oslo.shtml&quot;&gt;announcing
11032 the mailing list and IRC channel&lt;/a&gt;.&lt;/p&gt;
11033 </description>
11034 </item>
11035
11036 <item>
11037 <title>New chrpath release 0.15</title>
11038 <link>http://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html</link>
11039 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html</guid>
11040 <pubDate>Sun, 24 Nov 2013 09:30:00 +0100</pubDate>
11041 <description>&lt;p&gt;After many years break from the package and a vain hope that
11042 development would be continued by someone else, I finally pulled my
11043 acts together this morning and wrapped up a new release of chrpath,
11044 the command line tool to modify the rpath and runpath of already
11045 compiled ELF programs. The update was triggered by the persistence of
11046 Isha Vishnoi at IBM, which needed a new config.guess file to get
11047 support for the ppc64le architecture (powerpc 64-bit Little Endian) he
11048 is working on. I checked the
11049 &lt;a href=&quot;http://packages.qa.debian.org/chrpath&quot;&gt;Debian&lt;/a&gt;,
11050 &lt;a href=&quot;https://launchpad.net/ubuntu/+source/chrpath&quot;&gt;Ubuntu&lt;/a&gt; and
11051 &lt;a href=&quot;https://admin.fedoraproject.org/pkgdb/acls/name/chrpath&quot;&gt;Fedora&lt;/a&gt;
11052 packages for interesting patches (failed to find the source from
11053 OpenSUSE and Mandriva packages), and found quite a few nice fixes.
11054 These are the release notes:&lt;/p&gt;
11055
11056 &lt;p&gt;New in 0.15 released 2013-11-24:&lt;/p&gt;
11057
11058 &lt;ul&gt;
11059
11060 &lt;li&gt;Updated config.sub and config.guess from the GNU project to work
11061 with newer architectures. Thanks to isha vishnoi for the heads
11062 up.&lt;/li&gt;
11063
11064 &lt;li&gt;Updated README with current URLs.&lt;/li&gt;
11065
11066 &lt;li&gt;Added byteswap fix found in Ubuntu, credited Jeremy Kerr and
11067 Matthias Klose.&lt;/li&gt;
11068
11069 &lt;li&gt;Added missing help for -k|--keepgoing option, using patch by
11070 Petr Machata found in Fedora.&lt;/li&gt;
11071
11072 &lt;li&gt;Rewrite removal of RPATH/RUNPATH to make sure the entry in
11073 .dynamic is a NULL terminated string. Based on patch found in
11074 Fedora credited Axel Thimm and Christian Krause.&lt;/li&gt;
11075
11076 &lt;/ul&gt;
11077
11078 &lt;p&gt;You can
11079 &lt;a href=&quot;https://alioth.debian.org/frs/?group_id=31052&quot;&gt;download the
11080 new version 0.15 from alioth&lt;/a&gt;. Please let us know via the Alioth
11081 project if something is wrong with the new release. The test suite
11082 did not discover any old errors, so if you find a new one, please also
11083 include a testsuite check.&lt;/p&gt;
11084 </description>
11085 </item>
11086
11087 <item>
11088 <title>All drones should be radio marked with what they do and who they belong to</title>
11089 <link>http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</link>
11090 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</guid>
11091 <pubDate>Thu, 21 Nov 2013 15:40:00 +0100</pubDate>
11092 <description>&lt;p&gt;Drones, flying robots, are getting more and more popular. The most
11093 know ones are the killer drones used by some government to murder
11094 people they do not like without giving them the chance of a fair
11095 trial, but the technology have many good uses too, from mapping and
11096 forest maintenance to photography and search and rescue. I am sure it
11097 is just a question of time before &quot;bad drones&quot; are in the hands of
11098 private enterprises and not only state criminals but petty criminals
11099 too. The drone technology is very useful and very dangerous. To have
11100 some control over the use of drones, I agree with Daniel Suarez in his
11101 TED talk
11102 &quot;&lt;a href=&quot;https://archive.org/details/DanielSuarez_2013G&quot;&gt;The kill
11103 decision shouldn&#39;t belong to a robot&lt;/a&gt;&quot;, where he suggested this
11104 little gem to keep the good while limiting the bad use of drones:&lt;/p&gt;
11105
11106 &lt;blockquote&gt;
11107
11108 &lt;p&gt;Each robot and drone should have a cryptographically signed
11109 I.D. burned in at the factory that can be used to track its movement
11110 through public spaces. We have license plates on cars, tail numbers on
11111 aircraft. This is no different. And every citizen should be able to
11112 download an app that shows the population of drones and autonomous
11113 vehicles moving through public spaces around them, both right now and
11114 historically. And civic leaders should deploy sensors and civic drones
11115 to detect rogue drones, and instead of sending killer drones of their
11116 own up to shoot them down, they should notify humans to their
11117 presence. And in certain very high-security areas, perhaps civic
11118 drones would snare them and drag them off to a bomb disposal facility.&lt;/p&gt;
11119
11120 &lt;p&gt;But notice, this is more an immune system than a weapons system. It
11121 would allow us to avail ourselves of the use of autonomous vehicles
11122 and drones while still preserving our open, civil society.&lt;/p&gt;
11123
11124 &lt;/blockquote&gt;
11125
11126 &lt;p&gt;The key is that &lt;em&gt;every citizen&lt;/em&gt; should be able to read the
11127 radio beacons sent from the drones in the area, to be able to check
11128 both the government and others use of drones. For such control to be
11129 effective, everyone must be able to do it. What should such beacon
11130 contain? At least formal owner, purpose, contact information and GPS
11131 location. Probably also the origin and target position of the current
11132 flight. And perhaps some registration number to be able to look up
11133 the drone in a central database tracking their movement. Robots
11134 should not have privacy. It is people who need privacy.&lt;/p&gt;
11135 </description>
11136 </item>
11137
11138 <item>
11139 <title>Lets make a wireless community network in Oslo!</title>
11140 <link>http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</link>
11141 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</guid>
11142 <pubDate>Wed, 13 Nov 2013 21:00:00 +0100</pubDate>
11143 <description>&lt;p&gt;Today NUUG and Hackeriet announced
11144 &lt;a href=&quot;http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml&quot;&gt;our
11145 plans to join forces and create a wireless community network in
11146 Oslo&lt;/a&gt;. The workshop to help people get started will take place
11147 Thursday 2013-11-28, but we already are collecting the geolocation of
11148 people joining forces to make this happen. We have
11149 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson&quot;&gt;9
11150 locations plotted on the map&lt;/a&gt;, but we will need more before we have
11151 a connected mesh spread across Oslo. If this sound interesting to
11152 you, please join us at the workshop. If you are too impatient to wait
11153 15 days, please join us on the IRC channel
11154 &lt;a href=&quot;irc://irc.freenode.net/%23nuug&quot;&gt;#nuug on irc.freenode.net&lt;/a&gt;
11155 right away. :)&lt;/p&gt;
11156 </description>
11157 </item>
11158
11159 <item>
11160 <title>Running TP-Link MR3040 as a batman-adv mesh node using openwrt</title>
11161 <link>http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</link>
11162 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</guid>
11163 <pubDate>Sun, 10 Nov 2013 23:00:00 +0100</pubDate>
11164 <description>&lt;p&gt;Continuing my research into mesh networking, I was recommended to
11165 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
11166 bought arrived on Friday. Here are my notes on how to set up the
11167 MR3040 as a mesh node using
11168 &lt;a href=&quot;http://www.openwrt.org/&quot;&gt;OpenWrt&lt;/a&gt;.&lt;/p&gt;
11169
11170 &lt;p&gt;I started by following the instructions on the OpenWRT wiki for
11171 &lt;a href=&quot;http://wiki.openwrt.org/toh/tp-link/tl-mr3040&quot;&gt;TL-MR3040&lt;/a&gt;,
11172 and downloaded
11173 &lt;a href=&quot;http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin&quot;&gt;the
11174 recommended firmware image&lt;/a&gt;
11175 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
11176 uploaded it into the original web interface. The flashing went fine,
11177 and the machine was available via telnet on the ethernet port. After
11178 logging in and setting the root password, ssh was available and I
11179 could start to set it up as a batman-adv mesh node.&lt;/p&gt;
11180
11181 &lt;p&gt;I started off by reading the instructions from
11182 &lt;a href=&quot;http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine&#39;s_Research&quot;&gt;Wireless
11183 Africa&lt;/a&gt;, which had quite a lot of useful information, but
11184 eventually I followed the recipe from the Open Mesh wiki for
11185 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config&quot;&gt;using
11186 batman-adv on OpenWrt&lt;/a&gt;. A small snag was the fact that the
11187 &lt;tt&gt;opkg install kmod-batman-adv&lt;/tt&gt; command did not work as it
11188 should. The batman-adv kernel module would fail to load because its
11189 dependency crc16 was not already loaded. I
11190 &lt;a href=&quot;https://dev.openwrt.org/ticket/14452&quot;&gt;reported the bug&lt;/a&gt; to
11191 the openwrt project and hope it will be fixed soon. But the problem
11192 only seem to affect initial testing of batman-adv, as configuration
11193 seem to work when booting from scratch.&lt;/p&gt;
11194
11195 &lt;p&gt;The setup is done using files in /etc/config/. I did not bridge
11196 the Ethernet and mesh interfaces this time, to be able to hook up the
11197 box on my local network and log into it for configuration updates.
11198 The following files were changed and look like this after modifying
11199 them:&lt;/p&gt;
11200
11201 &lt;p&gt;&lt;tt&gt;/etc/config/network&lt;/tt&gt;&lt;/p&gt;
11202
11203 &lt;pre&gt;
11204
11205 config interface &#39;loopback&#39;
11206 option ifname &#39;lo&#39;
11207 option proto &#39;static&#39;
11208 option ipaddr &#39;127.0.0.1&#39;
11209 option netmask &#39;255.0.0.0&#39;
11210
11211 config globals &#39;globals&#39;
11212 option ula_prefix &#39;fdbf:4c12:3fed::/48&#39;
11213
11214 config interface &#39;lan&#39;
11215 option ifname &#39;eth0&#39;
11216 option type &#39;bridge&#39;
11217 option proto &#39;dhcp&#39;
11218 option ipaddr &#39;192.168.1.1&#39;
11219 option netmask &#39;255.255.255.0&#39;
11220 option hostname &#39;tl-mr3040&#39;
11221 option ip6assign &#39;60&#39;
11222
11223 config interface &#39;mesh&#39;
11224 option ifname &#39;adhoc0&#39;
11225 option mtu &#39;1528&#39;
11226 option proto &#39;batadv&#39;
11227 option mesh &#39;bat0&#39;
11228 &lt;/pre&gt;
11229
11230 &lt;p&gt;&lt;tt&gt;/etc/config/wireless&lt;/tt&gt;&lt;/p&gt;
11231 &lt;pre&gt;
11232
11233 config wifi-device &#39;radio0&#39;
11234 option type &#39;mac80211&#39;
11235 option channel &#39;11&#39;
11236 option hwmode &#39;11ng&#39;
11237 option path &#39;platform/ar933x_wmac&#39;
11238 option htmode &#39;HT20&#39;
11239 list ht_capab &#39;SHORT-GI-20&#39;
11240 list ht_capab &#39;SHORT-GI-40&#39;
11241 list ht_capab &#39;RX-STBC1&#39;
11242 list ht_capab &#39;DSSS_CCK-40&#39;
11243 option disabled &#39;0&#39;
11244
11245 config wifi-iface &#39;wmesh&#39;
11246 option device &#39;radio0&#39;
11247 option ifname &#39;adhoc0&#39;
11248 option network &#39;mesh&#39;
11249 option encryption &#39;none&#39;
11250 option mode &#39;adhoc&#39;
11251 option bssid &#39;02:BA:00:00:00:01&#39;
11252 option ssid &#39;meshfx@hackeriet&#39;
11253 &lt;/pre&gt;
11254 &lt;p&gt;&lt;tt&gt;/etc/config/batman-adv&lt;/tt&gt;&lt;/p&gt;
11255 &lt;pre&gt;
11256
11257 config &#39;mesh&#39; &#39;bat0&#39;
11258 option interfaces &#39;adhoc0&#39;
11259 option &#39;aggregated_ogms&#39;
11260 option &#39;ap_isolation&#39;
11261 option &#39;bonding&#39;
11262 option &#39;fragmentation&#39;
11263 option &#39;gw_bandwidth&#39;
11264 option &#39;gw_mode&#39;
11265 option &#39;gw_sel_class&#39;
11266 option &#39;log_level&#39;
11267 option &#39;orig_interval&#39;
11268 option &#39;vis_mode&#39;
11269 option &#39;bridge_loop_avoidance&#39;
11270 option &#39;distributed_arp_table&#39;
11271 option &#39;network_coding&#39;
11272 option &#39;hop_penalty&#39;
11273
11274 # yet another batX instance
11275 # config &#39;mesh&#39; &#39;bat5&#39;
11276 # option &#39;interfaces&#39; &#39;second_mesh&#39;
11277 &lt;/pre&gt;
11278
11279 &lt;p&gt;The mesh node is now operational. I have yet to test its range,
11280 but I hope it is good. I have not yet tested the TP-Link 3600 box
11281 still wrapped up in plastic.&lt;/p&gt;
11282 </description>
11283 </item>
11284
11285 <item>
11286 <title>Debian init.d boot script example for rsyslog</title>
11287 <link>http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</link>
11288 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</guid>
11289 <pubDate>Sat, 2 Nov 2013 22:40:00 +0100</pubDate>
11290 <description>&lt;p&gt;If one of the points of switching to a new init system in Debian is
11291 &lt;a href=&quot;http://thomas.goirand.fr/blog/?p=147&quot;&gt;to get rid of huge
11292 init.d scripts&lt;/a&gt;, I doubt we need to switch away from sysvinit and
11293 init.d scripts at all. Here is an example init.d script, ie a rewrite
11294 of /etc/init.d/rsyslog:&lt;/p&gt;
11295
11296 &lt;p&gt;&lt;pre&gt;
11297 #!/lib/init/init-d-script
11298 ### BEGIN INIT INFO
11299 # Provides: rsyslog
11300 # Required-Start: $remote_fs $time
11301 # Required-Stop: umountnfs $time
11302 # X-Stop-After: sendsigs
11303 # Default-Start: 2 3 4 5
11304 # Default-Stop: 0 1 6
11305 # Short-Description: enhanced syslogd
11306 # Description: Rsyslog is an enhanced multi-threaded syslogd.
11307 # It is quite compatible to stock sysklogd and can be
11308 # used as a drop-in replacement.
11309 ### END INIT INFO
11310 DESC=&quot;enhanced syslogd&quot;
11311 DAEMON=/usr/sbin/rsyslogd
11312 &lt;/pre&gt;&lt;/p&gt;
11313
11314 &lt;p&gt;Pretty minimalistic to me... For the record, the original sysv-rc
11315 script was 137 lines, and the above is just 15 lines, most of it meta
11316 info/comments.&lt;/p&gt;
11317
11318 &lt;p&gt;How to do this, you ask? Well, one create a new script
11319 /lib/init/init-d-script looking something like this:
11320
11321 &lt;p&gt;&lt;pre&gt;
11322 #!/bin/sh
11323
11324 # Define LSB log_* functions.
11325 # Depend on lsb-base (&gt;= 3.2-14) to ensure that this file is present
11326 # and status_of_proc is working.
11327 . /lib/lsb/init-functions
11328
11329 #
11330 # Function that starts the daemon/service
11331
11332 #
11333 do_start()
11334 {
11335 # Return
11336 # 0 if daemon has been started
11337 # 1 if daemon was already running
11338 # 2 if daemon could not be started
11339 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test &gt; /dev/null \
11340 || return 1
11341 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
11342 $DAEMON_ARGS \
11343 || return 2
11344 # Add code here, if necessary, that waits for the process to be ready
11345 # to handle requests from services started subsequently which depend
11346 # on this one. As a last resort, sleep for some time.
11347 }
11348
11349 #
11350 # Function that stops the daemon/service
11351 #
11352 do_stop()
11353 {
11354 # Return
11355 # 0 if daemon has been stopped
11356 # 1 if daemon was already stopped
11357 # 2 if daemon could not be stopped
11358 # other if a failure occurred
11359 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
11360 RETVAL=&quot;$?&quot;
11361 [ &quot;$RETVAL&quot; = 2 ] &amp;&amp; return 2
11362 # Wait for children to finish too if this is a daemon that forks
11363 # and if the daemon is only ever run from this initscript.
11364 # If the above conditions are not satisfied then add some other code
11365 # that waits for the process to drop all resources that could be
11366 # needed by services started subsequently. A last resort is to
11367 # sleep for some time.
11368 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
11369 [ &quot;$?&quot; = 2 ] &amp;&amp; return 2
11370 # Many daemons don&#39;t delete their pidfiles when they exit.
11371 rm -f $PIDFILE
11372 return &quot;$RETVAL&quot;
11373 }
11374
11375 #
11376 # Function that sends a SIGHUP to the daemon/service
11377 #
11378 do_reload() {
11379 #
11380 # If the daemon can reload its configuration without
11381 # restarting (for example, when it is sent a SIGHUP),
11382 # then implement that here.
11383 #
11384 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
11385 return 0
11386 }
11387
11388 SCRIPTNAME=$1
11389 scriptbasename=&quot;$(basename $1)&quot;
11390 echo &quot;SN: $scriptbasename&quot;
11391 if [ &quot;$scriptbasename&quot; != &quot;init-d-library&quot; ] ; then
11392 script=&quot;$1&quot;
11393 shift
11394 . $script
11395 else
11396 exit 0
11397 fi
11398
11399 NAME=$(basename $DAEMON)
11400 PIDFILE=/var/run/$NAME.pid
11401
11402 # Exit if the package is not installed
11403 #[ -x &quot;$DAEMON&quot; ] || exit 0
11404
11405 # Read configuration variable file if it is present
11406 [ -r /etc/default/$NAME ] &amp;&amp; . /etc/default/$NAME
11407
11408 # Load the VERBOSE setting and other rcS variables
11409 . /lib/init/vars.sh
11410
11411 case &quot;$1&quot; in
11412 start)
11413 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;
11414 do_start
11415 case &quot;$?&quot; in
11416 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
11417 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
11418 esac
11419 ;;
11420 stop)
11421 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;
11422 do_stop
11423 case &quot;$?&quot; in
11424 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
11425 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
11426 esac
11427 ;;
11428 status)
11429 status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?
11430 ;;
11431 #reload|force-reload)
11432 #
11433 # If do_reload() is not implemented then leave this commented out
11434 # and leave &#39;force-reload&#39; as an alias for &#39;restart&#39;.
11435 #
11436 #log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;
11437 #do_reload
11438 #log_end_msg $?
11439 #;;
11440 restart|force-reload)
11441 #
11442 # If the &quot;reload&quot; option is implemented then remove the
11443 # &#39;force-reload&#39; alias
11444 #
11445 log_daemon_msg &quot;Restarting $DESC&quot; &quot;$NAME&quot;
11446 do_stop
11447 case &quot;$?&quot; in
11448 0|1)
11449 do_start
11450 case &quot;$?&quot; in
11451 0) log_end_msg 0 ;;
11452 1) log_end_msg 1 ;; # Old process is still running
11453 *) log_end_msg 1 ;; # Failed to start
11454 esac
11455 ;;
11456 *)
11457 # Failed to stop
11458 log_end_msg 1
11459 ;;
11460 esac
11461 ;;
11462 *)
11463 echo &quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&quot; &gt;&amp;2
11464 exit 3
11465 ;;
11466 esac
11467
11468 :
11469 &lt;/pre&gt;&lt;/p&gt;
11470
11471 &lt;p&gt;It is based on /etc/init.d/skeleton, and could be improved quite a
11472 lot. I did not really polish the approach, so it might not always
11473 work out of the box, but you get the idea. I did not try very hard to
11474 optimize it nor make it more robust either.&lt;/p&gt;
11475
11476 &lt;p&gt;A better argument for switching init system in Debian than reducing
11477 the size of init scripts (which is a good thing to do anyway), is to
11478 get boot system that is able to handle the kernel events sensibly and
11479 robustly, and do not depend on the boot to run sequentially. The boot
11480 and the kernel have not behaved sequentially in years.&lt;/p&gt;
11481 </description>
11482 </item>
11483
11484 <item>
11485 <title>Browser plugin for SPICE (spice-xpi) uploaded to Debian</title>
11486 <link>http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</link>
11487 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</guid>
11488 <pubDate>Fri, 1 Nov 2013 11:00:00 +0100</pubDate>
11489 <description>&lt;p&gt;&lt;a href=&quot;http://www.spice-space.org/&quot;&gt;The SPICE protocol&lt;/a&gt; for
11490 remote display access is the preferred solution with oVirt and RedHat
11491 Enterprise Virtualization, and I was sad to discover the other day
11492 that the browser plugin needed to use these systems seamlessly was
11493 missing in Debian. The &lt;a href=&quot;http://bugs.debian.org/668284&quot;&gt;request
11494 for a package&lt;/a&gt; was from 2012-04-10 with no progress since
11495 2013-04-01, so I decided to wrap up a package based on the great work
11496 from Cajus Pollmeier and put it in a collab-maint maintained git
11497 repository to get a package I could use. I would very much like
11498 others to help me maintain the package (or just take over, I do not
11499 mind), but as no-one had volunteered so far, I just uploaded it to
11500 NEW. I hope it will be available in Debian in a few days.&lt;/p&gt;
11501
11502 &lt;p&gt;The source is now available from
11503 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary&quot;&gt;http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary&lt;/a&gt;.&lt;/p&gt;
11504 </description>
11505 </item>
11506
11507 <item>
11508 <title>Teaching vmdebootstrap to create Raspberry Pi SD card images</title>
11509 <link>http://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html</link>
11510 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html</guid>
11511 <pubDate>Sun, 27 Oct 2013 17:00:00 +0100</pubDate>
11512 <description>&lt;p&gt;The
11513 &lt;a href=&quot;http://packages.qa.debian.org/v/vmdebootstrap.html&quot;&gt;vmdebootstrap&lt;/a&gt;
11514 program is a a very nice system to create virtual machine images. It
11515 create a image file, add a partition table, mount it and run
11516 debootstrap in the mounted directory to create a Debian system on a
11517 stick. Yesterday, I decided to try to teach it how to make images for
11518 &lt;a href=&quot;https://wiki.debian.org/RaspberryPi&quot;&gt;Raspberry Pi&lt;/a&gt;, as part
11519 of a plan to simplify the build system for
11520 &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the FreedomBox
11521 project&lt;/a&gt;. The FreedomBox project already uses vmdebootstrap for
11522 the virtualbox images, but its current build system made multistrap
11523 based system for Dreamplug images, and it is lacking support for
11524 Raspberry Pi.&lt;/p&gt;
11525
11526 &lt;p&gt;Armed with the knowledge on how to build &quot;foreign&quot; (aka non-native
11527 architecture) chroots for Raspberry Pi, I dived into the vmdebootstrap
11528 code and adjusted it to be able to build armel images on my amd64
11529 Debian laptop. I ended up giving vmdebootstrap five new options,
11530 allowing me to replicate the image creation process I use to make
11531 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html&quot;&gt;Debian
11532 Jessie based mesh node images for the Raspberry Pi&lt;/a&gt;. First, the
11533 &lt;tt&gt;--foreign /path/to/binfm_handler&lt;/tt&gt; option tell vmdebootstrap to
11534 call debootstrap with --foreign and to copy the handler into the
11535 generated chroot before running the second stage. This allow
11536 vmdebootstrap to create armel images on an amd64 host. Next I added
11537 two new options &lt;tt&gt;--bootsize size&lt;/tt&gt; and &lt;tt&gt;--boottype
11538 fstype&lt;/tt&gt; to teach it to create a separate /boot/ partition with the
11539 given file system type, allowing me to create an image with a vfat
11540 partition for the /boot/ stuff. I also added a &lt;tt&gt;--variant
11541 variant&lt;/tt&gt; option to allow me to create smaller images without the
11542 Debian base system packages installed. Finally, I added an option
11543 &lt;tt&gt;--no-extlinux&lt;/tt&gt; to tell vmdebootstrap to not install extlinux
11544 as a boot loader. It is not needed on the Raspberry Pi and probably
11545 most other non-x86 architectures. The changes were accepted by the
11546 upstream author of vmdebootstrap yesterday and today, and is now
11547 available from
11548 &lt;a href=&quot;http://git.liw.fi/cgi-bin/cgit/cgit.cgi/vmdebootstrap/&quot;&gt;the
11549 upstream project page&lt;/a&gt;.&lt;/p&gt;
11550
11551 &lt;p&gt;To use it to build a Raspberry Pi image using Debian Jessie, first
11552 create a small script (the customize script) to add the non-free
11553 binary blob needed to boot the Raspberry Pi and the APT source
11554 list:&lt;/p&gt;
11555
11556 &lt;p&gt;&lt;pre&gt;
11557 #!/bin/sh
11558 set -e # Exit on first error
11559 rootdir=&quot;$1&quot;
11560 cd &quot;$rootdir&quot;
11561 cat &amp;lt;&amp;lt;EOF &gt; etc/apt/sources.list
11562 deb http://http.debian.net/debian/ jessie main contrib non-free
11563 EOF
11564 # Install non-free binary blob needed to boot Raspberry Pi. This
11565 # install a kernel somewhere too.
11566 wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update \
11567 -O $rootdir/usr/bin/rpi-update
11568 chmod a+x $rootdir/usr/bin/rpi-update
11569 mkdir -p $rootdir/lib/modules
11570 touch $rootdir/boot/start.elf
11571 chroot $rootdir rpi-update
11572 &lt;/pre&gt;&lt;/p&gt;
11573
11574 &lt;p&gt;Next, fetch the latest vmdebootstrap script and call it like this
11575 to build the image:&lt;/p&gt;
11576
11577 &lt;pre&gt;
11578 sudo ./vmdebootstrap \
11579 --variant minbase \
11580 --arch armel \
11581 --distribution jessie \
11582 --mirror http://http.debian.net/debian \
11583 --image test.img \
11584 --size 600M \
11585 --bootsize 64M \
11586 --boottype vfat \
11587 --log-level debug \
11588 --verbose \
11589 --no-kernel \
11590 --no-extlinux \
11591 --root-password raspberry \
11592 --hostname raspberrypi \
11593 --foreign /usr/bin/qemu-arm-static \
11594 --customize `pwd`/customize \
11595 --package netbase \
11596 --package git-core \
11597 --package binutils \
11598 --package ca-certificates \
11599 --package wget \
11600 --package kmod
11601 &lt;/pre&gt;&lt;/p&gt;
11602
11603 &lt;p&gt;The list of packages being installed are the ones needed by
11604 rpi-update to make the image bootable on the Raspberry Pi, with the
11605 exception of netbase, which is needed by debootstrap to find
11606 /etc/hosts with the minbase variant. I really wish there was a way to
11607 set up an Raspberry Pi using only packages in the Debian archive, but
11608 that is not possible as far as I know, because it boots from the GPU
11609 using a non-free binary blob.&lt;/p&gt;
11610
11611 &lt;p&gt;The build host need debootstrap, kpartx and qemu-user-static and
11612 probably a few others installed. I have not checked the complete
11613 build dependency list.&lt;/p&gt;
11614
11615 &lt;p&gt;The resulting image will not use the hardware floating point unit
11616 on the Raspberry PI, because the armel architecture in Debian is not
11617 optimized for that use. So the images created will be a bit slower
11618 than &lt;a href=&quot;http://www.raspbian.org/&quot;&gt;Raspbian&lt;/a&gt; based images.&lt;/p&gt;
11619 </description>
11620 </item>
11621
11622 <item>
11623 <title>A Raspberry Pi based batman-adv Mesh network node</title>
11624 <link>http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html</link>
11625 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html</guid>
11626 <pubDate>Mon, 21 Oct 2013 11:40:00 +0200</pubDate>
11627 <description>&lt;p&gt;The last few days I have been experimenting with
11628 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki&quot;&gt;the
11629 batman-adv mesh technology&lt;/a&gt;. I want to gain some experience to see
11630 if it will fit &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the
11631 Freedombox project&lt;/a&gt;, and together with my neighbors try to build a
11632 mesh network around the park where I live. Batman-adv is a layer 2
11633 mesh system (&quot;ethernet&quot; in other words), where the mesh network appear
11634 as if all the mesh clients are connected to the same switch.&lt;/p&gt;
11635
11636 &lt;p&gt;My hardware of choice was the Linksys WRT54GL routers I had lying
11637 around, but I&#39;ve been unable to get them working with batman-adv. So
11638 instead, I started playing with a
11639 &lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;Raspberry Pi&lt;/a&gt;, and tried to
11640 get it working as a mesh node. My idea is to use it to create a mesh
11641 node which function as a switch port, where everything connected to
11642 the Raspberry Pi ethernet plug is connected (bridged) to the mesh
11643 network. This allow me to hook a wifi base station like the Linksys
11644 WRT54GL to the mesh by plugging it into a Raspberry Pi, and allow
11645 non-mesh clients to hook up to the mesh. This in turn is useful for
11646 Android phones using &lt;a href=&quot;http://servalproject.org/&quot;&gt;the Serval
11647 Project&lt;/a&gt; voip client, allowing every one around the playground to
11648 phone and message each other for free. The reason is that Android
11649 phones do not see ad-hoc wifi networks (they are filtered away from
11650 the GUI view), and can not join the mesh without being rooted. But if
11651 they are connected using a normal wifi base station, they can talk to
11652 every client on the local network.&lt;/p&gt;
11653
11654 &lt;p&gt;To get this working, I&#39;ve created a debian package
11655 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node&quot;&gt;meshfx-node&lt;/a&gt;
11656 and a script
11657 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node/blob/master/build-rpi-mesh-node&quot;&gt;build-rpi-mesh-node&lt;/a&gt;
11658 to create the Raspberry Pi boot image. I&#39;m using Debian Jessie (and
11659 not Raspbian), to get more control over the packages available.
11660 Unfortunately a huge binary blob need to be inserted into the boot
11661 image to get it booting, but I&#39;ll ignore that for now. Also, as
11662 Debian lack support for the CPU features available in the Raspberry
11663 Pi, the system do not use the hardware floating point unit. I hope
11664 the routing performance isn&#39;t affected by the lack of hardware FPU
11665 support.&lt;/p&gt;
11666
11667 &lt;p&gt;To create an image, run the following with a sudo enabled user
11668 after inserting the target SD card into the build machine:&lt;/p&gt;
11669
11670 &lt;p&gt;&lt;pre&gt;
11671 % wget -O build-rpi-mesh-node \
11672 https://raw.github.com/petterreinholdtsen/meshfx-node/master/build-rpi-mesh-node
11673 % sudo bash -x ./build-rpi-mesh-node &gt; build.log 2&gt;&amp;1
11674 % dd if=/root/rpi/rpi_basic_jessie_$(date +%Y%m%d).img of=/dev/mmcblk0 bs=1M
11675 %
11676 &lt;/pre&gt;&lt;/p&gt;
11677
11678 &lt;p&gt;Booting with the resulting SD card on a Raspberry PI with a USB
11679 wifi card inserted should give you a mesh node. At least it does for
11680 me with a the wifi card I am using. The default mesh settings are the
11681 ones used by the Oslo mesh project at Hackeriet, as I mentioned in
11682 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html&quot;&gt;an
11683 earlier blog post about this mesh testing&lt;/a&gt;.&lt;/p&gt;
11684
11685 &lt;p&gt;The mesh node was not horribly expensive either. I bought
11686 everything over the counter in shops nearby. If I had ordered online
11687 from the lowest bidder, the price should be significantly lower:&lt;/p&gt;
11688
11689 &lt;p&gt;&lt;table&gt;
11690
11691 &lt;tr&gt;&lt;th&gt;Supplier&lt;/th&gt;&lt;th&gt;Model&lt;/th&gt;&lt;th&gt;NOK&lt;/th&gt;&lt;/tr&gt;
11692 &lt;tr&gt;&lt;td&gt;Teknikkmagasinet&lt;/td&gt;&lt;td&gt;Raspberry Pi model B&lt;/td&gt;&lt;td&gt;349.90&lt;/td&gt;&lt;/tr&gt;
11693 &lt;tr&gt;&lt;td&gt;Teknikkmagasinet&lt;/td&gt;&lt;td&gt;Raspberry Pi type B case&lt;/td&gt;&lt;td&gt;99.90&lt;/td&gt;&lt;/tr&gt;
11694 &lt;tr&gt;&lt;td&gt;Lefdal&lt;/td&gt;&lt;td&gt;Jensen Air:Link 25150&lt;/td&gt;&lt;td&gt;295.-&lt;/td&gt;&lt;/tr&gt;
11695 &lt;tr&gt;&lt;td&gt;Clas Ohlson&lt;/td&gt;&lt;td&gt;Kingston 16 GB SD card&lt;/td&gt;&lt;td&gt;199.-&lt;/td&gt;&lt;/tr&gt;
11696 &lt;tr&gt;&lt;td&gt;Total cost&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;943.80&lt;/td&gt;&lt;/tr&gt;
11697
11698 &lt;/table&gt;&lt;/p&gt;
11699
11700 &lt;p&gt;Now my mesh network at home consist of one laptop in the basement
11701 connected to my production network, one Raspberry Pi node on the 1th
11702 floor that can be seen by my neighbor across the park, and one
11703 play-node I use to develop the image building script. And some times
11704 I hook up my work horse laptop to the mesh to test it. I look forward
11705 to figuring out what kind of latency the batman-adv setup will give,
11706 and how much packet loss we will experience around the park. :)&lt;/p&gt;
11707 </description>
11708 </item>
11709
11710 <item>
11711 <title>Perl library to control the Spykee robot moved to github</title>
11712 <link>http://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html</link>
11713 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html</guid>
11714 <pubDate>Sat, 19 Oct 2013 10:20:00 +0200</pubDate>
11715 <description>&lt;p&gt;Back in 2010, I created a Perl library to talk to
11716 &lt;a href=&quot;http://en.wikipedia.org/wiki/Spykee&quot;&gt;the Spykee robot&lt;/a&gt;
11717 (with two belts, wifi, USB and Linux) and made it available from my
11718 web page. Today I concluded that it should move to a site that is
11719 easier to use to cooperate with others, and moved it to github. If
11720 you got a Spykee robot, you might want to check out
11721 &lt;a href=&quot;https://github.com/petterreinholdtsen/libspykee-perl&quot;&gt;the
11722 libspykee-perl github repository&lt;/a&gt;.&lt;/p&gt;
11723 </description>
11724 </item>
11725
11726 <item>
11727 <title>Good causes: Debian Outreach Program for Women, EFF documenting the spying and Open access in Norway</title>
11728 <link>http://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html</link>
11729 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html</guid>
11730 <pubDate>Tue, 15 Oct 2013 21:30:00 +0200</pubDate>
11731 <description>&lt;p&gt;The last few days I came across a few good causes that should get
11732 wider attention. I recommend signing and donating to each one of
11733 these. :)&lt;/p&gt;
11734
11735 &lt;p&gt;Via &lt;a href=&quot;http://www.debian.org/News/weekly/2013/18/&quot;&gt;Debian
11736 Project News for 2013-10-14&lt;/a&gt; I came across the Outreach Program for
11737 Women program which is a Google Summer of Code like initiative to get
11738 more women involved in free software. One debian sponsor has offered
11739 to match &lt;a href=&quot;http://debian.ch/opw2013&quot;&gt;any donation done to Debian
11740 earmarked&lt;/a&gt; for this initiative. I donated a few minutes ago, and
11741 hope you will to. :)&lt;/p&gt;
11742
11743 &lt;p&gt;And the Electronic Frontier Foundation just announced plans to
11744 create &lt;a href=&quot;https://supporters.eff.org/donate/nsa-videos&quot;&gt;video
11745 documentaries about the excessive spying&lt;/a&gt; on every Internet user that
11746 take place these days, and their need to fund the work. I&#39;ve already
11747 donated. Are you next?&lt;/p&gt;
11748
11749 &lt;p&gt;For my Norwegian audience, the organisation Studentenes og
11750 Akademikernes Internasjonale Hjelpefond is collecting signatures for a
11751 statement under the heading
11752 &lt;a href=&quot;http://saih.no/Bloggers_United/&quot;&gt;Bloggers United for Open
11753 Access&lt;/a&gt; for those of us asking for more focus on open access in the
11754 Norwegian government. So far 499 signatures. I hope you will sign it
11755 too.&lt;/p&gt;
11756 </description>
11757 </item>
11758
11759 <item>
11760 <title>Oslo community mesh network - with NUUG and Hackeriet at Hausmania</title>
11761 <link>http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html</link>
11762 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html</guid>
11763 <pubDate>Fri, 11 Oct 2013 14:10:00 +0200</pubDate>
11764 <description>&lt;p&gt;Wireless mesh networks are self organising and self healing
11765 networks that can be used to connect computers across small and large
11766 areas, depending on the radio technology used. Normal wifi equipment
11767 can be used to create home made radio networks, and there are several
11768 successful examples like
11769 &lt;a href=&quot;http://www.freifunk.net/&quot;&gt;Freifunk&lt;/a&gt; and
11770 &lt;a href=&quot;http://www.awmn.net/&quot;&gt;Athens Wireless Metropolitan Network&lt;/a&gt;
11771 (see
11772 &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece&quot;&gt;wikipedia
11773 for a large list&lt;/a&gt;) around the globe. To give you an idea how it
11774 work, check out the nice overview of the Kiel Freifunk community which
11775 can be seen from their
11776 &lt;a href=&quot;http://freifunk.in-kiel.de/ffmap/nodes.html&quot;&gt;dynamically
11777 updated node graph and map&lt;/a&gt;, where one can see how the mesh nodes
11778 automatically handle routing and recover from nodes disappearing.
11779 There is also a small community mesh network group in Oslo, Norway,
11780 and that is the main topic of this blog post.&lt;/p&gt;
11781
11782 &lt;p&gt;I&#39;ve wanted to check out mesh networks for a while now, and hoped
11783 to do it as part of my involvement with the &lt;a
11784 href=&quot;http://www.nuug.no/&quot;&gt;NUUG member organisation&lt;/a&gt; community, and
11785 my recent involvement in
11786 &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the Freedombox project&lt;/a&gt;
11787 finally lead me to give mesh networks some priority, as I suspect a
11788 Freedombox should use mesh networks to connect neighbours and family
11789 when possible, given that most communication between people are
11790 between those nearby (as shown for example by research on Facebook
11791 communication patterns). It also allow people to communicate without
11792 any central hub to tap into for those that want to listen in on the
11793 private communication of citizens, which have become more and more
11794 important over the years.&lt;/p&gt;
11795
11796 &lt;p&gt;So far I have only been able to find one group of people in Oslo
11797 working on community mesh networks, over at the hack space
11798 &lt;a href=&quot;http://hackeriet.no/&quot;&gt;Hackeriet&lt;/a&gt; at Husmania. They seem to
11799 have started with some Freifunk based effort using OLSR, called
11800 &lt;a href=&quot;http://oslo.freifunk.net/index.php?title=Main_Page&quot;&gt;the Oslo
11801 Freifunk project&lt;/a&gt;, but that effort is now dead and the people
11802 behind it have moved on to a batman-adv based system called
11803 &lt;a href=&quot;http://meshfx.org/trac&quot;&gt;meshfx&lt;/a&gt;. Unfortunately the wiki
11804 site for the Oslo Freifunk project is no longer possible to update to
11805 reflect this fact, so the old project page can&#39;t be updated to point to
11806 the new project. A while back, the people at Hackeriet invited people
11807 from the Freifunk community to Oslo to talk about mesh networks. I
11808 came across this video where Hans Jørgen Lysglimt interview the
11809 speakers about this talk (from
11810 &lt;a href=&quot;https://www.youtube.com/watch?v=N2Kd7CLkhSY&quot;&gt;youtube&lt;/a&gt;):&lt;/p&gt;
11811
11812 &lt;p&gt;&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/N2Kd7CLkhSY&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
11813
11814 &lt;p&gt;I mentioned OLSR and batman-adv, which are mesh routing protocols.
11815 There are heaps of different protocols, and I am still struggling to
11816 figure out which one would be &quot;best&quot; for some definitions of best, but
11817 given that the community mesh group in Oslo is so small, I believe it
11818 is best to hook up with the existing one instead of trying to create a
11819 completely different setup, and thus I have decided to focus on
11820 batman-adv for now. It sure help me to know that the very cool
11821 &lt;a href=&quot;http://www.servalproject.org/&quot;&gt;Serval project in Australia&lt;/a&gt;
11822 is using batman-adv as their meshing technology when it create a self
11823 organizing and self healing telephony system for disaster areas and
11824 less industrialized communities. Check out this cool video presenting
11825 that project (from
11826 &lt;a href=&quot;https://www.youtube.com/watch?v=30qNfzJCQOA&quot;&gt;youtube&lt;/a&gt;):&lt;/p&gt;
11827
11828 &lt;p&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/30qNfzJCQOA&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;
11829
11830 &lt;p&gt;According to the wikipedia page on
11831 &lt;a href=&quot;http://en.wikipedia.org/wiki/Wireless_mesh_network&quot;&gt;Wireless
11832 mesh network&lt;/a&gt; there are around 70 competing schemes for routing
11833 packets across mesh networks, and OLSR, B.A.T.M.A.N. and
11834 B.A.T.M.A.N. advanced are protocols used by several free software
11835 based community mesh networks.&lt;/p&gt;
11836
11837 &lt;p&gt;The batman-adv protocol is a bit special, as it provide layer 2
11838 (as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
11839 network. One way to think about it is that it provide a mesh based
11840 vlan you can bridge to or handle like any other vlan connected to your
11841 computer. The required drivers are already in the Linux kernel at
11842 least since Debian Wheezy, and it is fairly easy to set up. A
11843 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide&quot;&gt;good
11844 introduction&lt;/a&gt; is available from the Open Mesh project. These are
11845 the key settings needed to join the Oslo meshfx network:&lt;/p&gt;
11846
11847 &lt;p&gt;&lt;table&gt;
11848 &lt;tr&gt;&lt;th&gt;Setting&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;
11849 &lt;tr&gt;&lt;td&gt;Protocol / kernel module&lt;/td&gt;&lt;td&gt;batman-adv&lt;/td&gt;&lt;/tr&gt;
11850 &lt;tr&gt;&lt;td&gt;ESSID&lt;/td&gt;&lt;td&gt;meshfx@hackeriet&lt;/td&gt;&lt;/tr&gt;
11851 &lt;td&gt;Channel / Frequency&lt;/td&gt;&lt;td&gt;11 / 2462&lt;/td&gt;&lt;/tr&gt;
11852 &lt;td&gt;Cell ID&lt;/td&gt;&lt;td&gt;02:BA:00:00:00:01&lt;/td&gt;
11853 &lt;/table&gt;&lt;/p&gt;
11854
11855 &lt;p&gt;The reason for setting ad-hoc wifi Cell ID is to work around bugs
11856 in firmware used in wifi card and wifi drivers. (See a nice post from
11857 VillageTelco about
11858 &quot;&lt;a href=&quot;http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html&quot;&gt;Information
11859 about cell-id splitting, stuck beacons, and failed IBSS merges!&lt;/a&gt;
11860 for details.) When these settings are activated and you have some
11861 other mesh node nearby, your computer will be connected to the mesh
11862 network and can communicate with any mesh node that is connected to
11863 any of the nodes in your network of nodes. :)&lt;/p&gt;
11864
11865 &lt;p&gt;My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
11866 but that seem to be very hard, as I have not been able to locate a
11867 firmware supporting batman-adv. If anyone know how to use that old
11868 wifi access point with batman-adv these days, please let me know.&lt;/p&gt;
11869
11870 &lt;p&gt;If you find this project interesting and want to join, please join
11871 us on IRC, either channel
11872 &lt;a href=&quot;irc://irc.freenode.net/#oslohackerspace&quot;&gt;#oslohackerspace&lt;/a&gt;
11873 or &lt;a href=&quot;irc://irc.freenode.net/#nuug&quot;&gt;#nuug&lt;/a&gt; on
11874 irc.freenode.net.&lt;/p&gt;
11875
11876 &lt;p&gt;While investigating mesh networks in Oslo, I came across an old
11877 research paper from the university of Stavanger and Telenor Research
11878 and Innovation called
11879 &lt;a href=&quot;http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf&quot;&gt;The
11880 reliability of wireless backhaul mesh networks&lt;/a&gt; and elsewhere
11881 learned that Telenor have been experimenting with mesh networks at
11882 Grünerløkka in Oslo. So mesh networks are also interesting for
11883 commercial companies, even though Telenor discovered that it was hard
11884 to figure out a good business plan for mesh networking and as far as I
11885 know have closed down the experiment. Perhaps Telenor or others would
11886 be interested in a cooperation?&lt;/p&gt;
11887
11888 &lt;p&gt;&lt;strong&gt;Update 2013-10-12&lt;/strong&gt;: I was just
11889 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html&quot;&gt;told
11890 by the Serval project developers&lt;/a&gt; that they no longer use
11891 batman-adv (but are compatible with it), but their own crypto based
11892 mesh system.&lt;/p&gt;
11893 </description>
11894 </item>
11895
11896 <item>
11897 <title>Skolelinux / Debian Edu 7.1 install and overview video from Marcelo Salvador</title>
11898 <link>http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_7_1_install_and_overview_video_from_Marcelo_Salvador.html</link>
11899 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_7_1_install_and_overview_video_from_Marcelo_Salvador.html</guid>
11900 <pubDate>Tue, 8 Oct 2013 17:10:00 +0200</pubDate>
11901 <description>&lt;p&gt;The other day I was pleased and surprised to discover that Marcelo
11902 Salvador had published a
11903 &lt;a href=&quot;https://www.youtube.com/watch?v=w-GgpdqgLFc&quot;&gt;video on
11904 Youtube&lt;/a&gt; showing how to install the standalone Debian Edu /
11905 Skolelinux profile. This is the profile intended for use at home or
11906 on laptops that should not be integrated into the provided network
11907 services (no central home directory, no Kerberos / LDAP directory etc,
11908 in other word a single user machine). The result is 11 minutes long,
11909 and show some user applications (seem to be rather randomly picked).
11910 Missed a few of my favorites like celestia, planets and chromium
11911 showing the &lt;a href=&quot;http://www.zygotebody.com/&quot;&gt;Zygote Body 3D model
11912 of the human body&lt;/a&gt;, but I guess he did not know about those or find
11913 other programs more interesting. :) And the video do not show the
11914 advantages I believe is one of the most valuable featuers in Debian
11915 Edu, its central school server making it possible to run hundreds of
11916 computers without hard drives by installing one central
11917 &lt;a href=&quot;http://www.ltsp.org/&quot;&gt;LTSP server&lt;/a&gt;.&lt;/p&gt;
11918
11919 &lt;p&gt;Anyway, check out the video, embedded below and linked to above:&lt;/p&gt;
11920
11921 &lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/w-GgpdqgLFc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
11922
11923 &lt;p&gt;Are there other nice videos demonstrating Skolelinux? Please let
11924 me know. :)&lt;/p&gt;
11925 </description>
11926 </item>
11927
11928 <item>
11929 <title>Finally, Debian Edu Wheezy is released today!</title>
11930 <link>http://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html</link>
11931 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html</guid>
11932 <pubDate>Sun, 29 Sep 2013 10:20:00 +0200</pubDate>
11933 <description>&lt;p&gt;A few hours ago, the announcement for the first stable release of
11934 Debian Edu Wheezy went out from the Debian publicity team. The
11935 complete announcement text can be found at
11936 &lt;a href=&quot;http://www.debian.org/News/2013/20130928&quot;&gt;the Debian News
11937 section&lt;/a&gt;, translated to several languages. Please check it out.&lt;/p&gt;
11938
11939 &lt;p&gt;There is one minor known problem that we will fix very soon. One
11940 can not install a amd64 Thin Client Server using PXE, as the /var/
11941 partition is too small. A workaround is to extend the partition (use
11942 lvresize + resize2fs in tty 2 while installing).&lt;/p&gt;
11943 </description>
11944 </item>
11945
11946 <item>
11947 <title>Videos about the Freedombox project - for inspiration and learning</title>
11948 <link>http://people.skolelinux.org/pere/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html</link>
11949 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html</guid>
11950 <pubDate>Fri, 27 Sep 2013 14:10:00 +0200</pubDate>
11951 <description>&lt;p&gt;The &lt;a href=&quot;http://www.freedomboxfoundation.org/&quot;&gt;Freedombox
11952 project&lt;/a&gt; have been going on for a while, and have presented the
11953 vision, ideas and solution several places. Here is a little
11954 collection of videos of talks and presentation of the project.&lt;/p&gt;
11955
11956 &lt;ul&gt;
11957
11958 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=ukvUz5taxvA&quot;&gt;FreedomBox -
11959 2,5 minute marketing film&lt;/a&gt; (Youtube)&lt;/li&gt;
11960
11961 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=SzW25QTVWsE&quot;&gt;Eben Moglen
11962 discusses the Freedombox on CBS news 2011&lt;/a&gt; (Youtube)&lt;/li&gt;
11963
11964 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=Ae8SZbxfE0g&quot;&gt;Eben Moglen -
11965 Freedom in the Cloud - Software Freedom, Privacy and and Security for
11966 Web 2.0 and Cloud computing at ISOC-NY Public Meeting 2010&lt;/a&gt;
11967 (Youtube)&lt;/li&gt;
11968
11969 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=vNaIji_3xBE&quot;&gt;Fosdem 2011
11970 Keynote by Eben Moglen presenting the Freedombox&lt;/a&gt; (Youtube)&lt;/li&gt;
11971
11972 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9bDDUyJSQ9s&quot;&gt;Presentation of
11973 the Freedombox by James Vasile at Elevate in Gratz 2011&lt;/a&gt; (Youtube)&lt;/li&gt;
11974
11975 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=zQTmnk27g9s&quot;&gt; Freedombox -
11976 Discovery, Identity, and Trust by Nick Daly at Freedombox Hackfest New
11977 York City in 2012&lt;/a&gt; (Youtube)&lt;/li&gt;
11978
11979 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=tkbSB4Ba7Ck&quot;&gt;Introduction
11980 to the Freedombox at Freedombox Hackfest New York City in 2012&lt;/a&gt;
11981 (Youtube)&lt;/li&gt;
11982
11983 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=z-P2Jaeg0aQ&quot;&gt;Freedom, Out
11984 of the Box! by Bdale Garbee at linux.conf.au Ballarat, 2012&lt;/a&gt; (Youtube) &lt;/li&gt;
11985
11986 &lt;li&gt;&lt;a href=&quot;https://archive.fosdem.org/2013/schedule/event/freedombox/&quot;&gt;Freedombox
11987 1.0 by Eben Moglen and Bdale Garbee at Fosdem 2013&lt;/a&gt; (FOSDEM) &lt;/li&gt;
11988
11989 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=e1LpYX2zVYg&quot;&gt;What is the
11990 FreedomBox today by Bdale Garbee at Debconf13 in Vaumarcus
11991 2013&lt;/a&gt; (Youtube)&lt;/li&gt;
11992
11993 &lt;/ul&gt;
11994
11995 &lt;p&gt;A larger list is available from
11996 &lt;a href=&quot;https://wiki.debian.org/FreedomBox/TalksAndPresentations&quot;&gt;the
11997 Freedombox Wiki&lt;/a&gt;.&lt;/p&gt;
11998
11999 &lt;p&gt;On other news, I am happy to report that Freedombox based on Debian
12000 Jessie is coming along quite well, and soon both Owncloud and using
12001 Tor should be available for testers of the Freedombox solution. :) In
12002 a few weeks I hope everything needed to test it is included in Debian.
12003 The withsqlite package is already in Debian, and the plinth package is
12004 pending in NEW. The third and vital part of that puzzle is the
12005 metapackage/setup framework, which is still pending an upload. Join
12006 us on &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC
12007 (#freedombox on irc.debian.org)&lt;/a&gt; and
12008 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
12009 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
12010 </description>
12011 </item>
12012
12013 <item>
12014 <title>Third and probably last beta release of Debian Edu Wheezy</title>
12015 <link>http://people.skolelinux.org/pere/blog/Third_and_probably_last_beta_release_of_Debian_Edu_Wheezy.html</link>
12016 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_and_probably_last_beta_release_of_Debian_Edu_Wheezy.html</guid>
12017 <pubDate>Mon, 16 Sep 2013 21:30:00 +0200</pubDate>
12018 <description>&lt;p&gt;The third wheezy based beta release of Debian Edu was wrapped up
12019 today. This is the release announcement from Holger Levsen:&lt;/p&gt;
12020
12021 &lt;blockquote&gt;
12022 &lt;p&gt;Hi,&lt;/p&gt;
12023
12024 &lt;p&gt;it is my pleasure to announce the third beta release (beta 2 for
12025 short) of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
12026 Skolelinux&lt;/a&gt; based on Debian Wheezy!&lt;/p&gt;
12027
12028 &lt;p&gt;Please test these images extensivly, if no new problems are found
12029 we plan to do this final Debian Edu Wheezy release this coming
12030 weekend. We are not aware of any major problems or blockers in beta2,
12031 if you find something, please notify us immediately!&lt;/p&gt;
12032
12033 &lt;p&gt;(More about the remaining steps for the Edu Wheezy release in
12034 another mail to the edu list tonight or tomorrow...)&lt;/p&gt;
12035
12036 &lt;p&gt;Noteworthy changes and software updates for Debian Edu 7.1+edu0~b2
12037 compared to beta1:&lt;/p&gt;
12038
12039 &lt;ul&gt;
12040
12041 &lt;li&gt;The KDE proxy setup has been adjusted to use the provided wpad.dat. This
12042 also gets Chromium to use this proxy.&lt;/li&gt;
12043 &lt;li&gt;Install kdepim-groupware with KDE desktops to make sure korganizer
12044 understand ical/dav sources.&lt;/li&gt;
12045 &lt;li&gt;Increased default maximum size of /var/spool/squid and /skole/backup on the
12046 main server.&lt;/li&gt;
12047 &lt;li&gt;A source DVD image containing all source packages is now available as well.&lt;/li&gt;
12048 &lt;li&gt;Updates for chromium (29.0.1547.57-1~deb7u1), imagemagick
12049 (6.7.7.10-5+deb7u2), php5 (5.4.4-14+deb7u4), libmodplug
12050 (0.8.8.4-3+deb7u1+git20130828), tiff (4.0.2-6+deb7u2), linux-image
12051 (3.2.0-4-486_3.2.46-1+deb7u1).&lt;/li&gt;
12052
12053 &lt;/ul&gt;
12054
12055 &lt;p&gt;Where to get it:&lt;/p&gt;
12056
12057 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
12058
12059 &lt;ul&gt;
12060 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso&lt;/a&gt;&lt;/li&gt;
12061 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso&lt;/a&gt;&lt;/li&gt;
12062 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso .&lt;/li&gt;
12063 &lt;/ul&gt;
12064
12065 &lt;p&gt;The SHA1SUM of this image is: 3a1c89f4666df80eebcd46c5bf5fedb866f9472f&lt;/p&gt;
12066
12067 &lt;p&gt;To download the multiarch USB stick ISO release you can use
12068 &lt;ul&gt;
12069 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso&lt;/a&gt;&lt;/li&gt;
12070 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso&lt;/a&gt;&lt;/li&gt;
12071 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso .&lt;/li&gt;
12072 &lt;/ul&gt;
12073
12074 &lt;p&gt;The SHA1SUM of this image is: 702d1718548f401c74bfa6df9f032cc3ee16597e&lt;/p&gt;
12075
12076 &lt;p&gt;The Source DVD image has the filename
12077 debian-edu-7.1+edu0~b2-source-DVD.iso and the SHA1SUM
12078 089eed8b3f962db47aae1f6a9685e9bb2fa30ca5 and is available the same way
12079 as the other isos.&lt;/p&gt;
12080
12081 &lt;p&gt;How to report bugs&lt;/p&gt;
12082
12083 &lt;p&gt;For information how to report bugs please see
12084 &lt;br&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;&lt;/p&gt;
12085
12086
12087 &lt;p&gt;About Debian Edu and Skolelinux&lt;/p&gt;
12088
12089 &lt;p&gt;Debian Edu, also known as Skolelinux, is a Linux distribution based
12090 on Debian providing an out-of-the box environment of a completely
12091 configured school network. Immediately after installation a school
12092 server running all services needed for a school network is set up just
12093 waiting for users and machines being added via GOsa², a comfortable
12094 Web-UI. A netbooting environment is prepared using PXE, so after
12095 initial installation of the main server from CD or USB stick all other
12096 machines can be installed via the network. The provided school server
12097 provides LDAP database and Kerberos authentication service,
12098 centralized home directories, DHCP server, web proxy and many other
12099 services. The desktop contains more than 60 educational software
12100 packages and more are available from the Debian archive, and schools
12101 can choose between KDE, Gnome, LXDE and Xfce desktop environment.&lt;/p&gt;
12102
12103 &lt;p&gt;This is the seventh test release based on Debian Wheezy. Basically
12104 this is an updated and slightly improved version compared to the
12105 Squeeze release.&lt;/p&gt;
12106
12107 &lt;p&gt;Notes for upgrades from Alpha Prereleases&lt;/p&gt;
12108
12109 &lt;p&gt;Alpha based installations should reinstall or downgrade the
12110 versions of gosa and libpam-mklocaluser to the ones used in this beta
12111 release. Both alpha and beta0 based installations should reinstall or
12112 deal with gosa.conf manually; there are two options: (1) Keep
12113 gosa.conf and edit this file as outlined on the mailing list. (2)
12114 Accept the new version of gosa.conf and replace both contained admin
12115 password placeholders with the password hashes found in the old one
12116 (backup copy!). In both cases all users need to change their password
12117 to make sure a password is set for CIFS access to their home
12118 directory.&lt;/p&gt;
12119
12120
12121 &lt;p&gt;cheers,
12122 &lt;br&gt; Holger&lt;/p&gt;
12123 &lt;/blockquote&gt;
12124 </description>
12125 </item>
12126
12127 <item>
12128 <title>Recipe to test the Freedombox project on amd64 or Raspberry Pi</title>
12129 <link>http://people.skolelinux.org/pere/blog/Recipe_to_test_the_Freedombox_project_on_amd64_or_Raspberry_Pi.html</link>
12130 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Recipe_to_test_the_Freedombox_project_on_amd64_or_Raspberry_Pi.html</guid>
12131 <pubDate>Tue, 10 Sep 2013 14:20:00 +0200</pubDate>
12132 <description>&lt;p&gt;I was introduced to the
12133 &lt;a href=&quot;http://www.freedomboxfoundation.org/&quot;&gt;Freedombox project&lt;/a&gt;
12134 in 2010, when Eben Moglen presented his vision about serving the need
12135 of non-technical people to keep their personal information private and
12136 within the legal protection of their own homes. The idea is to give
12137 people back the power over their network and machines, and return
12138 Internet back to its intended peer-to-peer architecture. Instead of
12139 depending on a central service, the Freedombox will give everyone
12140 control over their own basic infrastructure.&lt;/p&gt;
12141
12142 &lt;p&gt;I&#39;ve intended to join the effort since then, but other tasks have
12143 taken priority. But this summers nasty news about the misuse of trust
12144 and privilege exercised by the &quot;western&quot; intelligence gathering
12145 communities increased my eagerness to contribute to a point where I
12146 actually started working on the project a while back.&lt;/p&gt;
12147
12148 &lt;p&gt;The &lt;a href=&quot;https://alioth.debian.org/projects/freedombox/&quot;&gt;initial
12149 Debian initiative&lt;/a&gt; based on the vision from Eben Moglen, is to
12150 create a simple and cheap Debian based appliance that anyone can hook
12151 up in their home and get access to secure and private services and
12152 communication. The initial deployment platform have been the
12153 &lt;a href=&quot;http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx&quot;&gt;Dreamplug&lt;/a&gt;,
12154 which is a piece of hardware I do not own. So to be able to test what
12155 the current Freedombox setup look like, I had to come up with a way to install
12156 it on some hardware I do have access to. I have rewritten the
12157 &lt;a href=&quot;https://github.com/NickDaly/freedom-maker&quot;&gt;freedom-maker&lt;/a&gt;
12158 image build framework to use .deb packages instead of only copying
12159 setup into the boot images, and thanks to this rewrite I am able to
12160 set up any machine supported by Debian Wheezy as a Freedombox, using
12161 the previously mentioned deb (and a few support debs for packages
12162 missing in Debian).&lt;/p&gt;
12163
12164 &lt;p&gt;The current Freedombox setup consist of a set of bootstrapping
12165 scripts
12166 (&lt;a href=&quot;https://github.com/petterreinholdtsen/freedombox-setup&quot;&gt;freedombox-setup&lt;/a&gt;),
12167 and a administrative web interface
12168 (&lt;a href=&quot;https://github.com/NickDaly/Plinth&quot;&gt;plinth&lt;/a&gt; + exmachina +
12169 withsqlite), as well as a privacy enhancing proxy based on
12170 &lt;a href=&quot;http://packages.qa.debian.org/privoxy&quot;&gt;privoxy&lt;/a&gt;
12171 (freedombox-privoxy). There is also a web/javascript based XMPP
12172 client (&lt;a href=&quot;http://packages.qa.debian.org/jwchat&quot;&gt;jwchat&lt;/a&gt;)
12173 trying (unsuccessfully so far) to talk to the XMPP server
12174 (&lt;a href=&quot;http://packages.qa.debian.org/ejabberd&quot;&gt;ejabberd&lt;/a&gt;). The
12175 web interface is pluggable, and the goal is to use it to enable OpenID
12176 services, mesh network connectivity, use of TOR, etc, etc. Not much of
12177 this is really working yet, see
12178 &lt;a href=&quot;https://github.com/NickDaly/freedombox-todos/blob/master/TODO&quot;&gt;the
12179 project TODO&lt;/a&gt; for links to GIT repositories. Most of the code is
12180 on github at the moment. The HTTP proxy is operational out of the
12181 box, and the admin web interface can be used to add/remove plinth
12182 users. I&#39;ve not been able to do anything else with it so far, but
12183 know there are several branches spread around github and other places
12184 with lots of half baked features.&lt;/p&gt;
12185
12186 &lt;p&gt;Anyway, if you want to have a look at the current state, the
12187 following recipes should work to give you a test machine to poke
12188 at.&lt;/p&gt;
12189
12190 &lt;p&gt;&lt;strong&gt;Debian Wheezy amd64&lt;/strong&gt;&lt;/p&gt;
12191
12192 &lt;ol&gt;
12193
12194 &lt;li&gt;Fetch normal Debian Wheezy installation ISO.&lt;/li&gt;
12195 &lt;li&gt;Boot from it, either as CD or USB stick.&lt;/li&gt;
12196 &lt;li&gt;&lt;p&gt;Press [tab] on the boot prompt and add this as a boot argument
12197 to the Debian installer:&lt;p&gt;
12198 &lt;pre&gt;url=&lt;a href=&quot;http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat&quot;&gt;http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat&lt;/a&gt;&lt;/pre&gt;&lt;/li&gt;
12199
12200 &lt;li&gt;Answer the few language/region/password questions and pick disk to
12201 install on.&lt;/li&gt;
12202
12203 &lt;li&gt;When the installation is finished and the machine have rebooted a
12204 few times, your Freedombox is ready for testing.&lt;/li&gt;
12205
12206 &lt;/ol&gt;
12207
12208 &lt;p&gt;&lt;strong&gt;Raspberry Pi Raspbian&lt;/strong&gt;&lt;/p&gt;
12209
12210 &lt;ol&gt;
12211
12212 &lt;li&gt;Fetch a Raspbian SD card image, create SD card.&lt;/li&gt;
12213 &lt;li&gt;Boot from SD card, extend file system to fill the card completely.&lt;/li&gt;
12214 &lt;li&gt;&lt;p&gt;Log in and add this to /etc/sources.list:&lt;/p&gt;
12215 &lt;pre&gt;
12216 deb &lt;a href=&quot;http://www.reinholdtsen.name/freedombox/&quot;&gt;http://www.reinholdtsen.name/freedombox&lt;/a&gt; wheezy main
12217 &lt;/pre&gt;&lt;/li&gt;
12218 &lt;li&gt;&lt;p&gt;Run this as root:&lt;/p&gt;
12219 &lt;pre&gt;
12220 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
12221 apt-key add -
12222 apt-get update
12223 apt-get install freedombox-setup
12224 /usr/lib/freedombox/setup
12225 &lt;/pre&gt;&lt;/li&gt;
12226 &lt;li&gt;Reboot into your freshly created Freedombox.&lt;/li&gt;
12227
12228 &lt;/ol&gt;
12229
12230 &lt;p&gt;You can test it on other architectures too, but because the
12231 freedombox-privoxy package is binary, it will only work as intended on
12232 the architectures where I have had time to build the binary and put it
12233 in my APT repository. But do not let this stop you. It is only a
12234 short &quot;&lt;tt&gt;apt-get source -b freedombox-privoxy&lt;/tt&gt;&quot; away. :)&lt;/p&gt;
12235
12236 &lt;p&gt;Note that by default Freedombox is a DHCP server on the
12237 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
12238 off the DHCP server by running &quot;&lt;tt&gt;update-rc.d isc-dhcp-server
12239 disable&lt;/tt&gt;&quot; as root.&lt;/p&gt;
12240
12241 &lt;p&gt;Please let me know if this works for you, or if you have any
12242 problems. We gather on the IRC channel
12243 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;#freedombox&lt;/a&gt; on
12244 irc.debian.org and the
12245 &lt;a href=&quot;http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss&quot;&gt;project
12246 mailing list&lt;/a&gt;.&lt;/p&gt;
12247
12248 &lt;p&gt;Once you get your freedombox operational, you can visit
12249 &lt;tt&gt;http://your-host-name:8001/&lt;/tt&gt; to see the state of the plint
12250 welcome screen (dead end - do not be surprised if you are unable to
12251 get past it), and next visit &lt;tt&gt;http://your-host-name:8001/help/&lt;/tt&gt;
12252 to look at the rest of plinth. The default user is &#39;admin&#39; and the
12253 default password is &#39;secret&#39;.&lt;/p&gt;
12254 </description>
12255 </item>
12256
12257 <item>
12258 <title>Second beta release (beta 1) of Debian Edu/Skolelinux based on Debian Wheezy</title>
12259 <link>http://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
12260 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
12261 <pubDate>Thu, 22 Aug 2013 09:30:00 +0200</pubDate>
12262 <description>&lt;p&gt;The second wheezy based beta release of Debian Edu was wrapped up
12263 today, slightly delayed because of some bugs in the initial Windows
12264 integration fixes . This is the release announcement:&lt;/p&gt;
12265
12266 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.1+edu0~b1 released 2013-08-22&lt;/strong&gt;&lt;/p&gt;
12267
12268 &lt;p&gt;These are the release notes for Debian Edu / Skolelinux
12269 7.1+edu0~b1, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
12270
12271 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
12272
12273 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
12274 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
12275 out-of-the box environment of a completely configured school
12276 network. Immediately after installation a school server running all
12277 services needed for a school network is set up just waiting for users
12278 and machines being added via GOsa², a comfortable Web-UI. A netbooting
12279 environment is prepared using PXE, so after initial installation of
12280 the main server from CD or USB stick all other machines can be
12281 installed via the network. The provided school server provides LDAP
12282 database and Kerberos authentication service, centralized home
12283 directories, DHCP server, web proxy and many other services. The
12284 desktop contains
12285 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
12286 than 60 educational software packages&lt;/a&gt; and more are available from
12287 the Debian archive, and schools can choose between KDE, Gnome, LXDE
12288 and Xfce desktop environment.&lt;/p&gt;
12289
12290 &lt;p&gt;This is the sixth test release based on Debian Wheezy. Basically this
12291 is an updated and slightly improved version compared to the Squeeze
12292 release.&lt;/p&gt;
12293
12294 &lt;p&gt;ALERT: Alpha based installations should reinstall or downgrade the
12295 versions of gosa and libpam-mklocaluser to the ones used in this beta
12296 release. Both alpha and beta0 based installations should reinstall or
12297 deal with gosa.conf manually; there are two options: (1) Keep
12298 gosa.conf and edit this file as outlined
12299 &lt;a href=&quot;http://lists.debian.org/debian-edu/2013/08/msg00127.html&quot;&gt;on
12300 the mailing list&lt;/a&gt;. (2) Accept the new version of gosa.conf and
12301 replace both contained admin password placeholders with the password
12302 hashes found in the old one (backup copy!). In both cases every user
12303 need to change their their password to make sure a password is set for
12304 CIFS access to their home directory.&lt;/p&gt;
12305
12306 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
12307
12308 &lt;ul&gt;
12309
12310 &lt;li&gt;Added ssh askpass packages to default installation, to ensure ssh
12311 work also without a attached tty.&lt;/li&gt;
12312 &lt;li&gt;Add the command-not-found package to the default installation to
12313 make it easier to figure out where to find missing command line
12314 tools. Please note, that the command &#39;update-command-not-found&#39;
12315 has to be run as root to actually make it useful (internet access
12316 required).&lt;/li&gt;
12317
12318 &lt;/ul&gt;
12319
12320 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
12321
12322 &lt;ul&gt;
12323
12324 &lt;li&gt;Adjusted the USB stick ISO image build to include every tool
12325 needed for desktop=xfce installations.&lt;/li&gt;
12326 &lt;li&gt;Adjust thin-client-server task to work when installing from USB
12327 stick ISO image.&lt;/li&gt;
12328 &lt;li&gt;Made new grub artwork (changed png from indexed to RGB format).&lt;/li&gt;
12329 &lt;li&gt;Minor cleanup in the CUPS setup.&lt;/li&gt;
12330 &lt;li&gt;Make sure that bootstrapping of the Samba domain really happens
12331 during installation of the main server and adjust SID handling to
12332 cope with this.&lt;/li&gt;
12333 &lt;li&gt;Make Samba passwords changeable (again) via GOsa².&lt;/li&gt;
12334 &lt;li&gt;Fix generation of LM and NT password hashes via GOsa² to avoid
12335 empty password hashes.&lt;/li&gt;
12336 &lt;li&gt;Adapted Samba machine domain joining to latest change in the
12337 smbldap-tools Perl package, fixing bugs blocking Windows machines
12338 from joining the Samba domain.&lt;/li&gt;
12339
12340 &lt;/ul&gt;
12341
12342 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
12343
12344 &lt;ul&gt;
12345
12346 &lt;li&gt;KDE fails to understand the wpad.dat file provided, causing it to
12347 not use the http proxy as it should.&lt;/li&gt;
12348 &lt;li&gt;Chromium also fails to use the proxy when using the KDE desktop
12349 (using the KDE configuration).&lt;/li&gt;
12350
12351 &lt;/ul&gt;
12352
12353 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
12354
12355 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
12356
12357 &lt;ul&gt;
12358
12359 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso&lt;/a&gt;&lt;/li&gt;
12360
12361 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso&lt;/a&gt;&lt;/li&gt;
12362
12363 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .&lt;/li&gt;
12364
12365 &lt;/ul&gt;
12366
12367 &lt;p&gt;The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
12368 &lt;br&gt;The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2&lt;/p&gt;
12369
12370 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
12371
12372 &lt;ul&gt;
12373
12374 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso&lt;/a&gt;&lt;/li&gt;
12375 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso&lt;/a&gt;&lt;/li&gt;
12376 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .&lt;/li&gt;
12377
12378 &lt;/ul&gt;
12379
12380 &lt;p&gt;The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
12381 &lt;br&gt;The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119&lt;/p&gt;
12382
12383
12384 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
12385
12386 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;
12387 </description>
12388 </item>
12389
12390 <item>
12391 <title>Intel 180 SSD disk with Lenovo firmware can not use Intel firmware</title>
12392 <link>http://people.skolelinux.org/pere/blog/Intel_180_SSD_disk_with_Lenovo_firmware_can_not_use_Intel_firmware.html</link>
12393 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Intel_180_SSD_disk_with_Lenovo_firmware_can_not_use_Intel_firmware.html</guid>
12394 <pubDate>Sun, 18 Aug 2013 14:00:00 +0200</pubDate>
12395 <description>&lt;p&gt;Earlier, I reported about
12396 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html&quot;&gt;my
12397 problems using an Intel SSD 520 Series 180 GB disk&lt;/a&gt;. Friday I was
12398 told by IBM that the original disk should be thrown away. And as
12399 there no longer was a problem if I bricked the firmware, I decided
12400 today to try to install Intel firmware to replace the Lenovo firmware
12401 currently on the disk.&lt;/p&gt;
12402
12403 &lt;p&gt;I searched the Intel site for firmware, and found
12404 &lt;a href=&quot;https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&amp;ProdId=3472&amp;DwnldID=18363&amp;ProductFamily=Solid-State+Drives+and+Caching&amp;ProductLine=Intel%c2%ae+High+Performance+Solid-State+Drive&amp;ProductProduct=Intel%c2%ae+SSD+520+Series+(180GB%2c+2.5in+SATA+6Gb%2fs%2c+25nm%2c+MLC)&amp;lang=eng&quot;&gt;issdfut_2.0.4.iso&lt;/a&gt;
12405 (aka Intel SATA Solid-State Drive Firmware Update Tool) which
12406 according to the site should contain the latest firmware for SSD
12407 disks. I inserted the broken disk in one of my spare laptops and
12408 booted the ISO from a USB stick. The disk was recognized, but the
12409 program claimed the newest firmware already were installed and refused
12410 to insert any Intel firmware. So no change, and the disk is still
12411 unable to handle write load. :( I guess the only way to get them
12412 working would be if Lenovo releases new firmware. No idea how likely
12413 that is. Anyway, just blogging about this test for completeness. I
12414 got a working Samsung disk, and see no point in spending more time on
12415 the broken disks.&lt;/p&gt;
12416 </description>
12417 </item>
12418
12419 <item>
12420 <title>90 percent done with the Norwegian draft translation of Free Culture</title>
12421 <link>http://people.skolelinux.org/pere/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</link>
12422 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</guid>
12423 <pubDate>Fri, 2 Aug 2013 10:40:00 +0200</pubDate>
12424 <description>&lt;p&gt;It has been a while since my last update. Since last summer, I
12425 have worked on a Norwegian
12426 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
12427 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
12428 to get a Norwegian text explaining the problems with the copyright
12429 law. Yesterday, I finally broken the 90% mark, when counting the
12430 number of strings to translate. Due to real life constraints, I have
12431 not had time to work on it since March, but when the summer broke out,
12432 I found time to work on it again. Still lots of work left, but the
12433 first draft is nearing completion. I created a graph to show the
12434 progress of the translation:&lt;/p&gt;
12435
12436 &lt;p&gt;&lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;&lt;/p&gt;
12437
12438 &lt;p&gt;When the first draft is done, the translated text need to be
12439 proof read, and the remaining formatting problems with images and SVG
12440 drawings need to be fixed. There are probably also some index entries
12441 missing that need to be added. This can be done by comparing the
12442 index entries listed in the SiSU version of the book, or comparing the
12443 English docbook version with the paper version. Last, the colophon
12444 page with ISBN numbers etc need to be wrapped up before the release is
12445 done. I should also figure out how to get correct Norwegian sorting
12446 of the index pages. All docbook tools I have tried so far (xmlto,
12447 docbook-xsl, dblatex) get the order of symbols and the special
12448 Norwegian letters ÆØÅ wrong.&lt;/p&gt;
12449
12450 &lt;p&gt;There is still need for translators and people with docbook
12451 knowledge, to be able to get a good looking book (I still struggle
12452 with dblatex, xmlto and docbook-xsl) as well as to do the draft
12453 translation and proof reading. And I would like the figures to be
12454 redrawn as SVGs to make it easy to translate them. Any SVG master
12455 around? There are also some legal terms that are unfamiliar to me.
12456 If you want to help, please get in touch with me, and check out the
12457 project files currently available from
12458 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
12459
12460 &lt;p&gt;If you are curious what the translated book currently look like,
12461 the updated
12462 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;
12463 and
12464 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
12465 are published on github. The HTML version is published as well, but
12466 github hand it out with MIME type text/plain, confusing browsers, so I
12467 saw no point in linking to that version.&lt;/p&gt;
12468 </description>
12469 </item>
12470
12471 <item>
12472 <title>First beta release of Debian Edu/Skolelinux based on Debian Wheezy</title>
12473 <link>http://people.skolelinux.org/pere/blog/First_beta_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
12474 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_beta_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
12475 <pubDate>Sat, 27 Jul 2013 20:30:00 +0200</pubDate>
12476 <description>&lt;p&gt;The first wheezy based beta release of Debian Edu was wrapped up
12477 today. This is the release announcement:&lt;/p&gt;
12478
12479 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.1+edu0~b0 released
12480 2013-07-27&lt;/strong&gt;&lt;/p&gt;
12481
12482 &lt;p&gt;These are the release notes for for Debian Edu / Skolelinux
12483 7.1+edu0~b0, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
12484
12485 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
12486
12487 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
12488 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
12489 out-of-the box environment of a completely configured school
12490 network. Immediately after installation a school server running all
12491 services needed for a school network is set up just waiting for users
12492 and machines being added via GOsa², a comfortable Web-UI. A netbooting
12493 environment is prepared using PXE, so after initial installation of
12494 the main server from CD, DVD or USB stick all other machines can be
12495 installed via the network. The provided school server provides LDAP
12496 database and Kerberos authentication service, centralized home
12497 directories, DHCP server, web proxy and many other services. The
12498 desktop contains
12499 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
12500 than 60 educational software packages&lt;/a&gt; and more are available from
12501 the Debian archive, and schools can choose between KDE, Gnome, LXDE
12502 and Xfce desktop environment.&lt;/p&gt;
12503
12504 &lt;p&gt;This is the fifth test release based on Debian Wheezy. Basically
12505 this is an updated and slightly improved version compared to the
12506 Squeeze release.&lt;/p&gt;
12507
12508 &lt;p&gt;ALERT: Alpha based installations should reinstall or downgrade the
12509 versions of gosa and libpam-mklocaluser to the ones used in this beta
12510 release.&lt;/p&gt;
12511
12512 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
12513
12514 &lt;ul&gt;
12515
12516 &lt;li&gt;Switched roaming workstation profiles from wicd to network-manager
12517 for network configuration, as wicd didn&#39;t work any more.&lt;/li&gt;
12518 &lt;li&gt;Changed version numbers of patched gosa and libpam-mklocaluser
12519 packages to make sure our locally patched versions will be replaced
12520 by the official packages when they are released from Debian. Those
12521 installing alpha version need to reinstall or manually downgrade gosa
12522 and libpam-mklocaluser.&lt;/li&gt;
12523 &lt;li&gt;Added bluetooth tools to the default desktop (bluedevil, blueman).&lt;/li&gt;
12524 &lt;li&gt;Added tools for sharing the desktop on KDE (krdc, krfb).&lt;/li&gt;
12525 &lt;li&gt;Added valgrind to the default installation for easier debugging of
12526 crash bugs.&lt;/li&gt;
12527
12528 &lt;/ul&gt;
12529
12530 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
12531
12532 &lt;ul&gt;
12533
12534 &lt;li&gt;Fixed artwork package to work with gnome, no longer break
12535 desktop=gnome installations.&lt;/li&gt;
12536 &lt;li&gt;Adjusted installer to now work when forced to use a proxy with the
12537 netinst CD.&lt;/li&gt;
12538 &lt;li&gt;Fixed code detecting and setting/loading hardware specific
12539 setup/firmware to work more robust out of the box.&lt;/li&gt;
12540 &lt;li&gt;Adjusted Kerberos setup to detect realm and server settings at
12541 install time instead of dynamically at run time. This avoid a crash
12542 with krb5-auth-dialog on diskless workstations without a DNS name.&lt;/li&gt;
12543 &lt;li&gt;Worked around misfeature in network-manager not calling the dhclient
12544 exit hooks, causing automatic proxy configuration and automatic host
12545 name setting at run time to work again.&lt;/li&gt;
12546 &lt;li&gt;Fixed feature setting the default Iceweasel start page from URL
12547 fetched from LDAP, to allow schools to set the global default by
12548 updating the dc=skole,dc=skolelinux,dc=no LDAP object.&lt;/li&gt;
12549 &lt;li&gt;Changed default host name on all networked machines to be unique
12550 (generated from MAC or reverse DNS) after boot.&lt;/li&gt;
12551 &lt;li&gt;Adjusted partition sizes to make sure they are big enough.&lt;/li&gt;
12552
12553 &lt;/ul&gt;
12554
12555 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
12556
12557 &lt;ul&gt;
12558
12559 &lt;li&gt;Grub is missing the new artwork.&lt;/li&gt;
12560 &lt;li&gt;KDE fail to understand the wpad.dat file provided, causing it to
12561 not use the http proxy as it should.&lt;/li&gt;
12562 &lt;li&gt;Chromium also fail to use the proxy.&lt;/li&gt;
12563
12564 &lt;/ul&gt;
12565
12566 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
12567
12568 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
12569
12570 &lt;ul&gt;
12571
12572 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso&lt;/a&gt;&lt;/li&gt;
12573
12574 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso&lt;/a&gt;&lt;/li&gt;
12575
12576 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso .&lt;/li&gt;
12577
12578 &lt;/ul&gt;
12579
12580 &lt;p&gt;The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
12581 &lt;br&gt;The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f&lt;/p&gt;
12582
12583 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
12584
12585 &lt;ul&gt;
12586
12587 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso&lt;/a&gt;&lt;/li&gt;
12588 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso&lt;/a&gt;&lt;/li&gt;
12589 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso .&lt;/li&gt;
12590
12591 &lt;/ul&gt;
12592
12593 &lt;p&gt;The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
12594 &lt;br&gt;The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733&lt;/p&gt;
12595
12596
12597 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
12598
12599 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;
12600 </description>
12601 </item>
12602
12603 <item>
12604 <title>How to fix a Thinkpad X230 with a broken 180 GB SSD disk</title>
12605 <link>http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html</link>
12606 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html</guid>
12607 <pubDate>Wed, 17 Jul 2013 23:50:00 +0200</pubDate>
12608 <description>&lt;p&gt;Today I switched to
12609 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html&quot;&gt;my
12610 new laptop&lt;/a&gt;. I&#39;ve previously written about the problems I had with
12611 my new Thinkpad X230, which was delivered with an
12612 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html&quot;&gt;180
12613 GB Intel SSD disk with Lenovo firmware&lt;/a&gt; that did not handle
12614 sustained writes. My hardware supplier have been very forthcoming in
12615 trying to find a solution, and after first trying with another
12616 identical 180 GB disks they decided to send me a 256 GB Samsung SSD
12617 disk instead to fix it once and for all. The Samsung disk survived
12618 the installation of Debian with encrypted disks (filling the disk with
12619 random data during installation killed the first two), and I thus
12620 decided to trust it with my data. I have installed it as a Debian Edu
12621 Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
12622 server at home using Kerberos and LDAP, and will use it as my work
12623 station from now on.&lt;/p&gt;
12624
12625 &lt;p&gt;As this is a solid state disk with no moving parts, I believe the
12626 Debian Wheezy default installation need to be tuned a bit to increase
12627 performance and increase life time of the disk. The Linux kernel and
12628 user space applications do not yet adjust automatically to such
12629 environment. To make it easier for my self, I created a draft Debian
12630 package &lt;tt&gt;ssd-setup&lt;/tt&gt; to handle this tuning. The
12631 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git&quot;&gt;source
12632 for the ssd-setup package&lt;/a&gt; is available from collab-maint, and it
12633 is set up to adjust the setup of the machine by just installing the
12634 package. If there is any non-SSD disk in the machine, the package
12635 will refuse to install, as I did not try to write any logic to sort
12636 file systems in SSD and non-SSD file systems.&lt;/p&gt;
12637
12638 &lt;p&gt;I consider the package a draft, as I am a bit unsure how to best
12639 set up Debian Wheezy with an SSD. It is adjusted to my use case,
12640 where I set up the machine with one large encrypted partition (in
12641 addition to /boot), put LVM on top of this and set up partitions on
12642 top of this again. See the README file in the package source for the
12643 references I used to pick the settings. At the moment these
12644 parameters are tuned:&lt;/p&gt;
12645
12646 &lt;ul&gt;
12647
12648 &lt;li&gt;Set up cryptsetup to pass TRIM commands to the physical disk
12649 (adding discard to /etc/crypttab)&lt;/li&gt;
12650
12651 &lt;li&gt;Set up LVM to pass on TRIM commands to the underlying device (in
12652 this case a cryptsetup partition) by changing issue_discards from
12653 0 to 1 in /etc/lvm/lvm.conf.&lt;/li&gt;
12654
12655 &lt;li&gt;Set relatime as a file system option for ext3 and ext4 file
12656 systems.&lt;/li&gt;
12657
12658 &lt;li&gt;Tell swap to use TRIM commands by adding &#39;discard&#39; to
12659 /etc/fstab.&lt;/li&gt;
12660
12661 &lt;li&gt;Change I/O scheduler from cfq to deadline using a udev rule.&lt;/li&gt;
12662
12663 &lt;li&gt;Run fstrim on every ext3 and ext4 file system every night (from
12664 cron.daily).&lt;/li&gt;
12665
12666 &lt;li&gt;Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
12667 to 50 to reduce the kernel eagerness to swap out processes.&lt;/li&gt;
12668
12669 &lt;/ul&gt;
12670
12671 &lt;p&gt;During installation, I cancelled the part where the installer fill
12672 the disk with random data, as this would kill the SSD performance for
12673 little gain. My goal with the encrypted file system is to ensure
12674 those stealing my laptop end up with a brick and not a working
12675 computer. I have no hope in keeping the really resourceful people
12676 from getting the data on the disk (see
12677 &lt;a href=&quot;http://xkcd.com/538/&quot;&gt;XKCD #538&lt;/a&gt; for an explanation why).
12678 Thus I concluded that adding the discard option to crypttab is the
12679 right thing to do.&lt;/p&gt;
12680
12681 &lt;p&gt;I considered using the noop I/O scheduler, as several recommended
12682 it for SSD, but others recommended deadline and a benchmark I found
12683 indicated that deadline might be better for interactive use.&lt;/p&gt;
12684
12685 &lt;p&gt;I also considered using the &#39;discard&#39; file system option for ext3
12686 and ext4, but read that it would give a performance hit ever time a
12687 file is removed, and thought it best to that that slowdown once a day
12688 instead of during my work.&lt;/p&gt;
12689
12690 &lt;p&gt;My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
12691 this is already done by Debian Edu.&lt;/p&gt;
12692
12693 &lt;p&gt;I have not yet started on the user space tuning. I expect
12694 iceweasel need some tuning, and perhaps other applications too, but
12695 have not yet had time to investigate those parts.&lt;/p&gt;
12696
12697 &lt;p&gt;The package should work on Ubuntu too, but I have not yet tested it
12698 there.&lt;/p&gt;
12699
12700 &lt;p&gt;As for the answer to the question in the title of this blog post,
12701 as far as I know, the only solution I know about is to replace the
12702 disk. It might be possible to flash it with Intel firmware instead of
12703 the Lenovo firmware. But I have not tried and did not want to do so
12704 without approval from Lenovo as I wanted to keep the warranty on the
12705 disk until a solution was found and they wanted the broken disks
12706 back.&lt;/p&gt;
12707 </description>
12708 </item>
12709
12710 <item>
12711 <title>Intel SSD 520 Series 180 GB with Lenovo firmware still lock up from sustained writes</title>
12712 <link>http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html</link>
12713 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html</guid>
12714 <pubDate>Wed, 10 Jul 2013 13:30:00 +0200</pubDate>
12715 <description>&lt;p&gt;A few days ago, I wrote about
12716 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html&quot;&gt;the
12717 problems I experienced with my new X230 and its SSD disk&lt;/a&gt;, which
12718 was dying during installation because it is unable to cope with
12719 sustained write. My supplier is in contact with
12720 &lt;a href=&quot;http://www.lenovo.com/&quot;&gt;Lenovo&lt;/a&gt;, and they wanted to send a
12721 replacement disk to try to fix the problem. They decided to send an
12722 identical model, so my hopes for a permanent fix was slim.&lt;/p&gt;
12723
12724 &lt;p&gt;Anyway, today I got the replacement disk and tried to install
12725 Debian Edu Wheezy with encrypted disk on it. The new disk have the
12726 same firmware version as the original. This time my hope raised
12727 slightly as the installation progressed, as the original disk used to
12728 die after 4-7% of the disk was written to, while this time it kept
12729 going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
12730 died again and I was back on square one. I still do not have a new
12731 laptop with a disk I can trust. I can not live with a disk that might
12732 lock up when I download a new
12733 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ISO or
12734 other large files. I look forward to hearing from my supplier with
12735 the next proposal from Lenovo.&lt;/p&gt;
12736
12737 &lt;p&gt;The original disk is marked Intel SSD 520 Series 180 GB,
12738 11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
12739 LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
12740 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
12741 SSDSC2BW180A3L 2.5&quot; 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
12742 P/N 45N8295, P0C38732.&lt;/p&gt;
12743
12744 &lt;p&gt;The replacement disk is marked Intel SSD 520 Series 180 GB,
12745 11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
12746 LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
12747 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
12748 SSDSC2BW180A3L 2.5&quot; 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
12749 P/N 45N8295, P0C38732.&lt;/p&gt;
12750
12751 &lt;p&gt;The only difference is in the first number (serial number?), ISN,
12752 SA, date and WNPP values. Mentioning all the details here in case
12753 someone is able to use the information to find a way to identify the
12754 failing disk among working ones (if any such working disk actually
12755 exist).&lt;/p&gt;
12756 </description>
12757 </item>
12758
12759 <item>
12760 <title>July 13th: Debian/Ubuntu BSP and Skolelinux/Debian Edu developer gathering in Oslo</title>
12761 <link>http://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html</link>
12762 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html</guid>
12763 <pubDate>Tue, 9 Jul 2013 10:40:00 +0200</pubDate>
12764 <description>&lt;p&gt;The upcoming Saturday, 2013-07-13, we are organising a combined
12765 Debian Edu developer gathering and Debian and Ubuntu bug squashing
12766 party in Oslo. It is organised by &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the
12767 member assosiation NUUG&lt;/a&gt; and
12768 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;the Debian Edu / Skolelinux
12769 project&lt;/a&gt; together with &lt;a href=&quot;http://bitraf.no/&quot;&gt;the hack space
12770 Bitraf&lt;/a&gt;.&lt;/p&gt;
12771
12772 &lt;p&gt;It starts 10:00 and continue until late evening. Everyone is
12773 welcome, and there is no fee to participate. There is on the other
12774 hand limited space, and only room for 30 people. Please put your name
12775 on &lt;a href=&quot;http://wiki.debian.org/BSP/2013/07/13/no/Oslo&quot;&gt;the event
12776 wiki page&lt;/a&gt; if you plan to join us.&lt;/p&gt;
12777 </description>
12778 </item>
12779
12780 <item>
12781 <title>The Thinkpad is dead, long live the Thinkpad X230?</title>
12782 <link>http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html</link>
12783 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html</guid>
12784 <pubDate>Fri, 5 Jul 2013 08:30:00 +0200</pubDate>
12785 <description>&lt;p&gt;Half a year ago, I reported that I had to find a
12786 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html&quot;&gt;replacement
12787 for my trusty old Thinkpad X41&lt;/a&gt;. Unfortunately I did not have much
12788 time to spend on it, and it took a while to find a model I believe
12789 will do the job, but two days ago the replacement finally arrived. I
12790 ended up picking a
12791 &lt;a href=&quot;http://www.linlap.com/lenovo_thinkpad_x230&quot;&gt;Thinkpad X230&lt;/a&gt;
12792 with SSD disk (NZDAJMN). I first test installed Debian Edu Wheezy as
12793 a roaming workstation, and it seemed to work flawlessly. But my
12794 second installation with encrypted disk was not as successful. More
12795 on that below.&lt;/p&gt;
12796
12797 &lt;p&gt;I had a hard time trying to track down a good laptop, as my most
12798 important requirements (robust and with a good keyboard) are never
12799 listed in the feature list. But I did get good help from the search
12800 feature at &lt;a href=&quot;http://www.prisjakt.no/&quot;&gt;Prisjakt&lt;/a&gt;, which
12801 allowed me to limit the list of interesting laptops based on my other
12802 requirements. A bit surprising that SSD disk are not disks according
12803 to that search interface, so I had to drop specifying the number of
12804 disks from my search parameters. I also asked around among friends to
12805 get their impression on keyboards and robustness.&lt;/p&gt;
12806
12807 &lt;p&gt;So the new laptop arrived, and it is quite a lot wider than the
12808 X41. I am not quite convinced about the keyboard, as it is
12809 significantly wider than my old keyboard, and I have to stretch my
12810 hand a lot more to reach the edges. But the key response is fairly
12811 good and the individual key shape is fairly easy to handle, so I hope
12812 I will get used to it. My old X40 was starting to fail, and I really
12813 needed a new laptop now. :)&lt;/p&gt;
12814
12815 &lt;p&gt;Turning off the touch pad was simple. All it took was a quick
12816 visit to the BIOS during boot it disable it.&lt;/p&gt;
12817
12818 &lt;p&gt;But there is a fatal problem with the laptop. The 180 GB SSD disk
12819 lock up during load. And this happen when installing Debian Wheezy
12820 with encrypted disk, while the disk is being filled with random data.
12821 I also tested to install Ubuntu Raring, and it happen there too if I
12822 reenable the code to fill the disk with random data (it is disabled by
12823 default in Ubuntu). And the bug with is already known. It was
12824 reported to Debian as &lt;a href=&quot;http://bugs.debian.org/691427&quot;&gt;BTS
12825 report #691427 2012-10-25&lt;/a&gt; (journal commit I/O error on brand-new
12826 Thinkpad T430s ext4 on lvm on SSD). It is also reported to the Linux
12827 kernel developers as
12828 &lt;a href=&quot;https://bugzilla.kernel.org/show_bug.cgi?id=51861&quot;&gt;Kernel bugzilla
12829 report #51861 2012-12-20&lt;/a&gt; (Intel SSD 520 stops working under load
12830 (SSDSC2BW180A3L in Lenovo ThinkPad T430s)). It is also reported on the
12831 Lenovo forums, both for
12832 &lt;a href=&quot;http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430s-Intel-SSD-520-180GB-issue/m-p/1070549&quot;&gt;T430
12833 2012-11-10&lt;/a&gt; and for
12834 &lt;a href=&quot;http://forums.lenovo.com/t5/X-Series-ThinkPad-Laptops/x230-SATA-errors-with-180GB-Intel-520-SSD-under-heavy-write-load/m-p/1068147&quot;&gt;X230
12835 03-20-2013&lt;/a&gt;. The problem do not only affect installation. The
12836 reports state that the disk lock up during use if many writes are done
12837 on the disk, so it is much no use to work around the installation
12838 problem and end up with a computer that can lock up at any moment.
12839 There is even a
12840 &lt;a href=&quot;https://git.efficios.com/?p=test-ssd.git&quot;&gt;small C program
12841 available&lt;/a&gt; that will lock up the hard drive after running a few
12842 minutes by writing to a file.&lt;/p&gt;
12843
12844 &lt;p&gt;I&#39;ve contacted my supplier and asked how to handle this, and after
12845 contacting PCHELP Norway (request 01D1FDP) which handle support
12846 requests for Lenovo, his first suggestion was to upgrade the disk
12847 firmware. Unfortunately there is no newer firmware available from
12848 Lenovo, as my disk already have the most recent one (version LF1i). I
12849 hope to hear more from him today and hope the problem can be
12850 fixed. :)&lt;/p&gt;
12851 </description>
12852 </item>
12853
12854 <item>
12855 <title>The Thinkpad is dead, long live the Thinkpad X230</title>
12856 <link>http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230.html</link>
12857 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230.html</guid>
12858 <pubDate>Thu, 4 Jul 2013 09:20:00 +0200</pubDate>
12859 <description>&lt;p&gt;Half a year ago, I reported that I had to find a replacement for my
12860 trusty old Thinkpad X41. Unfortunately I did not have much time to
12861 spend on it, but today the replacement finally arrived. I ended up
12862 picking a &lt;a href=&quot;http://www.linlap.com/lenovo_thinkpad_x230&quot;&gt;Thinkpad
12863 X230&lt;/a&gt; with SSD disk (NZDAJMN). I first test installed Debian Edu
12864 Wheezy as a roaming workstation, and it worked flawlessly. As I write
12865 this, it is installing what I hope will be a more final installation,
12866 with a encrypted hard drive to ensure any dope head stealing it end up
12867 with an expencive door stop.&lt;/p&gt;
12868
12869 &lt;p&gt;I had a hard time trying to track down a good laptop, as my most
12870 important requirements (robust and with a good keyboard) are never
12871 listed in the feature list. But I did get good help from the search
12872 feature at &lt;ahref=&quot;http://www.prisjakt.no/&quot;&gt;Prisjakt&lt;/a&gt;, which
12873 allowed me to limit the list of interesting laptops based on my other
12874 requirements. A bit surprising that SSD disk are not disks, so I had
12875 to drop number of disks from my search parameters.&lt;/p&gt;
12876
12877 &lt;p&gt;I am not quite convinced about the keyboard, as it is significantly
12878 wider than my old keyboard, and I have to stretch my hand a lot more
12879 to reach the edges. But the key response is fairly good and the
12880 individual key shape is fairly easy to handle, so I hope I will get
12881 used to it. My old X40 was starting to fail, and I really needed a
12882 new laptop now. :)&lt;/p&gt;
12883
12884 &lt;p&gt;I look forward to figuring out how to turn off the touch pad.&lt;/p&gt;
12885 </description>
12886 </item>
12887
12888 <item>
12889 <title>Fourth alpha release of Debian Edu/Skolelinux based on Debian Wheezy</title>
12890 <link>http://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
12891 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
12892 <pubDate>Wed, 3 Jul 2013 14:00:00 +0200</pubDate>
12893 <description>&lt;p&gt;The fourth wheezy based alpha release of Debian Edu was wrapped up
12894 today. This is the release announcement:&lt;/p&gt;
12895
12896 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.1+edu0~alpha3 released
12897 2013-07-03&lt;/strong&gt;&lt;/p&gt;
12898
12899 &lt;p&gt;These are the release notes for for Debian Edu / Skolelinux
12900 7.1+edu0~alpha3, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
12901
12902 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
12903
12904 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
12905 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
12906 out-of-the box environment of a completely configured school
12907 network. Immediately after installation a school server running all
12908 services needed for a school network is set up just waiting for users
12909 and machines being added via GOsa², a comfortable Web-UI. A netbooting
12910 environment is prepared using PXE, so after initial installation of
12911 the main server from CD, DVD or USB stick all other machines can be
12912 installed via the network. The provided school server provides LDAP
12913 database and Kerberos authentication service, centralized home
12914 directories, DHCP server, web proxy and many other services. The
12915 desktop contains
12916 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
12917 than 60 educational software packages&lt;/a&gt; and more are available from
12918 the Debian archive, and schools can choose between KDE, Gnome, LXDE
12919 and Xfce desktop environment.&lt;/p&gt;
12920
12921 &lt;p&gt;This is the fourth test release based on Debian Wheezy. Basically
12922 this is an updated and slightly improved version compared to the
12923 Squeeze release.&lt;/p&gt;
12924
12925 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
12926 &lt;ul&gt;
12927 &lt;li&gt;Dropped ispell dictionaries from our default installation.&lt;/li&gt;
12928 &lt;li&gt;Dropped menu-xdg from the KDE desktop option, to drop the Debian
12929 submenu. It was not included with Gnome, LXDE or Xfce, so this
12930 brings KDE in line with the others.&lt;/li&gt;
12931 &lt;li&gt;Dropped xdrawchem, xjig and xsok from our default installation as
12932 they don&#39;t have a desktop menu entry and thus won&#39;t show up in the
12933 menu now that menu-xdg was removed.&lt;/li&gt;
12934 &lt;li&gt;Removed the killer system to kill left behind processes on
12935 multi-user machines, as it was no longer able to understand when a
12936 X display was in use and killed the processes of the active users
12937 too.&lt;/li&gt;
12938 &lt;li&gt;Dropped the golearn (from goplay) package as the debtags in wheezy
12939 are too few to make the package useful.&lt;/li&gt;
12940 &lt;/ul&gt;
12941 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
12942 &lt;ul&gt;
12943 &lt;li&gt;Updated artwork matching http://wiki.debian.org/DebianArt/Themes/Joy
12944 &lt;li&gt;Multi-arch i386/amd64 USB stick ISO available.&lt;/li&gt;
12945 &lt;li&gt;Got rid of ispell/wordlist related debconf questions that showed
12946 up for some language options.&lt;/li&gt;
12947 &lt;li&gt;Switched to using http.debian.net as APT source by default.&lt;/li&gt;
12948 &lt;li&gt;Fixed proxy configuration on Main Server installations.&lt;/li&gt;
12949 &lt;li&gt;Changed LTSP setup to ask dpkg to use force-unsafe-io the same way
12950 d-i is doing it.&lt;/li&gt;
12951 &lt;li&gt;Made sure root and user passwords were not left behind in the
12952 debconf database after installation on Main Server installations.&lt;/li&gt;
12953 &lt;li&gt;Made Roaming Workstation dynamic setup more robust and added draft
12954 script setup-ad-client to hook a Roaming Workstation up to a
12955 Active Directory server instead of a Debian Edu Main Server.&lt;/li&gt;
12956 &lt;li&gt;Update system to install needed firmware packages during
12957 installation, to work properly in Wheezy.&lt;/li&gt;
12958 &lt;li&gt;Update system to handle hardware quirks (debian-edu-hwsetup).&lt;/li&gt;
12959 &lt;li&gt;Corrected PXE installation setup to properly pass selected desktop
12960 and keymap settings to PXE installation clients.&lt;/li&gt;
12961 &lt;li&gt;LTSP diskless workstations use sshfs by default, allowing them to
12962 work without adding them to DNS and NIS netgroups for NFS access.&lt;/li&gt;
12963 &lt;/ul&gt;
12964 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
12965 &lt;ul&gt;
12966 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
12967 available yet (698840).&lt;/li&gt;
12968 &lt;li&gt;Artwork not enabled for all desktops.&lt;/li&gt;
12969 &lt;/ul&gt;
12970 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
12971
12972 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
12973 &lt;ul&gt;
12974 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso&lt;/a&gt;&lt;/li&gt;
12975 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso&lt;/a&gt;&lt;/li&gt;
12976 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso .&lt;/li&gt;
12977 &lt;/ul&gt;
12978
12979 &lt;p&gt;The MD5SUM of this image is: 2b161a99d2a848c376d8d04e3854e30c
12980 &lt;br&gt;The SHA1SUM of this image is: 498922e9c508c0a7ee9dbe1dfe5bf830d779c3c8&lt;/p&gt;
12981
12982 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
12983 &lt;ul&gt;
12984 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso&lt;/a&gt;&lt;/li&gt;
12985 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso&lt;/a&gt;&lt;/li&gt;
12986 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso .&lt;/li&gt;
12987 &lt;/ul&gt;
12988
12989 &lt;p&gt;The MD5SUM of this image is: 25e808e403a4c15dbef1d13c37d572ac
12990 &lt;br&gt;The SHA1SUM of this image is: 15ecfc93eb6b4f453b7eb0bc04b6a279262d9721&lt;/p&gt;
12991
12992 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
12993
12994 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;&lt;/p&gt;
12995 </description>
12996 </item>
12997
12998 <item>
12999 <title>Automatically locate and install required firmware packages on Debian (Isenkram 0.4)</title>
13000 <link>http://people.skolelinux.org/pere/blog/Automatically_locate_and_install_required_firmware_packages_on_Debian__Isenkram_0_4_.html</link>
13001 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatically_locate_and_install_required_firmware_packages_on_Debian__Isenkram_0_4_.html</guid>
13002 <pubDate>Tue, 25 Jun 2013 11:50:00 +0200</pubDate>
13003 <description>&lt;p&gt;It annoys me when the computer fail to do automatically what it is
13004 perfectly capable of, and I have to do it manually to get things
13005 working. One such task is to find out what firmware packages are
13006 needed to get the hardware on my computer working. Most often this
13007 affect the wifi card, but some times it even affect the RAID
13008 controller or the ethernet card. Today I pushed version 0.4 of the
13009 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;Isenkram package&lt;/a&gt;
13010 including a new script isenkram-autoinstall-firmware handling the
13011 process of asking all the loaded kernel modules what firmware files
13012 they want, find debian packages providing these files and install the
13013 debian packages. Here is a test run on my laptop:&lt;/p&gt;
13014
13015 &lt;p&gt;&lt;pre&gt;
13016 # isenkram-autoinstall-firmware
13017 info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
13018 info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
13019 info: locating packages with the requested firmware files
13020 info: Updating APT sources after adding non-free APT source
13021 info: trying to install firmware-ipw2x00
13022 firmware-ipw2x00
13023 firmware-ipw2x00
13024 Preconfiguring packages ...
13025 Selecting previously deselected package firmware-ipw2x00.
13026 (Reading database ... 259727 files and directories currently installed.)
13027 Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
13028 Setting up firmware-ipw2x00 (0.28+squeeze1) ...
13029 #
13030 &lt;/pre&gt;&lt;/p&gt;
13031
13032 &lt;p&gt;When all the requested firmware is present, a simple message is
13033 printed instead:&lt;/p&gt;
13034
13035 &lt;p&gt;&lt;pre&gt;
13036 # isenkram-autoinstall-firmware
13037 info: did not find any firmware files requested by loaded kernel modules. exiting
13038 #
13039 &lt;/pre&gt;&lt;/p&gt;
13040
13041 &lt;p&gt;It could use some polish, but it is already working well and saving
13042 me some time when setting up new machines. :)&lt;/p&gt;
13043
13044 &lt;p&gt;So, how does it work? It look at the set of currently loaded
13045 kernel modules, and look up each one of them using modinfo, to find
13046 the firmware files listed in the module meta-information. Next, it
13047 download the Contents file from a nearby APT mirror, and search for
13048 the firmware files in this file to locate the package with the
13049 requested firmware file. If the package is in the non-free section, a
13050 non-free APT source is added and the package is installed using
13051 &lt;tt&gt;apt-get install&lt;/tt&gt;. The end result is a slightly better working
13052 machine.&lt;/p&gt;
13053
13054 &lt;p&gt;I hope someone find time to implement a more polished version of
13055 this script as part of the hw-detect debian-installer module, to
13056 finally fix &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;BTS report
13057 #655507&lt;/a&gt;. There really is no need to insert USB sticks with
13058 firmware during a PXE install when the packages already are available
13059 from the nearby Debian mirror.&lt;/p&gt;
13060 </description>
13061 </item>
13062
13063 <item>
13064 <title>The value of a good distro wide test suite...</title>
13065 <link>http://people.skolelinux.org/pere/blog/The_value_of_a_good_distro_wide_test_suite___.html</link>
13066 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_value_of_a_good_distro_wide_test_suite___.html</guid>
13067 <pubDate>Sat, 22 Jun 2013 07:00:00 +0200</pubDate>
13068 <description>&lt;p&gt;In the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
13069 Skolelinux&lt;/a&gt; project, we include a post-installation test suite,
13070 which check that services are running, working, and return the
13071 expected results. It runs automatically just after the first boot on
13072 test installations (using test ISOs), but not on production
13073 installations (using non-test ISOs). It test that the LDAP service is
13074 operating, Kerberos is responding, DNS is replying, file systems are
13075 online resizable, etc, etc. And it check that the PXE service is
13076 configured, which is the topic of this post.&lt;/p&gt;
13077
13078 &lt;p&gt;The last week I&#39;ve fixed the DVD and USB stick ISOs for our Debian
13079 Edu Wheezy release. These ISOs are supposed to be able to install a
13080 complete system without any Internet connection, but for that to
13081 happen all the needed packages need to be on them. Thanks to our test
13082 suite, I discovered that we had forgotten to adjust our PXE setup to
13083 cope with the new names and paths used by the netboot d-i packages.
13084 When Internet connectivity was available, the installer fall back to
13085 using wget to fetch d-i boot images, but when offline it require
13086 working packages to get it working. And the packages changed name
13087 from debian-installer-6.0-netboot-$arch to
13088 debian-installer-7.0-netboot-$arch, we no longer pulled in the
13089 packages during installation. Without our test suite, I suspect we
13090 would never have discovered this before release. Now it is fixed
13091 right after we got the ISOs operational.&lt;/p&gt;
13092
13093 &lt;p&gt;Another by-product of the test suite is that we can ask system
13094 administrators with problems getting Debian Edu to work, to run the
13095 test suite using &lt;tt&gt;/usr/sbin/debian-edu-test-install&lt;/tt&gt; and see if
13096 any errors are detected. This usually pinpoint the subsystem causing
13097 the problem.&lt;/p&gt;
13098
13099 &lt;p&gt;If you want to help us help kids learn how to share and create,
13100 please join us on
13101 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu on
13102 irc.debian.org&lt;/a&gt; and the
13103 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;debian-edu@&lt;/a&gt; mailing
13104 list.&lt;/p&gt;
13105 </description>
13106 </item>
13107
13108 <item>
13109 <title>Debian Edu interview: Victor Nițu</title>
13110 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html</link>
13111 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html</guid>
13112 <pubDate>Mon, 17 Jun 2013 10:50:00 +0200</pubDate>
13113 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
13114 Skolelinux&lt;/a&gt; distribution have users and contributors all around the
13115 globe. And a while back, an enterprising young man showed up on
13116 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;our IRC channel
13117 #debian-edu&lt;/a&gt; and started asking questions about how Debian Edu
13118 worked. We answered as good as we could, and even convinced him to
13119 help us with translations. And today I managed to get an interview
13120 with him, to learn more about him.&lt;/p&gt;
13121
13122 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
13123
13124 &lt;p&gt;I&#39;m a 25 year old free software enthusiast, living in Romania,
13125 which is also my country of origin. Back in 2009, at a New Year&#39;s Eve
13126 party, I had a very nice &lt;strike&gt;beer&lt;/strike&gt; discussion with a
13127 friend, when we realized we have no organised Debian community in our
13128 country. A few days later, we put together the infrastructure for such
13129 community and even gathered a nice Debian-ish crowd. Since then, I
13130 began my quest as a free software hacker and activist and I am
13131 constantly trying to cover as much ground as possible on that
13132 field.&lt;/p&gt;
13133
13134 &lt;p&gt;A few years ago I founded a small web development company, which
13135 provided me the flexible schedule I needed so much for my
13136 activities. For the last 13 months, I have been the Technical Director
13137 of &lt;a href=&quot;http://ceata.org/&quot;&gt;Fundația Ceata&lt;/a&gt;, which is a free
13138 software activist organisation endorsed by the FSF and the FSFE, and
13139 the only one we have in our country.&lt;/p&gt;
13140
13141 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
13142 project?&lt;/strong&gt;&lt;/p&gt;
13143
13144 &lt;p&gt;The idea of participating in the Debian Edu project was a surprise
13145 even to me, since I never used it before I began getting involved in
13146 it. This year I had a great opportunity to deliver a talk on
13147 educational software, and I knew immediately where to look. It was a
13148 love at first sight, since I was previously involved with some of the
13149 technologies the project incorporates, and I rapidly found a lot of
13150 ways to contribute.&lt;/p&gt;
13151
13152 &lt;p&gt;My first contributions consisted in translating the installer and
13153 configuration dialogs, then I found some bugs to squash (I still
13154 haven&#39;t fixed them yet though), and I even got my eyes on some other
13155 areas where I can prove myself helpful. Since the appetite for free
13156 software in my country is pretty low, I&#39;ll be happy to be the first
13157 one around here advocating for the project&#39;s adoption in educational
13158 environments, and maybe even get my hands dirty in creating a flavour
13159 for our own needs. I am not used to make very advanced plannings, so
13160 from now on, time will tell what I&#39;ll be doing next, but I think I
13161 have a pretty consistent starting point.&lt;/p&gt;
13162
13163 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
13164 Edu?&lt;/strong&gt;&lt;/p&gt;
13165
13166 &lt;p&gt;Not a long time ago, I was in the position of configuring and
13167 maintaining a LDAP server on some Debian derivative, and I must say it
13168 took me a while. A long time ago, I was maintaining a bigger
13169 Samba-powered infrastructure, and I must say I spent quite a lot of
13170 time on it. I have similar stories about many of the services included
13171 with Skolelinux, and the main advantage I see about it is the
13172 out-of-the box availability of them, making it quite competitive when
13173 it comes to managing a school&#39;s network, for example.&lt;/p&gt;
13174
13175 &lt;p&gt;Of course, there is more to say about Skolelinux than the
13176 availability of the software included, its flexibility in various
13177 scenarios is something I can&#39;t wait to experiment &quot;into the wild&quot; (I
13178 only played with virtual machines so far). And I am sure there is a
13179 lot more I haven&#39;t discovered yet about it, being so new within the
13180 project.&lt;/p&gt;
13181
13182 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
13183 Edu?&lt;/strong&gt;&lt;/p&gt;
13184
13185 &lt;p&gt;As usual, when it comes to Debian Blends, I see as the biggest
13186 disadvantage the lack of a numerous team dedicated to the
13187 project. Every day I see the same names in the changelogs, and I have
13188 a constantly fear of the bus factor in this story. I&#39;d like to see
13189 Debian Edu advertised more as an entry point into the Debian
13190 ecosystem, especially amongst newcomers and students. IMHO there are a
13191 lot low-hanging fruits in terms of bug squashing, and enough
13192 opportunities to get the feeling of the Debian Project&#39;s dynamics. Not
13193 to mention it&#39;s a very fun blend to work on!&lt;/p&gt;
13194
13195 &lt;p&gt;Derived from the previous statement, is the delay in catching up
13196 with the main Debian release and documentation. This is common though
13197 to all blends and derivatives, but it&#39;s an issue we can all work
13198 on.&lt;/p&gt;
13199
13200 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
13201
13202 &lt;p&gt;I can hardly imagine myself spending a day without Vim, since my
13203 daily routine covers writing code and hacking configuration files. I
13204 am a fan of the Awesome window manager (but I also like the
13205 Enlightenment project a lot!),
13206 &lt;a href=&quot;http://www.claws-mail.org/‎&quot;&gt;Claws Mail&lt;/a&gt; due to its ease of
13207 use and very configurable behaviour. Recently I fell in love with
13208 &lt;a href=&quot;https://launchpad.net/redshift&quot;&gt;Redshift&lt;/a&gt;, which helps me
13209 get through the night without headaches. Of course, there is much more
13210 stuff in this bag, but I&#39;ll need a blog on my own for doing this!&lt;/p&gt;
13211
13212 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
13213 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
13214
13215 &lt;p&gt;Well, on this field, I cannot do much more than experiment right
13216 now. So, being far from having a recipe for success, I can only assume
13217 that:&lt;/p&gt;
13218
13219 &lt;ul&gt;
13220
13221 &lt;li&gt;schools would like to get rid of proprietary software&lt;/li&gt;
13222
13223 &lt;li&gt;students will love the openness of the system, and will want to
13224 experiment with it - maybe we need to harvest the native curiosity
13225 of teenagers more?&lt;/li&gt;
13226
13227 &lt;li&gt;there is no &quot;right one&quot; when it comes to strategies, but it would
13228 be useful to have some success stories published somewhere, so
13229 other can get some inspiration from them (I know I&#39;d promote
13230 them!)&lt;/li&gt;
13231
13232 &lt;li&gt;more active promotion - talks, conferences, even small school
13233 lectures can do magical things if they encounter at least one
13234 person interested. Who knows who that person might be? ;-)&lt;/li&gt;
13235
13236 &lt;/ul&gt;
13237
13238 &lt;p&gt;I also see some problems in getting Skolelinux into schools; for
13239 example, in our country we have a great deal of corruption issues, so
13240 it might be hard(er) to fight against proprietary solutions. Also,
13241 people who relied on commercial software for all their lives, would be
13242 very hard to convert against their will.&lt;/p&gt;
13243 </description>
13244 </item>
13245
13246 <item>
13247 <title>Debian Edu interview: Jonathan Carter</title>
13248 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html</link>
13249 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html</guid>
13250 <pubDate>Wed, 12 Jun 2013 09:50:00 +0200</pubDate>
13251 <description>&lt;p&gt;There is a certain cross-over between the
13252 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
13253 project&lt;/a&gt; and &lt;a href=&quot;http://www.edubuntu.org/&quot;&gt;the Edubuntu
13254 project&lt;/a&gt;, and for example the LTSP packages in Debian are a joint
13255 effort between the projects. One person with a foot in both camps is
13256 Jonathan Carter, which I am now happy to present to you.&lt;/p&gt;
13257
13258 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
13259
13260 &lt;p&gt;I&#39;m a South-African free software geek who lives in Cape Town. My
13261 days vary quite a bit since I&#39;m involved in too many things. As I&#39;m
13262 getting older I&#39;m learning how to focus a bit more :)&lt;/p&gt;
13263
13264 &lt;p&gt;I&#39;m also an Edubuntu contributor and I love when there are
13265 opportunities for the Edubuntu and Debian Edu projects to benefit from
13266 each other.&lt;/p&gt;
13267
13268 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
13269 project?&lt;/strong&gt;&lt;/p&gt;
13270
13271 &lt;p&gt;I&#39;ve been somewhat familiar with the project before, but I think my
13272 first direct exposure to the project was when I met Petter
13273 [Reinholdtsen] and Knut [Yrvin] at the Edubuntu summit in 2005 in
13274 London. They provided great feedback that helped the bootstrapping of
13275 Edubuntu. Back then Edubuntu (and even Ubuntu) was still very new and
13276 it was great getting input from people who have been around longer. I
13277 was also still very excitable and said yes to everything and to this
13278 day I have a big todo list backlog that I&#39;m catching up with. I think
13279 over the years the relationship between Edubuntu and Debian-Edu has
13280 been gradually improving, although I think there&#39;s a lot that we could
13281 still improve on in terms of working together on packages. I&#39;m sure
13282 we&#39;ll get there one day.&lt;/p&gt;
13283
13284 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
13285 Edu?&lt;/strong&gt;&lt;/p&gt;
13286
13287 &lt;p&gt;Debian itself already has so many advantages. I could go on about
13288 it for pages, but in essence I love that it&#39;s a very honest project
13289 that puts its users first with no hidden agendas and also produces
13290 very high quality work.&lt;/p&gt;
13291
13292 &lt;p&gt;I think the advantage of Debian Edu is that it makes many common
13293 set-up tasks simpler so that administrators can get up and running
13294 with a lot less effort and frustration. At the same time I think it
13295 helps to standardise installations in schools so that it&#39;s easier for
13296 community members and commercial suppliers to support.&lt;/p&gt;
13297
13298 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
13299 Edu?&lt;/strong&gt;&lt;/p&gt;
13300
13301 &lt;p&gt;I had to re-type this one a few times because I&#39;m trying to
13302 separate &quot;disadvantages&quot; from &quot;areas that need improvement&quot; (which is
13303 what I originally rambled on about)&lt;/p&gt;
13304
13305 &lt;p&gt;The biggest disadvantage I can think of is lack of manpower. The
13306 project could do so much more if there were more good contributors. I
13307 think some of the problems are external too. Free software and free
13308 content in education is a no-brainer but it takes some time to catch
13309 on. When you&#39;ve been working with the same proprietary eco-system for
13310 years and have gotten used to it, it can be hard to adjust to some
13311 concepts in the free software world. It would be nice if there were
13312 more Debian Edu consultants across the world. I&#39;d love to be one
13313 myself but I&#39;m already so over-committed that it&#39;s just not possible
13314 currently.&lt;/p&gt;
13315
13316 &lt;p&gt;I think the best short-term solution to that large-scale problem is
13317 for schools to be pro-active and share their experiences and grow
13318 their skills in-house. I&#39;m often saddened to see how much money
13319 educational institutions spend on 3rd party solutions that they don&#39;t
13320 have access to after the service has ended and they could&#39;ve gotten so
13321 much more value otherwise by being more self-sustainable and
13322 autonomous.&lt;/p&gt;
13323
13324 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
13325
13326 &lt;p&gt;My main laptop dual-boots between Debian and Windows 7. I was
13327 Windows free for years but started dual-booting again last year for
13328 some games which help me focus and relax (Starcraft II in
13329 particular). Gaming support on Linux is improving in leaps and bounds
13330 so I suppose I&#39;ll soon be able to regain that disk space :)&lt;/p&gt;
13331
13332 &lt;p&gt;Besides that I rely on Icedove, Chromium, Terminator, Byobu, irssi,
13333 git, Tomboy, KVM, VLC and LibreOffice. Recently I&#39;ve been torn on
13334 which desktop environment I like and I&#39;m taking some refuge in Xfce
13335 while I figure that out. I like tools that keep things simple. I enjoy
13336 Python and shell scripting. I went to an Arduino workshop recently and
13337 it was awesome seeing how easy and simple the IDE software was to get
13338 up and running in Debian compared to the users running Windows and OS
13339 X.&lt;/p&gt;
13340
13341 &lt;p&gt;I also use mc which some people frown upon slightly. I got used to
13342 using Norton Commander in the early 90&#39;s and it stuck (I think the
13343 people who sneer at it is just jealous that they don&#39;t know how to use
13344 it :p)
13345
13346 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
13347 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
13348
13349 &lt;p&gt;I think trying to force it is unproductive. I also think that in
13350 many cases it&#39;s appropriate for schools to use non-free systems and I
13351 don&#39;t think that there&#39;s any particular moral or ethical problem with
13352 that.&lt;/p&gt;
13353
13354 &lt;p&gt;I do think though that free software can already solve so so many
13355 problems in educational institutions and it&#39;s just a shame not taking
13356 advantage of that.&lt;/p&gt;
13357
13358 &lt;p&gt;I also think that some curricula need serious review. For example,
13359 some areas of the world rely heavily on very specific versions of MS
13360 Office, teaching students to parrot menu items instead of learning the
13361 general concepts. I think that&#39;s very unproductive because firstly, MS
13362 Office&#39;s interface changes drastically every few years and on top of
13363 that it also locks in a generation to a product that might not be the
13364 best solution for them.&lt;/p&gt;
13365
13366 &lt;p&gt;To answer your question, I believe that the right strategy is to
13367 educate and inform, giving someone the information they require to
13368 make a decision that would work for them.&lt;/p&gt;
13369 </description>
13370 </item>
13371
13372 <item>
13373 <title>Fixing the Linux black screen of death on machines with Intel HD video</title>
13374 <link>http://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html</link>
13375 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html</guid>
13376 <pubDate>Tue, 11 Jun 2013 11:00:00 +0200</pubDate>
13377 <description>&lt;p&gt;When installing RedHat, Fedora, Debian and Ubuntu on some machines,
13378 the screen just turn black when Linux boot, either during installation
13379 or on first boot from the hard disk. I&#39;ve seen it once in a while the
13380 last few years, but only recently understood the cause. I&#39;ve seen it
13381 on HP laptops, and on my latest acquaintance the Packard Bell laptop.
13382 The reason seem to be in the wiring of some laptops. The system to
13383 control the screen background light is inverted, so when Linux try to
13384 turn the brightness fully on, it end up turning it off instead. I do
13385 not know which Linux drivers are affected, but this post is about the
13386 i915 driver used by the
13387 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Packard Bell
13388 EasyNote LV&lt;/a&gt;, Thinkpad X40 and many other laptops.&lt;/p&gt;
13389
13390 &lt;p&gt;The problem can be worked around two ways. Either by adding
13391 i915.invert_brightness=1 as a kernel option, or by adding a file in
13392 /etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
13393 option when it load the i915 kernel module. On Debian and Ubuntu, it
13394 can be done by running these commands as root:&lt;/p&gt;
13395
13396 &lt;pre&gt;
13397 echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
13398 update-initramfs -u -k all
13399 &lt;/pre&gt;
13400
13401 &lt;p&gt;Since March 2012 there is
13402 &lt;a href=&quot;http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955&quot;&gt;a
13403 mechanism in the Linux kernel&lt;/a&gt; to tell the i915 driver which
13404 hardware have this problem, and get the driver to invert the
13405 brightness setting automatically. To use it, one need to add a row in
13406 &lt;a href=&quot;http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_display.c&quot;&gt;the
13407 intel_quirks array&lt;/a&gt; in the driver source
13408 &lt;tt&gt;drivers/gpu/drm/i915/intel_display.c&lt;/tt&gt; (look for &quot;&lt;tt&gt;static
13409 struct intel_quirk intel_quirks&lt;/tt&gt;&quot;), specifying the PCI device
13410 number (vendor number 8086 is assumed) and subdevice vendor and device
13411 number.&lt;/p&gt;
13412
13413 &lt;p&gt;My Packard Bell EasyNote LV got this output from &lt;tt&gt;lspci
13414 -vvnn&lt;/tt&gt; for the video card in question:&lt;/p&gt;
13415
13416 &lt;p&gt;&lt;pre&gt;
13417 00:02.0 VGA compatible controller [0300]: Intel Corporation \
13418 3rd Gen Core processor Graphics Controller [8086:0156] \
13419 (rev 09) (prog-if 00 [VGA controller])
13420 Subsystem: Acer Incorporated [ALI] Device [1025:0688]
13421 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
13422 ParErr- Stepping- SE RR- FastB2B- DisINTx+
13423 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast &gt;TAbort- \
13424 &lt;TAbort- &lt;MAbort-&gt;SERR- &lt;PERR- INTx-
13425 Latency: 0
13426 Interrupt: pin A routed to IRQ 42
13427 Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
13428 Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
13429 Region 4: I/O ports at 4000 [size=64]
13430 Expansion ROM at &lt;unassigned&gt; [disabled]
13431 Capabilities: &lt;access denied&gt;
13432 Kernel driver in use: i915
13433 &lt;/pre&gt;&lt;/p&gt;
13434
13435 &lt;p&gt;The resulting intel_quirks entry would then look like this:&lt;/p&gt;
13436
13437 &lt;p&gt;&lt;pre&gt;
13438 struct intel_quirk intel_quirks[] = {
13439 ...
13440 /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
13441 { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
13442 ...
13443 }
13444 &lt;/pre&gt;&lt;/p&gt;
13445
13446 &lt;p&gt;According to the kernel module instructions (as seen using
13447 &lt;tt&gt;modinfo i915&lt;/tt&gt;), information about hardware needing the
13448 invert_brightness flag should be sent to the
13449 &lt;a href=&quot;http://lists.freedesktop.org/mailman/listinfo/dri-devel&quot;&gt;dri-devel
13450 (at) lists.freedesktop.org&lt;/a&gt; mailing list to reach the kernel
13451 developers. But my email about the laptop sent 2013-06-03 have not
13452 yet shown up in
13453 &lt;a href=&quot;http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html&quot;&gt;the
13454 web archive for the mailing list&lt;/a&gt;, so I suspect they do not accept
13455 emails from non-subscribers. Because of this, I sent my patch also to
13456 the Debian bug tracking system instead as
13457 &lt;a href=&quot;http://bugs.debian.org/710938&quot;&gt;BTS report #710938&lt;/a&gt;, to make
13458 sure the patch is not lost.&lt;/p&gt;
13459
13460 &lt;p&gt;Unfortunately, it is not enough to fix the kernel to get Laptops
13461 with this problem working properly with Linux. If you use Gnome, your
13462 worries should be over at this point. But if you use KDE, there is
13463 something in KDE ignoring the invert_brightness setting and turning on
13464 the screen during login. I&#39;ve reported it to Debian as
13465 &lt;a href=&quot;http://bugs.debian.org/711237&quot;&gt;BTS report #711237&lt;/a&gt;, and
13466 have no idea yet how to figure out exactly what subsystem is doing
13467 this. Perhaps you can help? Perhaps you know what the Gnome
13468 developers did to handle this, and this can give a clue to the KDE
13469 developers? Or you know where in KDE the screen brightness is changed
13470 during login? If so, please update the BTS report (or get in touch if
13471 you do not know how to update BTS).&lt;/p&gt;
13472
13473 &lt;p&gt;Update 2013-07-19: The correct fix for this machine seem to be
13474 acpi_backlight=vendor, to disable ACPI backlight support completely,
13475 as the ACPI information on the machine is trash and it is better to
13476 leave it to the intel video driver to control the screen
13477 backlight.&lt;/p&gt;
13478 </description>
13479 </item>
13480
13481 <item>
13482 <title>Third alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
13483 <link>http://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
13484 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
13485 <pubDate>Mon, 10 Jun 2013 22:50:00 +0200</pubDate>
13486 <description>&lt;p&gt;The third wheezy based alpha release of Debian Edu was wrapped up
13487 today. This is the release announcement:&lt;/p&gt;
13488
13489 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.0.0 alpha2 released
13490 2013-06-10&lt;/strong&gt;&lt;/p&gt;
13491
13492 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
13493 alpha2, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
13494
13495 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
13496
13497 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
13498 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
13499 out-of-the box environment of a completely configured school
13500 network. Immediately after installation a school server running all
13501 services needed for a school network is set up just waiting for users
13502 and machines being added via GOsa², a comfortable Web-UI. A netbooting
13503 environment is prepared using PXE, so after initial installation of
13504 the main server from CD, DVD or USB stick all other machines can be
13505 installed via the network. The provided school server provides LDAP
13506 database and Kerberos authentication service, centralized home
13507 directories, DHCP server, web proxy and many other services. The
13508 desktop contains
13509 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
13510 than 60 educational software packages&lt;/a&gt; and more are available from
13511 the Debian archive, and schools can choose between KDE, Gnome, LXDE
13512 and Xfce desktop environment.&lt;/p&gt;
13513
13514 &lt;p&gt;This is the third test release based on Debian Wheezy. Basically
13515 this is an updated and slightly improved version compared to the
13516 Squeeze release.&lt;/p&gt;
13517
13518 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
13519
13520 &lt;ul&gt;
13521
13522 &lt;li&gt;Iceweasel was updated from 10 to 17. (DSA 2699-1)
13523 &lt;li&gt;Updated libxv (DSA-2674), libxvmc (DSA-2675), libxfixes (DSA-2676), libxrender (DSA-2677), mesa (DSA-2678), xserver-xorg-video-openchrome (DSA-2679), libxt (DSA-2680), libxcursor (DSA-2681), libxext (DSA-2682), libxi (DSA-2683), libxrandr (DSA-2684), libxp (DSA-2685), libxcb (DSA-2686), libfs (DSA-2687), libxres (DSA-2688), libxtst (DSA-2689), libxxf86dga (DSA-2690), libxinerama (DSA-2691), libxxf86vm (DSA-2692), libx11 (DSA-2693), chromium-browser (DSA-2695), gnutls26 (DSA-2697), wireshark (DSA-2700), krb5 (DSA-2701), telepathy-gabble (DSA-2702) and subversion (DSA-2703).
13524 &lt;li&gt;Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
13525 &lt;li&gt;Now install software oscilloscope xoscope by default.
13526 &lt;li&gt;Now install music tools gtick, lingot and pianobooster by default.
13527
13528 &lt;/ul&gt;
13529
13530 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
13531
13532 &lt;ul&gt;
13533
13534 &lt;li&gt;The subnet-change script is now able to change all files needing a change on the main-server when changing the IP network used.
13535 &lt;li&gt;Updated translation of the installation.
13536 &lt;li&gt;New Romanian translation.
13537 &lt;li&gt;Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
13538 &lt;li&gt;Fix roaming workstation setup (Closed in libpam-mklocaluser/0.8, libpam-mklocaluser/0.8~deb7u1: #706753: libpam-mklocaluser: Fail to create local user during first login).
13539 &lt;li&gt;Made roaming workstation setup more robust in non-Debian Edu environments.
13540 &lt;li&gt;New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
13541 &lt;li&gt;Adjust Iceweasel setup to improve performance when $HOME is on NFS.
13542 &lt;li&gt;More testsuite tests.
13543 &lt;li&gt;Make automatic proxy configuration more robust.
13544 &lt;li&gt;Adjust GOsa² GUI configuration.
13545
13546 &lt;li&gt;Update thin client and diskless workstation setup to work with
13547 LTSP in Wheezy.&lt;/li&gt;
13548
13549 &lt;li&gt;Diskless workstations now run out of the box -- no need to set
13550 them up with GOsa².&lt;/li&gt;
13551
13552 &lt;li&gt;Update IMAP server setup. &lt;/li&gt;
13553
13554 &lt;li&gt;Fix login into Skolelinux Backup Tool (Closed in
13555 slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
13556 entered password). &lt;/li&gt;
13557
13558 &lt;/ul&gt;
13559
13560 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
13561
13562 &lt;ul&gt;
13563
13564 &lt;li&gt;DVD binary and source images are not yet ready.&lt;/li&gt;
13565
13566 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
13567 available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
13568 missing import feature).&lt;/li&gt;
13569
13570 &lt;li&gt;Missing artwork for the KDE desktop (and probably a few others). &lt;/li&gt;
13571
13572 &lt;li&gt;KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
13573 own icon names instead of using existing). This will remain
13574 unfixed.&lt;/li&gt;
13575
13576 &lt;/ul&gt;
13577
13578 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
13579
13580 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
13581
13582 &lt;ul&gt;
13583
13584 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso&lt;/a&gt;&lt;/li&gt;
13585
13586 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso&lt;/a&gt;&lt;/li&gt;
13587
13588 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .&lt;/li&gt;
13589
13590 &lt;/ul&gt;
13591
13592 &lt;p&gt;The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
13593 &lt;br&gt;The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419&lt;/p&gt;
13594
13595 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
13596
13597 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;
13598 </description>
13599 </item>
13600
13601 <item>
13602 <title>Is there a PHP expert in the building? Debian Edu need help!</title>
13603 <link>http://people.skolelinux.org/pere/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html</link>
13604 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html</guid>
13605 <pubDate>Wed, 5 Jun 2013 17:50:00 +0200</pubDate>
13606 <description>&lt;p&gt;Here is a call for help from the Debian Edu / Skolelinux project.
13607 We have two problems blocking the release of the Wheezy version we
13608 hope to get released soon. The two problems require some with PHP
13609 skills, and we seem to lack anyone with both time and PHP skills in
13610 the project:
13611
13612 &lt;ol&gt;
13613
13614 &lt;li&gt;It is impossible to log into the slbackup web interface
13615 (slbackup-php) using the root user and password. This is
13616 &lt;a href=&quot;http://bugs.debian.org/700257&quot;&gt;BTS report #700257&lt;/a&gt;.
13617 This used to work, but stopped working some time since Squeeze.
13618 Perhaps some obsolete PHP feature was used?&lt;/li&gt;
13619
13620 &lt;li&gt;It is not possible to &quot;mass import&quot; user lists in Gosa, neither
13621 using ldif nor using CSV files. The feature was disabled after a
13622 major rewrite of Gosa, and need to be ported to the new system.
13623 This is &lt;a href=&quot;http://bugs.debian.org/698840&quot;&gt;BTS report
13624 #698840&lt;/a&gt;.&lt;/li&gt;
13625
13626 &lt;/ol&gt;
13627
13628 &lt;p&gt;If you can help us, please join us on IRC
13629 (&lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu on
13630 irc.debian.org&lt;/a&gt;) and provide patches via the BTS.&lt;/p&gt;
13631 </description>
13632 </item>
13633
13634 <item>
13635 <title>Debian Edu interview: Cédric Boutillier</title>
13636 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html</link>
13637 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html</guid>
13638 <pubDate>Tue, 4 Jun 2013 10:30:00 +0200</pubDate>
13639 <description>&lt;p&gt;It has been a while since my last English
13640 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
13641 interview last November. But the developers and translators are still
13642 pulling along to get the Wheezy based release out the door, and this
13643 time I managed to get an interview from one of the French translators
13644 in the project, Cédric Boutillier.&lt;/p&gt;
13645
13646 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
13647
13648 &lt;p&gt;I am 34 year old. I live near Paris, France. I am an assistant
13649 professor in probability theory. I spend my daytime teaching
13650 mathematics at the university and doing fundamental research in
13651 probability in connexion with combinatorics and statistical physics.&lt;/p&gt;
13652
13653 &lt;p&gt;I have been involved in the Debian project for a couple of years
13654 and became Debian Developer a few months ago. I am working on Ruby
13655 packaging, publicity and translation.&lt;/p&gt;
13656
13657 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
13658 project?&lt;/strong&gt;&lt;/p&gt;
13659
13660 &lt;p&gt;I came to the Debian Edu project after a call for translation of
13661 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Manuals&quot;&gt;the
13662 Debian Edu manual&lt;/a&gt; for the release of Debian Edu Squeeze. Since
13663 then, I have been working on updating the French translation of the
13664 manual.
13665
13666 &lt;p&gt;I had the opportunity to make an installation of Debian Edu in a
13667 virtual machine when I was preparing localised version of some screen
13668 shots for the manual. I was amazed to see it worked out of the box and
13669 how comprehensive the list of software installed by default was.&lt;/p&gt;
13670
13671 &lt;p&gt;What amazed me was the complete network infrastructure directly
13672 ready to use, which can and the nice administration interface provided
13673 by &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa²&lt;/a&gt;. What pleased
13674 me also was the fact that among the software installed by default,
13675 there were many &quot;traditional&quot; educative software to learn languages,
13676 to count, to program... but also software to develop creativity and
13677 artistic skills with music (&lt;a href=&quot;http://ardour.org/&quot;&gt;Ardour&lt;/a&gt;,
13678 &lt;a href=&quot;http://audacity.sourceforge.net/&quot;&gt;Audacity&lt;/a&gt;) and
13679 movies/animation (I was especially thinking of
13680 &lt;a href=&quot;http://linuxstopmotion.sourceforge.net/&quot;&gt;Stopmotion&lt;/a&gt;).&lt;/p&gt;
13681
13682 &lt;p&gt;I am following the development of Debian Edu and am hanging out on
13683 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu&lt;/a&gt;.
13684 Unfortunately, I don&#39;t much time to get more involved in this
13685 beautiful project.&lt;/p&gt;
13686
13687 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
13688 Edu?&lt;/strong&gt;&lt;/p&gt;
13689
13690 &lt;p&gt;For me, the main advantages of Skolelinux/Debian Edu are its
13691 community of experts and its precise documentation, as well as the
13692 fact that it provides a solution ready to use.&lt;/p&gt;
13693
13694 &lt;p&gt;I would add also the fact that it is based on the rock solid Debian
13695 distribution, which ensures stability and provides a huge collection
13696 of educational free software.&lt;/p&gt;
13697
13698 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
13699 Edu?&lt;/strong&gt;&lt;/p&gt;
13700
13701 &lt;p&gt;Maybe the lack of manpower to do lobbying on the
13702 project. Sometimes, people who need to take decisions concerning IT do
13703 not have all the elements to evaluate properly free software
13704 solutions. The fact that support by a company may be difficult to find
13705 is probably a problem if the school does not have IT personnel.&lt;/p&gt;
13706
13707 &lt;p&gt;One can find support from a company by looking at
13708 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp&quot;&gt;the
13709 wiki dokumentation&lt;/a&gt;, where some countries already have a number of
13710 companies providing support for Debian Edu, like Germany or
13711 Norway. This list is easy to find readily from the manual. However,
13712 for other countries, like France, the list is empty. I guess that
13713 consultants proposing support for Debian would be able to provide some
13714 support for Debian Edu as well.&lt;/p&gt;
13715
13716 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
13717
13718 &lt;p&gt;I am using the KDE Plasma Desktop. But the pieces of software I use
13719 most runs in a terminal: Mutt and OfflineIMAP for emails, latex for
13720 scientific documents, mpd for music. VIM is my editor of choice. I am
13721 also using the mathematical software
13722 &lt;a href=&quot;http://www.scilab.org/en/scilab/about‎&quot;&gt;Scilab&lt;/a&gt; and
13723 &lt;a href=&quot;http://www.sagemath.org/index.html‎&quot;&gt;Sage&lt;/a&gt; (built from
13724 source as not completely packaged for Debian, yet).
13725
13726 &lt;p&gt;&lt;strong&gt;Do you have any suggestions for teachers interested in
13727 using the free software in Debian to teach mathematics and
13728 statistics?&lt;/strong&gt;&lt;/p&gt;
13729
13730 &lt;p&gt;I do not have any &quot;nice&quot; recommendations for statistics. At our
13731 university, we use both &lt;a href=&quot;http://www.r-project.org/‎&quot;&gt;R&lt;/a&gt; and
13732 Scilab to teach statistics and probabilistic simulations. For
13733 geometry, there are nice programs:&lt;/p&gt;
13734
13735 &lt;ul&gt;
13736
13737 &lt;li&gt;&lt;a href=&quot;http://www.drgeo.eu/&quot;&gt;drgeo&lt;/a&gt; and
13738 &lt;a href=&quot;http://edu.kde.org/applications/all/kig‎&quot;&gt;kig&lt;/a&gt; to do
13739 constructions in planar geometry
13740
13741 &lt;li&gt;&lt;a href=&quot;http://www.geom.uiuc.edu/software/download/kali.html&quot;&gt;kali&lt;/a&gt;
13742 to discover symmetry groups (the so-called wallpapers and frieze
13743 groups), although the interface looks a bit old.&lt;/li&gt;
13744
13745 &lt;/ul&gt;
13746
13747 &lt;p&gt;I like also
13748 &lt;a href=&quot;http://edu.kde.org/applications/all/cantor&quot;&gt;cantor&lt;/a&gt;, which
13749 provides a uniform interface to SciLab, Sage,
13750 &lt;a href=&quot;http://directory.fsf.org/wiki/Octave‎&quot;&gt;Octave&lt;/a&gt;, etc...&lt;/p&gt;
13751
13752 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
13753 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
13754
13755 &lt;p&gt;My suggestions would be to&lt;/p&gt;
13756
13757 &lt;ul&gt;
13758
13759 &lt;li&gt;advertise the reduction of costs when free software is used.&lt;/li&gt;
13760
13761 &lt;li&gt;communicate about the quality of free software projects, using
13762 well known examples like Firefox, ThunderBird and
13763 OpenOffice.org/LibreOffice.&lt;/li&gt;
13764
13765 &lt;li&gt;advertise the living and strong community around the project.&lt;/li&gt;
13766
13767 &lt;li&gt;show that it is not more difficult to use than any other
13768 system.&lt;/li&gt;
13769
13770 &lt;/ul&gt;
13771 </description>
13772 </item>
13773
13774 <item>
13775 <title>Educational applications included in Debian Edu / Skolelinux (the screenshot collection :-)</title>
13776 <link>http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html</link>
13777 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html</guid>
13778 <pubDate>Sat, 1 Jun 2013 23:50:00 +0200</pubDate>
13779 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
13780 Skolelinux&lt;/a&gt;, there are quite a lot of educational software.
13781 Created to help teachers teach, and pupils learn. We have tried to
13782 tag them all using debtags use::learning and role::program, and using
13783 the debtags I was happy to be able to create a collage of the
13784 educational software packages installed by default, sorted by the
13785 debtag field. Here it is. Click on a image to learn more about the
13786 program.&lt;/p&gt;
13787
13788 &lt;!-- for f in $(debtags tagcat|grep field::|awk &#39;{print $2}&#39;); do echo; echo &quot;&lt;p&gt;&lt;strong&gt;$f&lt;/strong&gt;&lt;/p&gt;&quot;; echo &quot;&lt;p&gt;&quot;; ( for p in $(debtags search --names &quot;use::learning &amp;&amp; interface::x11 &amp;&amp; role::program &amp;&amp; $f&quot;); do img=&quot;&lt;img src=&#39;http://screenshots.debian.net/thumbnail/$p&#39; alt=&#39;$p&#39;&gt;&quot;; if dpkg -s $p &gt; /dev/null 2&gt;&amp;1; then echo &quot;&lt;a href=&#39;http://packages.qa.debian.org/$p&#39;&gt;$img&lt;/a&gt;&quot;; fi; done; ) | LANG=C sort; echo &quot;&lt;/p&gt;&quot;; done --&gt;
13789
13790 &lt;p&gt;&lt;strong&gt;field::arts&lt;/strong&gt;&lt;/p&gt;
13791 &lt;p&gt;
13792 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=audacity&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/audacity.png&#39; alt=&#39;audacity&#39;&gt;&lt;/a&gt;
13793 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=childsplay&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png&#39; alt=&#39;childsplay&#39;&gt;&lt;/a&gt;
13794 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=denemo&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/denemo.png&#39; alt=&#39;denemo&#39;&gt;&lt;/a&gt;
13795 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=freebirth&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/freebirth.png&#39; alt=&#39;freebirth&#39;&gt;&lt;/a&gt;
13796 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13797 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gimp&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gimp.png&#39; alt=&#39;gimp&#39;&gt;&lt;/a&gt;
13798 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=hydrogen&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/hydrogen.png&#39; alt=&#39;hydrogen&#39;&gt;&lt;/a&gt;
13799 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=lilypond&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/lilypond.png&#39; alt=&#39;lilypond&#39;&gt;&lt;/a&gt;
13800 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=lmms&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/lmms.png&#39; alt=&#39;lmms&#39;&gt;&lt;/a&gt;
13801 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=rosegarden&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/rosegarden.png&#39; alt=&#39;rosegarden&#39;&gt;&lt;/a&gt;
13802 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=scribus&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scribus.png&#39; alt=&#39;scribus&#39;&gt;&lt;/a&gt;
13803 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=solfege&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/solfege.png&#39; alt=&#39;solfege&#39;&gt;&lt;/a&gt;
13804 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=stopmotion&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/stopmotion.png&#39; alt=&#39;stopmotion&#39;&gt;&lt;/a&gt;
13805 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=tuxpaint&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/tuxpaint.png&#39; alt=&#39;tuxpaint&#39;&gt;&lt;/a&gt;
13806 &lt;/p&gt;
13807
13808 &lt;p&gt;&lt;strong&gt;field::astronomy&lt;/strong&gt;&lt;/p&gt;
13809 &lt;p&gt;
13810 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=celestia-gnome&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/celestia-gnome.png&#39; alt=&#39;celestia-gnome&#39;&gt;&lt;/a&gt;
13811 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gpredict&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gpredict.png&#39; alt=&#39;gpredict&#39;&gt;&lt;/a&gt;
13812 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kstars&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kstars.png&#39; alt=&#39;kstars&#39;&gt;&lt;/a&gt;
13813 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=planets&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/planets.png&#39; alt=&#39;planets&#39;&gt;&lt;/a&gt;
13814 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=stellarium&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/stellarium.png&#39; alt=&#39;stellarium&#39;&gt;&lt;/a&gt;
13815 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=xplanet&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xplanet.png&#39; alt=&#39;xplanet&#39;&gt;&lt;/a&gt;
13816 &lt;/p&gt;
13817
13818 &lt;p&gt;&lt;strong&gt;field::biology:structural&lt;/strong&gt;&lt;/p&gt;
13819 &lt;p&gt;
13820 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=pymol&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/pymol.png&#39; alt=&#39;pymol&#39;&gt;&lt;/a&gt;
13821 &lt;/p&gt;
13822
13823 &lt;p&gt;&lt;strong&gt;field::chemistry&lt;/strong&gt;&lt;/p&gt;
13824 &lt;p&gt;
13825 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=atomix&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/atomix.png&#39; alt=&#39;atomix&#39;&gt;&lt;/a&gt;
13826 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=chemtool&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/chemtool.png&#39; alt=&#39;chemtool&#39;&gt;&lt;/a&gt;
13827 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=easychem&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/easychem.png&#39; alt=&#39;easychem&#39;&gt;&lt;/a&gt;
13828 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gchempaint&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gchempaint.png&#39; alt=&#39;gchempaint&#39;&gt;&lt;/a&gt;
13829 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gdis&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gdis.png&#39; alt=&#39;gdis&#39;&gt;&lt;/a&gt;
13830 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=ghemical&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/ghemical.png&#39; alt=&#39;ghemical&#39;&gt;&lt;/a&gt;
13831 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gperiodic&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gperiodic.png&#39; alt=&#39;gperiodic&#39;&gt;&lt;/a&gt;
13832 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kalzium&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kalzium.png&#39; alt=&#39;kalzium&#39;&gt;&lt;/a&gt;
13833 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=pymol&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/pymol.png&#39; alt=&#39;pymol&#39;&gt;&lt;/a&gt;
13834 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=viewmol&#39;&gt;[viewmol]&lt;/a&gt;
13835 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=xdrawchem&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xdrawchem.png&#39; alt=&#39;xdrawchem&#39;&gt;&lt;/a&gt;
13836 &lt;/p&gt;
13837
13838 &lt;p&gt;&lt;strong&gt;field::electronics&lt;/strong&gt;&lt;/p&gt;
13839 &lt;p&gt;
13840 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13841 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gpsim&#39;&gt;[gpsim]&lt;/a&gt;
13842 &lt;/p&gt;
13843
13844 &lt;p&gt;&lt;strong&gt;field::geography&lt;/strong&gt;&lt;/p&gt;
13845 &lt;p&gt;
13846 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kgeography&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kgeography.png&#39; alt=&#39;kgeography&#39;&gt;&lt;/a&gt;
13847 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=marble&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/marble.png&#39; alt=&#39;marble&#39;&gt;&lt;/a&gt;
13848 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=xplanet&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xplanet.png&#39; alt=&#39;xplanet&#39;&gt;&lt;/a&gt;
13849 &lt;/p&gt;
13850
13851 &lt;p&gt;&lt;strong&gt;field::linguistics&lt;/strong&gt;&lt;/p&gt;
13852 &lt;p&gt;
13853 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13854 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kanagram&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kanagram.png&#39; alt=&#39;kanagram&#39;&gt;&lt;/a&gt;
13855 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=khangman&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/khangman.png&#39; alt=&#39;khangman&#39;&gt;&lt;/a&gt;
13856 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=klettres&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/klettres.png&#39; alt=&#39;klettres&#39;&gt;&lt;/a&gt;
13857 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=parley&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/parley.png&#39; alt=&#39;parley&#39;&gt;&lt;/a&gt;
13858 &lt;/p&gt;
13859
13860 &lt;p&gt;&lt;strong&gt;field::mathematics&lt;/strong&gt;&lt;/p&gt;
13861 &lt;p&gt;
13862 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=childsplay&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png&#39; alt=&#39;childsplay&#39;&gt;&lt;/a&gt;
13863 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=drgeo&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/drgeo.png&#39; alt=&#39;drgeo&#39;&gt;&lt;/a&gt;
13864 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13865 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=geogebra&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/geogebra.png&#39; alt=&#39;geogebra&#39;&gt;&lt;/a&gt;
13866 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=geomview&#39;&gt;[geomview]&lt;/a&gt;
13867 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=grace&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/grace.png&#39; alt=&#39;grace&#39;&gt;&lt;/a&gt;
13868 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=graphmonkey&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/graphmonkey.png&#39; alt=&#39;graphmonkey&#39;&gt;&lt;/a&gt;
13869 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=graphthing&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/graphthing.png&#39; alt=&#39;graphthing&#39;&gt;&lt;/a&gt;
13870 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kalgebra&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kalgebra.png&#39; alt=&#39;kalgebra&#39;&gt;&lt;/a&gt;
13871 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kbruch&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kbruch.png&#39; alt=&#39;kbruch&#39;&gt;&lt;/a&gt;
13872 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kig&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kig.png&#39; alt=&#39;kig&#39;&gt;&lt;/a&gt;
13873 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=kmplot&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kmplot.png&#39; alt=&#39;kmplot&#39;&gt;&lt;/a&gt;
13874 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=mathwar&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/mathwar.png&#39; alt=&#39;mathwar&#39;&gt;&lt;/a&gt;
13875 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=rocs&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/rocs.png&#39; alt=&#39;rocs&#39;&gt;&lt;/a&gt;
13876 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=scratch&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scratch.png&#39; alt=&#39;scratch&#39;&gt;&lt;/a&gt;
13877 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=tuxmath&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/tuxmath.png&#39; alt=&#39;tuxmath&#39;&gt;&lt;/a&gt;
13878 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=xabacus&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xabacus.png&#39; alt=&#39;xabacus&#39;&gt;&lt;/a&gt;
13879 &lt;/p&gt;
13880
13881 &lt;p&gt;&lt;strong&gt;field::physics&lt;/strong&gt;&lt;/p&gt;
13882 &lt;p&gt;
13883 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13884 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=step&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/step.png&#39; alt=&#39;step&#39;&gt;&lt;/a&gt;
13885 &lt;/p&gt;
13886
13887 &lt;p&gt;&lt;strong&gt;field::TODO&lt;/strong&gt;&lt;/p&gt;
13888 &lt;p&gt;
13889 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=blinken&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/blinken.png&#39; alt=&#39;blinken&#39;&gt;&lt;/a&gt;
13890 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=cgoban&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/cgoban.png&#39; alt=&#39;cgoban&#39;&gt;&lt;/a&gt;
13891 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=childsplay&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png&#39; alt=&#39;childsplay&#39;&gt;&lt;/a&gt;
13892 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gcompris&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png&#39; alt=&#39;gcompris&#39;&gt;&lt;/a&gt;
13893 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gnuchess&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gnuchess.png&#39; alt=&#39;gnuchess&#39;&gt;&lt;/a&gt;
13894 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gnugo&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gnugo.png&#39; alt=&#39;gnugo&#39;&gt;&lt;/a&gt;
13895 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=gtans&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gtans.png&#39; alt=&#39;gtans&#39;&gt;&lt;/a&gt;
13896 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=ktouch&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/ktouch.png&#39; alt=&#39;ktouch&#39;&gt;&lt;/a&gt;
13897 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=librecad&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/librecad.png&#39; alt=&#39;librecad&#39;&gt;&lt;/a&gt;
13898 &lt;a href=&#39;http://packages.debian.org/search?searchon=names&amp;exact=1&amp;suite=all&amp;section=all&amp;keywords=scratch&#39;&gt;&lt;img src=&#39;http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scratch.png&#39; alt=&#39;scratch&#39;&gt;&lt;/a&gt;
13899 &lt;/p&gt;
13900
13901 &lt;p&gt;In total, 61 applications. 3 of them lacked screen shots on
13902 &lt;a href=&quot;http://screenshot.debian.net&quot;&gt;screenshot.debian.net&lt;/a&gt;. If
13903 you know of some packages we should install by default, please let us
13904 know on &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;IRC, #debian-edu
13905 on irc.debian.org&lt;/a&gt;, or our
13906 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;mailing list
13907 debian-edu@&lt;/a&gt;.&lt;/p&gt;
13908 </description>
13909 </item>
13910
13911 <item>
13912 <title>How to install Linux on a Packard Bell Easynote LV preinstalled with Windows 8</title>
13913 <link>http://people.skolelinux.org/pere/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html</link>
13914 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html</guid>
13915 <pubDate>Mon, 27 May 2013 15:20:00 +0200</pubDate>
13916 <description>&lt;p&gt;Two days ago, I asked
13917 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html&quot;&gt;how
13918 I could install Linux on a Packard Bell EasyNote LV computer
13919 preinstalled with Windows 8&lt;/a&gt;. I found a solution, but am horrified
13920 with the obstacles put in the way of Linux users on a laptop with UEFI
13921 and Windows 8.&lt;/p&gt;
13922
13923 &lt;p&gt;I never found out if the cause of my problems were the use of UEFI
13924 secure booting or fast boot. I suspect fast boot was the problem,
13925 causing the firmware to boot directly from HD without considering any
13926 key presses and alternative devices, but do not know UEFI settings
13927 enough to tell.&lt;/p&gt;
13928
13929 &lt;p&gt;There is no way to install Linux on the machine in question without
13930 opening the box and disconnecting the hard drive! This is as far as I
13931 can tell, the only way to get access to the firmware setup menu
13932 without accepting the Windows 8 license agreement. I am told (and
13933 found description on how to) that it is possible to configure the
13934 firmware setup once booted into Windows 8. But as I believe the terms
13935 of that agreement are completely unacceptable, accepting the license
13936 was never an alternative. I do not enter agreements I do not intend
13937 to follow.&lt;/p&gt;
13938
13939 &lt;p&gt;I feared I had to return the laptops and ask for a refund, and
13940 waste many hours on this, but luckily there was a way to get it to
13941 work. But I would not recommend it to anyone planning to run Linux on
13942 it, and I have become sceptical to Windows 8 certified laptops. Is
13943 this the way Linux will be forced out of the market place, by making
13944 it close to impossible for &quot;normal&quot; users to install Linux without
13945 accepting the Microsoft Windows license terms? Or at least not
13946 without risking to loose the warranty?&lt;/p&gt;
13947
13948 &lt;p&gt;I&#39;ve updated the
13949 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Linux Laptop
13950 wiki page for Packard Bell EasyNote LV&lt;/a&gt;, to ensure the next person
13951 do not have to struggle as much as I did to get Linux into the
13952 machine.&lt;/p&gt;
13953
13954 &lt;p&gt;Thanks to Bob Rosbag, Florian Weimer, Philipp Kern, Ben Hutching,
13955 Michael Tokarev and others for feedback and ideas.&lt;/p&gt;
13956 </description>
13957 </item>
13958
13959 <item>
13960 <title>How can I install Linux on a Packard Bell Easynote LV preinstalled with Windows 8?</title>
13961 <link>http://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html</link>
13962 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html</guid>
13963 <pubDate>Sat, 25 May 2013 18:20:00 +0200</pubDate>
13964 <description>&lt;p&gt;I&#39;ve run into quite a problem the last few days. I bought three
13965 new laptops for my parents and a few others. I bought Packard Bell
13966 Easynote LV to run Kubuntu on and use as their home computer. But I
13967 am completely unable to figure out how to install Linux on it. The
13968 computer is preinstalled with Windows 8, and I suspect it uses UEFI
13969 instead of a BIOS to boot.&lt;/p&gt;
13970
13971 &lt;p&gt;The problem is that I am unable to get it to PXE boot, and unable
13972 to get it to boot the Linux installer from my USB stick. I have yet
13973 to try the DVD install, and still hope it will work. when I turn on
13974 the computer, there is no information on what buttons to press to get
13975 the normal boot menu. I expect to get some boot menu to select PXE or
13976 USB stick booting. When booting, it first ask for the language to
13977 use, then for some regional settings, and finally if I will accept the
13978 Windows 8 terms of use. As these terms are completely unacceptable to
13979 me, I have no other choice but to turn off the computer and try again
13980 to get it to boot the Linux installer.&lt;/p&gt;
13981
13982 &lt;p&gt;I have gathered my findings so far on a Linlap page about the
13983 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Packard Bell
13984 EasyNote LV&lt;/a&gt; model. If you have any idea how to get Linux
13985 installed on this machine, please get in touch or update that wiki
13986 page. If I can&#39;t find a way to install Linux, I will have to return
13987 the laptop to the seller and find another machine for my parents.&lt;/p&gt;
13988
13989 &lt;p&gt;I wonder, is this the way Linux will be forced out of the market
13990 using UEFI and &quot;secure boot&quot; by making it impossible to install Linux
13991 on new Laptops?&lt;/p&gt;
13992 </description>
13993 </item>
13994
13995 <item>
13996 <title>How to transform a Debian based system to a Debian Edu installation</title>
13997 <link>http://people.skolelinux.org/pere/blog/How_to_transform_a_Debian_based_system_to_a_Debian_Edu_installation.html</link>
13998 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_transform_a_Debian_based_system_to_a_Debian_Edu_installation.html</guid>
13999 <pubDate>Fri, 17 May 2013 11:50:00 +0200</pubDate>
14000 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is
14001 an operating system based on Debian intended for use in schools. It
14002 contain a turn-key solution for the computer network provided to
14003 pupils in the primary schools. It provide both the central server,
14004 network boot servers and desktop environments with heaps of
14005 educational software. The project was founded almost 12 years ago,
14006 2001-07-02. If you want to support the project, which is in need for
14007 cash to fund developer gatherings and other project related activity,
14008 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;please
14009 donate some money&lt;/a&gt;.
14010
14011 &lt;p&gt;A topic that come up again and again on the Debian Edu mailing
14012 lists and elsewhere, is the question on how to transform a Debian or
14013 Ubuntu installation into a Debian Edu installation. It isn&#39;t very
14014 hard, and last week I wrote a script to replicate the steps done by
14015 the Debian Edu installer.&lt;/p&gt;
14016
14017 &lt;p&gt;The script,
14018 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/branches/wheezy/debian-edu-config/share/debian-edu-config/tools/debian-edu-bless?view=markup&quot;&gt;debian-edu-bless&lt;a/&gt;
14019 in the debian-edu-config package, will go through these six steps and
14020 transform an existing Debian Wheezy or Ubuntu (untested) installation
14021 into a Debian Edu Workstation:&lt;/p&gt;
14022
14023 &lt;ol&gt;
14024
14025 &lt;li&gt;Add skolelinux related APT sources.&lt;/li&gt;
14026 &lt;li&gt;Create /etc/debian-edu/config with the wanted configuration.&lt;/li&gt;
14027 &lt;li&gt;Install debian-edu-install to load preseeding values and pull in
14028 our configuration.&lt;/li&gt;
14029 &lt;li&gt;Preseed debconf database with profile setup in
14030 /etc/debian-edu/config, and run tasksel to install packages
14031 according to the profile specified in the config above,
14032 overriding some of the Debian automation machinery.&lt;/li&gt;
14033 &lt;li&gt;Run debian-edu-cfengine-D installation to configure everything
14034 that could not be done using preseeding.&lt;/li&gt;
14035 &lt;li&gt;Ask for a reboot to enable all the configuration changes.&lt;/li&gt;
14036
14037 &lt;/ol&gt;
14038
14039 &lt;p&gt;There are some steps in the Debian Edu installation that can not be
14040 replicated like this. Disk partitioning and LVM setup, for example.
14041 So this script just assume there is enough disk space to install all
14042 the needed packages.&lt;/p&gt;
14043
14044 &lt;p&gt;The script was created to help a Debian Edu student working on
14045 setting up &lt;a href=&quot;http://www.raspberrypi.org&quot;&gt;Raspberry Pi&lt;/a&gt; as a
14046 Debian Edu client, and using it he can take the existing
14047 &lt;a href=&quot;http://www.raspbian.org/FrontPage‎&quot;&gt;Raspbian&lt;/a&gt; installation and
14048 transform it into a fully functioning Debian Edu Workstation (or
14049 Roaming Workstation, or whatever :).&lt;/p&gt;
14050
14051 &lt;p&gt;The default setting in the script is to create a KDE Workstation.
14052 If a LXDE based Roaming workstation is wanted instead, modify the
14053 PROFILE and DESKTOP values at the top to look like this instead:&lt;/p&gt;
14054
14055 &lt;p&gt;&lt;pre&gt;
14056 PROFILE=&quot;Roaming-Workstation&quot;
14057 DESKTOP=&quot;lxde&quot;
14058 &lt;/pre&gt;&lt;/p&gt;
14059
14060 &lt;p&gt;The script could even become useful to set up Debian Edu servers in
14061 the cloud, by starting with a virtual Debian installation at some
14062 virtual hosting service and setting up all the services on first
14063 boot.&lt;/p&gt;
14064 </description>
14065 </item>
14066
14067 <item>
14068 <title>Second alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
14069 <link>http://people.skolelinux.org/pere/blog/Second_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
14070 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
14071 <pubDate>Tue, 14 May 2013 23:30:00 +0200</pubDate>
14072 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
14073 project&lt;/a&gt; is making great progress and made its second Wheezy based
14074 release today. This is the release announcement:&lt;/p&gt;
14075
14076 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.0.0 alpha1 released
14077 2013-05-14&lt;/strong&gt;&lt;/p&gt;
14078
14079 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
14080 alpha1, based on &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian&lt;/a&gt; with
14081 codename &quot;Wheezy&quot;.&lt;/p&gt;
14082
14083 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
14084
14085 &lt;p&gt;Debian Edu, also known as Skolelinux, is a Linux distribution based
14086 on Debian providing an out-of-the box environment of a completely
14087 configured school network. Immediatly after installation a school
14088 server running all services needed for a school network is set up just
14089 waiting for users and machines being added via GOsa², a comfortable
14090 Web-UI. A netbooting environment is prepared using PXE, so after
14091 initial installation of the main server from CD, DVD or USB stick all
14092 other machines can be installed via the network.&lt;/p&gt;
14093
14094 &lt;p&gt;This is the first test release based on Wheezy (which currently is
14095 not released yet). Basically this is an updated and slightly improved
14096 version compared to the Squeeze release.&lt;/p&gt;
14097
14098 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
14099 &lt;ul&gt;
14100 &lt;li&gt;Install freemind (0.9.0) by default, and stop installing vym by
14101 default.&lt;/li&gt;
14102 &lt;li&gt;Install chromium (26.0.1410.43) by default.&lt;/li&gt;
14103 &lt;li&gt;Install goplay (0.5-1.1) to make golearn available by default.&lt;/li&gt;
14104 &lt;li&gt;Updated support for Japanese input methods, now based on
14105 ibus-anthy.&lt;/li&gt;
14106 &lt;/ul&gt;
14107
14108 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
14109 &lt;ul&gt;
14110
14111 &lt;li&gt;Switched default file system from ext3 to ext4 for speed and
14112 reliability improvements.&lt;/li&gt;
14113 &lt;li&gt;Got rid of unwanted winbind daemon and PAM setup activated because
14114 of &lt;a href=&quot;http://bugs.debian.org/706434&quot;&gt;706434&lt;/a&gt;.&lt;/li&gt;
14115 &lt;li&gt;Extended and improved the testsuite tests to detect more possible
14116 problems.&lt;/li&gt;
14117 &lt;li&gt;Corrected proxy handling to not set http_proxy to a bogus
14118 direct:// URL.&lt;/li&gt;
14119 &lt;li&gt;Corrected proxy setup for diskless workstations.&lt;/li&gt;
14120 &lt;li&gt;Corrected PXE setup to use our updated udebs during installation.&lt;/li&gt;
14121 &lt;li&gt;Made installation handling of low entropy level more robust.&lt;/li&gt;
14122 &lt;li&gt;Create larger partitions for Roaming workstations and Thin client
14123 servers, to make room for all the software installed.&lt;/li&gt;
14124 &lt;li&gt;Fix bug in Roaming workstation PAM setup, making it impossible to
14125 log in (&lt;a href=&quot;http://bugs.debian.org/706753&quot;&gt;706753&lt;/a&gt;).&lt;/li&gt;
14126 &lt;/ul&gt;
14127
14128 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
14129 &lt;ul&gt;
14130
14131 &lt;li&gt;IP resolution for the local hostname give useless IPv6 address
14132 (&lt;a href=&quot;http://bugs.debian.org/705900&quot;&gt;705900&lt;/a&gt;). Only install
14133 libnss-myhostname on roaming workstations until it is fixed.&lt;/li&gt;
14134 &lt;li&gt;DVD images are not yet ready.&lt;/li&gt;
14135 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
14136 available yet (&lt;a href=&quot;http://bugs.debian.org/698840&quot;&gt;698840&lt;/a&gt;).&lt;/li&gt;
14137 &lt;li&gt;Missing artwork for the KDE desktop (and probably a few others).&lt;/li&gt;
14138 &lt;li&gt;KDE Debian submenu lacks icons.&lt;/li&gt;
14139 &lt;li&gt;LXDE menu lacks entry for changing GOsa password
14140 (website). Installing gosa-desktop will be an option.&lt;/li&gt;
14141 &lt;li&gt;Backup configuration via web interface is impossible due to
14142 password submission problem
14143 (&lt;a href=&quot;http://bugs.debian.org/700257&quot;&gt;700257&lt;/a&gt;).&lt;/li&gt;
14144
14145 &lt;/ul&gt;
14146
14147 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
14148
14149 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
14150 &lt;ul&gt;
14151
14152 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso&lt;/a&gt;&lt;/li&gt;
14153 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso&lt;/a&gt;&lt;/li&gt;
14154 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso debian-edu~7.0+edu0~a1-CD.iso&lt;/li&gt;
14155
14156 &lt;/ul&gt;
14157
14158 &lt;p&gt;The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b&lt;/p&gt;
14159
14160 &lt;p&gt;The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c&lt;/p&gt;
14161
14162 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
14163
14164 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;&lt;/p&gt;
14165 </description>
14166 </item>
14167
14168 <item>
14169 <title>Debian, the Linux distribution of choice for LEGO designers?</title>
14170 <link>http://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html</link>
14171 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html</guid>
14172 <pubDate>Sat, 11 May 2013 20:30:00 +0200</pubDate>
14173 <description>&lt;P&gt;In January,
14174 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html&quot;&gt;I
14175 announced a&lt;/a&gt; new &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;IRC
14176 channel #debian-lego&lt;/a&gt;, for those of us in the Debian and Linux
14177 community interested in &lt;a href=&quot;http://www.lego.com/&quot;&gt;LEGO&lt;/a&gt;, the
14178 marvellous construction system from Denmark. We also created
14179 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;a wiki page&lt;/a&gt; to have
14180 a place to take notes and write down our plans and hopes. And several
14181 people showed up to help. I was very happy to see the effect of my
14182 call. Since the small start, we have a debtags tag
14183 &lt;a href=&quot;http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego&quot;&gt;hardware::hobby:lego&lt;/a&gt;
14184 tag for LEGO related packages, and now count 10 packages related to
14185 LEGO and &lt;a href=&quot;http://mindstorms.lego.com/&quot;&gt;Mindstorms&lt;/a&gt;:&lt;/p&gt;
14186
14187 &lt;p&gt;&lt;table&gt;
14188 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/brickos&quot;&gt;brickos&lt;/a&gt;&lt;/td&gt;&lt;td&gt;alternative OS for LEGO Mindstorms RCX. Supports development in C/C++&lt;/td&gt;&lt;/tr&gt;
14189 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/leocad&quot;&gt;leocad&lt;/a&gt;&lt;/td&gt;&lt;td&gt;virtual brick CAD software&lt;/td&gt;&lt;/tr&gt;
14190 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/libnxt&quot;&gt;libnxt&lt;/a&gt;&lt;/td&gt;&lt;td&gt;utility library for talking to the LEGO Mindstorms NX&lt;/td&gt;&lt;/tr&gt;
14191 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/lnpd&quot;&gt;lnpd&lt;/a&gt;&lt;/td&gt;&lt;td&gt;daemon for LNP communication with BrickOS&lt;/td&gt;&lt;/tr&gt;
14192 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/nbc&quot;&gt;nbc&lt;/a&gt;&lt;/td&gt;&lt;td&gt;compiler for LEGO Mindstorms NXT bricks&lt;/td&gt;&lt;/tr&gt;
14193 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/nqc&quot;&gt;nqc&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Not Quite C compiler for LEGO Mindstorms RCX&lt;/td&gt;&lt;/tr&gt;
14194 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/python-nxt&quot;&gt;python-nxt&lt;/a&gt;&lt;/td&gt;&lt;td&gt;python driver/interface/wrapper for the Lego Mindstorms NXT robot&lt;/td&gt;&lt;/tr&gt;
14195 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/python-nxt-filer&quot;&gt;python-nxt-filer&lt;/a&gt;&lt;/td&gt;&lt;td&gt;simple GUI to manage files on a LEGO Mindstorms NXT&lt;/td&gt;&lt;/tr&gt;
14196 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/scratch&quot;&gt;scratch&lt;/a&gt;&lt;/td&gt;&lt;td&gt;easy to use programming environment for ages 8 and up&lt;/td&gt;&lt;/tr&gt;
14197 &lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://packages.qa.debian.org/t2n&quot;&gt;t2n&lt;/a&gt;&lt;/td&gt;&lt;td&gt;simple command-line tool for Lego NXT&lt;/td&gt;&lt;/tr&gt;
14198 &lt;/table&gt;&lt;/p&gt;
14199
14200 &lt;p&gt;Some of these are available in Wheezy, and all but one are
14201 currently available in Jessie/testing. leocad is so far only
14202 available in experimental.&lt;/p&gt;
14203
14204 &lt;p&gt;If you care about LEGO in Debian, please join us on IRC and help
14205 adding the rest of the great free software tools available on Linux
14206 for LEGO designers.&lt;/p&gt;
14207 </description>
14208 </item>
14209
14210 <item>
14211 <title>Debian Wheezy is out - and Debian Edu / Skolelinux should soon follow! #newinwheezy</title>
14212 <link>http://people.skolelinux.org/pere/blog/Debian_Wheezy_is_out___and_Debian_Edu___Skolelinux_should_soon_follow___newinwheezy.html</link>
14213 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Wheezy_is_out___and_Debian_Edu___Skolelinux_should_soon_follow___newinwheezy.html</guid>
14214 <pubDate>Sun, 5 May 2013 07:40:00 +0200</pubDate>
14215 <description>&lt;p&gt;When I woke up this morning, I was very happy to see that the
14216 &lt;a href=&quot;http://www.debian.org/News/2013/20130504&quot;&gt;release announcement
14217 for Debian Wheezy&lt;/a&gt; was waiting in my mail box. This is a great
14218 Debian release, and I expect to move my machines at home over to it fairly
14219 soon.&lt;/p&gt;
14220
14221 &lt;p&gt;The new debian release contain heaps of new stuff, and one program
14222 in particular make me very happy to see included. The
14223 &lt;a href=&quot;http://scratch.mit.edu/&quot;&gt;Scratch&lt;/a&gt; program, made famous by
14224 the &lt;a href=&quot;http://www.code.org/&quot;&gt;Teach kids code&lt;/a&gt; movement, is
14225 included for the first time. Alongside similar programs like
14226 &lt;a href=&quot;http://edu.kde.org/kturtle/&quot;&gt;kturtle&lt;/a&gt; and
14227 &lt;a href=&quot;http://wiki.sugarlabs.org/go/Activities/Turtle_Art&quot;&gt;turtleart&lt;/a&gt;,
14228 it allow for visual programming where syntax errors can not happen,
14229 and a friendly programming environment for learning to control the
14230 computer. Scratch will also be included in the next release of Debian
14231 Edu.&lt;/a&gt;
14232
14233 &lt;p&gt;And now that Wheezy is wrapped up, we can wrap up the next Debian
14234 Edu/Skolelinux release too. The
14235 &lt;a href=&quot;http://lists.debian.org/debian-edu/2013/04/msg00132.html&quot;&gt;first
14236 alpha release&lt;/a&gt; went out last week, and the next should soon
14237 follow.&lt;p&gt;
14238 </description>
14239 </item>
14240
14241 <item>
14242 <title>First alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
14243 <link>http://people.skolelinux.org/pere/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
14244 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
14245 <pubDate>Fri, 26 Apr 2013 08:30:00 +0200</pubDate>
14246 <description>&lt;p&gt;The Debian Edu / Skolelinux project is still going strong and made
14247 its first Wheezy based release today. This is the release
14248 announcement:&lt;/p&gt;
14249
14250 &lt;p&gt;&lt;strong&gt;New features for Debian Edu ~7.0.0 alpha0 released
14251 2013-04-26&lt;/strong&gt;&lt;/p&gt;
14252
14253 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux ~7.0.0
14254 edu alpha0, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
14255
14256 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
14257
14258 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
14259 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
14260 out-of-the box environment of a completely configured school
14261 network. Immediatly after installation a school server running all
14262 services needed for a school network is set up just waiting for users
14263 and machines being added via GOsa², a comfortable Web-UI. A netbooting
14264 environment is prepared using PXE, so after initial installation of
14265 the main server from CD, DVD or USB stick all other machines can be
14266 installed via the network.&lt;/p&gt;
14267
14268 &lt;p&gt;This is the first test release based on Wheezy (which currently is
14269 not released yet). Basically this is an updated and slightly improved
14270 version compared to the Squeeze release.&lt;/p&gt;
14271
14272 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
14273
14274 &lt;ul&gt;
14275 &lt;li&gt;Everything which is new in Debian Wheezy, eg:
14276 &lt;ul&gt;
14277 &lt;li&gt;Linux kernel 3.2.x&lt;/li&gt;
14278 &lt;li&gt;Desktop environments KDE &quot;Plasma&quot; 4.8.4, GNOME 3.4, and LXDE 4
14279 (KDE is installed by default; to choose GNOME or LXDE: see
14280 manual.)&lt;/li&gt;
14281 &lt;li&gt;Web browser Iceweasel 10 ESR&lt;/li&gt;
14282 &lt;li&gt;LibreOffice 3.5.4&lt;/li&gt;
14283 &lt;li&gt;LTSP 5.4.2&lt;/li&gt;
14284 &lt;li&gt;GOsa 2.7.4&lt;/li&gt;
14285 &lt;li&gt;CUPS print system 1.5.3&lt;/li&gt;
14286 &lt;li&gt;Educational toolbox GCompris 12.01&lt;/li&gt;
14287 &lt;li&gt;Music creator Rosegarden 12.04&lt;/li&gt;
14288 &lt;li&gt;Image editor Gimp 2.8.2&lt;/li&gt;
14289 &lt;li&gt;Virtual universe Celestia 1.6.1&lt;/li&gt;
14290 &lt;li&gt;Virtual stargazer Stellarium 0.11.3&lt;/li&gt;
14291 &lt;li&gt;Scratch visual programming environment 1.4.0.6&lt;/li&gt;
14292 &lt;li&gt;New version of debian-installer from Debian Wheezy, see
14293 &lt;a href=&quot;http://www.debian.org/releases/wheezy/installmanual&quot;&gt;installation
14294 manual&lt;/a&gt; for more details.&lt;/li&gt;
14295 &lt;li&gt;Debian Wheezy includes about 37000 packages available for
14296 installation.&lt;/li&gt;
14297 &lt;li&gt;More information about Debian Wheezy 7.0 is provided in the
14298 &lt;a href=&quot;http://www.debian.org/releases/wheezy/releasenotes&quot;&gt;release notes&lt;/a&gt; and the &lt;a href=&quot;http://www.debian.org/releases/wheezy/installmanual&quot;&gt;installation manual&lt;/a&gt;.&lt;/li&gt;
14299 &lt;/ul&gt;&lt;/li&gt;
14300 &lt;/ul&gt;
14301
14302 &lt;p&gt;&lt;strong&gt;Documentation&lt;/strong&gt;&lt;/p&gt;
14303 &lt;ul&gt;
14304 &lt;li&gt;The (&lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Wheezy&quot;&gt;English&lt;/a&gt;) Debian Edu Wheezy Manual is fully translated to
14305 German, French, Italian and Danish. Partly translated versions exist
14306 for Norwegian Bokmal and Spanish.&lt;/li&gt;
14307 &lt;/ul&gt;
14308
14309 &lt;p&gt;&lt;Strong&gt;LDAP related changes&lt;/strong&gt;&lt;/p&gt;
14310 &lt;ul&gt;
14311 &lt;li&gt;Slight changes to some objects and acls to have more types to
14312 choose from when adding systems in GOsa. Now systems can be of type
14313 server, workstation, printer, terminal or netdevice.&lt;/li&gt;
14314 &lt;/ul&gt;
14315
14316 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
14317 &lt;ul&gt;
14318 &lt;li&gt;LTSP clients start as diskless workstation / thin client can be
14319 configured via command line argument -- or individually adding an
14320 entry in lts.conf or LDAP.&lt;li&gt;
14321 &lt;li&gt;GOsa gui: Now some options that seemed to be available, but are non
14322 functional, are greyed out (or are not clickable). Some tabs are
14323 completely hidden to the end user, others even to the GOsa admin.&lt;/li&gt;
14324 &lt;/ul&gt;
14325
14326 &lt;p&gt;&lt;strong&gt;Regressions&lt;/strong&gt;&lt;/p&gt;
14327 &lt;ul&gt;
14328 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv) available
14329 yet.&lt;/li&gt;
14330 &lt;/ul&gt;
14331
14332 &lt;p&gt;&lt;strong&gt;No updated artwork&lt;/strong&gt;&lt;/p&gt;
14333
14334 &lt;ul&gt;
14335 &lt;li&gt;Updated artwork which is visible during installation, in the login
14336 screen and as desktop wallpaper is still missing or the same as we
14337 had for our Squeeze based release.&lt;/li&gt;
14338 &lt;/ul&gt;
14339
14340 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
14341
14342 To download the multiarch netinstall CD release you can use
14343 &lt;ul&gt;
14344 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/&lt;/a&gt;&lt;/li&gt;
14345 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/wheezy/&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/wheezy/&lt;/a&gt;&lt;/li&gt;
14346 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/&lt;/li&gt;
14347 &lt;/ul&gt;
14348
14349 &lt;p&gt;The MD5SUM of this image is: c5e773ddafdaa4f48c409c682f598b6c&lt;/p&gt;
14350
14351 &lt;p&gt;The SHA1SUM of this image is: 25934fabb9b7d20235499a0a51f08ce6c54215f2&lt;/p&gt;
14352
14353 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
14354
14355 &lt;p&gt;&lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&quot;&gt;http://wiki.debian.org/DebianEdu/HowTo/ReportBugs&lt;/a&gt;&lt;/p&gt;
14356 </description>
14357 </item>
14358
14359 <item>
14360 <title>First Debian Edu / Skolelinux developer gathering in 2013 take place in Trondheim</title>
14361 <link>http://people.skolelinux.org/pere/blog/First_Debian_Edu___Skolelinux_developer_gathering_in_2013_take_place_in_Trondheim.html</link>
14362 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Debian_Edu___Skolelinux_developer_gathering_in_2013_take_place_in_Trondheim.html</guid>
14363 <pubDate>Tue, 16 Apr 2013 15:00:00 +0200</pubDate>
14364 <description>&lt;p&gt;This years first &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux /
14365 Debian Edu&lt;/a&gt; developer gathering take place the coming weekend in Trondheim.
14366 Details about the gathering can be found
14367 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2013-04-19-21-Trondheim&quot;&gt;on
14368 the FRiSK wiki&lt;/a&gt;. The dates are 19-21th of April 2013, and online
14369 participation for those unable to make it in person is very welcome,
14370 and I plan to participate online myself as I could not leave Oslo this
14371 weekend.&lt;/p&gt;
14372
14373 &lt;p&gt;The focus of the gathering is to work on the web pages and project
14374 infrastructure, and to continue the work on the Wheezy based Debian
14375 Edu release.&lt;/p&gt;
14376
14377 &lt;p&gt;See you on &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;IRC, #debian-edu on irc.debian.org,&lt;/a&gt; then?&lt;/p&gt;
14378 </description>
14379 </item>
14380
14381 <item>
14382 <title>Isenkram 0.2 finally in the Debian archive</title>
14383 <link>http://people.skolelinux.org/pere/blog/Isenkram_0_2_finally_in_the_Debian_archive.html</link>
14384 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram_0_2_finally_in_the_Debian_archive.html</guid>
14385 <pubDate>Wed, 3 Apr 2013 23:40:00 +0200</pubDate>
14386 <description>&lt;p&gt;Today the &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;Isenkram
14387 package&lt;/a&gt; finally made it into the archive, after lingering in NEW
14388 for many months. I uploaded it to the Debian experimental suite
14389 2013-01-27, and today it was accepted into the archive.&lt;/p&gt;
14390
14391 &lt;p&gt;Isenkram is a system for suggesting to users what packages to
14392 install to work with a pluggable hardware device. The suggestion pop
14393 up when the device is plugged in. For example if a Lego Mindstorm NXT
14394 is inserted, it will suggest to install the program needed to program
14395 the NXT controller. Give it a go, and report bugs and suggestions to
14396 BTS. :)&lt;/p&gt;
14397 </description>
14398 </item>
14399
14400 <item>
14401 <title>Change the font, save the world (and save some money in the process)</title>
14402 <link>http://people.skolelinux.org/pere/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html</link>
14403 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html</guid>
14404 <pubDate>Tue, 26 Mar 2013 15:10:00 +0100</pubDate>
14405 <description>&lt;p&gt;Would you like to help the environment and save money at the same
14406 time, without much sacrifice? A small step could be to change the
14407 font you use when printing.&lt;/p&gt;
14408
14409 &lt;p&gt;Three years ago,
14410 &lt;a href=&quot;http://arstechnica.com/business/2010/04/last-year-printer-comparison-website/&quot;&gt;Ars
14411 Technica&lt;/a&gt; reported how the University of Wisconsin-Green Bay
14412 changed their default front from
14413 &lt;a href=&quot;http://en.wikipedia.org/wiki/Arial&quot;&gt;Arial&lt;/a&gt; to
14414 &lt;a href=&quot;http://en.wikipedia.org/wiki/Century_Gothic&quot;&gt;Century
14415 Gothic&lt;/a&gt; to save money. The Century Gothic font uses 30% less toner
14416 than Arial to print the same text. In other word, you could cut your
14417 toner costs by 30% (or actually, increase your toner supply life time
14418 by more than 30%), by simply changing the default font used in your
14419 prints.&lt;/p&gt;
14420
14421 &lt;p&gt;But it is not quite obvious how much one will save by switching.
14422 The University of Wisconsin-Green Bay said it used $100,000 per year
14423 on ink and toner cartridges, according to
14424 &lt;a href=&quot;http://www.twincities.com/ci_14833097&quot;&gt;a report from
14425 TwinCities.com&lt;/a&gt;, and expected to save between $5,000 and $10,000
14426 per year by asking staff and students to use a different font. Not
14427 all PDFs and documents are created internally, and those from external
14428 sources will most likely still use a different font. Also, the
14429 Century Gothic font is slightly wider than Arial, and thus might use
14430 more sheets of paper to print the same text, so the total saving
14431 depend on the documents printed.&lt;/p&gt;
14432
14433 &lt;p&gt;But it is definitely something to consider, if you want to reduce
14434 the amount of trash, decrease the amount of toner used in the world,
14435 and save some money in the process.&lt;/p&gt;
14436
14437 &lt;p&gt;Update 2013-04-10: If you want to know how much ink/toner could be
14438 saved when switching between fonts, Inkfarm got a
14439 &lt;a href=&quot;http://www.inkfarm.com/What-the-Font&quot;&gt;service to calculate the
14440 difference between font pairs&lt;/a&gt;. They also
14441 &lt;a href=&quot;http://www.inkfarm.com/Recommended-Ink-Saving-Fonts---&quot;&gt;recommend
14442 which fonts to use&lt;/a&gt; to save ink. Check it out. :) While updating
14443 this blog post, I also came across a blog post from InkCloners,
14444 &lt;a href=&quot;http://inkcloners.com/blog/ink-cartridges/change-fonts-to-save-ink-costs/&quot;&gt;listing
14445 the fonts they recommend&lt;/a&gt;, with Centory Gothic at the top.&lt;/p&gt;
14446 </description>
14447 </item>
14448
14449 <item>
14450 <title>Typesetting a short story using docbook for PDF, HTML and EPUB</title>
14451 <link>http://people.skolelinux.org/pere/blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html</link>
14452 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html</guid>
14453 <pubDate>Sun, 24 Mar 2013 17:30:00 +0100</pubDate>
14454 <description>&lt;p&gt;A few days ago, during a discussion in
14455 &lt;a href=&quot;http://www.efn.no/&quot;&gt;EFN&lt;/a&gt; about interesting books to read
14456 about copyright and the data retention directive, a suggestion to read
14457 the 1968 short story Kodémus by
14458 &lt;a href=&quot;http://web2.gyldendal.no/toraage/&quot;&gt;Tore Åge Bringsværd&lt;/a&gt;
14459 came up. The text was only available in old paper books, and thus not
14460 easily available for current and future generations. Some of the
14461 people participating in the discussion contacted the author, and
14462 reported back 2013-03-19 that the author was OK with releasing the
14463 short story using a &lt;a href=&quot;http://www.creativecommons.org/&quot;&gt;Creative
14464 Commons&lt;/a&gt; license. The text was quickly scanned and OCR-ed, and we
14465 were ready to start on the editing and typesetting.&lt;/p&gt;
14466
14467 &lt;p&gt;As I already had some experience formatting text in my project to
14468 provide a Norwegian version of the Free Culture book by Lawrence
14469 Lessig, I chipped in and set up a
14470 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;DocBook&lt;/a&gt; processing framework to
14471 generate PDF, HTML and EPUB version of the short story. The tools to
14472 transform DocBook to different formats are already in my Linux
14473 distribution of choice, &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt;, so
14474 all I had to do was to use the
14475 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt;,
14476 &lt;a href=&quot;http://docbook.sourceforge.net/release/xsl/current/epub/README&quot;&gt;dbtoepub&lt;/a&gt;
14477 and &lt;a href=&quot;https://fedorahosted.org/xmlto/&quot;&gt;xmlto&lt;/a&gt; tools to do the
14478 conversion. After a few days, we decided to replace dblatex with
14479 xsltproc/fop (aka
14480 &lt;a href=&quot;http://wiki.docbook.org/DocBookXslStylesheets&quot;&gt;docbook-xsl&lt;/a&gt;),
14481 to get the copyright information to show up in the PDF and to get a
14482 nicer &amp;lt;variablelist&amp;gt; typesetting, but that is just a minor
14483 technical detail.&lt;/p&gt;
14484
14485 &lt;p&gt;There were a few challenges, of course. We want to typeset the
14486 short story to look like the original, and that require fairly good
14487 control over the layout. The original short story have three
14488 parts/scenes separated by a single horizontally centred star (*), and
14489 the paragraphs do not contain only flowing text, but dialogs and text
14490 that started on a new line in the middle of the paragraph.&lt;/p&gt;
14491
14492 &lt;p&gt;I initially solved the first challenge by using a paragraph with a
14493 single star in it, ie &amp;lt;para&amp;gt;*&amp;lt;/para&amp;gt;, but it made sure a
14494 placeholder indicated where the scene shifted. This did not look too
14495 good without the centring. The next approach was to create a new
14496 preprocessor directive &amp;lt;?newscene?&amp;gt;, mapping to &quot;&amp;lt;hr/&amp;gt;&quot;
14497 for HTML and &quot;&amp;lt;fo:block text-align=&quot;center&quot;&amp;gt;&amp;lt;fo:leader
14498 leader-pattern=&quot;rule&quot; rule-thickness=&quot;0.5pt&quot;/&amp;gt;&amp;lt;/fo:block&amp;gt;&quot;
14499 for FO/PDF output (did not try to implement this in dblatex, as we had
14500 switched at this time). The HTML XSL file looked like this:&lt;/p&gt;
14501
14502 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14503 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
14504 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
14505 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;newscene&#39;)&quot;&amp;gt;
14506 &amp;lt;hr/&amp;gt;
14507 &amp;lt;/xsl:template&amp;gt;
14508 &amp;lt;/xsl:stylesheet&amp;gt;
14509 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14510
14511 &lt;p&gt;And the FO/PDF XSL file looked like this:&lt;/p&gt;
14512
14513 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14514 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
14515 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
14516 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;newscene&#39;)&quot;&amp;gt;
14517 &amp;lt;fo:block text-align=&quot;center&quot;&amp;gt;
14518 &amp;lt;fo:leader leader-pattern=&quot;rule&quot; rule-thickness=&quot;0.5pt&quot;/&amp;gt;
14519 &amp;lt;/fo:block&amp;gt;
14520 &amp;lt;/xsl:template&amp;gt;
14521 &amp;lt;/xsl:stylesheet&amp;gt;
14522 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14523
14524 &lt;p&gt;Finally, I came across the &amp;lt;bridgehead&amp;gt; tag, which seem to be
14525 a good fit for the task at hand, and I replaced &amp;lt;?newscene?&amp;gt;
14526 with &amp;lt;bridgehead&amp;gt;*&amp;lt;/bridgehead&amp;gt;. It isn&#39;t centred, but we
14527 can fix it with some XSL rule if the current visual layout isn&#39;t
14528 enough.&lt;/p&gt;
14529
14530 &lt;p&gt;I did not find a good DocBook compliant way to solve the
14531 linebreak/paragraph challenge, so I ended up creating a new processor
14532 directive &amp;lt;?linebreak?&amp;gt;, mapping to &amp;lt;br/&amp;gt; in HTML, and
14533 &amp;lt;fo:block/&amp;gt; in FO/PDF. I suspect there are better ways to do
14534 this, and welcome ideas and patches on github. The HTML XSL file now
14535 look like this:&lt;/p&gt;
14536
14537 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14538 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
14539 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
14540 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;linebreak)&quot;&amp;gt;
14541 &amp;lt;br/&amp;gt;
14542 &amp;lt;/xsl:template&amp;gt;
14543 &amp;lt;/xsl:stylesheet&amp;gt;
14544 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14545
14546 &lt;p&gt;And the FO/PDF XSL file looked like this:&lt;/p&gt;
14547
14548 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14549 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
14550 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;
14551 xmlns:fo=&quot;http://www.w3.org/1999/XSL/Format&quot;&amp;gt;
14552 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;linebreak)&quot;&amp;gt;
14553 &amp;lt;fo:block/&amp;gt;
14554 &amp;lt;/xsl:template&amp;gt;
14555 &amp;lt;/xsl:stylesheet&amp;gt;
14556 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14557
14558 &lt;p&gt;One unsolved challenge is our wish to expose different ISBN numbers
14559 per publication format, while keeping all of them in some conditional
14560 structure in the DocBook source. No idea how to do this, so we ended
14561 up listing all the ISBN numbers next to their format in the colophon
14562 page.&lt;/p&gt;
14563
14564 &lt;p&gt;If you want to check out the finished result, check out the
14565 &lt;a href=&quot;https://github.com/sickel/kodemus&quot;&gt;source repository at
14566 github&lt;/a&gt;
14567 (&lt;a href=&quot;https://github.com/EFN/kodemus&quot;&gt;future/new/official
14568 repository&lt;/a&gt;). We expect it to be ready and announced in a few
14569 days.&lt;/p&gt;
14570 </description>
14571 </item>
14572
14573 <item>
14574 <title>Skolelinux 6 got a video review from Pcwizz</title>
14575 <link>http://people.skolelinux.org/pere/blog/Skolelinux_6_got_a_video_review_from_Pcwizz.html</link>
14576 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux_6_got_a_video_review_from_Pcwizz.html</guid>
14577 <pubDate>Sun, 17 Mar 2013 10:30:00 +0100</pubDate>
14578 <description>&lt;p&gt;Via
14579 &lt;a href=&quot;https://twitter.com/pcwizz/status/313044373262716930&quot;&gt;twitter&lt;/a&gt;
14580 I just discovered that &lt;a href=&quot;http://pcwizz.net/&quot;&gt;Pcwizz&lt;/a&gt; have
14581 done a &lt;a href=&quot;http://www.youtube.com/watch?v=wPzTZ61Pcuc&quot;&gt;video
14582 review&lt;/a&gt; on Youtube of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
14583 / Debian Edu&lt;/a&gt; version 6. He installed the standalone profile and
14584 the video show a walk-through of of the menu content, demonstration of
14585 a few programs and his view of our distribution.&lt;/p&gt;
14586
14587 &lt;p&gt;There is also some really nice quotes (transcribed by me, might
14588 have heard wrong). While looking thought the Graphics menu:&lt;/p&gt;
14589
14590 &lt;blockquote&gt;
14591 &quot;Basically everything you ever need in a school environment.&quot;
14592 &lt;/blockquote&gt;
14593
14594 &lt;p&gt;And as a general evaluation of the entire distribution:&lt;/p&gt;
14595
14596 &lt;blockquote&gt;
14597 &quot;So, yeah, a bit bloated. It kept all the Debian stuff in there, just
14598 to keep it nice and GNU. So, I do not want to go on about it, but
14599 lets give it 7 out of 10. I am not going to use it. That is because
14600 I am not deploying a school network. There may be some mythical
14601 feature to help you deploy Skolelinux on a school network.&quot;
14602 &lt;/blockquote&gt;
14603
14604 &lt;p&gt;To bad he did not test the server profile, and discovered the PXE
14605 installation option. It make it possible to install only the main
14606 server from CD, and the rest of the machines via the net, and might be
14607 considered the mythical feature he talk about. :)&lt;/p&gt;
14608
14609 &lt;p&gt;While looking through the menus, there is also this funny comment
14610 about the part of the K menu generated from the Debian menu subsystem:
14611
14612 &lt;blockquote&gt;
14613 &quot;[The K menu] have a special Debian section for software that no-one
14614 is going to look at, because it contain lots of junky stuff that you
14615 actually don&#39;t need in the education distribution, but have just been
14616 included because it isn&#39;t stripped out for some reason.&quot;
14617 &lt;/blockquote&gt;
14618
14619 &lt;p&gt;I guess it is yet another argument for merging the Debian menu and
14620 Gnome/KDE desktop menu entries into
14621 &lt;a href=&quot;http://wiki.debian.org/Proposals/DebianMenuUsingDesktopEntries&quot;&gt;one
14622 consistent menu system&lt;/a&gt; instead of two incomplete and partly
14623 inconsistent menu systems.&lt;/p&gt;
14624
14625 &lt;p&gt;The entire video is available below for those accepting iframe
14626 embedding:&lt;/p&gt;
14627
14628 &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/wPzTZ61Pcuc&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
14629 </description>
14630 </item>
14631
14632 <item>
14633 <title>First Skolelinux / Debian Edu Squeeze update released</title>
14634 <link>http://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html</link>
14635 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html</guid>
14636 <pubDate>Fri, 8 Mar 2013 09:30:00 +0100</pubDate>
14637 <description>&lt;p&gt;Last Sunday, 2013-03-03,, Holger Levsen announced the first update
14638 of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt;
14639 based on Debian Squeeze. This is the first update since
14640 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
14641 initial release 2012-03-11&lt;/a&gt;. This is the
14642 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2013/03/msg00000.html&quot;&gt;release
14643 announcement email from Holger&lt;/a&gt;:&lt;/p&gt;
14644
14645 &lt;blockquote&gt;&lt;p&gt;Hi,&lt;/p&gt;
14646
14647 &lt;p&gt;it&#39;s my pleasure to announce the immediate availability of Debian
14648 Edu 6.0.7+r1 (&quot;Debian Edu Squeeze&quot;).&lt;/p&gt;
14649
14650 &lt;p&gt;Debian Edu 6.0.7+r1 is an incremental update to Debian Edu
14651 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as
14652 well Debian Edu specific bugfixes and enhancements. See below (in this
14653 mail) for the full list of (edu) changes. Please see
14654 &lt;a href=&quot;http://www.debian.org/News/2012/20120311&quot;&gt;http://www.debian.org/News/2012/20120311&lt;/a&gt;
14655 for more information on &quot;Debian Edu Squeeze&quot;.&lt;/p&gt;
14656
14657 &lt;p&gt;Images are available for download at
14658 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/&lt;/a&gt;&lt;/p&gt;
14659
14660 &lt;p&gt;md5sums:
14661 &lt;br&gt;1fe79eb4f0f9ae1c58fc318e26cc1e2e debian-edu-6.0.7+r1-CD.iso
14662 &lt;br&gt;a6ddd924a8bd9a1b5ca122e8fe1c34ec debian-edu-6.0.7+r1-DVD.iso
14663 &lt;br&gt;ac6c72cd7925ccec51bfbf58e2a7c69c debian-edu-6.0.7+r1-source-DVD.iso&lt;/p&gt;
14664
14665 &lt;p&gt;sha1sums:
14666 &lt;br&gt;a4b58233b672a99c7df8dc24fb6de3327654a5c3 debian-edu-6.0.7+r1-CD.iso
14667 &lt;br&gt;9b524915e0ff2aa793f13d93123e5bd2bab2dbaa debian-edu-6.0.7+r1-DVD.iso
14668 &lt;br&gt;43997614893fc5e9e59ad6ce066b05d07fd836fa debian-edu-6.0.7+r1-source-DVD.iso&lt;/p&gt;
14669
14670 &lt;p&gt;These images are suitable for amd64+i386.&lt;/p&gt;
14671
14672 &lt;p&gt;Changes for Debian Edu 6.0.7+r1 Codename &quot;Squeeze&quot;, released
14673 2013-03-03:&lt;/p&gt;
14674
14675 &lt;ul&gt;
14676 &lt;li&gt;sitesummary was updated from 0.1.3 to 0.1.8
14677 &lt;ul&gt;
14678 &lt;li&gt;Make Nagios configuration more robust and efficient&lt;/li&gt;
14679 &lt;li&gt;Comply with 3.X kernel&lt;/li&gt;
14680 &lt;/ul&gt;&lt;/li&gt;
14681 &lt;li&gt;debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1
14682 &lt;ul&gt;
14683 &lt;li&gt;Minor updates from the wiki&lt;/li&gt;
14684 &lt;li&gt;Danish translation now complete&lt;/li&gt;
14685 &lt;/ul&gt;&lt;/li&gt;
14686 &lt;li&gt;debian-edu-config from 1.453 to 1.455
14687 &lt;ul&gt;
14688 &lt;li&gt;Fix /etc/hosts for LTSP diskless workstations. Closes: #699880&lt;/li&gt;
14689 &lt;li&gt;Make ltsp_local_mount script work for multiple devices.&lt;/li&gt;
14690 &lt;li&gt;Correct Kerberos user policy: don&#39;t expire password after 2 days.
14691 Closes: #664596&lt;/li&gt;
14692 &lt;li&gt;Handle &#39;#&#39; characters in the root or first users password.
14693 Closes: #664976&lt;/li&gt;
14694 &lt;li&gt;Fixes for gosa-sync:
14695 &lt;ul&gt;
14696 &lt;li&gt;Don&#39;t fail if password contains &quot;&lt;/li&gt;
14697 &lt;li&gt;Don&#39;t disclose new password string in syslog&lt;/li&gt;
14698 &lt;/ul&gt;&lt;/li&gt;
14699 &lt;li&gt;Fixes for gosa-create:
14700 &lt;ul&gt;
14701 &lt;li&gt;Invalidate libnss cache before applying changes&lt;/li&gt;
14702 &lt;li&gt;Multiple failures during mass user import into GOsa²&lt;/li&gt;
14703 &lt;li&gt;gosa-netgroups plugin: don&#39;t erase entries of attribute type
14704 &quot;memberNisNetgroup&quot;. Closes: #687256&lt;/li&gt;
14705 &lt;li&gt;First user now uses the same Kerberos policy as all other users&lt;/li&gt;
14706 &lt;/ul&gt;&lt;/li&gt;
14707 &lt;li&gt;Add Danish web page&lt;/li&gt;
14708 &lt;/ul&gt;
14709 &lt;li&gt;debian-edu-install from 1.528 to 1.530
14710 &lt;ul&gt;
14711 &lt;li&gt;Improve preseeding support and documentation&lt;/li&gt;
14712 &lt;/ul&gt;&lt;/li&gt;
14713 &lt;/ul&gt;
14714
14715 &lt;p&gt;End-user documentation in English is available at
14716 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/&quot;&gt;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/&lt;/a&gt;
14717 - translations to French, Italian, Danish and German are available in
14718 the debian-edu-doc package. (Other languages could use your help!)&lt;/p&gt;
14719
14720 &lt;p&gt;If you want to contribute to Debian Edu, please join our
14721 mailinglist
14722 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;debian-edu@lists.debian.org&lt;/a&gt;!
14723 &lt;/p&gt;&lt;/blockquote&gt;
14724
14725 &lt;p&gt;I am very happy to see the fruits of a year of hard work. :)&lt;/p&gt;
14726 </description>
14727 </item>
14728
14729 <item>
14730 <title>Frikanalen - Complete TV station organised using the web</title>
14731 <link>http://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html</link>
14732 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html</guid>
14733 <pubDate>Sun, 3 Mar 2013 07:15:00 +0100</pubDate>
14734 <description>&lt;p&gt;Do you want to set up your own TV station, schedule videos and
14735 broadcast them on the air? Using free software? With video on demand
14736 support using
14737 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
14738 open standards&lt;/a&gt;? Included a web based video stream as well? And
14739 administrate it all in your web browser from anywhere in the world? A
14740 few years now the Norwegian public access TV-channel
14741 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; have been building a
14742 system to do just this. The source code for the solution is licensed
14743 using the GNU LGPL, and
14744 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from github&lt;/a&gt;.&lt;/p&gt;
14745
14746 &lt;p&gt;The idea is simple. You upload a video file over the web, and
14747 attach meta information to the file. You select a time slot in the
14748 program schedule, and when the time come it is played on the air and
14749 in the web stream. It is also made available in a video on demand
14750 solution for anyone to see it also outside its scheduled time. All
14751 you need to run a TV station - using your web browser.&lt;/p&gt;
14752
14753 &lt;p&gt;There are several parts to this web based solution. I&#39;ll mention
14754 the three most important ones. The first part is the database of
14755 videos and the schedule. This is written in Django and include a REST
14756 API. The current database is SQLite, but the plan is to migrate it to
14757 PostgreSQL. At the moment this system can be tested on
14758 &lt;a href=&quot;http://beta.frikanalen.tv/&quot;&gt;beta.frikanalen.tv&lt;/a&gt;. The
14759 second part is the video playout, taking the schedule information from
14760 the database and providing a video stream to broadcast. This is done
14761 using &lt;a href=&quot;http://www.casparcg.com/&quot;&gt;CasparCG from SVT&lt;/a&gt; and
14762 &lt;a href=&quot;http://www.mltframework.org/&quot;&gt;Media Lovin&#39; Toolkit&lt;/a&gt;. Video
14763 signal distribution is handled using
14764 &lt;a href=&quot;http://www.ob-encoder.com/&quot;&gt;Open Broadcast Encoder&lt;/a&gt;. The
14765 third part is the converter, handling the transformation of uploaded
14766 video files to a format useful for broadcasting, streaming and video
14767 on demand. It is still very much work in progress, so it is not yet
14768 decided what it will end up using. Note that the source of the latter
14769 two parts are not yet pushed to github. The lead author want to clean
14770 them up a bit more first.&lt;/p&gt;
14771
14772 &lt;p&gt;The development is coordinated on the
14773 &lt;a href=&quot;irc://irc.freenode.net/%23frikanalen&quot;&gt;#frikanalen IRC
14774 channel&lt;/a&gt; (irc.freenode.net), and discussed on
14775 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/frikanalen&quot;&gt;the
14776 frikanalen mailing list&lt;/a&gt;. The lead developer is Benjamin Bruheim
14777 (phed on IRC). Anyone is welcome to participate in the
14778 development.&lt;/p&gt;
14779 </description>
14780 </item>
14781
14782 <item>
14783 <title>Dr. Richard Stallman, founder of Free Software Foundation, give a talk in Oslo March 1st 2013</title>
14784 <link>http://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html</link>
14785 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html</guid>
14786 <pubDate>Wed, 27 Feb 2013 20:20:00 +0100</pubDate>
14787 <description>&lt;p&gt;Dr. &lt;a href=&quot;http://www.stallman.org/&quot;&gt;Richard Stallman&lt;/a&gt;,
14788 founder of &lt;a href=&quot;http://www.fsf.org/&quot;&gt;Free Software Foundation&lt;/a&gt;,
14789 is giving &lt;a href=&quot;http://www.nuug.no/aktiviteter/20130301-rms/&quot;&gt;a
14790 talk in Oslo March 1st 2013 17:00 to 19:00&lt;/a&gt;. The event is public
14791 and organised by &lt;a href=&quot;&quot;&gt;Norwegian Unix Users Group (NUUG)&lt;/a&gt;
14792 (where I am the chair of the board) and
14793 &lt;a href=&quot;http://www.friprog.no/&quot;&gt;The Norwegian Open Source Competence
14794 Center&lt;/a&gt;. The title of the talk is «The Free Software Movement and
14795 GNU», with this description:
14796
14797 &lt;p&gt;&lt;blockquote&gt;
14798 The Free Software Movement campaigns for computer users&#39; freedom to
14799 cooperate and control their own computing. The Free Software Movement
14800 developed the GNU operating system, typically used together with the
14801 kernel Linux, specifically to make these freedoms possible.
14802 &lt;/blockquote&gt;&lt;/p&gt;
14803
14804 &lt;p&gt;The meeting is open for everyone. Due to space limitations, the
14805 doors opens for NUUG members at 16:15, and everyone else at 16:45. I
14806 am really curious how many will show up. See
14807 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20130301-rms/&quot;&gt;the event
14808 page&lt;/a&gt; for the location details.&lt;/p&gt;
14809 </description>
14810 </item>
14811
14812 <item>
14813 <title>Frikart - Free Garmin maps for European countries based on OpenStreetmap</title>
14814 <link>http://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html</link>
14815 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html</guid>
14816 <pubDate>Fri, 15 Feb 2013 09:30:00 +0100</pubDate>
14817 <description>&lt;p&gt;If you, like me, want an updated a map for your Garmin GPS, there is
14818 now a great source of free maps available from
14819 &lt;a href=&quot;http://www.frikart.no/garmin/index.html&quot;&gt;Frikart&lt;/a&gt;. To
14820 download a map, just click on the country you are interested in, and
14821 download the map type you want. There are 8 different maps available,
14822 using different colours and data selection. Pick one of Roadmap, Topo
14823 Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II,
14824 &quot;Trails - overlay map&quot; and &quot;Cross country - overlay map&quot; (see the web
14825 page for descriptions).&lt;/p&gt;
14826
14827 &lt;p&gt;The maps are updated weekly, so if you find something wrong in the
14828 map you can just edit the
14829 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; map source
14830 (anyone can contribute) and fetch a fixed map a week later. :)&lt;/p&gt;
14831 </description>
14832 </item>
14833
14834 <item>
14835 <title>&quot;Electronic&quot; paper invoices - using vCard in a QR code</title>
14836 <link>http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html</link>
14837 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html</guid>
14838 <pubDate>Tue, 12 Feb 2013 10:30:00 +0100</pubDate>
14839 <description>&lt;p&gt;Here in Norway, electronic invoices are spreading, and the
14840 &lt;a href=&quot;http://www.anskaffelser.no/e-handel/faktura&quot;&gt;solution promoted
14841 by the Norwegian government&lt;/a&gt; require that invoices are sent through
14842 one of the approved facilitators, and it is not possible to send
14843 electronic invoices without an agreement with one of these
14844 facilitators. This seem like a needless limitation to be able to
14845 transfer invoice information between buyers and sellers. My preferred
14846 solution would be to just transfer the invoice information directly
14847 between seller and buyer, for example using SMTP, or some HTTP based
14848 protocol like REST or SOAP. But this might also be overkill, as the
14849 &quot;electronic&quot; information can be transferred using paper invoices too,
14850 using a simple bar code. My bar code encoding of choice would be QR
14851 codes, as this encoding can be read by any smart phone out there. The
14852 content of the code could be anything, but I would go with
14853 &lt;a href=&quot;http://en.wikipedia.org/wiki/VCard&quot;&gt;the vCard format&lt;/a&gt;, as
14854 it too is supported by a lot of computer equipment these days.&lt;/p&gt;
14855
14856 &lt;p&gt;The vCard format support extentions, and the invoice specific
14857 information can be included using such extentions. For example an
14858 invoice from SLX Debian Labs (picked because we
14859 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;ask
14860 for donations to the Debian Edu project&lt;/a&gt; and thus have bank account
14861 information publicly available) for NOK 1000.00 could have these extra
14862 fields:&lt;/p&gt;
14863
14864 &lt;p&gt;&lt;pre&gt;
14865 X-INVOICE-NUMBER:1
14866 X-INVOICE-AMOUNT:NOK1000.00
14867 X-INVOICE-KID:123412341234
14868 X-INVOICE-MSG:Donation to Debian Edu
14869 X-BANK-ACCOUNT-NUMBER:16040884339
14870 X-BANK-IBAN-NUMBER:NO8516040884339
14871 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
14872 &lt;/pre&gt;&lt;/p&gt;
14873
14874 &lt;p&gt;The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
14875 answer regarding
14876 &lt;a href=&quot;http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file&quot;&gt;how
14877 to put bank account information into a vCard&lt;/a&gt;. For payments in
14878 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
14879 used to pass on information to the seller when paying the invoice.&lt;/p&gt;
14880
14881 &lt;p&gt;The complete vCard could look like this:&lt;/p&gt;
14882
14883 &lt;p&gt;&lt;pre&gt;
14884 BEGIN:VCARD
14885 VERSION:2.1
14886 ORG:SLX Debian Labs Foundation
14887 ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
14888 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
14889 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
14890 REV:20130212T095000Z
14891 X-INVOICE-NUMBER:1
14892 X-INVOICE-AMOUNT:NOK1000.00
14893 X-INVOICE-MSG:Donation to Debian Edu
14894 X-BANK-ACCOUNT-NUMBER:16040884339
14895 X-BANK-IBAN-NUMBER:NO8516040884339
14896 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
14897 END:VCARD
14898 &lt;/pre&gt;&lt;/p&gt;
14899
14900 &lt;p&gt;The resulting QR code created using
14901 &lt;a href=&quot;http://fukuchi.org/works/qrencode/&quot;&gt;qrencode&lt;/a&gt; would look
14902 like this, and should be readable (and thus checkable) by any smart
14903 phone, or for example the &lt;a href=&quot;http://zbar.sourceforge.net/&quot;&gt;zbar
14904 bar code reader&lt;/a&gt; and feed right into the approval and accounting
14905 system.&lt;/p&gt;
14906
14907 &lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png&quot;&gt;&lt;/p&gt;
14908
14909 &lt;p&gt;The extension fields will most likely not show up in any normal
14910 vCard reader, so those parts would have to go directly into a system
14911 handling invoices. I am a bit unsure how vCards without name parts
14912 are handled, but a simple test indicate that this work just fine.&lt;/p&gt;
14913
14914 &lt;p&gt;&lt;strong&gt;Update 2013-02-12 11:30&lt;/strong&gt;: Added KID to the proposal
14915 based on feedback from Sturle Sunde.&lt;/p&gt;
14916 </description>
14917 </item>
14918
14919 <item>
14920 <title>Sleep until morning - home automation for the kids</title>
14921 <link>http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html</link>
14922 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html</guid>
14923 <pubDate>Sun, 10 Feb 2013 12:50:00 +0100</pubDate>
14924 <description>&lt;p&gt;&lt;img align=&quot;left&quot; style=&quot;margin-right:25px;&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2013-02-10-morning-light.jpeg&quot;&gt;&lt;/p&gt;
14925
14926 &lt;p&gt;With kids in the house, one challenge is getting them to sleep
14927 during the night and wake up when it is morning. I mean, when I
14928 believe it is morning, and not two hours earlier. In our household we
14929 have decided that 07:00 is the turning point, but getting the kids to
14930 sleep until 07:00 is a small challenge every day. They have adapted
14931 quite well, and rarely wake up at 05:00 any more, but some times wake
14932 up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
14933 the awake one to bed again without disturbing and waking the rest.
14934 And I understand perfectly well that they fail to sleep until 07:00
14935 some times, as there is no way for them to know if it is before or
14936 after the magic moment without coming and asking us parents.&lt;/p&gt;
14937
14938 &lt;p&gt;But yesterday I came up with a method to solve this problem. It
14939 involve home automation. A few years ago I bought a
14940 &lt;a href=&quot;http://www.telldus.se/products/tellstick&quot;&gt;Tellstick&lt;/a&gt; and RF
14941 switches at the local &lt;a href=&quot;http://www.clasohlson.com/&quot;&gt;Clas
14942 Ohlson&lt;/a&gt; shop, allowing me to control lights and other electrical
14943 gadgets using my Linux server. When I moved from the old flat to a
14944 small house, I put away all this equipment as most of the lighting in
14945 the house was not using wall sockets and thus not easy to connect to
14946 the gadgets I had. But recently I bought a
14947 &lt;a href=&quot;http://www.telldus.se/products/tellstick_net&quot;&gt;Tellstick
14948 Net&lt;/a&gt; to be able to read sensor input as well as control power
14949 sockets. I want to control ovens in the basement to avoid the pipes
14950 to freeze, and monitor the humidity to detect flooding. The default
14951 setup for Tellstick Net is to be controlled by the vendor web service,
14952 which to me is a security problem, but it is also possible to build
14953 ones own
14954 &lt;a href=&quot;http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware&quot;&gt;firmware
14955 with local access&lt;/A&gt; instead of being controlled by a Swedish
14956 company, thanks to the release of the GPL licensed firmware source
14957 code. I plan to get that running before I let it control anything
14958 important. But while working on this, one idea to make it easier for
14959 the kids came to me yesterday. We can set up a night light controlled
14960 by the computer, and turn it automatically on at 07:00. The kids can
14961 then check the light in the morning to know if they are supposed to
14962 get up or not. They joined me in setting everything up, and I
14963 repeated the concept several times before bed times to make sure they
14964 remembered to check the light before getting up in the morning.&lt;/p&gt;
14965
14966 &lt;p&gt;We tested it this morning, and all the kids stayed in bed until
14967 after 07:00, and every one of them commented on the fact that the
14968 &quot;morning light&quot; was turned on and signalled that the morning had
14969 arrived. So this look like a success, and I am excited to see how
14970 this develops the next few days. :) I really hope this can allow us
14971 all to sleep a bit longer in the morning.&lt;/p&gt;
14972
14973 &lt;p&gt;A nice advantage of this setup is that we can remote control when
14974 to tell the kids to get up. We do not have to wait until 07:00, and
14975 can also delay it if we want to.&lt;/p&gt;
14976 </description>
14977 </item>
14978
14979 <item>
14980 <title>Bitcoin GUI now available from Debian/unstable (and Ubuntu/raring)</title>
14981 <link>http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html</link>
14982 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html</guid>
14983 <pubDate>Sat, 2 Feb 2013 09:00:00 +0100</pubDate>
14984 <description>&lt;p&gt;My
14985 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html&quot;&gt;last
14986 bitcoin related blog post&lt;/a&gt; mentioned that the new
14987 &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;bitcoin package&lt;/a&gt; for
14988 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
14989 2013-01-19, and have been available in unstable since then. It was
14990 automatically copied to Ubuntu, and is available in their Raring
14991 version too.&lt;/p&gt;
14992
14993 &lt;p&gt;But there is a strange problem with the build that block this new
14994 version from being available on the i386 and kfreebsd-i386
14995 architectures. For some strange reason, the autobuilders in Debian
14996 for these architectures fail to run the test suite on these
14997 architectures (&lt;a href=&quot;http://bugs.debian.org/672524&quot;&gt;BTS #672524&lt;/a&gt;).
14998 We are so far unable to reproduce it when building it manually, and
14999 no-one have been able to propose a fix. If you got an idea what is
15000 failing, please let us know via the BTS.&lt;/p&gt;
15001
15002 &lt;p&gt;One feature that is annoying me with of the bitcoin client, because
15003 I often run low on disk space, is the fact that the client will exit
15004 if it run short on space (&lt;a href=&quot;http://bugs.debian.org/696715&quot;&gt;BTS
15005 #696715&lt;/a&gt;). So make sure you have enough disk space when you run
15006 it. :)&lt;/p&gt;
15007
15008 &lt;p&gt;As usual, if you use bitcoin and want to show your support of my
15009 activities, please send Bitcoin donations to my address
15010 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
15011 </description>
15012 </item>
15013
15014 <item>
15015 <title>Welcome to the world, Isenkram!</title>
15016 <link>http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</link>
15017 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</guid>
15018 <pubDate>Tue, 22 Jan 2013 22:00:00 +0100</pubDate>
15019 <description>&lt;p&gt;Yesterday, I
15020 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html&quot;&gt;asked
15021 for testers&lt;/a&gt; for my prototype for making Debian better at handling
15022 pluggable hardware devices, which I
15023 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;set
15024 out to create&lt;/a&gt; earlier this month. Several valuable testers showed
15025 up, and caused me to really want to to open up the development to more
15026 people. But before I did this, I want to come up with a sensible name
15027 for this project. Today I finally decided on a new name, and I have
15028 renamed the project from hw-support-handler to this new name. In the
15029 process, I moved the source to git and made it available as a
15030 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git&quot;&gt;collab-maint&lt;/a&gt;
15031 repository in Debian. The new name? It is &lt;strong&gt;Isenkram&lt;/strong&gt;.
15032 To fetch and build the latest version of the source, use&lt;/p&gt;
15033
15034 &lt;pre&gt;
15035 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
15036 cd isenkram &amp;&amp; git-buildpackage -us -uc
15037 &lt;/pre&gt;
15038
15039 &lt;p&gt;I have not yet adjusted all files to use the new name yet. If you
15040 want to hack on the source or improve the package, please go ahead.
15041 But please talk to me first on IRC or via email before you do major
15042 changes, to make sure we do not step on each others toes. :)&lt;/p&gt;
15043
15044 &lt;p&gt;If you wonder what &#39;isenkram&#39; is, it is a Norwegian word for iron
15045 stuff, typically meaning tools, nails, screws, etc. Typical hardware
15046 stuff, in other words. I&#39;ve been told it is the Norwegian variant of
15047 the German word eisenkram, for those that are familiar with that
15048 word.&lt;/p&gt;
15049
15050 &lt;p&gt;&lt;strong&gt;Update 2013-01-26&lt;/strong&gt;: Added -us -us to build
15051 instructions, to avoid confusing people with an error from the signing
15052 process.&lt;/p&gt;
15053
15054 &lt;p&gt;&lt;strong&gt;Update 2013-01-27&lt;/strong&gt;: Switch to HTTP URL for the git
15055 clone argument to avoid the need for authentication.&lt;/p&gt;
15056 </description>
15057 </item>
15058
15059 <item>
15060 <title>First prototype ready making hardware easier to use in Debian</title>
15061 <link>http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</link>
15062 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</guid>
15063 <pubDate>Mon, 21 Jan 2013 12:00:00 +0100</pubDate>
15064 <description>&lt;p&gt;Early this month I set out to try to
15065 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;improve
15066 the Debian support for pluggable hardware devices&lt;/a&gt;. Now my
15067 prototype is working, and it is ready for a larger audience. To test
15068 it, fetch the
15069 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;source
15070 from the Debian Edu subversion repository&lt;/a&gt;, build and install the
15071 package. You might have to log out and in again activate the
15072 autostart script.&lt;/p&gt;
15073
15074 &lt;p&gt;The design is simple:&lt;/p&gt;
15075
15076 &lt;ul&gt;
15077
15078 &lt;li&gt;Add desktop entry in /usr/share/autostart/ causing a program
15079 hw-support-handlerd to start when the user log in.&lt;/li&gt;
15080
15081 &lt;li&gt;This program listen for kernel events about new hardware (directly
15082 from the kernel like udev does), not using HAL dbus events as I
15083 initially did.&lt;/li&gt;
15084
15085 &lt;li&gt;When new hardware is inserted, look up the hardware modalias in
15086 the APT database, a database
15087 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup&quot;&gt;available
15088 via HTTP&lt;/a&gt; and a database available as part of the package.&lt;/li&gt;
15089
15090 &lt;li&gt;If a package is mapped to the hardware in question, the package
15091 isn&#39;t installed yet and this is the first time the hardware was
15092 plugged in, show a desktop notification suggesting to install the
15093 package or packages.&lt;/li&gt;
15094
15095 &lt;li&gt;If the user click on the &#39;install package now&#39; button, ask
15096 aptdaemon via the PackageKit API to install the requrired package.&lt;/li&gt;
15097
15098 &lt;li&gt;aptdaemon ask for root password or sudo password, and install the
15099 package while showing progress information in a window.&lt;/li&gt;
15100
15101 &lt;/ul&gt;
15102
15103 &lt;p&gt;I still need to come up with a better name for the system. Here
15104 are some screen shots showing the prototype in action. First the
15105 notification, then the password request, and finally the request to
15106 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.&lt;/p&gt;
15107
15108 &lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png&quot;&gt;
15109 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png&quot;&gt;
15110 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png&quot;&gt;
15111 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png&quot;&gt;
15112 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png&quot; width=&quot;70%&quot;&gt;&lt;/p&gt;
15113
15114 &lt;p&gt;The prototype still need to be improved with longer timeouts, but
15115 is already useful. The database of hardware to package mappings also
15116 need more work. It is currently compatible with the Ubuntu way of
15117 storing such information in the package control file, but could be
15118 changed to use other formats instead or in addition to the current
15119 method. I&#39;ve dropped the use of discover for this mapping, as the
15120 modalias approach is more flexible and easier to use on Linux as long
15121 as the Linux kernel expose its modalias strings directly.&lt;/p&gt;
15122
15123 &lt;p&gt;&lt;strong&gt;Update 2013-01-21 16:50&lt;/strong&gt;: Due to popular demand,
15124 here is the command required to check out and build the source: Use
15125 &#39;&lt;tt&gt;svn checkout
15126 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
15127 hw-support-handler; debuild&lt;/tt&gt;&#39;. If you lack debuild, install the
15128 devscripts package.&lt;/p&gt;
15129
15130 &lt;p&gt;&lt;strong&gt;Update 2013-01-23 12:00&lt;/strong&gt;: The project is now
15131 renamed to Isenkram and the source moved from the Debian Edu
15132 subversion repository to a Debian collab-maint git repository. See
15133 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html&quot;&gt;build
15134 instructions&lt;/a&gt; for details.&lt;/p&gt;
15135 </description>
15136 </item>
15137
15138 <item>
15139 <title>Thank you Thinkpad X41, for your long and trustworthy service</title>
15140 <link>http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</link>
15141 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</guid>
15142 <pubDate>Sat, 19 Jan 2013 09:20:00 +0100</pubDate>
15143 <description>&lt;p&gt;This Christmas my trusty old laptop died. It died quietly and
15144 suddenly in bed. With a quiet whimper, it went completely quiet and
15145 black. The power button was no longer able to turn it on. It was a
15146 IBM Thinkpad X41, and the best laptop I ever had. Better than both
15147 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
15148 Compaq I had before that. Now I need to find a replacement. To keep
15149 going during Christmas, I moved the one year old SSD disk to my old
15150 X40 where it fitted (only one I had left that could use it), but it is
15151 not a durable solution.
15152
15153 &lt;p&gt;My laptop needs are fairly modest. This is my wishlist from when I
15154 got a new one more than 10 years ago. It still holds true.:)&lt;/p&gt;
15155
15156 &lt;ul&gt;
15157
15158 &lt;li&gt;Lightweight (around 1 kg) and small volume (preferably smaller
15159 than A4).&lt;/li&gt;
15160 &lt;li&gt;Robust, it will be in my backpack every day.&lt;/li&gt;
15161 &lt;li&gt;Three button mouse and a mouse pin instead of touch pad.&lt;/li&gt;
15162 &lt;li&gt;Long battery life time. Preferable a week.&lt;/li&gt;
15163 &lt;li&gt;Internal WIFI network card.&lt;/li&gt;
15164 &lt;li&gt;Internal Twisted Pair network card.&lt;/li&gt;
15165 &lt;li&gt;Some USB slots (2-3 is plenty)&lt;/li&gt;
15166 &lt;li&gt;Good keyboard - similar to the Thinkpad.&lt;/li&gt;
15167 &lt;li&gt;Video resolution at least 1024x768, with size around 12&quot; (A4 paper
15168 size).&lt;/li&gt;
15169 &lt;li&gt;Hardware supported by Debian Stable, ie the default kernel and
15170 X.org packages.&lt;/li&gt;
15171 &lt;li&gt;Quiet, preferably fan free (or at least not using the fan most of
15172 the time).
15173
15174 &lt;/ul&gt;
15175
15176 &lt;p&gt;You will notice that there are no RAM and CPU requirements in the
15177 list. The reason is simply that the specifications on laptops the
15178 last 10-15 years have been sufficient for my needs, and I have to look
15179 at other features to choose my laptop. But are there still made as
15180 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
15181 robust, and Thinkpads seem to be heading in the wrong direction since
15182 Lenovo took over. But I&#39;ve been told that X220 and X1 Carbon might
15183 still be useful.&lt;/p&gt;
15184
15185 &lt;p&gt;Perhaps I should rethink my needs, and look for a pad with an
15186 external keyboard? I&#39;ll have to check the
15187 &lt;a href=&quot;http://www.linux-laptop.net/&quot;&gt;Linux Laptops site&lt;/a&gt; for
15188 well-supported laptops, or perhaps just buy one preinstalled from one
15189 of the vendors listed on the &lt;a href=&quot;http://linuxpreloaded.com/&quot;&gt;Linux
15190 Pre-loaded site&lt;/a&gt;.&lt;/p&gt;
15191 </description>
15192 </item>
15193
15194 <item>
15195 <title>How to find a browser plugin supporting a given MIME type</title>
15196 <link>http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</link>
15197 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</guid>
15198 <pubDate>Fri, 18 Jan 2013 10:40:00 +0100</pubDate>
15199 <description>&lt;p&gt;Some times I try to figure out which Iceweasel browser plugin to
15200 install to get support for a given MIME type. Thanks to
15201 &lt;a href=&quot;https://wiki.ubuntu.com/MozillaTeam/Plugins&quot;&gt;specifications
15202 done by Ubuntu&lt;/a&gt; and Mozilla, it is possible to do this in Debian.
15203 Unfortunately, not very many packages provide the needed meta
15204 information, Anyway, here is a small script to look up all browser
15205 plugin packages announcing ther MIME support using this specification:&lt;/p&gt;
15206
15207 &lt;pre&gt;
15208 #!/usr/bin/python
15209 import sys
15210 import apt
15211 def pkgs_handling_mimetype(mimetype):
15212 cache = apt.Cache()
15213 cache.open(None)
15214 thepkgs = []
15215 for pkg in cache:
15216 version = pkg.candidate
15217 if version is None:
15218 version = pkg.installed
15219 if version is None:
15220 continue
15221 record = version.record
15222 if not record.has_key(&#39;Npp-MimeType&#39;):
15223 continue
15224 mime_types = record[&#39;Npp-MimeType&#39;].split(&#39;,&#39;)
15225 for t in mime_types:
15226 t = t.rstrip().strip()
15227 if t == mimetype:
15228 thepkgs.append(pkg.name)
15229 return thepkgs
15230 mimetype = &quot;audio/ogg&quot;
15231 if 1 &lt; len(sys.argv):
15232 mimetype = sys.argv[1]
15233 print &quot;Browser plugin packages supporting %s:&quot; % mimetype
15234 for pkg in pkgs_handling_mimetype(mimetype):
15235 print &quot; %s&quot; %pkg
15236 &lt;/pre&gt;
15237
15238 &lt;p&gt;It can be used like this to look up a given MIME type:&lt;/p&gt;
15239
15240 &lt;pre&gt;
15241 % ./apt-find-browserplug-for-mimetype
15242 Browser plugin packages supporting audio/ogg:
15243 gecko-mediaplayer
15244 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
15245 Browser plugin packages supporting application/x-shockwave-flash:
15246 browser-plugin-gnash
15247 %
15248 &lt;/pre&gt;
15249
15250 &lt;p&gt;In Ubuntu this mechanism is combined with support in the browser
15251 itself to query for plugins and propose to install the needed
15252 packages. It would be great if Debian supported such feature too. Is
15253 anyone working on adding it?&lt;/p&gt;
15254
15255 &lt;p&gt;&lt;strong&gt;Update 2013-01-18 14:20&lt;/strong&gt;: The Debian BTS
15256 request for icweasel support for this feature is
15257 &lt;a href=&quot;http://bugs.debian.org/484010&quot;&gt;#484010&lt;/a&gt; from 2008 (and
15258 &lt;a href=&quot;http://bugs.debian.org/698426&quot;&gt;#698426&lt;/a&gt; from today). Lack
15259 of manpower and wish for a different design is the reason thus feature
15260 is not yet in iceweasel from Debian.&lt;/p&gt;
15261 </description>
15262 </item>
15263
15264 <item>
15265 <title>What is the most supported MIME type in Debian?</title>
15266 <link>http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</link>
15267 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</guid>
15268 <pubDate>Wed, 16 Jan 2013 10:10:00 +0100</pubDate>
15269 <description>&lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/AppStreamDebianProposal&quot;&gt;DEP-11
15270 proposal to add AppStream information to the Debian archive&lt;/a&gt;, is a
15271 proposal to make it possible for a Desktop application to propose to
15272 the user some package to install to gain support for a given MIME
15273 type, font, library etc. that is currently missing. With such
15274 mechanism in place, it would be possible for the desktop to
15275 automatically propose and install leocad if some LDraw file is
15276 downloaded by the browser.&lt;/p&gt;
15277
15278 &lt;p&gt;To get some idea about the current content of the archive, I decided
15279 to write a simple program to extract all .desktop files from the
15280 Debian archive and look up the claimed MIME support there. The result
15281 can be found on the
15282 &lt;a href=&quot;http://ftp.skolelinux.org/pub/AppStreamTest&quot;&gt;Skolelinux FTP
15283 site&lt;/a&gt;. Using the collected information, it become possible to
15284 answer the question in the title. Here are the 20 most supported MIME
15285 types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
15286 The complete list is available from the link above.&lt;/p&gt;
15287
15288 &lt;p&gt;&lt;strong&gt;Debian Stable:&lt;/strong&gt;&lt;/p&gt;
15289
15290 &lt;pre&gt;
15291 count MIME type
15292 ----- -----------------------
15293 32 text/plain
15294 30 audio/mpeg
15295 29 image/png
15296 28 image/jpeg
15297 27 application/ogg
15298 26 audio/x-mp3
15299 25 image/tiff
15300 25 image/gif
15301 22 image/bmp
15302 22 audio/x-wav
15303 20 audio/x-flac
15304 19 audio/x-mpegurl
15305 18 video/x-ms-asf
15306 18 audio/x-musepack
15307 18 audio/x-mpeg
15308 18 application/x-ogg
15309 17 video/mpeg
15310 17 audio/x-scpls
15311 17 audio/ogg
15312 16 video/x-ms-wmv
15313 &lt;/pre&gt;
15314
15315 &lt;p&gt;&lt;strong&gt;Debian Testing:&lt;/strong&gt;&lt;/p&gt;
15316
15317 &lt;pre&gt;
15318 count MIME type
15319 ----- -----------------------
15320 33 text/plain
15321 32 image/png
15322 32 image/jpeg
15323 29 audio/mpeg
15324 27 image/gif
15325 26 image/tiff
15326 26 application/ogg
15327 25 audio/x-mp3
15328 22 image/bmp
15329 21 audio/x-wav
15330 19 audio/x-mpegurl
15331 19 audio/x-mpeg
15332 18 video/mpeg
15333 18 audio/x-scpls
15334 18 audio/x-flac
15335 18 application/x-ogg
15336 17 video/x-ms-asf
15337 17 text/html
15338 17 audio/x-musepack
15339 16 image/x-xbitmap
15340 &lt;/pre&gt;
15341
15342 &lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
15343
15344 &lt;pre&gt;
15345 count MIME type
15346 ----- -----------------------
15347 31 text/plain
15348 31 image/png
15349 31 image/jpeg
15350 29 audio/mpeg
15351 28 application/ogg
15352 27 image/gif
15353 26 image/tiff
15354 26 audio/x-mp3
15355 23 audio/x-wav
15356 22 image/bmp
15357 21 audio/x-flac
15358 20 audio/x-mpegurl
15359 19 audio/x-mpeg
15360 18 video/x-ms-asf
15361 18 video/mpeg
15362 18 audio/x-scpls
15363 18 application/x-ogg
15364 17 audio/x-musepack
15365 16 video/x-ms-wmv
15366 16 video/x-msvideo
15367 &lt;/pre&gt;
15368
15369 &lt;p&gt;I am told that PackageKit can provide an API to access the kind of
15370 information mentioned in DEP-11. I have not yet had time to look at
15371 it, but hope the PackageKit people in Debian are on top of these
15372 issues.&lt;/p&gt;
15373
15374 &lt;p&gt;&lt;strong&gt;Update 2013-01-16 13:35&lt;/strong&gt;: Updated numbers after
15375 discovering a typo in my script.&lt;/p&gt;
15376 </description>
15377 </item>
15378
15379 <item>
15380 <title>Using modalias info to find packages handling my hardware</title>
15381 <link>http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</link>
15382 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</guid>
15383 <pubDate>Tue, 15 Jan 2013 08:00:00 +0100</pubDate>
15384 <description>&lt;p&gt;Yesterday, I wrote about the
15385 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html&quot;&gt;modalias
15386 values provided by the Linux kernel&lt;/a&gt; following my hope for
15387 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;better
15388 dongle support in Debian&lt;/a&gt;. Using this knowledge, I have tested how
15389 modalias values attached to package names can be used to map packages
15390 to hardware. This allow the system to look up and suggest relevant
15391 packages when I plug in some new hardware into my machine, and replace
15392 discover and discover-data as the database used to map hardware to
15393 packages.&lt;/p&gt;
15394
15395 &lt;p&gt;I create a modaliases file with entries like the following,
15396 containing package name, kernel module name (if relevant, otherwise
15397 the package name) and globs matching the relevant hardware
15398 modalias.&lt;/p&gt;
15399
15400 &lt;p&gt;&lt;blockquote&gt;
15401 Package: package-name
15402 &lt;br&gt;Modaliases: module(modaliasglob, modaliasglob, modaliasglob)&lt;/p&gt;
15403 &lt;/blockquote&gt;&lt;/p&gt;
15404
15405 &lt;p&gt;It is fairly trivial to write code to find the relevant packages
15406 for a given modalias value using this file.&lt;/p&gt;
15407
15408 &lt;p&gt;An entry like this would suggest the video and picture application
15409 cheese for many USB web cameras (interface bus class 0E01):&lt;/p&gt;
15410
15411 &lt;p&gt;&lt;blockquote&gt;
15412 Package: cheese
15413 &lt;br&gt;Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)&lt;/p&gt;
15414 &lt;/blockquote&gt;&lt;/p&gt;
15415
15416 &lt;p&gt;An entry like this would suggest the pcmciautils package when a
15417 CardBus bridge (bus class 0607) PCI device is present:&lt;/p&gt;
15418
15419 &lt;p&gt;&lt;blockquote&gt;
15420 Package: pcmciautils
15421 &lt;br&gt;Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
15422 &lt;/blockquote&gt;&lt;/p&gt;
15423
15424 &lt;p&gt;An entry like this would suggest the package colorhug-client when
15425 plugging in a ColorHug with USB IDs 04D8:F8DA:&lt;/p&gt;
15426
15427 &lt;p&gt;&lt;blockquote&gt;
15428 Package: colorhug-client
15429 &lt;br&gt;Modaliases: colorhug-client(usb:v04D8pF8DAd*)&lt;/p&gt;
15430 &lt;/blockquote&gt;&lt;/p&gt;
15431
15432 &lt;p&gt;I believe the format is compatible with the format of the Packages
15433 file in the Debian archive. Ubuntu already uses their Packages file
15434 to store their mappings from packages to hardware.&lt;/p&gt;
15435
15436 &lt;p&gt;By adding a XB-Modaliases: header in debian/control, any .deb can
15437 announce the hardware it support in a way my prototype understand.
15438 This allow those publishing packages in an APT source outside the
15439 Debian archive as well as those backporting packages to make sure the
15440 hardware mapping are included in the package meta information. I&#39;ve
15441 tested such header in the pymissile package, and its modalias mapping
15442 is working as it should with my prototype. It even made it to Ubuntu
15443 Raring.&lt;/p&gt;
15444
15445 &lt;p&gt;To test if it was possible to look up supported hardware using only
15446 the shell tools available in the Debian installer, I wrote a shell
15447 implementation of the lookup code. The idea is to create files for
15448 each modalias and let the shell do the matching. Please check out and
15449 try the
15450 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co&quot;&gt;hw-support-lookup&lt;/a&gt;
15451 shell script. It run without any extra dependencies and fetch the
15452 hardware mappings from the Debian archive and the subversion
15453 repository where I currently work on my prototype.&lt;/p&gt;
15454
15455 &lt;p&gt;When I use it on a machine with a yubikey inserted, it suggest to
15456 install yubikey-personalization:&lt;/p&gt;
15457
15458 &lt;p&gt;&lt;blockquote&gt;
15459 % ./hw-support-lookup
15460 &lt;br&gt;yubikey-personalization
15461 &lt;br&gt;%
15462 &lt;/blockquote&gt;&lt;/p&gt;
15463
15464 &lt;p&gt;When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
15465 propose to install the pcmciautils package:&lt;/p&gt;
15466
15467 &lt;p&gt;&lt;blockquote&gt;
15468 % ./hw-support-lookup
15469 &lt;br&gt;pcmciautils
15470 &lt;br&gt;%
15471 &lt;/blockquote&gt;&lt;/p&gt;
15472
15473 &lt;p&gt;If you know of any hardware-package mapping that should be added to
15474 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co&quot;&gt;my
15475 database&lt;/a&gt;, please tell me about it.&lt;/p&gt;
15476
15477 &lt;p&gt;It could be possible to generate several of the mappings between
15478 packages and hardware. One source would be to look at packages with
15479 kernel modules, ie packages with *.ko files in /lib/modules/, and
15480 extract their modalias information. Another would be to look at
15481 packages with udev rules, ie packages with files in
15482 /lib/udev/rules.d/, and extract their vendor/model information to
15483 generate a modalias matching rule. I have not tested any of these to
15484 see if it work.&lt;/p&gt;
15485
15486 &lt;p&gt;If you want to help implementing a system to let us propose what
15487 packages to install when new hardware is plugged into a Debian
15488 machine, please send me an email or talk to me on
15489 &lt;a href=&quot;irc://irc.debian.org/%23debian-devel&quot;&gt;#debian-devel&lt;/a&gt;.&lt;/p&gt;
15490 </description>
15491 </item>
15492
15493 <item>
15494 <title>Modalias strings - a practical way to map &quot;stuff&quot; to hardware</title>
15495 <link>http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html</link>
15496 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html</guid>
15497 <pubDate>Mon, 14 Jan 2013 11:20:00 +0100</pubDate>
15498 <description>&lt;p&gt;While looking into how to look up Debian packages based on hardware
15499 information, to find the packages that support a given piece of
15500 hardware, I refreshed my memory regarding modalias values, and decided
15501 to document the details. Here are my findings so far, also available
15502 in
15503 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;the
15504 Debian Edu subversion repository&lt;/a&gt;:
15505
15506 &lt;p&gt;&lt;strong&gt;Modalias decoded&lt;/strong&gt;&lt;/p&gt;
15507
15508 &lt;p&gt;This document try to explain what the different types of modalias
15509 values stands for. It is in part based on information from
15510 &amp;lt;URL: &lt;a href=&quot;https://wiki.archlinux.org/index.php/Modalias&quot;&gt;https://wiki.archlinux.org/index.php/Modalias&lt;/a&gt; &amp;gt;,
15511 &amp;lt;URL: &lt;a href=&quot;http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device&quot;&gt;http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device&lt;/a&gt; &amp;gt;,
15512 &amp;lt;URL: &lt;a href=&quot;http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c&quot;&gt;http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c&lt;/a&gt; &amp;gt; and
15513 &amp;lt;URL: &lt;a href=&quot;http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&amp;view=markup&quot;&gt;http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&amp;view=markup&lt;/a&gt; &amp;gt;.
15514
15515 &lt;p&gt;The modalias entries for a given Linux machine can be found using
15516 this shell script:&lt;/p&gt;
15517
15518 &lt;pre&gt;
15519 find /sys -name modalias -print0 | xargs -0 cat | sort -u
15520 &lt;/pre&gt;
15521
15522 &lt;p&gt;The supported modalias globs for a given kernel module can be found
15523 using modinfo:&lt;/p&gt;
15524
15525 &lt;pre&gt;
15526 % /sbin/modinfo psmouse | grep alias:
15527 alias: serio:ty05pr*id*ex*
15528 alias: serio:ty01pr*id*ex*
15529 %
15530 &lt;/pre&gt;
15531
15532 &lt;p&gt;&lt;strong&gt;PCI subtype&lt;/strong&gt;&lt;/p&gt;
15533
15534 &lt;p&gt;A typical PCI entry can look like this. This is an Intel Host
15535 Bridge memory controller:&lt;/p&gt;
15536
15537 &lt;p&gt;&lt;blockquote&gt;
15538 pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
15539 &lt;/blockquote&gt;&lt;/p&gt;
15540
15541 &lt;p&gt;This represent these values:&lt;/p&gt;
15542
15543 &lt;pre&gt;
15544 v 00008086 (vendor)
15545 d 00002770 (device)
15546 sv 00001028 (subvendor)
15547 sd 000001AD (subdevice)
15548 bc 06 (bus class)
15549 sc 00 (bus subclass)
15550 i 00 (interface)
15551 &lt;/pre&gt;
15552
15553 &lt;p&gt;The vendor/device values are the same values outputted from &#39;lspci
15554 -n&#39; as 8086:2770. The bus class/subclass is also shown by lspci as
15555 0600. The 0600 class is a host bridge. Other useful bus values are
15556 0300 (VGA compatible card) and 0200 (Ethernet controller).&lt;/p&gt;
15557
15558 &lt;p&gt;Not sure how to figure out the interface value, nor what it
15559 means.&lt;/p&gt;
15560
15561 &lt;p&gt;&lt;strong&gt;USB subtype&lt;/strong&gt;&lt;/p&gt;
15562
15563 &lt;p&gt;Some typical USB entries can look like this. This is an internal
15564 USB hub in a laptop:&lt;/p&gt;
15565
15566 &lt;p&gt;&lt;blockquote&gt;
15567 usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
15568 &lt;/blockquote&gt;&lt;/p&gt;
15569
15570 &lt;p&gt;Here is the values included in this alias:&lt;/p&gt;
15571
15572 &lt;pre&gt;
15573 v 1D6B (device vendor)
15574 p 0001 (device product)
15575 d 0206 (bcddevice)
15576 dc 09 (device class)
15577 dsc 00 (device subclass)
15578 dp 00 (device protocol)
15579 ic 09 (interface class)
15580 isc 00 (interface subclass)
15581 ip 00 (interface protocol)
15582 &lt;/pre&gt;
15583
15584 &lt;p&gt;The 0900 device class/subclass means hub. Some times the relevant
15585 class is in the interface class section. For a simple USB web camera,
15586 these alias entries show up:&lt;/p&gt;
15587
15588 &lt;p&gt;&lt;blockquote&gt;
15589 usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
15590 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
15591 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
15592 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
15593 &lt;/blockquote&gt;&lt;/p&gt;
15594
15595 &lt;p&gt;Interface class 0E01 is video control, 0E02 is video streaming (aka
15596 camera), 0101 is audio control device and 0102 is audio streaming (aka
15597 microphone). Thus this is a camera with microphone included.&lt;/p&gt;
15598
15599 &lt;p&gt;&lt;strong&gt;ACPI subtype&lt;/strong&gt;&lt;/p&gt;
15600
15601 &lt;p&gt;The ACPI type is used for several non-PCI/USB stuff. This is an IR
15602 receiver in a Thinkpad X40:&lt;/p&gt;
15603
15604 &lt;p&gt;&lt;blockquote&gt;
15605 acpi:IBM0071:PNP0511:
15606 &lt;/blockquote&gt;&lt;/p&gt;
15607
15608 &lt;p&gt;The values between the colons are IDs.&lt;/p&gt;
15609
15610 &lt;p&gt;&lt;strong&gt;DMI subtype&lt;/strong&gt;&lt;/p&gt;
15611
15612 &lt;p&gt;The DMI table contain lots of information about the computer case
15613 and model. This is an entry for a IBM Thinkpad X40, fetched from
15614 /sys/devices/virtual/dmi/id/modalias:&lt;/p&gt;
15615
15616 &lt;p&gt;&lt;blockquote&gt;
15617 dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
15618 &lt;/blockquote&gt;&lt;/p&gt;
15619
15620 &lt;p&gt;The values present are&lt;/p&gt;
15621
15622 &lt;pre&gt;
15623 bvn IBM (BIOS vendor)
15624 bvr 1UETB6WW(1.66) (BIOS version)
15625 bd 06/15/2005 (BIOS date)
15626 svn IBM (system vendor)
15627 pn 2371H4G (product name)
15628 pvr ThinkPadX40 (product version)
15629 rvn IBM (board vendor)
15630 rn 2371H4G (board name)
15631 rvr NotAvailable (board version)
15632 cvn IBM (chassis vendor)
15633 ct 10 (chassis type)
15634 cvr NotAvailable (chassis version)
15635 &lt;/pre&gt;
15636
15637 &lt;p&gt;The chassis type 10 is Notebook. Other interesting values can be
15638 found in the dmidecode source:&lt;/p&gt;
15639
15640 &lt;pre&gt;
15641 3 Desktop
15642 4 Low Profile Desktop
15643 5 Pizza Box
15644 6 Mini Tower
15645 7 Tower
15646 8 Portable
15647 9 Laptop
15648 10 Notebook
15649 11 Hand Held
15650 12 Docking Station
15651 13 All In One
15652 14 Sub Notebook
15653 15 Space-saving
15654 16 Lunch Box
15655 17 Main Server Chassis
15656 18 Expansion Chassis
15657 19 Sub Chassis
15658 20 Bus Expansion Chassis
15659 21 Peripheral Chassis
15660 22 RAID Chassis
15661 23 Rack Mount Chassis
15662 24 Sealed-case PC
15663 25 Multi-system
15664 26 CompactPCI
15665 27 AdvancedTCA
15666 28 Blade
15667 29 Blade Enclosing
15668 &lt;/pre&gt;
15669
15670 &lt;p&gt;The chassis type values are not always accurately set in the DMI
15671 table. For example my home server is a tower, but the DMI modalias
15672 claim it is a desktop.&lt;/p&gt;
15673
15674 &lt;p&gt;&lt;strong&gt;SerIO subtype&lt;/strong&gt;&lt;/p&gt;
15675
15676 &lt;p&gt;This type is used for PS/2 mouse plugs. One example is from my
15677 test machine:&lt;/p&gt;
15678
15679 &lt;p&gt;&lt;blockquote&gt;
15680 serio:ty01pr00id00ex00
15681 &lt;/blockquote&gt;&lt;/p&gt;
15682
15683 &lt;p&gt;The values present are&lt;/p&gt;
15684
15685 &lt;pre&gt;
15686 ty 01 (type)
15687 pr 00 (prototype)
15688 id 00 (id)
15689 ex 00 (extra)
15690 &lt;/pre&gt;
15691
15692 &lt;p&gt;This type is supported by the psmouse driver. I am not sure what
15693 the valid values are.&lt;/p&gt;
15694
15695 &lt;p&gt;&lt;strong&gt;Other subtypes&lt;/strong&gt;&lt;/p&gt;
15696
15697 &lt;p&gt;There are heaps of other modalias subtypes according to
15698 file2alias.c. There is the rest of the list from that source: amba,
15699 ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
15700 mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
15701 vmbus, x86cpu and zorro. I did not spend time documenting all of
15702 these, as they do not seem relevant for my intended use with mapping
15703 hardware to packages when new stuff is inserted during run time.&lt;/p&gt;
15704
15705 &lt;p&gt;&lt;strong&gt;Looking up kernel modules using modalias values&lt;/strong&gt;&lt;/p&gt;
15706
15707 &lt;p&gt;To check which kernel modules provide support for a given modalias,
15708 one can use the following shell script:&lt;/p&gt;
15709
15710 &lt;pre&gt;
15711 for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
15712 echo &quot;$id&quot; ; \
15713 /sbin/modprobe --show-depends &quot;$id&quot;|sed &#39;s/^/ /&#39; ; \
15714 done
15715 &lt;/pre&gt;
15716
15717 &lt;p&gt;The output can look like this (only the first few entries as the
15718 list is very long on my test machine):&lt;/p&gt;
15719
15720 &lt;pre&gt;
15721 acpi:ACPI0003:
15722 insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
15723 acpi:device:
15724 FATAL: Module acpi:device: not found.
15725 acpi:IBM0068:
15726 insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
15727 insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
15728 insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
15729 insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
15730 acpi:IBM0071:PNP0511:
15731 insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
15732 insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
15733 insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
15734 [...]
15735 &lt;/pre&gt;
15736
15737 &lt;p&gt;If you want to help implementing a system to let us propose what
15738 packages to install when new hardware is plugged into a Debian
15739 machine, please send me an email or talk to me on
15740 &lt;a href=&quot;irc://irc.debian.org/%23debian-devel&quot;&gt;#debian-devel&lt;/a&gt;.&lt;/p&gt;
15741
15742 &lt;p&gt;&lt;strong&gt;Update 2013-01-15:&lt;/strong&gt; Rewrite &quot;cat $(find ...)&quot; to
15743 &quot;find ... -print0 | xargs -0 cat&quot; to make sure it handle directories
15744 in /sys/ with space in them.&lt;/p&gt;
15745 </description>
15746 </item>
15747
15748 <item>
15749 <title>Moved the pymissile Debian packaging to collab-maint</title>
15750 <link>http://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html</link>
15751 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html</guid>
15752 <pubDate>Thu, 10 Jan 2013 20:40:00 +0100</pubDate>
15753 <description>&lt;p&gt;As part of my investigation on how to improve the support in Debian
15754 for hardware dongles, I dug up my old Mark and Spencer USB Rocket
15755 Launcher and updated the Debian package
15756 &lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;pymissile&lt;/a&gt; to make
15757 sure udev will fix the device permissions when it is plugged in. I
15758 also added a &quot;Modaliases&quot; header to test it in the Debian archive and
15759 hopefully make the package be proposed by jockey in Ubuntu when a user
15760 plug in his rocket launcher. In the process I moved the source to a
15761 git repository under collab-maint, to make it easier for any DD to
15762 contribute. &lt;a href=&quot;http://code.google.com/p/pymissile/&quot;&gt;Upstream&lt;/a&gt;
15763 is not very active, but the software still work for me even after five
15764 years of relative silence. The new git repository is not listed in
15765 the uploaded package yet, because I want to test the other changes a
15766 bit more before I upload the new version. If you want to check out
15767 the new version with a .desktop file included, visit the
15768 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git&quot;&gt;gitweb
15769 view&lt;/a&gt; or use &quot;&lt;tt&gt;git clone
15770 git://anonscm.debian.org/collab-maint/pymissile.git&lt;/tt&gt;&quot;.&lt;/p&gt;
15771 </description>
15772 </item>
15773
15774 <item>
15775 <title>Lets make hardware dongles easier to use in Debian</title>
15776 <link>http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</link>
15777 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</guid>
15778 <pubDate>Wed, 9 Jan 2013 15:40:00 +0100</pubDate>
15779 <description>&lt;p&gt;One thing that annoys me with Debian and Linux distributions in
15780 general, is that there is a great package management system with the
15781 ability to automatically install software packages by downloading them
15782 from the distribution mirrors, but no way to get it to automatically
15783 install the packages I need to use the hardware I plug into my
15784 machine. Even if the package to use it is easily available from the
15785 Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
15786 suggest to automatically install the python-nxt, nbc and t2n packages
15787 I need to talk to it. When I plug in a Yubikey, it could propose the
15788 yubikey-personalization package. The information required to do this
15789 is available, but no-one have pulled all the pieces together.&lt;/p&gt;
15790
15791 &lt;p&gt;Some years ago, I proposed to
15792 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg01206.html&quot;&gt;use
15793 the discover subsystem to implement this&lt;/a&gt;. The idea is fairly
15794 simple:
15795
15796 &lt;ul&gt;
15797
15798 &lt;li&gt;Add a desktop entry in /usr/share/autostart/ pointing to a program
15799 starting when a user log in.&lt;/li&gt;
15800
15801 &lt;li&gt;Set this program up to listen for kernel events emitted when new
15802 hardware is inserted into the computer.&lt;/li&gt;
15803
15804 &lt;li&gt;When new hardware is inserted, look up the hardware ID in a
15805 database mapping to packages, and take note of any non-installed
15806 packages.&lt;/li&gt;
15807
15808 &lt;li&gt;Show a message to the user proposing to install the discovered
15809 package, and make it easy to install it.&lt;/li&gt;
15810
15811 &lt;/ul&gt;
15812
15813 &lt;p&gt;I am not sure what the best way to implement this is, but my
15814 initial idea was to use dbus events to discover new hardware, the
15815 discover database to find packages and
15816 &lt;a href=&quot;http://www.packagekit.org/&quot;&gt;PackageKit&lt;/a&gt; to install
15817 packages.&lt;/p&gt;
15818
15819 &lt;p&gt;Yesterday, I found time to try to implement this idea, and the
15820 draft package is now checked into
15821 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;the
15822 Debian Edu subversion repository&lt;/a&gt;. In the process, I updated the
15823 &lt;a href=&quot;http://packages.qa.debian.org/d/discover-data.html&quot;&gt;discover-data&lt;/a&gt;
15824 package to map the USB ids of LEGO Mindstorms and Yubikey devices to
15825 the relevant packages in Debian, and uploaded a new version
15826 2.2013.01.09 to unstable. I also discovered that the current
15827 &lt;a href=&quot;http://packages.qa.debian.org/d/discover.html&quot;&gt;discover&lt;/a&gt;
15828 package in Debian no longer discovered any USB devices, because
15829 /proc/bus/usb/devices is no longer present. I ported it to use
15830 libusb as a fall back option to get it working. The fixed package
15831 version 2.1.2-6 is now in experimental (didn&#39;t upload it to unstable
15832 because of the freeze).&lt;/p&gt;
15833
15834 &lt;p&gt;With this prototype in place, I can insert my Yubikey, and get this
15835 desktop notification to show up (only once, the first time it is
15836 inserted):&lt;/p&gt;
15837
15838 &lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png&quot;&gt;&lt;/p&gt;
15839
15840 &lt;p&gt;For this prototype to be really useful, some way to automatically
15841 install the proposed packages by pressing the &quot;Please install
15842 program(s)&quot; button should to be implemented.&lt;/p&gt;
15843
15844 &lt;p&gt;If this idea seem useful to you, and you want to help make it
15845 happen, please help me update the discover-data database with mappings
15846 from hardware to Debian packages. Check if &#39;discover-pkginstall -l&#39;
15847 list the package you would like to have installed when a given
15848 hardware device is inserted into your computer, and report bugs using
15849 reportbug if it isn&#39;t. Or, if you know of a better way to provide
15850 such mapping, please let me know.&lt;/p&gt;
15851
15852 &lt;p&gt;This prototype need more work, and there are several questions that
15853 should be considered before it is ready for production use. Is dbus
15854 the correct way to detect new hardware? At the moment I look for HAL
15855 dbus events on the system bus, because that is the events I could see
15856 on my Debian Squeeze KDE desktop. Are there better events to use?
15857 How should the user be notified? Is the desktop notification
15858 mechanism the best option, or should the background daemon raise a
15859 popup instead? How should packages be installed? When should they
15860 not be installed?&lt;/p&gt;
15861
15862 &lt;p&gt;If you want to help getting such feature implemented in Debian,
15863 please send me an email. :)&lt;/p&gt;
15864 </description>
15865 </item>
15866
15867 <item>
15868 <title>New IRC channel for LEGO designers using Debian</title>
15869 <link>http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html</link>
15870 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html</guid>
15871 <pubDate>Wed, 2 Jan 2013 15:40:00 +0100</pubDate>
15872 <description>&lt;p&gt;During Christmas, I have worked a bit on the Debian support for
15873 &lt;a href=&quot;http://mindstorms.lego.com/en-us/Default.aspx&quot;&gt;LEGO Mindstorm
15874 NXT&lt;/a&gt;. My son and I have played a bit with my NXT set, and I
15875 discovered I had to build all the tools myself because none were
15876 already in Debian Squeeze. If Debian support for LEGO is something
15877 you care about, please join me on the IRC channel
15878 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; (server
15879 irc.debian.org). There is a lot that could be done to improve the
15880 Debian support for LEGO designers. For example both CAD software
15881 and Mindstorm compilers are missing. :)&lt;/p&gt;
15882
15883 &lt;p&gt;Update 2012-01-03: A
15884 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;project page&lt;/a&gt;
15885 including links to Lego related packages is now available.&lt;/p&gt;
15886 </description>
15887 </item>
15888
15889 <item>
15890 <title>A Christmas present for Skolelinux / Debian Edu</title>
15891 <link>http://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html</link>
15892 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html</guid>
15893 <pubDate>Fri, 28 Dec 2012 09:20:00 +0100</pubDate>
15894 <description>&lt;p&gt;I was happy to discover a few days ago that the
15895 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt;
15896 project also this year received a Christmas present from Another
15897 Agency in Trondheim. NOK 1000,- showed up on our donation account
15898 December 24th. I want to express our thanks for this very welcome
15899 present. As the Debian Edu / Skolelinux project is very short on
15900 funding these days, and thus lack the money to do regular developer
15901 gatherings, this donation was most welcome. One developer gathering
15902 cost around NOK 15&amp;nbsp;000,-, so we need quite a lot more to keep the
15903 development pace we want. Thus, I hope their example this year is
15904 followed by many others. :)&lt;/p&gt;
15905
15906 &lt;p&gt;The public list of donors can be found on
15907 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;the
15908 donation page&lt;/a&gt; for the project, which also contain instructions if
15909 you want to donate to the project.&lt;/p&gt;
15910 </description>
15911 </item>
15912
15913 <item>
15914 <title>How to backport bitcoin-qt version 0.7.2-2 to Debian Squeeze</title>
15915 <link>http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html</link>
15916 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html</guid>
15917 <pubDate>Tue, 25 Dec 2012 20:50:00 +0100</pubDate>
15918 <description>&lt;p&gt;Let me start by wishing you all marry Christmas and a happy new
15919 year! I hope next year will prove to be a good year.&lt;/p&gt;
15920
15921 &lt;p&gt;&lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;Bitcoin&lt;/a&gt;, the digital
15922 decentralised &quot;currency&quot; that allow people to transfer bitcoins
15923 between each other with minimal overhead, is a very interesting
15924 experiment. And as I wrote a few days ago, the bitcoin situation in
15925 &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt; is about to improve a bit.
15926 The &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;new debian source
15927 package&lt;/a&gt; (version 0.7.2-2) was uploaded yesterday, and is waiting
15928 in &lt;a href=&quot;http://ftp-master.debian.org/new.html&quot;&gt;the NEW queue&lt;/A&gt;
15929 for one of the ftpmasters to approve the new bitcoin-qt package
15930 name.&lt;/p&gt;
15931
15932 &lt;p&gt;And thanks to the great work of Jonas and the rest of the bitcoin
15933 team in Debian, you can easily test the package in Debian Squeeze
15934 using the following steps to get a set of working packages:&lt;/p&gt;
15935
15936 &lt;blockquote&gt;&lt;pre&gt;
15937 git clone git://git.debian.org/git/collab-maint/bitcoin
15938 cd bitcoin
15939 DEB_MAINTAINER_MODE=1 DEB_BUILD_OPTIONS=noupnp fakeroot debian/rules clean
15940 DEB_BUILD_OPTIONS=noupnp git-buildpackage --git-ignore-new
15941 &lt;/pre&gt;&lt;/blockquote&gt;
15942
15943 &lt;p&gt;You might have to install some build dependencies as well. The
15944 list of commands should give you two packages, bitcoind and
15945 bitcoin-qt, ready for use in a Squeeze environment. Note that the
15946 client will download the complete set of bitcoin &quot;blocks&quot;, which need
15947 around 5.6 GiB of data on my machine at the moment. Make sure your
15948 ~/.bitcoin/ directory have lots of spare room if you want to download
15949 all the blocks. The client will warn if the disk is getting full, so
15950 there is not really a problem if you got too little room, but you will
15951 not be able to get all the features out of the client.&lt;/p&gt;
15952
15953 &lt;p&gt;As usual, if you use bitcoin and want to show your support of my
15954 activities, please send Bitcoin donations to my address
15955 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
15956 </description>
15957 </item>
15958
15959 <item>
15960 <title>A word on bitcoin support in Debian</title>
15961 <link>http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html</link>
15962 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html</guid>
15963 <pubDate>Fri, 21 Dec 2012 23:59:00 +0100</pubDate>
15964 <description>&lt;p&gt;It has been a while since I wrote about
15965 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;bitcoin&lt;/a&gt;, the decentralised
15966 peer-to-peer based crypto-currency, and the reason is simply that I
15967 have been busy elsewhere. But two days ago, I started looking at the
15968 state of &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;bitcoin in
15969 Debian&lt;/a&gt; again to try to recover my old bitcoin wallet. The package
15970 is now maintained by a
15971 &lt;a href=&quot;https://alioth.debian.org/projects/pkg-bitcoin/&quot;&gt;team of
15972 people&lt;/a&gt;, and the grunt work had already been done by this team. We
15973 owe a huge thank you to all these team members. :)
15974 But I was sad to discover that the bitcoin client is missing in
15975 Wheezy. It is only available in Sid (and an outdated client from
15976 backports). The client had several RC bugs registered in BTS blocking
15977 it from entering testing. To try to help the team and improve the
15978 situation, I spent some time providing patches and triaging the bug
15979 reports. I also had a look at the bitcoin package available from Matt
15980 Corallo in a
15981 &lt;a href=&quot;https://launchpad.net/~bitcoin/+archive/bitcoin&quot;&gt;PPA for
15982 Ubuntu&lt;/a&gt;, and moved the useful pieces from that version into the
15983 Debian package.&lt;/p&gt;
15984
15985 &lt;p&gt;After checking with the main package maintainer Jonas Smedegaard on
15986 IRC, I pushed several patches into the collab-maint git repository to
15987 improve the package. It now contains fixes for the RC issues (not from
15988 me, but fixed by Scott Howard), build rules for a Qt GUI client
15989 package, konqueror support for the bitcoin: URI and bash completion
15990 setup. As I work on Debian Squeeze, I also created
15991 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html&quot;&gt;a
15992 patch to backport&lt;/a&gt; the latest version. Jonas is going to look at
15993 it and try to integrate it into the git repository before uploading a
15994 new version to unstable.
15995
15996 &lt;p&gt;I would very much like bitcoin to succeed, to get rid of the
15997 centralized control currently exercised in the monetary system. I
15998 find it completely unacceptable that the USA government is collecting
15999 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
16000 that the major credit card companies can block legal money
16001 transactions to Wikileaks. But for bitcoin to succeed, more people
16002 need to use bitcoins, and more people need to accept bitcoins when
16003 they sell products and services. Improving the bitcoin support in
16004 Debian is a small step in the right direction, but not enough.
16005 Unfortunately the user experience when browsing the web and wanting to
16006 pay with bitcoin is still not very good. The bitcoin: URI is a step
16007 in the right direction, but need to work in most or every browser in
16008 use. Also the bitcoin-qt client is too heavy to fire up to do a
16009 quick transaction. I believe there are other clients available, but
16010 have not tested them.&lt;/p&gt;
16011
16012 &lt;p&gt;My
16013 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html&quot;&gt;experiment
16014 with bitcoins&lt;/a&gt; showed that at least some of my readers use bitcoin.
16015 I received 20.15 BTC so far on the address I provided in my blog two
16016 years ago, as can be
16017 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;seen
16018 on the blockexplorer service&lt;/a&gt;. Thank you everyone for your
16019 donation. The blockexplorer service demonstrates quite well that
16020 bitcoin is not quite anonymous and untracked. :) I wonder if the
16021 number of users have gone up since then. If you use bitcoin and want
16022 to show your support of my activity, please send Bitcoin donations to
16023 the same address as last time,
16024 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
16025 </description>
16026 </item>
16027
16028 <item>
16029 <title>Ledger - double-entry accounting using text based storage format</title>
16030 <link>http://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html</link>
16031 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html</guid>
16032 <pubDate>Tue, 18 Dec 2012 23:30:00 +0100</pubDate>
16033 <description>&lt;p&gt;A few days ago I came across
16034 &lt;a href=&quot;http://joeyh.name/blog/entry/hledger/&quot;&gt;a blog post from Joey
16035 Hess&lt;/a&gt; describing &lt;a href=&quot;http://ledger-cli.org/&quot;&gt;ledger&lt;/a&gt; and
16036 hledger, a text based system for double-entry accounting. I found it
16037 interesting, as I am involved with several organizations where
16038 accounting is an issue, and I have not really become too friendly with
16039 the different web based systems we use. I find it hard to find what I
16040 look for in the menus and even harder try to get sensible data out of
16041 the systems. Ledger seem different. The accounting data is kept in
16042 text files that can be stored in a version control system, and there
16043
16044 are at least &lt;a href=&quot;https://github.com/ledger/ledger/wiki/Ports&quot;&gt;five
16045 different implementations&lt;/a&gt; able to read the format. An example
16046 entry look like this, and is simple enough that it will be trivial to
16047 generate entries based on CVS files fetched from the bank:&lt;/p&gt;
16048
16049 &lt;blockquote&gt;&lt;pre&gt;
16050 2004-05-27 Book Store
16051 Expenses:Books $20.00
16052 Liabilities:Visa
16053 &lt;/pre&gt;&lt;/blockquote&gt;
16054
16055 &lt;p&gt;The concept seemed interesting enough for me to check it out and
16056 look for others using it. I found blog posts from
16057 &lt;a href=&quot;http://blog.spang.cc/posts/hledger_rocks_my_world/&quot;&gt;Christine
16058 Spang&lt;/a&gt;,
16059 &lt;a href=&quot;http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html&quot;&gt;Pete
16060 Keen&lt;/a&gt;,
16061 &lt;a href=&quot;http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/&quot;&gt;Andrew
16062 Cantino&lt;/a&gt; and
16063 &lt;a href=&quot;http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/&quot;&gt;Ronald
16064 Ip&lt;/a&gt; describing how they use it, as well as a post from
16065 &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo&quot;&gt;Bradley
16066 M. Kuhn&lt;/a&gt; at the Software Freedom Conservancy. All seemed like good
16067 recommendations fitting my need.&lt;/p&gt;
16068
16069 &lt;p&gt;The &lt;a href=&quot;http://packages.qa.debian.org/l/ledger.html&quot;&gt;ledger&lt;/a&gt;
16070 package is available in Debian Squeeze, while the
16071 &lt;a href=&quot;http://packages.qa.debian.org/h/haskell-hledger.html&quot;&gt;hledger&lt;/a&gt;
16072 package only is available in Debian Sid. As I use Squeeze, ledger
16073 seemed the best choice to get started.&lt;/p&gt;
16074
16075 &lt;p&gt;To get some real data to test on, I wrote a
16076 &lt;a href=&quot;http://www.nuug.no/tools/lodo2ledger&quot;&gt;web scraper&lt;/a&gt; for
16077 &lt;a href=&quot;http://www.lodo.no/&quot;&gt;LODO&lt;/a&gt;, the accounting system used by
16078 the &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt; association, and started to
16079 play with the data set. I&#39;m not really deeply into accounting, but I
16080 am able to get a simple balance and accounting status for example
16081 using the &quot;&lt;tt&gt;ledger balance&lt;/tt&gt;&quot; command. But I will have to
16082 gather more experience before I know if the ledger way is a good fit
16083 for the organisations I am involved in.&lt;/p&gt;
16084 </description>
16085 </item>
16086
16087 <item>
16088 <title>Scripting the Cerebrum/bofhd user administration system using XML-RPC</title>
16089 <link>http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html</link>
16090 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html</guid>
16091 <pubDate>Thu, 6 Dec 2012 10:30:00 +0100</pubDate>
16092 <description>&lt;p&gt;Where I work at the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of
16093 Oslo&lt;/a&gt;, we use the
16094 &lt;a href=&quot;http://sourceforge.net/projects/cerebrum/&quot;&gt;Cerebrum user
16095 administration system&lt;/a&gt; to maintain users, groups, DNS, DHCP, etc.
16096 I&#39;ve known since the system was written that the server is providing
16097 an &lt;a href=&quot;http://en.wikipedia.org/wiki/XML-RPC&quot;&gt;XML-RPC&lt;/a&gt; API, but
16098 I have never spent time to try to figure out how to use it, as we
16099 always use the bofh command line client at work. Until today. I want
16100 to script the updating of DNS and DHCP to make it easier to set up
16101 virtual machines. Here are a few notes on how to use it with
16102 Python.&lt;/p&gt;
16103
16104 &lt;p&gt;I started by looking at the source of the Java
16105 &lt;a href=&quot;http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/&quot;&gt;bofh
16106 client&lt;/a&gt;, to figure out how it connected to the API server. I also
16107 googled for python examples on how to use XML-RPC, and found
16108 &lt;a href=&quot;http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html&quot;&gt;a
16109 simple example in&lt;/a&gt; the XML-RPC howto.&lt;/p&gt;
16110
16111 &lt;p&gt;This simple example code show how to connect, get the list of
16112 commands (as a JSON dump), and how to get the information about the
16113 user currently logged in:&lt;/p&gt;
16114
16115 &lt;blockquote&gt;&lt;pre&gt;
16116 #!/usr/bin/env python
16117 import getpass
16118 import xmlrpclib
16119 server_url = &#39;https://cerebrum-uio.uio.no:8000&#39;;
16120 username = getpass.getuser()
16121 password = getpass.getpass()
16122 server = xmlrpclib.Server(server_url);
16123 #print server.get_commands(sessionid)
16124 sessionid = server.login(username, password)
16125 print server.run_command(sessionid, &quot;user_info&quot;, username)
16126 result = server.logout(sessionid)
16127 print result
16128 &lt;/pre&gt;&lt;/blockquote&gt;
16129
16130 &lt;p&gt;Armed with this knowledge I can now move forward and script the DNS
16131 and DHCP updates I wanted to do.&lt;/p&gt;
16132 </description>
16133 </item>
16134
16135 <item>
16136 <title>Why isn&#39;t the value of copyright taxed?</title>
16137 <link>http://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html</link>
16138 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html</guid>
16139 <pubDate>Sat, 17 Nov 2012 11:30:00 +0100</pubDate>
16140 <description>&lt;p&gt;While working on a
16141 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Norwegian
16142 translation of the Free Culture by Lawrence Lessig&lt;/a&gt; (76% done),
16143 which cover the problems with todays copyright law and how it stifles
16144 creativity, one idea occurred to me. The idea is to get the tax
16145 office to help make more works enter the public domain and also help
16146 make it easier to clear rights for using copyrighted works.&lt;/p&gt;
16147
16148 &lt;p&gt;I mentioned this idea briefly during Yesterdays
16149 &lt;a href=&quot;http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
16150 -15-30-19-00/&quot;&gt;presentation
16151 by John Perry Barlow&lt;/a&gt;, and concluded that it was best to put it
16152 in writing for a wider audience. The idea is not really based on the
16153 argument that copyrighted works are &quot;intellectual property&quot;, as the
16154 core requirement is that copyrighted work have value for the copyright
16155 holder and the tax office like to collect their share from any value
16156 controlled by the citizens in a country. I&#39;m sharing the idea here to
16157 let others consider it and perhaps shoot it down with a fresh set of
16158 arguments.&lt;/p&gt;
16159
16160 &lt;p&gt;Most valuables are taxed by the government. At least here in
16161 Norway, the amount of money you have, the value of our land property,
16162 the value of your house, the value of your car, the value of our
16163 stocks and other valuables are all added together. If the tax value
16164 of these values exceed your debt, you have to pay the tax office some
16165 taxes for these values. And copyrighted work have value. It have
16166 value for the rights holder, who can earn money selling access to the
16167 work. But it is not included in the tax calculations? Why not?&lt;/p&gt;
16168
16169 &lt;p&gt;If the government want to tax copyrighted works, it would want to
16170 maintain a database of all the copyrighted works and who are the
16171 rights holders for a given works, to be able to associate the works
16172 value to the right citizen or company for tax purposes. If such
16173 database exist, it will become a lot easier to find out who to talk to
16174 for clearing permissions to use a copyrighted work, which is a very
16175 hard operation with todays copyright law. To ensure that copyright
16176 holders keep the database up-to-date, it would have to become a
16177 requirement to be able to collect money for granting access to
16178 copyrighted works that the work is listed in the database with the
16179 correct right holder.&lt;/p&gt;
16180
16181 &lt;p&gt;If copyright causes copyright holders to have to pay more taxes,
16182 they will have a small incentive to &quot;disown&quot; their copyright, and let
16183 the work enter the public domain. For works with several right holders
16184 one of the right holders could state (and get it registered in the
16185 database) that she do not need to be consulted when clearing rights to
16186 use the work in question and thus will not get any income from that
16187 work. Stating this would have to be impossible to revert and stop the
16188 tax office from adding the value of that work to the given citizens
16189 tax calculation. I assume the copyright law would stay the same,
16190 allowing creators to pick a license of their choosing, and also
16191 allowing them to put their work directly in the public domain. The
16192 existence of such database will make it even easier to clear rights,
16193 and if the right holders listed in the database is taxed, this system
16194 would increase the amount of works that enter the public domain.&lt;/p&gt;
16195
16196 &lt;p&gt;The effect would be that the tax office help to make it easier to
16197 get rights to use the works that have not yet entered the public
16198 domain and help to get more work into the public domain.&lt;/p&gt;
16199
16200 &lt;p&gt;Why have such taxing not happened yet? I am sure the tax office
16201 would like to tax copyrighted work values if they could.&lt;/p&gt;
16202 </description>
16203 </item>
16204
16205 <item>
16206 <title>Debian Edu interview: Angela Fuß</title>
16207 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html</link>
16208 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html</guid>
16209 <pubDate>Wed, 14 Nov 2012 21:30:00 +0100</pubDate>
16210 <description>&lt;p&gt;Here is another interview with one of the people in the &lt;a
16211 href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
16212 community. I am running short on people willing to be interviewed, so
16213 if you know about someone I should interview, Please send me an email.
16214 After asking for many months, I finally managed to lure another one of
16215 the people behind the German
16216 &quot;&lt;a href=&quot;http://wiki.it-zukunft-schule.de/&quot;&gt;IT-Zukunft Schule&lt;/a&gt;&quot;
16217 project out from maternity leave to conduct an interview. Give a warm
16218 welcome to Angela Fuß. :)&lt;/p&gt;
16219
16220 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
16221
16222 &lt;p&gt;I am a 39-year-old woman living in the very north of Germany near
16223 Denmark. I live in a patchwork family with &quot;my man&quot; Mike Gabriel, my
16224 two daughters, Mikes daughter and Mikes and my rather newborn son.
16225
16226 &lt;p&gt;At the moment - because of our little baby - I am spending most of
16227 the day by being a caring and organising mom for all the kids.
16228 Besides that I am really involved into and occupied with several inner
16229 growth processes: New born souls always bring the whole familiar
16230 system into movement and that needs time and focus ;-). We are also
16231 in the middle of buying a house and moving to it.&lt;/p&gt;
16232
16233 &lt;p&gt;In 2013 I will work again in my job in a German foundation for
16234 nature conservation. I am doing public relation work there. Besides
16235 that - and that is the connection to Skolelinux / Debian Edu - I am
16236 working in our own school project &quot;IT-Zukunft Schule&quot; in North
16237 Germany. I am responsible for the quality assurance, the customer
16238 relationship management and the communication processes in the
16239 project.&lt;/p&gt;
16240
16241 &lt;p&gt;Since 2001 I constantly have been training myself in communication
16242 and leadership. Besides that I am a forester, a landscaping gardener
16243 and a yoga teacher.&lt;/p&gt;
16244
16245 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
16246 project?&lt;/strong&gt;&lt;/p&gt;
16247
16248 &lt;p&gt;I fell in love with Mike ;-).&lt;/p&gt;
16249
16250 &lt;p&gt;Very soon after getting to know him I was completely enrolled into
16251 Free Software. At this time Mike did IT-services for one newly
16252 founded school in Kiel. Other schools in Kiel needed concepts for
16253 their IT environment. Often when Mike came home from working at the
16254 newly founded school I found myself listening to his complaints about
16255 several points where the communication with the schools head or the
16256 teachers did not work. So we were clear that he would not work for
16257 one more school if we did not set up a structure for communication
16258 between him, the schools head, the teachers, the students and the
16259 parents.&lt;/p&gt;
16260
16261 &lt;p&gt;Together with our friend and hardware supplier Andreas Buchholz we
16262 started to get an overview of free software solutions suitable for
16263 schools. One day before Christmas 2010 Mike and I had a date with Kurt
16264 Gramlich in Gütersloh. As Kurt and I are really interested in building
16265 networks of people and in being in communication we dived into
16266 Skolelinux and brought it to the first grammar schools in Northern
16267 Germany.&lt;/p&gt;
16268
16269 &lt;p&gt;For information about our school project you can read
16270 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html&quot;&gt;the
16271 interview with Mike Gabriel&lt;/a&gt;.&lt;/p&gt;
16272
16273 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
16274 Edu?&lt;/strong&gt;&lt;/p&gt;
16275
16276 &lt;p&gt;First I have to say: I cannot answer this question technically. My
16277 answer comes rather from a social point of view.&lt;/p&gt;
16278
16279 &lt;p&gt;The biggest advantage of Skolelinux / Debian Edu I see is the large
16280 and strong international community of Debian Developers in the
16281 background which is very alive and connected over mailinglists, blogs
16282 and meetings. My constant feeling for the Debian Community is: If
16283 something does not work they will somehow fix it. All is well
16284 ;-). This is of course a user experience. What I also get as a big
16285 advantage of Skolelinux / Debian Edu is that everybody who uses it and
16286 works with it can also contribute to it - that includes students,
16287 teachers, parents...&lt;/p&gt;
16288
16289 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
16290 Edu?&lt;/strong&gt;&lt;/p&gt;
16291
16292 &lt;p&gt;I will answer this question relating to the internal structure of
16293 Skolelinux / Debian Edu.&lt;/p&gt;
16294
16295 &lt;p&gt;What I see as a major disadvantage is that there is a gap between
16296 the group of developers for Debian Edu and the people who make the
16297 marketing, that means the people that bring Skolelinux to the
16298 schools. There is a lack of communication between these two groups and
16299 I think that does not really work for Skolelinux / Debian Edu.&lt;/p&gt;
16300
16301 &lt;p&gt;Further I appreciate that Skolelinux / Debian Edu is known as a
16302 do-ocracy. Nevertheless I keep asking myself if at some points a
16303 democracy or some kind of hierarchical project structure would be good
16304 and helpful. I am also missing some kind of contact between the
16305 Skolelinux / Debian Edu communities in Europe or on an international
16306 level. I think it would be good if there was more sharing between the
16307 different countries using Skolelinux / Debian Edu.&lt;/p&gt;
16308
16309 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
16310
16311 &lt;p&gt;On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
16312 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
16313 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
16314 my N900 running with Maemo.&lt;/p&gt;
16315
16316 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
16317 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
16318
16319 &lt;p&gt;I am really convinced that in our school project &quot;IT-Zukunft
16320 Schule&quot; we have developed (and keep developing) a great way to get
16321 schools to use Free Software. We have written a detailed concept for
16322 that so I cannot explain the whole thing here. But in a nutshell the
16323 strategy has three crucial pillars:&lt;/p&gt;
16324
16325 &lt;ul&gt;
16326
16327 &lt;li&gt;We really take time to get what sort of stories, questions and
16328 concerns the schools head and the teachers have about using different
16329 kinds of IT and we take time to enrol them into Free Software.&lt;/li&gt;
16330
16331 &lt;li&gt;Our solution for schools is never just technical. In the centre
16332 are always the people who are going to use the software. From the very
16333 beginning of the planning for a school, we tell the schools head that
16334 they are paying us not only for a technical solution for their school,
16335 they also pay us for leading all the communication processes
16336 needed. If they do not want that, we are not working with them because
16337 we cannot give a guarantee for the quality of our work then.&lt;/li&gt;
16338
16339 &lt;li&gt;Another focus lies in the training of teachers and students in
16340 co-administrating the IT-System at their school. They start getting in
16341 contact with the Skolelinux / Debian Edu community and they get the
16342 offer to become more and more independent from us.&lt;/li&gt;
16343
16344 &lt;/ul&gt;
16345 </description>
16346 </item>
16347
16348 <item>
16349 <title>The European Central Bank (ECB) take a look at bitcoin</title>
16350 <link>http://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html</link>
16351 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html</guid>
16352 <pubDate>Sun, 4 Nov 2012 08:30:00 +0100</pubDate>
16353 <description>&lt;p&gt;Slashdot just ran a story about the European Central Bank (ECB)
16354 &lt;a href=&quot;http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf&quot;&gt;releasing
16355 a report (PDF)&lt;/a&gt; about virtual currencies and
16356 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;bitcoin&lt;/a&gt;. It is interesting to
16357 see how a member of the bitcoin community
16358 &lt;a href=&quot;http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html&quot;&gt;receive
16359 the report&lt;/a&gt;. As for the future, I suspect the central banks and
16360 the governments will outlaw bitcoin if it gain any popularity, to avoid
16361 competition. My thoughts go to the
16362 &lt;a href=&quot;http://en.wikipedia.org/wiki/Wörgl&quot;&gt;Wörgl experiment&lt;/a&gt; with
16363 negative inflation on cash which was such a success that it was
16364 terminated by the Austrian National Bank in 1933. A successful
16365 alternative would be a threat to the current money system and gain
16366 powerful forces to work against it.&lt;/p&gt;
16367
16368 &lt;p&gt;While checking out the current status of bitcoin, I also discovered
16369 that the community already seem to have
16370 &lt;a href=&quot;http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down&quot;&gt;experienced
16371 its first pyramid game / Ponzi scheme&lt;/a&gt;. Not very surprising, given
16372 how members of &quot;small&quot; communities tend to trust each other. I guess
16373 enterprising crocks will try again and again, as they do anywhere
16374 wealth is available.&lt;/p&gt;
16375 </description>
16376 </item>
16377
16378 <item>
16379 <title>12 years of outages - summarised by Stuart Kendrick</title>
16380 <link>http://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html</link>
16381 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html</guid>
16382 <pubDate>Fri, 26 Oct 2012 14:20:00 +0200</pubDate>
16383 <description>&lt;p&gt;I work at the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
16384 looking after the computers, mostly on the unix side, but in general
16385 all over the place. I am also a member (and currently leader) of
16386 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the NUUG association&lt;/a&gt;, which in turn
16387 make me a member of &lt;a href=&quot;http://www.usenix.org/&quot;&gt;USENIX&lt;/a&gt;. NUUG
16388 is an member organisation for us in Norway interested in free
16389 software, open standards and unix like operating systems, and USENIX
16390 is a US based member organisation with similar targets. And thanks to
16391 these memberships, I get all issues of the great USENIX magazine
16392 &lt;a href=&quot;https://www.usenix.org/publications/login&quot;&gt;;login:&lt;/a&gt; in the
16393 mail several times a year. The magazine is great, and I read most of
16394 it every time.&lt;/p&gt;
16395
16396 &lt;p&gt;In the last issue of the USENIX magazine ;login:, there is an
16397 article by &lt;a href=&quot;http://www.skendric.com/&quot;&gt;Stuart Kendrick&lt;/a&gt; from
16398 Fred Hutchinson Cancer Research Center titled
16399 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down&quot;&gt;What
16400 Takes Us Down&lt;/a&gt;&quot; (longer version also
16401 &lt;a href=&quot;http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf&quot;&gt;available
16402 from his own site&lt;/a&gt;), where he report what he found when he
16403 processed the outage reports (both planned and unplanned) from the
16404 last twelve years and classified them according to cause, time of day,
16405 etc etc. The article is a good read to get some empirical data on
16406 what kind of problems affect a data centre, but what really inspired
16407 me was the kind of reporting they had put in place since 2000.&lt;p&gt;
16408
16409 &lt;p&gt;The centre set up a mailing list, and started to send fairly
16410 standardised messages to this list when a outage was planned or when
16411 it already occurred, to announce the plan and get feedback on the
16412 assumtions on scope and user impact. Here is the two example from the
16413 article: First the unplanned outage:
16414
16415 &lt;blockquote&gt;&lt;pre&gt;
16416 Subject: Exchange 2003 Cluster Issues
16417 Severity: Critical (Unplanned)
16418 Start: Monday, May 7, 2012, 11:58
16419 End: Monday, May 7, 2012, 12:38
16420 Duration: 40 minutes
16421 Scope: Exchange 2003
16422 Description: The HTTPS service on the Exchange cluster crashed, triggering
16423 a cluster failover.
16424
16425 User Impact: During this period, all Exchange users were unable to
16426 access e-mail. Zimbra users were unaffected.
16427 Technician: [xxx]
16428 &lt;/pre&gt;&lt;/blockquote&gt;
16429
16430 Next the planned outage:
16431
16432 &lt;blockquote&gt;&lt;pre&gt;
16433 Subject: H Building Switch Upgrades
16434 Severity: Major (Planned)
16435 Start: Saturday, June 16, 2012, 06:00
16436 End: Saturday, June 16, 2012, 16:00
16437 Duration: 10 hours
16438 Scope: H2 Transport
16439 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
16440 stations. We will replace these with newer Catalyst
16441 4510s.
16442 User Impact: All users on H2 will be isolated from the network during
16443 this work. Afterward, they will have gigabit
16444 connectivity.
16445 Technician: [xxx]
16446 &lt;/pre&gt;&lt;/blockquote&gt;
16447
16448 &lt;p&gt;He notes in his article that the date formats and other fields have
16449 been a bit too free form to make it easy to automatically process them
16450 into a database for further analysis, and I would have used ISO 8601
16451 dates myself to make it easier to process (in other words I would ask
16452 people to write &#39;2012-06-16 06:00 +0000&#39; instead of the start time
16453 format listed above). There are also other issues with the format
16454 that could be improved, read the article for the details.&lt;/p&gt;
16455
16456 &lt;p&gt;I find the idea of standardising outage messages seem to be such a
16457 good idea that I would like to get it implemented here at the
16458 university too. We do register
16459 &lt;a href=&quot;http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/&quot;&gt;planned
16460 changes and outages in a calendar&lt;/a&gt;, and report the to a mailing
16461 list, but we do not do so in a structured format and there is not a
16462 report to the same location for unplanned outages. Perhaps something
16463 for other sites to consider too?&lt;/p&gt;
16464 </description>
16465 </item>
16466
16467 <item>
16468 <title>Amazon steal books from customer and throw out her out without any explanation</title>
16469 <link>http://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html</link>
16470 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html</guid>
16471 <pubDate>Mon, 22 Oct 2012 20:30:00 +0200</pubDate>
16472 <description>&lt;p&gt;A blog post from Martin Bekkelund today tell the story of
16473 &lt;a href=&quot;http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/&quot;&gt;how
16474 Amazon erased the books from a customer&#39;s kindle, locked the account
16475 and refuse to tell the customer why&lt;/a&gt;. If a real book store did
16476 this to a customer, it would be called breaking into private property
16477 and theft. The story has spread around the net today. A bit more
16478 background information is available in Norwegian from
16479 &lt;a href=&quot;http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon&quot;&gt;digi.no&lt;/a&gt;.
16480 It is no surprise that digital restriction mechanisms (DRM) are used
16481 this way, as it has been warned about such abuse since DRM was
16482 introduced many years back. And Amazon proved in 2009 that it was
16483 willing to
16484 &lt;a href=&quot;http://boingboing.net/2009/07/20/amazons-orwellian-de.html&quot;&gt;
16485 break into customers equipment and remove the books&lt;/a&gt; people had
16486 bought, when it removed the book 1984 by George Orwell from all the
16487 customers who had bought it. From the official comments, it even
16488 sounded like
16489 &lt;a href=&quot;http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html&quot;&gt;Amazon
16490 would never do that again&lt;/a&gt;. And here we are, three years
16491 later.&lt;/p&gt;
16492
16493 &lt;p&gt;And thought this action is
16494 &lt;a href=&quot;http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende&quot;&gt;against
16495 Norwegian regulations and law&lt;/a&gt;, it is according to the terms of use
16496 as written by Amazon, and it is hard to hold Amazon accountable to
16497 Norwegian laws. It is just yet another example of unacceptable terms
16498 of use on the web, and how they are used to remove customer
16499 rights.&lt;/p&gt;
16500
16501 &lt;p&gt;Luckily for electronic books, there are alternatives without
16502 unacceptable terms. For example
16503 &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (about 40,000
16504 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt; (1,652
16505 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The Internet
16506 Archive&lt;/a&gt; (3,641,797 books) have heaps of books without DRM, which
16507 can read by anyone and shared with anyone.&lt;/p&gt;
16508
16509 &lt;p&gt;Update 2012-10-23: This story broke in the morning on Monday. In
16510 the evening after the story had spread all across the Internet, Amazon
16511 restored the account of the user, as reported by
16512 &lt;a href=&quot;http://www.digi.no/904675/helomvending-fra-amazon&quot;&gt;digi.no&lt;/a&gt;
16513 and &lt;a href=&quot;http://nrk.no/kultur-og-underholdning/1.8368487&quot;&gt;NRK&lt;/a&gt;.
16514 Apparently public pressure work. The story from Martin have seen
16515 several twitter messages per minute the last 24 hours, which is quite
16516 a lot, and is still drawing a lot of attention. But even when the
16517 account is restored, the fundamental problem still exist. I recommend
16518 reading two opinions from
16519 &lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2012/10/rights-you-have-no-right-to-your-ebooks/index.htm&quot;&gt;Simon
16520 Phipps&lt;/a&gt; and
16521 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm&quot;&gt;Glen
16522 Moody&lt;/a&gt; if you want to learn more about the fundamentals and more
16523 details about the original story.&lt;/p&gt;
16524 </description>
16525 </item>
16526
16527 <item>
16528 <title>The fight for freedom and privacy</title>
16529 <link>http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</link>
16530 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</guid>
16531 <pubDate>Thu, 18 Oct 2012 10:50:00 +0200</pubDate>
16532 <description>&lt;p&gt;Civil liberties and privacy in the western world are going down the
16533 drain, and it is hard to fight against it. I try to do my best, but
16534 time is limited. I hope you do your best too. A few years ago I came
16535 across a marvellous drawing by
16536 &lt;a href=&quot;http://www.claybennett.com/about.html&quot;&gt;Clay Bennett&lt;/a&gt;
16537 visualising some of what is going on.
16538
16539 &lt;p&gt;&lt;a href=&quot;http://www.claybennett.com/pages/security_fence.html&quot;&gt;
16540 &lt;img src=&quot;http://www.claybennett.com/images/archivetoons/security_fence.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;
16541
16542 &lt;blockquote&gt;
16543 «They who can give up essential liberty to obtain a little temporary
16544 safety, deserve neither liberty nor safety.» - Benjamin Franklin
16545 &lt;/blockquote&gt;
16546
16547 &lt;p&gt;Do you feel safe at the airport? I do not. Do you feel safe when
16548 you see a surveillance camera? I do not. Do you feel safe when you
16549 leave electronic traces of your behaviour and opinions? I do not. I
16550 just remember &lt;a href=&quot;http://en.wikipedia.org/wiki/Panopticon&quot;&gt;the
16551 Panopticon&lt;/a&gt;, and can not help to think that we are slowly
16552 transforming our society to a huge Panopticon on our own.&lt;/p&gt;
16553 </description>
16554 </item>
16555
16556 <item>
16557 <title>ColonHelp produser sue WordPress to silence critic</title>
16558 <link>http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</link>
16559 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</guid>
16560 <pubDate>Fri, 12 Oct 2012 23:50:00 +0200</pubDate>
16561 <description>&lt;p&gt;Thanks to a blog post by
16562 &lt;a href=&quot;http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html&quot;&gt;Eddy
16563 Petrișor&lt;/a&gt;, I became aware of yet another &quot;alternative medicine&quot;
16564 company using legal intimidation tactics to scare off critics.
16565 According to the originating blog post about the detox &quot;cure&quot;
16566 &lt;a href=&quot;http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/&quot;&gt;ColonHelp
16567 and its producers Zenyth Pharmaceuticals actions&lt;/a&gt;, the producer
16568 sues Wordpress to get rid of the critical information. To check if
16569 the story was for real, I contacted Automattic, the company behind
16570 wordpress.com, and they reply was &quot;We can confirm that Zenyth is
16571 seeking a court order against WordPress / Automattic. However, we
16572 don&#39;t believe the Terms of Service have been violated in this
16573 matter&quot;.&lt;/p&gt;
16574
16575 &lt;p&gt;The story seem to be simply that a blogger checked the scientific
16576 foundation for a popular health product in Rumania, ColonHelp, and
16577 reported that there was no reason at all to believe it improved the
16578 health of its users. This caused the company behind the product,
16579 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
16580 the critic, instead of presenting its views and scientific foundation
16581 to argue its side.&lt;/p&gt;
16582
16583 &lt;p&gt;This is the usual story, and the Zenyth Pharmaceuticals company
16584 deserve everyone to know how it failed to act properly. Lets hope the
16585 &lt;a href=&quot;http://en.wikipedia.org/wiki/Streisand_effect&quot;&gt;Streisand
16586 effect&lt;/a&gt; can make it rethink its strategy.&lt;/p&gt;
16587
16588 &lt;p&gt;What is the harm, you might think. I suggest you take a look at
16589 &lt;a href=&quot;http://www.whatstheharm.net/detoxification.html&quot;&gt;a list of
16590 victims of detoxification&lt;/a&gt;.&lt;/p&gt;
16591 </description>
16592 </item>
16593
16594 <item>
16595 <title>Why is your local library collecting the &quot;wrong&quot; computer books?</title>
16596 <link>http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</link>
16597 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</guid>
16598 <pubDate>Wed, 3 Oct 2012 10:00:00 +0200</pubDate>
16599 <description>&lt;p&gt;I just read the blog post from Tim Retout
16600 &lt;a href=&quot;http://retout.co.uk/blog/2012/10/02/the-library-challenge&quot;&gt;about
16601 the computer science book collection available in his local
16602 library&lt;/a&gt;, and just wanted to share my comment on his theory about
16603 computer books becoming obsolete so soon. That is part of the reason
16604 why the selection is so sad in almost any local library (it is in mine
16605 too), but I believe the major contributing factor is that the people
16606 buying books to the library have no way to know a good and future
16607 computer classic from trash. And they need to know which one will
16608 become a classic in the future, as they would normally buy one of the
16609 recently published books.&lt;/p&gt;
16610
16611 &lt;p&gt;During my university years, I worked for a while at the university
16612 library, and even there the person in charge of buying computer
16613 related books (and in fact any natural science related book), did not
16614 know enough about computers to make a good educated guess. Once, just
16615 before Christmas, they had some leftover money on the book budget and
16616 I was asked if I could pick out a lot of computer books in the
16617 university book store, for the library to buy for their collection. I
16618 had a great time picking all the books I dreamt of buying and reading,
16619 and the books I knew were classics (like most of the
16620 &lt;a href=&quot;http://en.wikipedia.org/wiki/W._Richard_Stevens&quot;&gt;Stevens
16621 collection&lt;/a&gt;). I picked several of the generic O&#39;Reilly books (ie
16622 documenting protocols, formats and systems, not specific versions of
16623 products) and stayed away from the &#39;teach yourself X in N days&#39; class.
16624 I had a great time, and probably picked out more than a hundred books
16625 for the library that evening.&lt;/p&gt;
16626
16627 &lt;p&gt;The sad fact is that there is no way a overworked librarian is
16628 going to know that for example
16629 &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Practice_of_Programming&quot;&gt;The
16630 Practice of Programming&lt;/a&gt; is a must-have in any computer library,
16631 and they will most of the time end up picking the wrong books to buy.
16632 Perhaps you can help your local library make better choices by giving
16633 the suggestions for books to get? I know they would love to hear from
16634 you, even if their budget might block them from getting your favourite
16635 book right away.&lt;/p&gt;
16636 </description>
16637 </item>
16638
16639 <item>
16640 <title>Seventy percent done with Norwegian docbook version of Free Culture</title>
16641 <link>http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</link>
16642 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</guid>
16643 <pubDate>Sun, 23 Sep 2012 09:30:00 +0200</pubDate>
16644 <description>&lt;p&gt;Since this summer, I have worked in my spare time on a Norwegian &lt;a
16645 href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book &lt;a
16646 href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
16647 The reason is that this book is a great primer on what problems exist
16648 in the current copyright laws, and I want it to be available also for
16649 those that are reluctant do read an English book.
16650
16651 When I started, I
16652 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;called
16653 for volunteers&lt;/a&gt; to help me, but too few have volunteered so far,
16654 and progress is a bit slow. Anyway, today I broken the 70 percent
16655 mark for the first rough translation. At the moment, less than 700
16656 strings (paragraphs, index terms, titles) are left to translate. With
16657 my current progress of 10-20 strings per day, it will take a while to
16658 complete the translation. This graph show the updated progress:&lt;/p&gt;
16659
16660 &lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;
16661
16662 &lt;p&gt;Progress have slowed down lately due to family and work
16663 commitments. If you want to help, please get in touch, and check out
16664 the project files currently available from
16665 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
16666
16667 &lt;p&gt;If you are curious what the translated book currently look like,
16668 the updated
16669 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;
16670 and
16671 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
16672 are published on github. The HTML version is published as well, but
16673 github hand it out with MIME type text/plain, confusing browsers, so I
16674 saw no point in linking to that version.&lt;/p&gt;
16675 </description>
16676 </item>
16677
16678 <item>
16679 <title>Debian Edu interview: Giorgio Pioda</title>
16680 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</link>
16681 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</guid>
16682 <pubDate>Mon, 17 Sep 2012 14:10:00 +0200</pubDate>
16683 <description>&lt;p&gt;After a long break in my row of interviews with people in the
16684 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
16685 community, I finally found time to wrap up another. This time it is
16686 Giorgio Pioda, which showed up on the mailing list at the start of
16687 this year, asking questions and inspiring us to improve the first time
16688 administrators experience with Skolelinux. :) The interview was
16689 conduced in May, but I only found time to publish it now.&lt;/p&gt;
16690
16691 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
16692
16693 &lt;p&gt;I have a PhD in chemistry but since several years I work as teacher
16694 in secondary (15-18 year old students) and tertiary (a kind of &quot;light&quot;
16695 university) schools. Five years ago I started to manage a Learning
16696 Management Service server and slowly I got more and more involved with
16697 IT. 3 years ago the graduating schools moved completely to Linux and I
16698 got the head of the IT for this. The experience collected in chemistry
16699 labs computers (for example NMR analysis of protein folding) and in
16700 the IT-courses during university where sufficient to start. Self
16701 training is anyway very important&lt;/p&gt;
16702
16703 &lt;p&gt;I live in the Italian speaking part of Switzerland, and the
16704 &lt;a href=&quot;http://www.spse.ch/&quot;&gt;SPSE school&lt;/a&gt; (secondary) is a very
16705 special sport school for young people who try to became sport pro (for
16706 all sports, we have dozens of disciplines represented) and we are
16707 recognised by the Olympic Swiss Organisation.
16708
16709 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
16710 project?&lt;/strong&gt;&lt;/p&gt;
16711
16712 &lt;p&gt;Looking for Linux / Primary Domain Controller (PDC) I found it
16713 already several years ago. But since the system was still not
16714 Kerberized and since our schools relies strongly on laptops I didn&#39;t
16715 use it. I plan to introduce it in the next future, probably for the
16716 next school year, since the squeeze release solved this security
16717 hole.&lt;/p&gt;
16718
16719 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
16720 Edu?&lt;/strong&gt;&lt;/p&gt;
16721
16722 &lt;p&gt;Many. First of all there is a strong and living community that is
16723 very generous for help and hints. Chat help is crucial, together with
16724 the mailing list. Second. With Skolelinux you get an already well
16725 engineered platform and you don&#39;t have to start to build up your PDC
16726 and your clients from GNU/scratch; I&#39;ve already done this once and I
16727 can tell it, it is hard. Third, since Skolelinux is a standard
16728 platform, it is way easier to educate other IT people and even if the
16729 head IT is sick another one could pick up the task without too much
16730 hassle.&lt;/p&gt;
16731
16732 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
16733 Edu?&lt;/strong&gt;&lt;/p&gt;
16734
16735 &lt;p&gt;The only real problem I see is that it is a little too less
16736 flexible at client level. Debian stable is rocky and desirable, but
16737 there are many reasons that force for another choice. For example the
16738 need of new drivers for new PC, or the need for a specific OS for some
16739 devices that have specific software packages for another specific
16740 distribution (I have such a case for whiteboards that have only
16741 Ubuntu packages). Thus, I prepared compatibility packages educlient
16742 and eduroaming, hoping not to use them ;-)&lt;/p&gt;
16743
16744 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
16745
16746 &lt;p&gt;I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
16747 mixed Debian and Ubuntu clients. If you think that this triad
16748 combination is exotic... well I discovered right yesterday that
16749 &lt;a href=&quot;http://moo.nac.uci.edu/~hjm/Perceus-Report.html&quot;&gt;Perceus&lt;/a&gt;
16750 has the same...&lt;/p&gt;
16751
16752 &lt;p&gt;For myself I run Debian wheezy/sid, but this combination is good
16753 only I you have enough competence to fix stuff for yourself, if
16754 something breaks. Daily I use texmacs, gnumeric, a little bit of R
16755 statistics, kmplot, and less frequently OpenOffice.org.&lt;/p&gt;
16756
16757 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
16758 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
16759
16760 &lt;P&gt;I think that the only real argument that school managers &quot;hear&quot; is
16761 cost reduction. They don&#39;t give too much weight on quality, stability,
16762 just because they are normally not open to change.&lt;/p&gt;
16763
16764 &lt;p&gt;Students adapts very quickly to GNU/Linux (and for them being able
16765 to switch between different OS is a plus value); teachers and managers
16766 don&#39;t.&lt;/p&gt;
16767
16768 &lt;p&gt;We decided to move to Linux because students at our school have own
16769 laptop and we have the responsibility to keep the laptop ready to use;
16770 we were really unsatisfied with Microsoft since every Monday we had 20
16771 machine to fix for viral infections... With Linux this has been
16772 reduced to zero, since people installs almost only from official
16773 repositories. I think that our special needs brought us to Linux.
16774 Those who don&#39;t have such needs will hardly move to Linux.&lt;/p&gt;
16775 </description>
16776 </item>
16777
16778 <item>
16779 <title>IETF activity to standardise video codec</title>
16780 <link>http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</link>
16781 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</guid>
16782 <pubDate>Sat, 15 Sep 2012 20:00:00 +0200</pubDate>
16783 <description>&lt;p&gt;After the
16784 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html&quot;&gt;Opus
16785 codec made&lt;/a&gt; it into &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; as
16786 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716&lt;/a&gt;, I had a look
16787 to see if there is any activity in IETF to standardise a video codec
16788 too, and I was happy to discover that there is some activity in this
16789 area. A non-&quot;working group&quot; mailing list
16790 &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/video-codec&quot;&gt;video-codec&lt;/a&gt;
16791 was
16792 &lt;a href=&quot;http://ietf.10.n7.nabble.com/New-Non-WG-Mailing-List-video-codec-Video-codec-BoF-discussion-list-td119548.html&quot;&gt;created 2012-08-20&lt;/a&gt;. It is intended to discuss the topic and if a
16793 formal working group should be formed.&lt;/p&gt;
16794
16795 &lt;p&gt;I look forward to see how this plays out. There is already
16796 &lt;a href=&quot;http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html&quot;&gt;an
16797 email from someone&lt;/a&gt; in the MPEG group at ISO asking people to
16798 participate in the ISO group. Given how ISO failed with OOXML and given
16799 that it so far (as far as I can remember) only have produced
16800 multimedia formats requiring royalty payments, I suspect
16801 joining the ISO group would be a complete waste of time, but I am not
16802 involved in any codec work and my opinion will not matter much.&lt;/p&gt;
16803
16804 &lt;p&gt;If one of my readers is involved with codec work, I hope she will
16805 join this work to standardise a royalty free video codec within
16806 IETF.&lt;/p&gt;
16807 </description>
16808 </item>
16809
16810 <item>
16811 <title>IETF standardize its first multimedia codec: Opus</title>
16812 <link>http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</link>
16813 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</guid>
16814 <pubDate>Wed, 12 Sep 2012 13:50:00 +0200</pubDate>
16815 <description>&lt;p&gt;Yesterday, &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; announced the
16816 publication of of
16817 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716, the Definition
16818 of the Opus Audio Codec&lt;/a&gt;, a low latency, variable bandwidth, codec
16819 intended for both VoIP, film and music. This is the first time, as
16820 far as I know, that IETF have standardized a multimedia codec. In
16821 &lt;a href=&quot;http://tools.ietf.org/html/rfc3533&quot;&gt;RFC 3533&lt;/a&gt;, IETF
16822 standardized the OGG container format, and it has proven to be a great
16823 royalty free container for audio, video and movies. I hope IETF will
16824 continue to standardize more royalty free codeces, after ISO and MPEG
16825 have proven incapable of securing everyone equal rights to publish
16826 multimedia content on the Internet.&lt;/p&gt;
16827
16828 &lt;p&gt;IETF require two interoperating independent implementations to
16829 ratify a standard, and have so far ensured to only standardize royalty
16830 free specifications. Both are key factors to allow everyone (rich and
16831 poor), to compete on equal terms on the Internet.&lt;/p&gt;
16832
16833 &lt;p&gt;Visit the &lt;a href=&quot;http://opus-codec.org/&quot;&gt;Opus project page&lt;/a&gt; if
16834 you want to learn more about the solution.&lt;/p&gt;
16835 </description>
16836 </item>
16837
16838 <item>
16839 <title>Git repository for song book for Computer Scientists</title>
16840 <link>http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</link>
16841 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</guid>
16842 <pubDate>Fri, 7 Sep 2012 13:50:00 +0200</pubDate>
16843 <description>&lt;p&gt;As I
16844 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html&quot;&gt;mentioned
16845 this summer&lt;/a&gt;, I have created a Computer Science song book a few
16846 years ago, and today I finally found time to create a public
16847 &lt;a href=&quot;https://gitorious.org/pere-cs-songbook/pere-cs-songbook&quot;&gt;Gitorious
16848 repository for the project&lt;/a&gt;.&lt;/p&gt;
16849
16850 &lt;p&gt;If you want to help out, please clone the source and submit patches
16851 to the HTML version. To generate the PDF and PostScript version,
16852 please use prince XML, or let me know about a useful free software
16853 processor capable of creating a good looking PDF from the HTML.&lt;/p&gt;
16854
16855 &lt;p&gt;Want to sing? You can still find the song book in HTML, PDF and
16856 PostScript formats at
16857 &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s Computer
16858 Science Songbook&lt;/a&gt;.&lt;/p&gt;
16859 </description>
16860 </item>
16861
16862 <item>
16863 <title>Free software forced Microsoft to open Office (and don&#39;t forget Officeshots)</title>
16864 <link>http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</link>
16865 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</guid>
16866 <pubDate>Thu, 23 Aug 2012 14:20:00 +0200</pubDate>
16867 <description>&lt;p&gt;I came across a great comment from Simon Phipps today, about how
16868 &lt;a href=&quot;http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233&quot;&gt;Microsoft
16869 have been forced to open Office&lt;/a&gt;, and it made me remember and
16870 revisit the great site
16871 &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;officeshots&lt;/a&gt; which allow you
16872 to check out how different programs present the ODF file format. I
16873 recommend both to those of my readers interested in ODF. :)&lt;/p&gt;
16874 </description>
16875 </item>
16876
16877 <item>
16878 <title>Half way there with translated docbook version of Free Culture</title>
16879 <link>http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</link>
16880 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</guid>
16881 <pubDate>Fri, 17 Aug 2012 21:50:00 +0200</pubDate>
16882 <description>&lt;p&gt;In my spare time, I currently work on a Norwegian
16883 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
16884 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
16885 to get a Norwegian text explaining the problems with the copyright law
16886 I can give to my parents and others that are reluctant to read an
16887 English book. It is a marvellous set of examples on how the ever
16888 expanding copyright regulations hurt culture and society. When the
16889 translation is done, I hope to find funding to print and ship a copy
16890 to all the members of the Norwegian parliament, before they sit down
16891 to debate the latest revisions to the Norwegian copyright law. This
16892 summer I
16893 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;called
16894 for volunteers&lt;/a&gt; to help me, and I have been able to secure the
16895 valuable contribution from at least one other Norwegian.&lt;/p&gt;
16896
16897 &lt;p&gt;Two days ago, we finally broke the 50% mark. Then more than 50% of
16898 the number of strings to translate (normally paragraphs, but also
16899 titles and index entries are also counted). All parts from the
16900 beginning up to and including chapter four is translated. So is
16901 chapters six, seven and the conclusion. I created a graph to show the
16902 progress:&lt;/p&gt;
16903
16904 &lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;
16905
16906 &lt;p&gt;The number of strings to translate increase as I insert the index
16907 entries into the docbook. They were missing with the docbook version
16908 I initially started with. There are still quite a few index entries
16909 missing, but everyone starting with A, B, O, Z and Y are done. I
16910 currently focus on completing the index entries, to get a complete
16911 english version of the docbook source.&lt;/p&gt;
16912
16913 &lt;p&gt;There is still need for translators and people with docbook
16914 knowledge, to be able to get a good looking book (I still struggle
16915 with dblatex, xmlto and docbook-xsl) as well as to do the draft
16916 translation and proof reading. And I would like the figures to be
16917 redrawn as SVGs to make it easy to translate them. Any SVG master
16918 around? I am sure there are some legal terms that are unfamiliar to
16919 me. If you want to help, please get in touch, and check out the
16920 project files currently available from &lt;a
16921 href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
16922
16923 &lt;p&gt;If you are curious what the translated book currently look like,
16924 the updated
16925 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;
16926 and
16927 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
16928 are published on github. The HTML version is published as well, but
16929 github hand it out with MIME type text/plain, confusing browsers, so I
16930 saw no point in linking to that version.&lt;/p&gt;
16931 </description>
16932 </item>
16933
16934 <item>
16935 <title>Notes on language codes for Norwegian docbook processing...</title>
16936 <link>http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</link>
16937 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</guid>
16938 <pubDate>Fri, 10 Aug 2012 21:00:00 +0200</pubDate>
16939 <description>&lt;p&gt;In &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; one can specify
16940 the language used at the top, and the processing pipeline will use
16941 this information to pick the correct translations for &#39;chapter&#39;, &#39;see
16942 also&#39;, &#39;index&#39; etc. And for most languages used with docbook, I guess
16943 this work just fine. For example a German user can start the document
16944 with &amp;lt;book lang=&quot;de&quot;&amp;gt;, and the document will show up with the
16945 correct content with any of the docbook processors. This is not the
16946 case for the language
16947 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html&quot;&gt;I
16948 am working with at the moment&lt;/a&gt;, Norwegian Bokmål.&lt;/p&gt;
16949
16950 &lt;p&gt;For a while, I was confused about which language code to use,
16951 because I was unable to find any language code that would work across
16952 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
16953 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
16954 of them do not handle it at all.&lt;/p&gt;
16955
16956 &lt;p&gt;A bit of background information is probably needed to understand
16957 this mess. Norwegian is not one, but two written variants. The
16958 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
16959 two letter language codes associated with these languages, Norwegian
16960 is &#39;no&#39;, Norwegian Nynorsk is &#39;nn&#39; and Norwegian Bokmål is &#39;nb&#39;.
16961 Historically the &#39;no&#39; language code was used for Norwegian Bokmål, but
16962 many years ago this was found to be å bad idea, and the recommendation
16963 is to use the most specific language code instead, to avoid confusion.
16964 In the transition period it is a good idea to make sure &#39;no&#39; was an
16965 alias for &#39;nb&#39;.&lt;/p&gt;
16966
16967 &lt;p&gt;Back to docbook processing tools in Debian. The dblatex tool only
16968 understand &#39;nn&#39;. There are translations for &#39;no&#39;, but not &#39;nb&#39; (BTS
16969 &lt;a href=&quot;http://bugs.debian.org/684391&quot;&gt;#684391&lt;/a&gt;), but due to a bug
16970 (BTS &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;#682936&lt;/a&gt;) the &#39;no&#39;
16971 language code is not recognised. The docbook-xsl tool chain only
16972 recognise &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The xmlto tool only recognise
16973 &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The end result that there is no language
16974 code I can use to get the docbook file working with all of these tools
16975 at the same time. :(&lt;/p&gt;
16976
16977 &lt;p&gt;The correct solution is to use &amp;lt;book lang=&quot;nb&quot;&amp;gt;, but it will
16978 take time before that will work with all the free software docbook
16979 processors. :(&lt;/p&gt;
16980
16981 &lt;p&gt;Oh, the joy of well integrated tools. :/&lt;/p&gt;
16982 </description>
16983 </item>
16984
16985 <item>
16986 <title>Best way to create a docbook book?</title>
16987 <link>http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</link>
16988 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</guid>
16989 <pubDate>Tue, 31 Jul 2012 22:00:00 +0200</pubDate>
16990 <description>&lt;p&gt;I tried to send this text to the
16991 &lt;a href=&quot;https://lists.oasis-open.org/archives/docbook-apps/&quot;&gt;docbook-apps
16992 mailing list at lists.oasis-open.org&lt;/a&gt;, but it only accept messages
16993 from subscribers and rejected my post, and I completely lack the
16994 bandwidth required to subscribe to another mailing list, so instead I
16995 try to post my message here and hope my blog readers can help me
16996 out.&lt;/p&gt;
16997
16998 &lt;p&gt;I am quite new to docbook processing, and am climbing a steep
16999 learning curve at the moment.&lt;/p&gt;
17000
17001 &lt;p&gt;To give you some background, I am working on a Norwegian
17002 translation of the book Free Culture by Lawrence Lessig, and I use
17003 docbook to handle the process. The files to build the book are
17004 available from
17005 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.
17006 The book got around 400 pages with parts, images, footnotes, tables,
17007 index entries etc, which has proven to be a challenge for the free
17008 software docbook processors. My build platform is Debian GNU/Linux
17009 Squeeze.&lt;/p&gt;
17010
17011 &lt;p&gt;I want to build PDF, EPUB and HTML version of the book, and have
17012 tried different tool chains to do the conversion from docbook to these
17013 formats. I am currently focusing on the PDF version, and have a few
17014 problems.&lt;/p&gt;
17015
17016 &lt;ul&gt;
17017
17018 &lt;li&gt;Using dblatex, the &amp;lt;part&amp;gt; handling is not the way I want to,
17019 as &amp;lt;/part&amp;gt; do not really end the &amp;lt;part&amp;gt;. (See
17020 &lt;a href=&quot;http://bugs.debian.org/683166&quot;&gt;BTS report #683166&lt;/a&gt;), the
17021 xetex backend (needed to process UTF-8) give incorrect hyphens in
17022 index references spanning several pages (See
17023 &lt;a href=&quot;http://bugs.debian.org/682901&quot;&gt;BTS report #682901&lt;/a&gt;), and
17024 I am unable to get the norwegian template texts (See
17025 &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;BTS report #682936&lt;/a&gt;).&lt;/li&gt;
17026
17027 &lt;li&gt;Using straight xmlto fail with some latex error (See
17028 &lt;a href=&quot;http://bugs.debian.org/683163&quot;&gt;BTS report
17029 #683163&lt;/a&gt;).&lt;/li&gt;
17030
17031 &lt;li&gt;Using xmlto with the fop backend fail to handle images (do not
17032 show up in the PDF), fail to handle a long footnote (overlap
17033 footnote and text body, see
17034 &lt;a href=&quot;http://bugs.debian.org/683197&quot;&gt;BTS report #683197&lt;/a&gt;), and
17035 fail to create a correct index (some lack page ref, and the page
17036 refs listed are not right).&lt;/li&gt;
17037
17038 &lt;li&gt;Using xmlto with the dblatex backend behave like dblatex.&lt;/li&gt;
17039
17040 &lt;li&gt;Using docbook-xls with xsltproc + fop have the same footnote and
17041 index problems the xmlto + fop processing.&lt;/li&gt;
17042
17043 &lt;/ul&gt;
17044
17045 &lt;p&gt;So I wonder, what would be the best way to create the PDF version
17046 of this book? Are some of the bugs found above solved in new or
17047 experimental versions of some docbook tool chain?&lt;/p&gt;
17048
17049 &lt;p&gt;What about HTML and EPUB versions?&lt;/p&gt;
17050 </description>
17051 </item>
17052
17053 <item>
17054 <title>Free Culture in Norwegian - 5 chapters done, 74 percent left to do</title>
17055 <link>http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</link>
17056 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</guid>
17057 <pubDate>Sat, 21 Jul 2012 20:00:00 +0200</pubDate>
17058 <description>&lt;p&gt;I reported earlier that I am working on
17059 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;a
17060 norwegian version&lt;/a&gt; of the book
17061 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
17062 Progress is good, and yesterday I got a major contribution from Anders
17063 Hagen Jarmund completing chapter six. The source files as well as a
17064 PDF and EPUB version of this book are available from
17065 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
17066
17067 &lt;p&gt;I am happy to report that the draft for the first two chapters
17068 (preface, introduction) is complete, and three other chapters are also
17069 completely translated. This completes 26 percent of the number of
17070 strings (equivalent to paragraphs) in the book, and there is thus 74
17071 percent left to translate. A graph of the progress is present at the
17072 bottom of the github project page. There is still room for more
17073 contributors. Get in touch or send github pull requests with fixes if
17074 you got time and are willing to help make this book make it to
17075 print. :)&lt;/p&gt;
17076
17077 &lt;p&gt;The book translation framework could also be a good basis for other
17078 translations, if you want the book to be available in your
17079 language.&lt;/p&gt;
17080 </description>
17081 </item>
17082
17083 <item>
17084 <title>Call for help from docbook expert to tag Free Culture by Lawrence Lessig</title>
17085 <link>http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</link>
17086 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</guid>
17087 <pubDate>Mon, 16 Jul 2012 22:50:00 +0200</pubDate>
17088 <description>&lt;p&gt;I am currently working on a
17089 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;project
17090 to translate&lt;/a&gt; the book
17091 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig
17092 to Norwegian. And the source we base our translation on is the
17093 &lt;a href=&quot;http://en.wikipedia.org/wiki/DocBook&quot;&gt;docbook&lt;/a&gt; version, to
17094 allow us to use po4a and .po files to handle the translation, and for
17095 this to work well the docbook source document need to be properly
17096 tagged. The source files of this project is available from
17097 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
17098
17099 &lt;p&gt;The problem is that the docbook source have flaws, and we have
17100 no-one involved in the project that is a docbook expert. Is there a
17101 docbook expert somewhere that is interested in helping us create a
17102 well tagged docbook version of the book, and adjust our build process
17103 for the PDF, EPUB and HTML version of the book? This will provide a
17104 well tagged English version (our source document), and make it a lot
17105 easier for us to create a good Norwegian version. If you can and want
17106 to help, please get in touch with me or fork the github project and
17107 send pull requests with fixes. :)&lt;/p&gt;
17108 </description>
17109 </item>
17110
17111 <item>
17112 <title>Debian Edu interview: George Bredberg</title>
17113 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</link>
17114 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</guid>
17115 <pubDate>Mon, 9 Jul 2012 00:30:00 +0200</pubDate>
17116 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
17117 Skolelinux&lt;/a&gt; project have users all over the globe, but until
17118 recently we have not known about any users in Norway&#39;s neighbour
17119 country Sweden. This changed when George Bredberg showed up in March
17120 this year on the mailing list, asking interesting questions about how
17121 to adjust and scale the just released
17122 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
17123 Wheezy&lt;/a&gt; setup to his liking. He granted me an interview, and I am
17124 happy to share his answers with you here.&lt;/p&gt;
17125
17126 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
17127
17128 &lt;p&gt;I&#39;m a 44 year old country guy that have been working 12 years at
17129 the same school as 50% IT-manager and 50% Teacher. My educational
17130 background is fil.kand in history and religious beliefs, an exam as a
17131 &quot;folkhighschool&quot; teacher, that is, for teaching grownups. In
17132 Norwegian I believe it&#39;s called &quot;Vuxenupplaring&quot;. I also have a master
17133 in &quot;Technology and social change&quot;. So I&#39;m not really a tech guy, I
17134 just like to study how humans and technology interact and that is my
17135 perspective when working with IT.&lt;/p&gt;
17136
17137 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
17138 project?&lt;/strong&gt;&lt;/p&gt;
17139
17140 I have followed the Skolelinux project for quite some time by
17141 now. Earlier I tested out the K12-LTSP project, which we used for some
17142 time, but I really like the idea of having a distribution aimed to be
17143 a complete solution for schools with necessary tools integrated. When
17144 K12-LTSP abandoned that idea some years ago, I started to look more
17145 seriously into Skolelinux instead.
17146
17147 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
17148 Edu?&lt;/strong&gt;&lt;/p&gt;
17149
17150 The big point of Skolelinux to me is that it is a complete
17151 distribution, ready to install. It has LDAP-support, MS Windows
17152 integration tools and so forth already configured, saving an
17153 administrator a lot of time and headache. We were using another Linux
17154 based thin-client system called Thinlinc, that has served us very
17155 well. But that Skolelinux is based on VNC and LTSP, to me, is better
17156 when it comes to the kind of multimedia used in schools. That is
17157 showing videos from Youtube or educational TV. It is also easier to
17158 mix thin clients with workstations, since the user settings will be the
17159 same. In our VNC-based solution you had to &quot;beat around the bush&quot; by
17160 setting up a second, hidden, home-directory for user settings for the
17161 workstations, because they will be different from the ones used on the
17162 thin clients. Skolelinux support for diskless workstations are very
17163 convenient since a school today often need to use a class room
17164 projector showing videos in full screen. That is easily done with a
17165 small integrated media computer running as a diskless workstation. You
17166 have only two installs to update and configure. One for the thin
17167 clients and one for the workstations. Also saving a lot of time. Our
17168 old system was also based on Redhat and CentOS. They are both very
17169 nice distributions, but they are sometimes painfully slow when it
17170 comes to updating multimedia support and multimedia programs (even
17171 such as Gimp), leaving us with a bit &quot;oldish&quot; applications. Debian is
17172 quicker to update.
17173
17174 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
17175 Edu?&lt;/strong&gt;&lt;/p&gt;
17176
17177 &lt;p&gt;Debian is a bit too quick when it comes to updating. As an example
17178 we use old HP terminals as thinclients, and two times already this
17179 year (2012) the updates you get from the repositories has stopped
17180 sound from working with them. It&#39;s a kernel/ALSA issue. So you have
17181 to be more careful properly testing the updates before you run them in
17182 a production environment. This has never happened with CentOS.&lt;/p&gt;
17183
17184 &lt;p&gt;I also would like to be able to set my own domain-settings at
17185 install time. In Skolelinux they are kind of hard coded into the
17186 distribution, when it comes to LDAP and at least samba integration.
17187 That is more a cosmetic/translation issue, and not a real problem.
17188 Running MS Windows applications within the Skolelinux environment needs
17189 to be better supported. That is, running them seamlessly via RDP, and
17190 support for single-sign on. That will make the transition to free
17191 software easier, because you can keep the applications you really
17192 need. No support will make it impossible if you work in a school where
17193 some applications can&#39;t be open source. As for us we really need to
17194 run Adobe InDesign in our journalist classes. We run a journalist
17195 education, and is one of the very few non university ones that is ok:d
17196 by Svenska journalistförbundet (Swedish journalist association). Our
17197 education gives the pupils the right of membership there, once they
17198 are done. This is important if you want to get a job.&lt;/p&gt;
17199
17200 &lt;p&gt;Adobe InDesign is the program most commonly used in newspapers and
17201 magazines. We used Quark Express before, but they seem to loose there
17202 market to Adobe. The only &quot;equivalent&quot; to InDesign in the opensource
17203 world is Scribus, and its not advanced enough. At least not according
17204 to the teacher. I think it would be possible to use it, because they
17205 are not supposed to learn a program, they are supposed to learn how to
17206 edit and compile a newspaper. But politically at our school we are not
17207 there yet. And Scribus lacks a lot of things you find i InDesign.&lt;/p&gt;
17208
17209 &lt;p&gt;We used even a windows program for sound editing when it comes to
17210 the radio-journalist part. The year to come we are going to try
17211 Audacity. That software has the same kind of limitations compared to
17212 Adobe Audition, but that teacher is a bit more open minded. We have
17213 tried Ardour also, but that instead is more like a music studio
17214 program, not intended for the kind of editing taking place in a radio
17215 studio. Its way to complex and the GUI is to scattered when you only
17216 want to cut, make pass-overs, add extra channels and normalise. Those
17217 things you can do in Audacity, but its not as easy as in Audition. You
17218 have to do more things manually with envelopes, and that is a bit old
17219 fashion and timewasting. Its also harder to cut and move sound from
17220 one channel to another, which is a thing that you do frequently
17221 because you often find yourself needing to rearrange parts of the
17222 sound file.&lt;/p&gt;
17223
17224 &lt;p&gt;So, I am not sure we will succeed in replacing even Audition, but we
17225 will try. The problem is the students have certain expectations when
17226 they start an education towards a profession. So the programs has to
17227 look and feel professional. Good thing with radio, there are many
17228 programs out there, that radio studios use, so its not as standardised
17229 as Newspaper editing. That means, it does not really matter what
17230 program they learn, because once they start working they still have to
17231 learn the program the studio uses, so instead focus has to be to learn
17232 the editing part without to much focus on a specific software.&lt;/p&gt;
17233
17234 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
17235
17236 &lt;p&gt;Myself I&#39;m running Linux Mint, or Ubuntu these days. I use almost
17237 only open source software, and preferably Linux based. When it comes
17238 to most used applications its OpenOffice, and Firefox (of course ;)
17239 )&lt;/p&gt;
17240
17241 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
17242 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
17243
17244 &lt;p&gt;To get schools to use free software there has to be good open
17245 source software that are windows based, to ease the transition. But
17246 it&#39;s also very important that the multimedia support is working
17247 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
17248 will create problems when it comes to both teachers and
17249 students. Economy are also important for schools, so using thin
17250 clients, as long as they have good multimedia support, is a very good
17251 idea. It&#39;s also important that the open source software works even for
17252 the administration. It&#39;s hard to convince the teachers to stick with
17253 open source, if the principal has to run Windows. It also creates a
17254 problem if some classes has to use Windows for there tasks, since that
17255 will create a difference in &quot;status&quot; between classes, so a good
17256 support for running windows applications via the thin client (Linux)
17257 desktop is essential. At least at our school, where we have mixed
17258 level of educations, from high-school to journalist-school.&lt;/p&gt;
17259
17260 &lt;p&gt;Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
17261 useful sources related to Free Software for radio stations: the LWN
17262 article &lt;a href=&quot;https://lwn.net/Articles/481607/&quot;&gt;Radio station
17263 management with Airtime&lt;/a&gt;,
17264 &lt;a href=&quot;http://www.sourcefabric.org/en/airtime/&quot;&gt;Airtime&lt;/a&gt; which
17265 claim to be a Free open source radio automation software and
17266 &lt;a href=&quot;http://www.rivendellaudio.org/&quot;&gt;Rivendell&lt;/a&gt; which claim to
17267 be complete radio broadcast automation solution. All of them seem
17268 useful to the aspiring radio producer.&lt;/p&gt;
17269 </description>
17270 </item>
17271
17272 <item>
17273 <title>Why do schools waste money on IT?</title>
17274 <link>http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</link>
17275 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</guid>
17276 <pubDate>Sun, 8 Jul 2012 09:40:00 +0200</pubDate>
17277 <description>&lt;p&gt;In the Debian Edu / Skolelinux project, we have realised that one
17278 of the major blockers for the project success is the purchasing skills
17279 in schools and municipalities. We provide what the happy users of
17280 Debian Edu / Skolelinux say they need and to a lower cost than the
17281 alternatives, and yet so few schools decide to use our solution. I
17282 was pleased to discover the same observation done by mySociety and Tom
17283 Steinberg in his blog post
17284 &quot;&lt;a href=&quot;http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/&quot;&gt;Can
17285 you recognize the million pound chair?&lt;/a&gt;&quot;. Read it and weep for the
17286 spending of your tax money.&lt;/p&gt;
17287
17288 &lt;p&gt;Of course there are other factors involved as well, like our
17289 projects bad marketing skills and the Linux community fragmentation
17290 causing worry with the people on the outside, so we as a project need
17291 to keep working hard to gain users, but it is a up-hill battle when
17292 public decision makers are unable to understand computer system
17293 purchases.&lt;/p&gt;
17294 </description>
17295 </item>
17296
17297 <item>
17298 <title>Free Timetabling Software - nice free software</title>
17299 <link>http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</link>
17300 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</guid>
17301 <pubDate>Sat, 7 Jul 2012 09:50:00 +0200</pubDate>
17302 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
17303 Skolelinux&lt;/a&gt; is a large collection of end user and school specific
17304 software. It is one of the packages not installed by default but
17305 provided in the Debian archive for schools to install if they want to,
17306 is a system to automatically plan the school time table using
17307 information about available teachers, classes and rooms, combined with
17308 the list of required courses and how many hours each topic should
17309 receive. The software is
17310
17311 &lt;a href=&quot;http://lalescu.ro/liviu/fet/&quot;&gt;named FET&lt;/a&gt;, and it provide a
17312 graphical user interface to input the required information, save the
17313 result in a fairly simple XML format, and generate time tables for
17314 both teachers and students. It is available both for
17315 &lt;a href=&quot;http://lalescu.ro/liviu/fet/download.html&quot;&gt;Linux, MacOSX and
17316 Windows&lt;/a&gt;.&lt;/p&gt;
17317
17318 &lt;p&gt;This is &lt;a href=&quot;http://lalescu.ro/liviu/fet/features.html&quot;&gt;the
17319 feature list&lt;/a&gt;, liftet from the project web site:&lt;/p&gt;
17320
17321 &lt;p&gt;&lt;ul&gt;
17322
17323 &lt;li&gt;FET is free software, licensed under the GNU GPL v2 or later.
17324 You can freely use, copy, modify and redistribute it &lt;/li&gt;
17325
17326 &lt;li&gt;Localized to en_US (US English, default), ar (Arabic), ca
17327 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
17328 (Persian), fr (French), gl (Galician), he (Hebrew), hu
17329 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
17330 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
17331 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
17332 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
17333 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
17334 &lt;/li&gt;
17335
17336 &lt;li&gt;Fully automatic generation algorithm, allowing also
17337 semi-automatic or manual allocation&lt;/li&gt;
17338
17339 &lt;li&gt;Platform independent implementation, allowing running on
17340 GNU/Linux, Windows, Mac and any system that Qt supports &lt;/li&gt;
17341
17342 &lt;li&gt;Flexible modular XML format for the input file, allowing editing
17343 with an XML editor or by hand (besides FET interface)&lt;/li&gt;
17344
17345 &lt;li&gt;Import/export from CSV format&lt;/li&gt;
17346
17347 &lt;li&gt;The resulted timetables are exported into HTML, XML and CSV
17348 formats &lt;/li&gt;
17349
17350 &lt;li&gt;Flexible students structure, organized into sets: years, groups
17351 and subgroups. FET allows overlapping years and groups and
17352 non-overlapping subgroups. You can even define individual students
17353 (as separate sets)&lt;/li&gt;
17354
17355 &lt;li&gt;Each constraint has a weight percentage, from 0.0% to 100.0%
17356 (but some special constraints are allowed to have only 100% weight
17357 percentage)&lt;/li&gt;
17358
17359 &lt;li&gt;Limits for the algorithm (all these limits can be increased on
17360 demand, as a custom version, because this would require a bit more
17361 memory):
17362 &lt;ul&gt;
17363 &lt;li&gt;Maximum total number of hours (periods) per day: 60&lt;/li&gt;
17364 &lt;li&gt;Maximum number of working days per week: 35&lt;/li&gt;
17365 &lt;li&gt;Maximum total number of teachers: 6000&lt;/li&gt;
17366 &lt;li&gt;Maximum total number of sets of students: 30000&lt;/li&gt;
17367 &lt;li&gt;Maximum total number of subjects: 6000&lt;/li&gt;
17368 &lt;li&gt;Virtually unlimited number of activity tags&lt;/li&gt;
17369 &lt;li&gt;Maximum number of activities: 30000&lt;/li&gt;
17370 &lt;li&gt;Maximum number of rooms: 6000&lt;/li&gt;
17371 &lt;li&gt;Maximum number of buildings: 6000&lt;/li&gt;
17372 &lt;li&gt;Possibility of adding multiple teachers and
17373 students sets for each activity. (it is possible
17374 also to have no teachers or no students sets for an
17375 activity)&lt;/li&gt;
17376 &lt;li&gt;Virtually unlimited number of time constraints&lt;/li&gt;
17377 &lt;li&gt;Virtually unlimited number of space constraints&lt;/li&gt;
17378 &lt;/ul&gt;&lt;/li&gt;
17379
17380 &lt;li&gt;A large and flexible palette of time constraints:
17381 &lt;ul&gt;
17382 &lt;li&gt;Break periods&lt;/li&gt;
17383 &lt;li&gt;For teacher(s):
17384 &lt;ul&gt;
17385 &lt;li&gt;Not available periods&lt;/li&gt;
17386 &lt;li&gt;Max/min days per week&lt;/li&gt;
17387 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
17388 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
17389 &lt;li&gt;Min hours daily&lt;/li&gt;
17390 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
17391
17392 &lt;li&gt;Respect working in an hourly interval a max number of
17393 days per week&lt;/li&gt;
17394 &lt;/ul&gt;&lt;/li&gt;
17395 &lt;li&gt;For students (sets):
17396 &lt;ul&gt;
17397 &lt;li&gt;Not available periods&lt;/li&gt;
17398 &lt;li&gt;Begins early (specify max allowed beginnings at second hour)&lt;/li&gt;
17399 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
17400 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
17401 &lt;li&gt;Min hours daily&lt;/li&gt;
17402 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
17403
17404 &lt;li&gt;Respect working in an hourly interval a max number of
17405 days per week&lt;/li&gt;
17406 &lt;/ul&gt;&lt;/li&gt;
17407 &lt;li&gt;For an activity or a set of activities/subactivities:
17408 &lt;ul&gt;
17409 &lt;li&gt;A single preferred starting time&lt;/li&gt;
17410 &lt;li&gt;A set of preferred starting times&lt;/li&gt;
17411 &lt;li&gt;A set of preferred time slots&lt;/li&gt;
17412 &lt;li&gt;Min/max days between them&lt;/li&gt;
17413 &lt;li&gt;End(s) students day&lt;/li&gt;
17414 &lt;li&gt;Same starting time/day/hour&lt;/li&gt;
17415 &lt;li&gt;Occupy max time slots from selection (a complex and
17416 flexible constraint, useful in many situations)&lt;/li&gt;
17417 &lt;li&gt;Consecutive, ordered, grouped (for 2 or 3 (sub)activities)&lt;/li&gt;
17418 &lt;li&gt;Not overlapping&lt;/li&gt;
17419 &lt;li&gt;Max simultaneous in selected time slots&lt;/li&gt;
17420 &lt;li&gt;Min gaps between a set of (sub)activities&lt;/li&gt;
17421 &lt;/ul&gt;&lt;/li&gt;
17422 &lt;/ul&gt;&lt;/li&gt;
17423
17424 &lt;li&gt;A large and flexible palette of space constraints:
17425 &lt;ul&gt;
17426 &lt;li&gt;Room not available periods&lt;/li&gt;
17427 &lt;li&gt;For teacher(s):
17428 &lt;ul&gt;
17429 &lt;li&gt;Home room(s)&lt;/li&gt;
17430 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
17431 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
17432 &lt;/ul&gt;
17433 &lt;/li&gt;
17434
17435 &lt;li&gt;For students (sets):
17436 &lt;ul&gt;
17437 &lt;li&gt;Home room(s)&lt;/li&gt;
17438 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
17439 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
17440 &lt;/ul&gt;
17441 &lt;/li&gt;
17442 &lt;li&gt;Preferred room(s):
17443 &lt;ul&gt;
17444 &lt;li&gt;For a subject&lt;/li&gt;
17445 &lt;li&gt;For an activity tag&lt;/li&gt;
17446 &lt;li&gt;For a subject and an activity tag&lt;/li&gt;
17447 &lt;li&gt;Individually for a (sub)activity&lt;/li&gt;
17448 &lt;/ul&gt;
17449 &lt;/li&gt;
17450
17451 &lt;li&gt;For a set of activities:
17452 &lt;ul&gt;
17453 &lt;li&gt;Occupy a maximum number of different rooms&lt;/li&gt;
17454 &lt;/ul&gt;
17455 &lt;/li&gt;
17456 &lt;/ul&gt;
17457 &lt;/li&gt;
17458 &lt;/ul&gt;&lt;/p&gt;
17459
17460 &lt;p&gt;I have not used it myself, as I am not involved in time table
17461 planning at a school, but it seem to work fine when I test it. If you
17462 need to set up your schools time table, and is tired of doing it
17463 manually, check it out.
17464
17465 A quick summary on how to use it can be found in
17466 &lt;a href=&quot;http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/&quot;&gt;a
17467 blog post from MarvelSoft&lt;/a&gt;. If you find FET useful, please provide
17468 a recipe for the Debian Edu project in the
17469 &lt;a href=&quot;http://wiki.debian.org/DebianEdu#Howtos&quot;&gt;Debian Edu HowTo
17470 section&lt;/a&gt;.&lt;/p&gt;
17471 </description>
17472 </item>
17473
17474 <item>
17475 <title>Can Zimbra be told to send autoreplies to the From: address?</title>
17476 <link>http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</link>
17477 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</guid>
17478 <pubDate>Tue, 3 Jul 2012 23:30:00 +0200</pubDate>
17479 <description>&lt;p&gt;In the NUUG &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt;
17480 project (Norwegian version of
17481 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; from
17482 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;), we have discovered
17483 a problem with the municipalities using
17484 &lt;a href=&quot;http://www.zimbra.com/&quot;&gt;Zimbra&lt;/a&gt;. When FiksGataMi send a
17485 problem report to the government, the email From: address is set to
17486 the address of the person reporting the problem, while envelope sender
17487 is set to the FiksGataMi contact address. The intention is to make
17488 sure the municipality send any replies to the person reporting the
17489 problem, while any email delivery problems are sent to us in NUUG.
17490 This work well in most cases, but not for Karmøy municipality using
17491 Zimbra. Karmøy is using the vacation message function in Zimbra to
17492 send an automatic reply to report that the message has been received,
17493 and this message is sent to the envelope sender and not the address in
17494 the From: header.&lt;/p&gt;
17495
17496 &lt;p&gt;This causes the automatic message from Karmøy to go to NUUGs
17497 request-tracker instance instead of to the person reporting the
17498 problem. We can not really change the envelope sender address, as
17499 this would make it impossible for us to discover when there are
17500 problems with the MTAs receiving problem reports. We have been in
17501 contact with the people at Karmøy municipality, and they are willing
17502 to adjust Zimbra if something can be changed there to get a better
17503 behaviour.&lt;/p&gt;
17504
17505 &lt;p&gt;The default behaviour of Zimbra is as far as I can tell according
17506 to the specification in RFC 3834, which recommend that vacation
17507 messages are sent to the envelope sender and not to the From: address.
17508 But I wonder if it is possible to adjust or configure Zimbra to behave
17509 differently. Anyone know? Please let us know at
17510 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
17511 (at) nuug.no&lt;/a&gt;.&lt;/p&gt;
17512 </description>
17513 </item>
17514
17515 <item>
17516 <title>Debian Edu interview: José Luis Redrejo Rodríguez</title>
17517 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</link>
17518 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</guid>
17519 <pubDate>Tue, 26 Jun 2012 08:30:00 +0200</pubDate>
17520 <description>&lt;p&gt;I&#39;ve been too busy at home, but finally I found time to wrap up
17521 another interview with the people behind
17522 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
17523 This time we get to know José Luis Redrejo Rodríguez, one of our great
17524 helpers from Spain. His effort was the reason we added support for
17525 several desktop types (KDE, Gnome and most recently LXDE) in Debian
17526 Edu, and have all of these available in the recently published
17527 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
17528 Squeeze&lt;/a&gt; version.&lt;/p&gt;
17529
17530 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
17531
17532 &lt;p&gt;I&#39;m a father, teacher and engineer who is working for the Education
17533 ministry of the Region of Extremadura (Spain) in the implementation of
17534 ICT in schools&lt;/p&gt;
17535
17536 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
17537 project?&lt;/strong&gt;&lt;/p&gt;
17538
17539 &lt;p&gt;At 2006, I verified that both, we in Extremadura and Skolelinux
17540 project, had been working in parallel for some years, doing very
17541 similar things, using very similar tools and with similar targets, so
17542 I decided it was time to join forces as much as possible.&lt;/p&gt;
17543
17544 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
17545 Edu?&lt;/strong&gt;&lt;/p&gt;
17546
17547 &lt;p&gt;A community of highly skilled experts working together, with a
17548 really open schema of collaboration and work. I really love the
17549 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
17550 been used everyday inside Debian Edu.&lt;/p&gt;
17551
17552 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
17553 Edu?&lt;/strong&gt;&lt;/p&gt;
17554
17555 &lt;p&gt;Sometimes the differences in the implementations, laws or
17556 economical and technical resources in the different countries don&#39;t
17557 allow us to agree in the same solution for all of us, and several
17558 approaches are needed, what is a waste of effort. Also, there is a
17559 lack of more man power to be able to follow the fast evolution of the
17560 technologies in school.&lt;/p&gt;
17561
17562 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
17563
17564 &lt;p&gt;Debian, of course, and due to my kind of job I am most of my time
17565 between Iceweasel, &lt;a href=&quot;http://www.geany.org/&quot;&gt;Geany&lt;/a&gt; and
17566 &lt;a href=&quot;http://www.ohloh.net/p/gnome-terminator&quot;&gt;Terminator&lt;/a&gt;.&lt;/p&gt;
17567
17568 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
17569 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
17570
17571 &lt;p&gt;I think there is not a single strategy because there are very
17572 different scenarios: schools with mixed proprietary and free
17573 environments, schools using only workstations, other schools using
17574 laptops, netbooks, tablets, interactive white-boards, etc.&lt;/p&gt;
17575
17576 &lt;p&gt;Also the range of ages of the students is very broad and you can
17577 not use the same solutions for primary schools and secondary or even
17578 universities. So different strategies are needed.&lt;/p&gt;
17579
17580 &lt;p&gt;But, looking at these differences, and looking back to the things
17581 we&#39;ve done and implemented, and the places were we have spent most of
17582 our forces, I think we should focus as much as possible in free
17583 multi-platform environments, using only standards tools, and moving
17584 more and more to Internet or network solutions that could be deployed
17585 using wireless. I think we&#39;ll see more and more personal devices in
17586 the schools, devices the students and teachers will take home with
17587 them, so the solutions must be able to be taken at home and continue
17588 working there.&lt;/p&gt;
17589 </description>
17590 </item>
17591
17592 <item>
17593 <title>Song book for Computer Scientists</title>
17594 <link>http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</link>
17595 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</guid>
17596 <pubDate>Sun, 24 Jun 2012 13:30:00 +0200</pubDate>
17597 <description>&lt;p&gt;Many years ago, while studying Computer Science at the
17598 &lt;a href=&quot;http://www.uit.no/&quot;&gt;University of Tromsø&lt;/a&gt;, I started
17599 collecting computer related songs for use at parties. The original
17600 version was written in LaTeX, but a few years ago I got help from
17601 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
17602 while keeping the ability to create a nice book in PDF format. I have
17603 not had time to maintain the book for a while now, and guess I should
17604 put it up on some public version control repository where others can
17605 help me extend and update the book. If anyone is volunteering to help
17606 me with this, send me an email. Also let me know if there are songs
17607 missing in my book.&lt;/p&gt;
17608
17609 &lt;p&gt;I have not mentioned the book on my blog so far, and it occured to
17610 me today that I really should let all my readers share the joys of
17611 singing out load about programming, computers and computer networks.
17612 Especially now that &lt;a href=&quot;http://debconf12.debconf.org/&quot;&gt;Debconf
17613 12&lt;/a&gt; is about to start (and I am not going). Want to sing? Check
17614 out &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s
17615 Computer Science Songbook&lt;/a&gt;.
17616 </description>
17617 </item>
17618
17619 <item>
17620 <title>Debian Edu - some ideas for the future versions</title>
17621 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</link>
17622 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</guid>
17623 <pubDate>Mon, 11 Jun 2012 14:30:00 +0200</pubDate>
17624 <description>&lt;p&gt;During my work on
17625 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.nb.html&quot;&gt;Debian Edu
17626 based on Squeeze&lt;/a&gt;, I came across some issues that should be
17627 addressed in the Wheezy release. I finally found time to wrap up my
17628 notes and provide quick summary of what I found, with a bit
17629 explanation.&lt;/p&gt;
17630
17631 &lt;p&gt;&lt;ul&gt;
17632
17633 &lt;li&gt;We need to rewrite our package installation framework, as tasksel
17634 changed from using tasksel tasks to using meta packages (aka packages
17635 with dependencies like our education-* packages), and our installation
17636 system depend on tasksel tasks in
17637 /usr/share/tasksel/debian-edu-tasks.desc for package
17638 installation.&lt;/li&gt;
17639
17640 &lt;li&gt;Enable Kerberos login for more services. Now with the Kerberos
17641 foundation in place, we should use it to get single sign on with more
17642 services, and avoiding unneeded password / login questions. We should
17643 at least try to enable it for these services:
17644 &lt;ul&gt;
17645
17646 &lt;li&gt;CUPS for admins to add/configure printers and users when using
17647 quotas.&lt;/li&gt;
17648 &lt;li&gt;Nagios for admins checking the system status.&lt;/li&gt;
17649 &lt;li&gt;GOsa for admins updating LDAP and users changing their passwords.&lt;/li&gt;
17650 &lt;li&gt;LDAP for admins updating LDAP.&lt;/li&gt;
17651 &lt;li&gt;Squid for users when exam mode / filtering is active.&lt;/li&gt;
17652 &lt;li&gt;ssh for admins and users to save a password prompt.&lt;/li&gt;
17653
17654 &lt;/ul&gt;&lt;/li&gt;
17655
17656 &lt;li&gt;When we move GOsa to use Kerberos instead of LDAP bind to
17657 authenticate users, we should try to block or at least limit access to
17658 use LDAP bind for authentication, to ensure Kerberos is used when it
17659 is intended, and nothing fall back to using the less safe LDAP bind&lt;/li&gt;
17660
17661 &lt;li&gt;Merge debian-edu-config and debian-edu-install. The split made
17662 sense when d-e-install did a lot more, but these days it is just an
17663 inconvenience when we update the debconf preseeding values.&lt;/li&gt;
17664
17665 &lt;li&gt;Fix partman-auto to allow us to abort the installation before
17666 touching the disk if the disk is too small. This is
17667 &lt;a href=&quot;http://bugs.debian.org/653305&quot;&gt;BTS report #653305&lt;/a&gt; and the
17668 d-i developers are fine with the patch and someone just need to apply
17669 it and upload. After this is done we need to adjust
17670 debian-edu-install to use this new hook.&lt;/li&gt;
17671
17672 &lt;li&gt;Adjust to new LTSP framework (boot time config instead of install
17673 time config). LTSP changed its design, and our hooks to install
17674 packages and update the configuration is most likely not going to work
17675 in Wheezy.
17676
17677 &lt;li&gt;Consider switching to NBD instead of NFS for LTSP root, to allow
17678 the Kernel to cache files in its normal file cache, possibly speeding
17679 up KDE login on slow networks.&lt;/li&gt;
17680
17681 &lt;li&gt;Make it possible to create expired user passwords that need to
17682 change on first login. This is useful when handing out password on
17683 paper, to make sure only the user know the password. This require
17684 fixes to the PAM handling of kdm and gdm.&lt;/li&gt;
17685
17686 &lt;li&gt;Make GUI for adding new machines automatically from sitesummary.
17687 The current command line script is not very friendly to people most
17688 familiar with GUIs. This should probably be integrated into GOsa to
17689 have it available where the admin will be looking for it..&lt;/li&gt;
17690
17691 &lt;li&gt;We should find way for Nagios to check that the DHCP service
17692 actually is working (as in handling out IP addresses). None of the
17693 Nagios checks I have found so far have been working for me.&lt;/li&gt;
17694
17695 &lt;li&gt;We should switch from libpam-nss-ldapd to sssd for all profiles
17696 using LDAP, and not only on for roaming workstations, to have less
17697 packages to configure and consistent setup across all profiles.&lt;/li&gt;
17698
17699 &lt;li&gt;We should configure Kerberos to update LDAP and Samba password
17700 when changing password using the Kerberos protocol. The hook was
17701 requested in &lt;a href=&quot;http://bugs.debian.org/588968&quot;&gt;BTS report
17702 #588968&lt;/a&gt; and is now available in Wheezy. We might need to write a
17703 MIT Kerberos plugin in C to get this.&lt;/li&gt;
17704
17705 &lt;li&gt;We should clean up the set of applications installed by default.
17706 &lt;ul&gt;
17707
17708 &lt;li&gt;reduce the number of chemistry visualisers&lt;/li&gt;
17709 &lt;li&gt;consider dropping xpaint&lt;/li&gt;
17710 &lt;li&gt;and probably more?&lt;/li&gt;
17711 &lt;/ul&gt;&lt;/li&gt;
17712
17713 &lt;li&gt;Some hardware need external firmware to work properly. This is
17714 mostly the case for WiFi network cards, but there are some other
17715 examples too. For popular laptops to work out of the box, such
17716 firmware need to be installed from non-free, and we should provide
17717 some GUI to do this. Ubuntu already have this implemented, and we
17718 could consider using their packages. At the moment we have some
17719 command line script to do this (one for the running system, another
17720 for the LTSP chroot).&lt;/li&gt;
17721
17722
17723 &lt;li&gt;In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
17724 should extend the list to Xfce and Sugar, and preferably find a way to
17725 install several and allow the admin or the user to select which one to
17726 use.&lt;/li&gt;
17727
17728 &lt;li&gt;The golearn tool from the goplay package make it easy to check out
17729 interesting educational packages. We should work on the package
17730 tagging in Debian to ensure it represent all the useful educational
17731 packages, and extend the tool to allow it to use packagekit to install
17732 new applications with a simple mouse click.&lt;/li&gt;
17733
17734 &lt;li&gt;The Squeeze version got half a exam solution already in place,
17735 with the introduction of iptable based network blocking, but for it to
17736 be a complete exam solution the Squid proxy need to enable
17737 filtering/blocking as well when the exam mode is enabled. We should
17738 implement a way to easily enable this for the schools that want it,
17739 instead of the &quot;it is documented&quot; method of today.&lt;/li&gt;
17740
17741 &lt;li&gt;A feature used in several schools is the ability for a teacher to
17742 &quot;take over&quot; the desktop of individual or all computers in the room.
17743 There are at least three implementations,
17744 &lt;a href=&quot;italc.sourceforge.net/&quot;&gt;italc&lt;/a&gt;,
17745 &lt;a href=&quot;http://www.itais.net/help/en/&quot;&gt;controlaula&lt;/a&gt; og
17746 &lt;a href=&quot;http://www.epoptes.org/&quot;&gt;epoptes&lt;/a&gt; and we should pick one of
17747 them and make it trivial to set it up in a school. The challenges is
17748 how to distribute crypto keys and how to group computers in one room
17749 and how to set up which machine/user can control the machines in a
17750 given room.&lt;/li&gt;
17751
17752 &lt;li&gt;Tablets and surf boards are getting more and more popular, and we
17753 should look into providing a good solution for integrating these into
17754 the Debian Edu network. Not quite sure how. Perhaps we should
17755 provide a installation profile with better touch screen support for
17756 them, or add some sync services to allow them to exchange
17757 configuration and data with the central server. This should be
17758 investigated.&lt;/li&gt;
17759
17760 &lt;/ul&gt;&lt;/p&gt;
17761
17762 &lt;p&gt;I guess we will discover more as we continue to work on the Wheezy
17763 version.&lt;/p&gt;
17764 </description>
17765 </item>
17766
17767 <item>
17768 <title>TV with face recognition, for improved viewer experience</title>
17769 <link>http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</link>
17770 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</guid>
17771 <pubDate>Sat, 9 Jun 2012 22:00:00 +0200</pubDate>
17772 <description>&lt;p&gt;Slashdot got a story about Intel planning a
17773 &lt;a href=&quot;http://entertainment.slashdot.org/story/12/06/09/0012247/intel-to-launch-tv-service-with-facial-recognition-by-end-of-the-year&quot;&gt;TV
17774 with face recognition&lt;/a&gt; to recognise the viewer, and it occurred to
17775 me that it would be more interesting to turn it around, and do face
17776 recognition on the TV image itself. It could let the viewer know who
17777 is present on the screen, and perhaps look up their credibility,
17778 company affiliation, previous appearances etc for the viewer to better
17779 evaluate what is being said and done. That would be a feature I would
17780 be willing to pay for.&lt;/p&gt;
17781
17782 &lt;p&gt;I would not be willing to pay for a TV that point a camera on my
17783 household, like the big brother feature apparently proposed by Intel.
17784 It is the telescreen idea fetched straight out of the book
17785 &lt;a href=&quot;http://gutenberg.net.au/ebooks01/0100021.txt&quot;&gt;1984 by George
17786 Orwell&lt;/a&gt;.&lt;/p&gt;
17787 </description>
17788 </item>
17789
17790 <item>
17791 <title>Web service to look up HP and Dell computer hardware support status</title>
17792 <link>http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</link>
17793 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</guid>
17794 <pubDate>Wed, 6 Jun 2012 23:15:00 +0200</pubDate>
17795 <description>&lt;p&gt;A few days ago
17796 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html&quot;&gt;I
17797 reported how to get&lt;/a&gt; the support status out of Dell using an
17798 unofficial and undocumented SOAP API, which I since have found out was
17799 &lt;a href=&quot;http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html&quot;&gt;discovered
17800 by Daniel De Marco in february&lt;/a&gt;. Combined with my web scraping
17801 code for HP, Dell and IBM
17802 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html&quot;&gt;from
17803 2009&lt;/a&gt;, I got inspired and wrote
17804 &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/&quot;&gt;a
17805 web service&lt;/a&gt; based on Scraperwiki to make it easy to look up the
17806 support status and get a machine readable result back.&lt;/p&gt;
17807
17808 &lt;p&gt;This is what it look like at the moment when asking for the JSON
17809 output:
17810
17811 &lt;blockquote&gt;&lt;pre&gt;
17812 % GET &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&amp;vendor=Dell&amp;servicetag=2v1xwn1&quot;&gt;https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&amp;vendor=Dell&amp;servicetag=2v1xwn1&lt;/a&gt;
17813 supportstatus({&quot;servicetag&quot;: &quot;2v1xwn1&quot;, &quot;warrantyend&quot;: &quot;2013-11-24&quot;, &quot;shipped&quot;: &quot;2010-11-24&quot;, &quot;scrapestamputc&quot;: &quot;2012-06-06T20:26:56.965847&quot;, &quot;scrapedurl&quot;: &quot;http://143.166.84.118/services/assetservice.asmx?WSDL&quot;, &quot;vendor&quot;: &quot;Dell&quot;, &quot;productid&quot;: &quot;&quot;})
17814 %
17815 &lt;/pre&gt;&lt;/blockquote&gt;
17816
17817 &lt;p&gt;It currently support Dell and HP, and I am hoping for help to add
17818 support for other vendors. The python source is available on
17819 Scraperwiki and I welcome help with adding more features.&lt;/p&gt;
17820 </description>
17821 </item>
17822
17823 <item>
17824 <title>Debian Edu interview: Mike Gabriel</title>
17825 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</link>
17826 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</guid>
17827 <pubDate>Sat, 2 Jun 2012 15:00:00 +0200</pubDate>
17828 <description>&lt;p&gt;Back in 2010, Mike Gabriel showed up on the
17829 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
17830 mailing list. He quickly proved to be a valuable developer, and
17831 thanks to his tireless effort we now have Kerberos integrated into the
17832 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
17833 Squeeze&lt;/a&gt; version.&lt;/p&gt;
17834
17835 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
17836
17837 &lt;p&gt;My name is Mike Gabriel, I am 38 years old and live near Kiel,
17838 Schleswig-Holstein, Germany. I live together with a wonderful partner
17839 (Angela Fuß) and two own children and two bonus children (contributed
17840 by Angela).&lt;/p&gt;
17841
17842 &lt;p&gt;During the day I am part-time employed as a system administrator
17843 and part-time working as an IT consultant. The consultancy work
17844 touches free software topics wherever and whenever possible. During
17845 the nights I am a free software developer. In the gaps I also train in
17846 becoming an osteopath.&lt;/p&gt;
17847
17848 &lt;p&gt;Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
17849 have set up a free software project in the area of Kiel that aims at
17850 introducing free software into schools. The project&#39;s name is
17851 &quot;IT-Zukunft Schule&quot; (IT future for schools). The project links IT
17852 skills with communication skills.&lt;/p&gt;
17853
17854 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
17855 project?&lt;/strong&gt;&lt;/p&gt;
17856
17857 &lt;p&gt;While preparing our own customised Linux distribution for
17858 &quot;IT-Zukunft Schule&quot; we were repeatedly asked if we really wanted to
17859 reinvent the wheel. What schools really need is already available,
17860 people said. From this impulse we started evaluating other Linux
17861 distributions that target being used for school networks.&lt;/p&gt;
17862
17863 &lt;p&gt;At the end we short-listed two approaches and compared them: a
17864 commercial Linux distribution developed by a company in Bremen,
17865 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
17866 went to several events and met people being responsible for marketing
17867 and development of either of the distributions. Skolelinux / Debian
17868 Edu was by far much more convincing compared to the other product that
17869 got short-listed beforehand--across the full spectrum. What was most
17870 attractive for me personally: the perspective of collaboration within
17871 the developmental branch of the Debian Edu project itself.&lt;/p&gt;
17872
17873 &lt;p&gt;In parallel with this, we talked to many local and not-so-local
17874 people. People teaching at schools, headmasters, politicians, data
17875 protection experts, other IT professionals.&lt;/p&gt;
17876
17877 &lt;p&gt;We came to two conclusions:&lt;/p&gt;
17878
17879 &lt;p&gt;First, a technical conclusion: What schools need is available in
17880 bits and pieces here and there, and none of the solutions really fit
17881 by 100%. Any school we have seen has a very individual IT setup
17882 whereas most of each school&#39;s requirements could mapped by a standard
17883 IT solution. The requirement to this IT solution is flexibility and
17884 customisability, so that individual adaptations here and there are
17885 possible. In terms of re-distributing and rolling out such a
17886 standardised IT system for schools (a system that is still to some
17887 degree customisable) there is still a lot of work to do here
17888 locally. Debian Edu / Skolelinux has been our choice as the starting
17889 point.&lt;/p&gt;
17890
17891 &lt;p&gt;Second, a holistic conclusion: What schools need does not exist at
17892 all (or we missed it so far). There are several technical solutions
17893 for handling IT at schools that tend to make a good impression. What
17894 has been missing completely here in Germany, though, is the enrolment
17895 of people into using IT and teaching with IT. &quot;IT-Zukunft Schule&quot;
17896 tries to provide an approach for this.&lt;/p&gt;
17897
17898 &lt;p&gt;Only some schools have some sort of a media concept which explains,
17899 defines and gives guidance on how to use IT in class. Most schools in
17900 Northern Germany do not have an IT service provider, the school&#39;s IT
17901 equipment is managed by one or (if the school is lucky) two (admin)
17902 teachers, most of the workload these admin teachers get done in there
17903 spare time.&lt;/p&gt;
17904
17905 &lt;p&gt;We were surprised that only a very few admin teachers were
17906 networked with colleagues from other schools. Basically, every school
17907 here around has its individual approach of providing IT equipment to
17908 teachers and students and the exchange of ideas has been quasi
17909 non-existent until 2010/2011.&lt;/p&gt;
17910
17911 &lt;p&gt;Quite some (non-admin) teachers try to avoid using IT technology in
17912 class as a learning medium completely. Several reasons for this
17913 avoidance do exist.&lt;/p&gt;
17914
17915 &lt;p&gt;We discovered that no-one has ever taken a closer look at this
17916 social part of IT management in schools, so far. On our quest journey
17917 for a technical IT solution for schools, we discussed this issue with
17918 several teachers, headmasters, politicians, other IT professionals and
17919 they all confirmed: a holistic approach of considering IT management
17920 at schools, an approach that includes the people in place, will be new
17921 and probably a gain for all.&lt;/p&gt;
17922
17923 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
17924 Edu?&lt;/strong&gt;&lt;/p&gt;
17925
17926 &lt;p&gt;There is a list of advantages: international context, openness to
17927 any kind of contributions, do-ocracy policy, the closeness to Debian,
17928 the different installation scenarios possible (from stand-alone
17929 workstation to complex multi-server sites), the transparency within
17930 project communication, honest communication within the group of
17931 developers, etc.&lt;/p&gt;
17932
17933 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
17934 Edu?&lt;/strong&gt;&lt;/p&gt;
17935
17936 &lt;p&gt;Every coin has two sides:&lt;/p&gt;
17937
17938 &lt;p&gt;Technically: &lt;a href=&quot;http://bugs.debian.org/311188&quot;&gt;BTS issue
17939 #311188&lt;/a&gt;, tricky upgradability of a Debian Edu main server, network
17940 client installations on top of a plain vanilla Debian installation
17941 should become possible sometime in the near future, one could think
17942 about splitting the very complex package debian-edu-config into
17943 several portions (to make it easier for new developers to
17944 contribute).&lt;/p&gt;
17945
17946 &lt;p&gt;Another issue I see is that we (as Debian Edu developers) should
17947 find out more about the network of people who do the marketing for
17948 Debian Edu / Skolelinux. There is a very active group in Germany
17949 promoting Skolelinux on the bigger Linux Days within Germany. Are
17950 there other groups like that in other countries? How can we bring
17951 these marketing people together (marketing group A with group B and
17952 all of them with the group of Debian Edu developers)? During the last
17953 meeting of the German Skolelinux group, I got the impression of people
17954 there being rather disconnected from the development department of
17955 Debian Edu / Skolelinux.&lt;/p&gt;
17956
17957 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
17958
17959 &lt;p&gt;For my daily business, I do not use commercial software at all.&lt;/p&gt;
17960
17961 &lt;p&gt;For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
17962 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
17963 more artistic tasks. I run virtual machines in KVM and Virtualbox.&lt;/p&gt;
17964
17965 &lt;p&gt;I am one of the upstream developers of X2Go. In 2010 I started the
17966 development of a Python based X2Go Client, called PyHoca-GUI.
17967 PyHoca-GUI has brought forth a Python X2Go Client API that currently
17968 is being integrated in Ubuntu&#39;s software center.&lt;/p&gt;
17969
17970 &lt;p&gt;For communications I have my own Kolab server running using Horde
17971 as web-based groupware client. For IRC I love to use irssi, for Jabber
17972 I have several clients that I use, mostly pidgin, though. I am also
17973 the Debian maintainer of Coccinella, a Jabber-based interactive
17974 whiteboard.&lt;/p&gt;
17975
17976 &lt;p&gt;My favourite terminal emulator is KDE&#39;s Yakuake.&lt;/p&gt;
17977
17978 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
17979 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
17980
17981 &lt;p&gt;Communicate, communicate, communicate. Enrol people, enrol people,
17982 enrol people.&lt;/p&gt;
17983 </description>
17984 </item>
17985
17986 <item>
17987 <title>SOAP based webservice from Dell to check server support status</title>
17988 <link>http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</link>
17989 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</guid>
17990 <pubDate>Fri, 1 Jun 2012 15:20:00 +0200</pubDate>
17991 <description>&lt;p&gt;A few years ago I wrote
17992 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html&quot;&gt;how
17993 to extract support status&lt;/a&gt; for your Dell and HP servers. Recently
17994 I have learned from colleges here at the
17995 &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; that Dell have
17996 made this even easier, by providing a SOAP based web service. Given
17997 the service tag, one can now query the Dell servers and get machine
17998 readable information about the support status. This perl code
17999 demonstrate how to do it:&lt;/p&gt;
18000
18001 &lt;p&gt;&lt;pre&gt;
18002 use strict;
18003 use warnings;
18004 use SOAP::Lite;
18005 use Data::Dumper;
18006 my $GUID = &#39;11111111-1111-1111-1111-111111111111&#39;;
18007 my $App = &#39;test&#39;;
18008 my $servicetag = $ARGV[0] or die &quot;Please supply a servicetag. $!\n&quot;;
18009 my ($deal, $latest, @dates);
18010 my $s = SOAP::Lite
18011 -&gt; uri(&#39;http://support.dell.com/WebServices/&#39;)
18012 -&gt; on_action( sub { join &#39;&#39;, @_ } )
18013 -&gt; proxy(&#39;http://xserv.dell.com/services/assetservice.asmx&#39;)
18014 ;
18015 my $a = $s-&gt;GetAssetInformation(
18016 SOAP::Data-&gt;name(&#39;guid&#39;)-&gt;value($GUID)-&gt;type(&#39;&#39;),
18017 SOAP::Data-&gt;name(&#39;applicationName&#39;)-&gt;value($App)-&gt;type(&#39;&#39;),
18018 SOAP::Data-&gt;name(&#39;serviceTags&#39;)-&gt;value($servicetag)-&gt;type(&#39;&#39;),
18019 );
18020 print Dumper($a -&gt; result) ;
18021 &lt;/pre&gt;&lt;/p&gt;
18022
18023 &lt;p&gt;The output can look like this:&lt;/p&gt;
18024
18025 &lt;p&gt;&lt;pre&gt;
18026 $VAR1 = {
18027 &#39;Asset&#39; =&gt; {
18028 &#39;Entitlements&#39; =&gt; {
18029 &#39;EntitlementData&#39; =&gt; [
18030 {
18031 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
18032 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
18033 &#39;Provider&#39; =&gt; &#39;&#39;,
18034 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
18035 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
18036 },
18037 {
18038 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
18039 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
18040 &#39;Provider&#39; =&gt; &#39;&#39;,
18041 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
18042 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
18043 },
18044 {
18045 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
18046 &#39;EndDate&#39; =&gt; &#39;2007-07-29T00:00:00&#39;,
18047 &#39;Provider&#39; =&gt; &#39;&#39;,
18048 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
18049 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
18050 }
18051 ]
18052 },
18053 &#39;AssetHeaderData&#39; =&gt; {
18054 &#39;SystemModel&#39; =&gt; &#39;GX620&#39;,
18055 &#39;ServiceTag&#39; =&gt; &#39;8DSGD2J&#39;,
18056 &#39;SystemShipDate&#39; =&gt; &#39;2006-07-29T19:00:00-05:00&#39;,
18057 &#39;Buid&#39; =&gt; &#39;2323&#39;,
18058 &#39;Region&#39; =&gt; &#39;Europe&#39;,
18059 &#39;SystemID&#39; =&gt; &#39;PLX_GX620&#39;,
18060 &#39;SystemType&#39; =&gt; &#39;OptiPlex&#39;
18061 }
18062 }
18063 };
18064 &lt;/pre&gt;&lt;/p&gt;
18065
18066 &lt;p&gt;I have not been able to find any documentation from Dell about this
18067 service outside the
18068 &lt;a href=&quot;http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation&quot;&gt;inline
18069 documentation&lt;/a&gt;, and according to
18070 &lt;a href=&quot;http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/&quot;&gt;one
18071 comment&lt;/a&gt; it can have stability issues, but it is a lot better than
18072 scraping HTML pages. :)&lt;/p&gt;
18073
18074 &lt;p&gt;Wonder if HP and other server vendors have a similar service. If
18075 you know of one, drop me an email. :)&lt;/p&gt;
18076 </description>
18077 </item>
18078
18079 <item>
18080 <title>First monitor calibration using ColorHug</title>
18081 <link>http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</link>
18082 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</guid>
18083 <pubDate>Thu, 31 May 2012 22:10:00 +0200</pubDate>
18084 <description>&lt;p&gt;A few days ago my color calibration gadget
18085 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;ColorHug&lt;/a&gt; arrived in the
18086 mail, and I&#39;ve had a few days to test it. As all my machines are
18087 running Debian Squeeze, where
18088 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;the
18089 calibration software&lt;/a&gt; is missing (it is present in Wheezy and Sid),
18090 I ran the calibration using the Fedora based live CD. This worked
18091 just fine. So far I have only done the quick calibration. It was
18092 slow enough for me, so I will leave the more extensive calibration for
18093 another day.&lt;/p&gt;
18094
18095 &lt;p&gt;After calibration, I get a
18096 &lt;a href=&quot;http://en.wikipedia.org/wiki/ICC_profile&quot;&gt;ICC color
18097 profile&lt;/a&gt; file that can be passed to programs understanding such
18098 tools. KDE do not seem to understand it out of the box, so I searched
18099 for command line tools to use to load the color profile into X.
18100 xcalib was the first one I found, and it seem to work fine for single
18101 monitor setups. But for my video player, a laptop with a flat screen
18102 attached, it was unable to load the color profile for the correct
18103 monitor. After searching a bit, I
18104 &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1347896&quot;&gt;discovered&lt;/a&gt;
18105 that the dispwin tool from the argyll package would do what I wanted,
18106 and a simple&lt;/p&gt;
18107
18108 &lt;p&gt;&lt;pre&gt;
18109 dispwin -d 1 profile.icc
18110 &lt;/pre&gt;&lt;/p&gt;
18111
18112 &lt;p&gt;later I had the color profile loaded for the correct monitor. The
18113 result was a bit more pink than I expected. I guess I picked the
18114 wrong monitor type for the &quot;led&quot; monitor I got, but the result is good
18115 enough for now.&lt;/p&gt;
18116 </description>
18117 </item>
18118
18119 <item>
18120 <title>Debian Edu interview: Ralf Gesellensetter</title>
18121 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</link>
18122 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</guid>
18123 <pubDate>Sun, 27 May 2012 17:15:00 +0200</pubDate>
18124 <description>&lt;p&gt;In 2003, a German teacher showed up on the
18125 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
18126 mailing list with interesting problems and reports proving he setting
18127 up Linux for a (for us at the time) lot of pupils. His name was Ralf
18128 Gesellensetter, and he has been an important tester and contributor
18129 since then, helping to make sure the
18130 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
18131 Squeeze&lt;/a&gt; release became as good as it is..&lt;/p&gt;
18132
18133 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18134
18135 &lt;p&gt;I am a teacher from Germany, and my subjects are Geography,
18136 Mathematics, and Computer Science (&quot;Informatik&quot;). During the past 12
18137 years (since 2000), I have been working for a comprehensive (and soon,
18138 also inclusive) school leading to all kind of general levels, such as
18139 O- or A-level (&quot;Abitur&quot;). For quite as long, I&#39;ve been taking care of
18140 our computer network.&lt;/p&gt;
18141
18142 &lt;p&gt;Now, in my early 40s, I enjoy the privilege of spending a lot of my
18143 spare time together with my wife, our son (3 years) and our daughter
18144 (4 months).&lt;/p&gt;
18145
18146 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18147 project?&lt;/strong&gt;&lt;/p&gt;
18148
18149 &lt;p&gt;We had tried different Linux based school servers, when members of
18150 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
18151 very well, being part of a party celebrating the Linux New Media Award
18152 (&quot;Best Newcomer Distribution&quot;, also nominated: Ubuntu) that was given
18153 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
18154 months later, I had the chance to join a developer meeting in Ulsrud
18155 (Oslo) and to hand out the award to Knut Yrvin and others. For more
18156 than 7 years, Skolelinux is part of our schools infrastructure, namely
18157 our main server (tjener), one LTSP (today without thin clients), and
18158 approximately 50 work stations. Most of these have the option to boot a
18159 locally installed Skolelinux image. As a consequence, I joined quite
18160 a few events dealing with free software or Linux, and met many Debian
18161 (Edu) developers. All of them seemed quite nice and competent to me,
18162 one more reason to stick to Skolelinux.&lt;/p&gt;
18163
18164 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18165 Edu?&lt;/strong&gt;&lt;/p&gt;
18166
18167 &lt;p&gt;Debian driven, you are given all the advantages of a community
18168 project including well maintained updates. Once, you are familiar with
18169 the network layout, you can easily roll out an entire educational
18170 computer infrastructure, from just one installation media. As only
18171 free software (FOSS) is used, that supports even elderly hardware,
18172 up-sizing your IT equipment is only limited by space (i.e. available
18173 labs). Especially if you run a LTSP thin client server, your
18174 administration costs tend towards zero.&lt;/p&gt;
18175
18176 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18177 Edu?&lt;/strong&gt;&lt;/p&gt;
18178
18179 &lt;p&gt;While Debian&#39;s stability has loads of advantages for servers, this
18180 might be different in some cases for clients: Schools with unlimited
18181 budget might buy new hardware with components that are not yet
18182 supported by Debian stable, or wish to use more recent versions of
18183 office packages or desktop environments. These schools have the
18184 option to run Debian testing or other distributions - if they have the
18185 capacity to do so. Another issue is that Debian release cycles
18186 include a wide range of changes; therefor a high percentage of human
18187 power seems to be absorbed by just keeping the features of Skolelinux
18188 within the new setting of the version to come. During this process,
18189 the cogs of Debian Edu are getting more and more professional,
18190 i.e. harder to understand for novices.&lt;/p&gt;
18191
18192 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18193
18194 &lt;p&gt;LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
18195 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
18196 PC, Laptop, Mobile, but also our SAT receiver)&lt;/p&gt;
18197
18198 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18199 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18200
18201 &lt;p&gt;&lt;ol&gt;
18202
18203 &lt;li&gt;Support computer science as regular subject in schools to make
18204 people really &quot;own&quot; their hardware, to make them understand the
18205 difference between proprietary software products, and free software
18206 developing.&lt;/li&gt;
18207
18208 &lt;li&gt;Make budget baskets corresponding: In Germany&#39;s public schools
18209 there are more or less fixed budgets for IT equipment (including
18210 licenses), so schools won&#39;t benefit from any savings here. This
18211 privilege is left to private schools which have consequently a large
18212 share among German Skolelinux schools.&lt;/li&gt;
18213
18214 &lt;li&gt;Get free software in the seminars where would-be teachers are
18215 trained. In many cases, teachers&#39; software customs are respected by
18216 decision makers rather than the expertise of any IT experts.&lt;/li&gt;
18217
18218 &lt;li&gt;Don&#39;t limit ourself to free software run natively. Everybody uses
18219 free software or free licenses (for instance Wikipedia), and this
18220 general concept should get expanded to free educational content to be
18221 shared world wide (school books e.g.).&lt;/li&gt;
18222
18223 &lt;li&gt;Make clear where ever you can that the market share of free (libre)
18224 office suites is much above 20 p.c. today, and that you pupils don&#39;t
18225 need to know the &quot;ribbon menu&quot; in order to get employed.&lt;/li&gt;
18226
18227 &lt;li&gt;Talk about the difference between freeware and free software.&lt;/li&gt;
18228
18229 &lt;li&gt;Spread free software, or even collections of portable free apps
18230 for USB pen drives. Endorse students to get a legal copy of
18231 Libreoffice rather than accepting them to use illegal serials. And
18232 keep sending documents in ODF formats.&lt;/li&gt;
18233
18234 &lt;/ol&gt;&lt;/p&gt;
18235 </description>
18236 </item>
18237
18238 <item>
18239 <title>The cost of ODF and OOXML</title>
18240 <link>http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</link>
18241 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</guid>
18242 <pubDate>Sat, 26 May 2012 18:00:00 +0200</pubDate>
18243 <description>&lt;p&gt;I just come across a blog post from Glyn Moody reporting the
18244 claimed cost from Microsoft on requiring ODF to be used by the UK
18245 government. I just sent him an email to let him know that his
18246 assumption are most likely wrong. Sharing it here in case some of my
18247 blog readers have seem the same numbers float around in the UK.&lt;/p&gt;
18248
18249 &lt;p&gt;&lt;blockquote&gt; &lt;p&gt;Hi. I just noted your
18250 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm&quot;&gt;http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm&lt;/a&gt;
18251 comment:&lt;/p&gt;
18252
18253 &lt;p&gt;&lt;blockquote&gt;&quot;They&#39;re all in Danish, not unreasonably, but even
18254 with the help of Google Translate I can&#39;t find any figures about the
18255 savings of &quot;moving to a flexible two standard&quot; as claimed by the
18256 Microsoft email. But I assume it is backed up somewhere, so let&#39;s take
18257 it, and the £500 million figure for the UK, on trust.&quot;
18258 &lt;/blockquote&gt;&lt;/p&gt;
18259
18260 &lt;p&gt;I can tell you that the Danish reports are inflated. I believe it is
18261 the same reports that were used in the Norwegian debate around 2007,
18262 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
18263 at the content. In short, the reason it is claimed that using ODF
18264 will be so costly, is based on the assumption that this mean every
18265 existing document need to be converted from one of the MS Office
18266 formats to ODF, transferred to the receiver, and converted back from
18267 ODF to one of the MS Office formats, and that the conversion will cost
18268 10 minutes of work time for both the sender and the receiver. In
18269 reality the sender would have a tool capable of saving to ODF, and the
18270 receiver would have a tool capable of reading it, and the time spent
18271 would at most be a few seconds for saving and loading, not 20 minutes
18272 of wasted effort.&lt;/p&gt;
18273
18274 &lt;p&gt;Microsoft claimed all these costs were saved by allowing people to
18275 transfer the original files from MS Office instead of spending 10
18276 minutes converting to ODF. :)&lt;/p&gt;
18277
18278 &lt;p&gt;See
18279 &lt;a href=&quot;http://hannemyr.com/no/ms12_vl02.php&quot;&gt;http://hannemyr.com/no/ms12_vl02.php&lt;/a&gt;
18280 and
18281 &lt;a href=&quot;http://hannemyr.com/no/ms12.php&quot;&gt;http://hannemyr.com/no/ms12.php&lt;/a&gt;
18282 for background information. Norwegian only, sorry. :)&lt;/p&gt;
18283 &lt;/blockquote&gt;&lt;/p&gt;
18284 </description>
18285 </item>
18286
18287 <item>
18288 <title>ColorHug - USB and free software based screen color calibration</title>
18289 <link>http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</link>
18290 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</guid>
18291 <pubDate>Fri, 18 May 2012 10:00:00 +0200</pubDate>
18292 <description>&lt;p&gt;In january, I
18293 &lt;a href=&quot;http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/&quot;&gt;discovered
18294 the ColorHug&lt;/a&gt;, a USB dongle from
18295 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;Hughski&lt;/a&gt; to calibrate
18296 the color on a computer screen. The software required is
18297 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;included
18298 in Debian&lt;/a&gt;, and I decided back then to preorder from the next
18299 batch. Yesterday I finally heard back from them, and got the
18300 opportunity to order. Today I ordered mine, and eagerly await the
18301 delivery. I hope it arrive next week, as I got a confirmation that it
18302 should go in the mail on monday. :)&lt;/p&gt;
18303
18304 &lt;p&gt;If you want to ensure the colors on the screen match the intended
18305 colors, I suggest you check out this cheap tool with free software
18306 drivers. :)&lt;/p&gt;
18307 </description>
18308 </item>
18309
18310 <item>
18311 <title>Debian Edu interview: Jürgen Leibner</title>
18312 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</link>
18313 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</guid>
18314 <pubDate>Sun, 13 May 2012 20:30:00 +0200</pubDate>
18315 <description>&lt;p&gt;It has been a few busy weeks for me, but I am finally back to
18316 publish another interview with the people behind
18317 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
18318 This time it is one of our German developers, who have helped out over the
18319 years to make sure both a lot of major but also a lot of the minor
18320 details get right before release.
18321
18322 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18323
18324 &lt;p&gt;My name is Jürgen Leibner, I&#39;m 49 years old and living in
18325 Bielefeld, a town in northern Germany. I worked nearly 20 years as
18326 certified engineer in the department for plant design and layout of an
18327 international company for machinery and equipment. Since 2011 I&#39;m a
18328 certified technical writer (tekom e.V.) and doing technical
18329 documentations for a steam turbine manufacturer. From April this year
18330 I will manage the department of technical documentation at a
18331 manufacturer of automation and assembly line engineering.&lt;/p&gt;
18332
18333 &lt;p&gt;My first contact with linux was around 1993. Since that time I used
18334 it at work and at home repeatedly but not exclusively as I do now at
18335 home since 2006.&lt;/p&gt;
18336
18337 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18338 project?&lt;/strong&gt;&lt;/p&gt;
18339
18340 &lt;p&gt;Once a day in the early year of 2001 when I wanted to fetch my
18341 daughter from primary school, there was a teacher sitting in the
18342 middle of 20 old computers trying to boot them and he failed. I helped
18343 him to get them booting. That was seen by the school director and she
18344 asked me if I would like to manage that the school gets all that old
18345 computers in use. I answered: &quot;Yes&quot;.&lt;/p&gt;
18346
18347 &lt;p&gt;Some weeks later every of the 10 classrooms had one computer
18348 running Windows98. I began to collect old computers and equipment as
18349 gifts and installed the first computer room with a peer-to-peer
18350 network. I did my work at school without being payed in my spare time
18351 and with a lot of fun. About one year later the school was connected
18352 to Internet and a local area network was installed in the school
18353 building. That was the time to have a server and I knew it must be a
18354 Linux server to be able to fulfil all the wishes of the teachers and
18355 being able to do this in a transparent and economic way, without extra
18356 costs for things like licence and software. So I searched for a
18357 school server system running under Linux and I found a couple of
18358 people nearby who founded &#39;skolelinux.de&#39;. It was the Skolelinux
18359 prerelease 32 I first tried out for being used at the school. I
18360 managed the IT of that school until the municipal authority took over
18361 the IT management and centralised the services for all schools in
18362 Bielefeld in December of 2006.&lt;/p&gt;
18363
18364 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18365 Edu?&lt;/strong&gt;&lt;/p&gt;
18366
18367 &lt;p&gt;When I&#39;m looking back to the beginning, there were other advantages
18368 for me as today.&lt;/p&gt;
18369
18370 &lt;p&gt;In the past there were advantages like:&lt;/p&gt;
18371
18372 &lt;p&gt;&lt;ul&gt;
18373
18374 &lt;li&gt;I don&#39;t need to buy it so it generates no costs to the school as
18375 they had little money to spent for computers and software.&lt;/li&gt;
18376
18377 &lt;li&gt;It has a licence which grands all rights to use it without
18378 cost.&lt;/li&gt;
18379
18380 &lt;li&gt;It was more able to fit all requirements of a server system for
18381 schools than a Microsoft server system, even if there are only Windows
18382 clients because of it&#39;s preconfigured overall concept of being a
18383 infrastructure solution and community for schools, not only a
18384 server&lt;/li&gt;
18385
18386 &lt;li&gt;I was able to configure the server to the needs of the
18387 school.&lt;/li&gt;
18388
18389 &lt;/ul&gt;&lt;/p&gt;
18390
18391 &lt;p&gt;Today some of the advantages has been lost, changed or new ones
18392 came up in this way:&lt;/p&gt;
18393
18394 &lt;p&gt;&lt;ul&gt;
18395
18396 &lt;li&gt;Most schools here do have money to buy hardware and software
18397 now.&lt;/li&gt;
18398
18399 &lt;li&gt;They are today mostly managed from central IT departments which
18400 have own concepts which often do not fit to Debian Edu concepts
18401 because they are to close to Microsoft ideology.&lt;/li&gt;
18402
18403 &lt;li&gt;With the Squeeze version of Debian Edu which now uses GOsa² for
18404 management I feel more able to manage the daily tasks than with the
18405 interfaces used in the past.&lt;/li&gt;
18406
18407 &lt;li&gt;It is more modular than in the past and fits even better to the
18408 different needs.&lt;/li&gt;
18409
18410 &lt;li&gt;The documentation is usable and gets better every day.&lt;/li&gt;
18411
18412 &lt;li&gt;More people than ever before are using Debian Edu all over the
18413 world and so the community, which is an very important part I think,
18414 is sharing knowledge and minds.&lt;/li&gt;
18415
18416 &lt;li&gt;Most, maybe all, of the technical requirements for schools are
18417 solved today by Debian Edu. &lt;/li&gt;
18418
18419 &lt;/ul&gt;&lt;/p&gt;
18420
18421 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18422 Edu?&lt;/strong&gt;&lt;/p&gt;
18423
18424 &lt;p&gt;&lt;ul&gt;
18425
18426 &lt;li&gt;There are too few IT companies able to integrate Debian Edu into
18427 their product portfolio for serving schools with concepts or even
18428 whole municipality areas.&lt;/li&gt;
18429
18430 &lt;li&gt;Debian Edu has beside other free and open software projects not
18431 enough lobbyists which promote free and open software to
18432 politicians.&lt;/li&gt;
18433
18434 &lt;li&gt;Technically there are no disadvantages I&#39;m aware of.&lt;/li&gt;
18435
18436 &lt;/ul&gt;&lt;/p&gt;
18437
18438 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18439
18440 &lt;p&gt;I use Debian stable on my home server and on my little desktop
18441 computer. On my laptop I use Debian testing/sid. The applications I
18442 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
18443 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
18444 need from the KDE environment. On console I use newsbeuter, mutt,
18445 screen, irssi and all the other famous and useful tools.&lt;/p&gt;
18446
18447 &lt;p&gt;My home server provides mail services with exim, dovecot, roundcube
18448 and mutt over ssh on the console, file services with samba, NFS,
18449 rsync, web services with apache, moinmoin-wiki, multimedia services
18450 with gallery2 and mediatomb and database services with MySQL for me
18451 and the whole family. I probably forgot something.&lt;/p&gt;
18452
18453 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18454 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18455
18456 &lt;p&gt;I believe, we should provide concepts for IT companies to integrate
18457 Debian Edu into their product portfolio with use cases for different
18458 countries and areas all over the world.&lt;/p&gt;
18459 </description>
18460 </item>
18461
18462 <item>
18463 <title>Cutting it short - and picking the right tool for the job</title>
18464 <link>http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</link>
18465 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</guid>
18466 <pubDate>Mon, 30 Apr 2012 23:30:00 +0200</pubDate>
18467 <description>&lt;p&gt;&lt;!-- IMG_5869.JPG --&gt;
18468 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg&quot;&gt;&lt;/p&gt;
18469
18470 &lt;p&gt;I normally cut my hair short, and my tool of choice has been a
18471 common hair/beard cutter, bought in a electrical shop here in Norway.
18472 But the last ones have not really been up to the task. My last
18473 cutter, some model from Braun, could only cut a few of my hairs at the
18474 time, and cutting my head took forever. And the one before that did
18475 not work very well either. We have looked for something better for a
18476 while, but it was not until I ended up visiting a hairdresser that we
18477 discovered that there are indeed better tools available. But these
18478 are not marketed and sold to &quot;regular consumers&quot;. The hair saloons
18479 can get them through their suppliers, but their suppliers only sell
18480 companies. The models they sell, are very different from the ones
18481 available from Elkjøp and Lefdal. The main difference is their
18482 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
18483 minutes required by my impotent Braun. The hairdresser I visited had
18484 a Panasonic ER160, which unfortunately is no longer available from the
18485 producer. But I found it had a successor, the Panasonic ER1611.&lt;/p&gt;
18486
18487 &lt;p&gt;The next step was to find somewhere to buy it. This was not
18488 straight forward. The list of suppliers I got from the hairdresser
18489 did not want to sell anything to me. But searching for the model on
18490 the web we found a supplier in Norway willing to sell it to us for
18491 around NOK 4000,-. This was a bit much. We kept searching and
18492 finally found a Danish supplier
18493 &lt;a href=&quot;http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html&quot;&gt;selling
18494 it for around NOK 1800,-&lt;/a&gt;. We ordered one, and it arrived a few
18495 days ago.&lt;/p&gt;
18496
18497 &lt;p&gt;The instructions said it had to charge for 8 hours when we started
18498 to use it, so we left it charging over night. Normally it will only
18499 need one hour to charge. The following evening we successfully tested
18500 it, and I can warmly recommend it to anyone looking for a real hair
18501 cutter. The ones we have used until now have been hair cutter
18502 toys.&lt;/p&gt;
18503 </description>
18504 </item>
18505
18506 <item>
18507 <title>HTC One X - Your video? What do you mean?</title>
18508 <link>http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</link>
18509 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</guid>
18510 <pubDate>Thu, 26 Apr 2012 13:20:00 +0200</pubDate>
18511 <description>&lt;p&gt;In &lt;a href=&quot;http://www.idg.no/computerworld/article243690.ece&quot;&gt;an
18512 article today&lt;/a&gt; published by Computerworld Norway, the photographer
18513 &lt;a href=&quot;http://www.urke.com/eirik/&quot;&gt;Eirik Helland Urke&lt;/a&gt; reports
18514 that the video editor application included with
18515 &lt;a href=&quot;http://www.htc.com/www/smartphones/htc-one-x/#specs&quot;&gt;HTC One
18516 X&lt;/a&gt; have some quite surprising terms of use. The article is mostly
18517 based on the twitter message from mister Urke, stating:
18518
18519 &lt;p&gt;&lt;blockquote&gt;
18520 &quot;&lt;a href=&quot;http://twitter.com/urke/status/194062269724897280&quot;&gt;Drøy
18521 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
18522 kan jeg KUN bruke dem privat.&lt;/a&gt;&quot;
18523 &lt;/blockquote&gt;&lt;/p&gt;
18524
18525 &lt;p&gt;I quickly translated it to this English message:&lt;/p&gt;
18526
18527 &lt;p&gt;&lt;blockquote&gt;
18528 &quot;Arrogant user agreement: HTC can use MY edited videos
18529 commercially. Although I can ONLY use them privately.&quot;
18530 &lt;/blockquote&gt;&lt;/p&gt;
18531
18532 &lt;p&gt;I&#39;ve been unable to find the text of the license term myself, but
18533 suspect it is a variation of the MPEG-LA terms I
18534 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html&quot;&gt;discovered
18535 with my Canon IXUS 130&lt;/a&gt;. The HTC One X specification specifies that
18536 the recording format of the phone is .amr for audio and .mp3 for
18537 video. AMR is
18538 &lt;a href=&quot;http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues&quot;&gt;Adaptive
18539 Multi-Rate audio codec&lt;/a&gt; with patents which according to the
18540 Wikipedia article require an license agreement with
18541 &lt;a href=&quot;http://www.voiceage.com/&quot;&gt;VoiceAge&lt;/a&gt;. MP4 is
18542 &lt;a href=&quot;http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing&quot;&gt;MPEG4 with
18543 H.264&lt;/a&gt;, which according to Wikipedia require a licence agreement
18544 with &lt;a href=&quot;http://www.mpegla.com/&quot;&gt;MPEG-LA&lt;/a&gt;.&lt;/p&gt;
18545
18546 &lt;p&gt;I know why I prefer
18547 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and open
18548 standards&lt;/a&gt; also for video.&lt;/p&gt;
18549 </description>
18550 </item>
18551
18552 <item>
18553 <title>RAND terms - non-reasonable and discriminatory</title>
18554 <link>http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</link>
18555 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</guid>
18556 <pubDate>Thu, 19 Apr 2012 22:20:00 +0200</pubDate>
18557 <description>&lt;p&gt;Here in Norway, the
18558 &lt;a href=&quot;http://www.regjeringen.no/nb/dep/fad.html?id=339&quot;&gt; Ministry of
18559 Government Administration, Reform and Church Affairs&lt;/a&gt; is behind
18560 a &lt;a href=&quot;http://standard.difi.no/forvaltningsstandarder&quot;&gt;directory of
18561 standards&lt;/a&gt; that are recommended or mandatory for use by the
18562 government. When the directory was created, the people behind it made
18563 an effort to ensure that everyone would be able to implement the
18564 standards and compete on equal terms to supply software and solutions
18565 to the government. Free software and non-free software could compete
18566 on the same level.&lt;/p&gt;
18567
18568 &lt;p&gt;But recently, some standards with RAND
18569 (&lt;a href=&quot;http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing&quot;&gt;Reasonable
18570 And Non-Discriminatory&lt;/a&gt;) terms have made their way into the
18571 directory. And while this might not sound too bad, the fact is that
18572 standard specifications with RAND terms often block free software from
18573 implementing them. The reasonable part of RAND mean that the cost per
18574 user/unit is low,and the non-discriminatory part mean that everyone
18575 willing to pay will get a license. Both sound great in theory. In
18576 practice, to get such license one need to be able to count users, and
18577 be able to pay a small amount of money per unit or user. By
18578 definition, users of free software do not need to register their use.
18579 So counting users or units is not possible for free software projects.
18580 And given that people will use the software without handing any money
18581 to the author, it is not really economically possible for a free
18582 software author to pay a small amount of money to license the rights
18583 to implement a standard when the income available is zero. The result
18584 in these situations is that free software are locked out from
18585 implementing standards with RAND terms.&lt;/p&gt;
18586
18587 &lt;p&gt;Because of this, when I see someone claiming the terms of a
18588 standard is reasonable and non-discriminatory, all I can think of is
18589 how this really is non-reasonable and discriminatory. Because free
18590 software developers are working in a global market, it does not really
18591 help to know that software patents are not supposed to be enforceable
18592 in Norway. The patent regimes in other countries affect us even here.
18593 I really hope the people behind the standard directory will pay more
18594 attention to these issues in the future.&lt;/p&gt;
18595
18596 &lt;p&gt;You can find more on the issues with RAND, FRAND and RAND-Z terms
18597 from Simon Phipps
18598 (&lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/&quot;&gt;RAND:
18599 Not So Reasonable?&lt;/a&gt;).&lt;/p&gt;
18600
18601 &lt;p&gt;Update 2012-04-21: Just came across a
18602 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm&quot;&gt;blog
18603 post from Glyn Moody&lt;/a&gt; over at Computer World UK warning about the
18604 same issue, and urging people to speak out to the UK government. I
18605 can only urge Norwegian users to do the same for
18606 &lt;a href=&quot;http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder&quot;&gt;the
18607 hearing taking place at the moment&lt;/a&gt; (respond before 2012-04-27).
18608 It proposes to require video conferencing standards including
18609 specifications with RAND terms.&lt;/p&gt;
18610 </description>
18611 </item>
18612
18613 <item>
18614 <title>Debian Edu interview: Andreas Mundt</title>
18615 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</link>
18616 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</guid>
18617 <pubDate>Sun, 15 Apr 2012 12:10:00 +0200</pubDate>
18618 <description>&lt;p&gt;Behind &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
18619 Skolelinux&lt;/a&gt; there are a lot of people doing the hard work of
18620 setting together all the pieces. This time I present to you Andreas
18621 Mundt, who have been part of the technical development team several
18622 years. He was also a key contributor in getting GOsa and Kerberos set
18623 up in the recently released
18624 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
18625 Edu Squeeze&lt;/a&gt; version.&lt;/p&gt;
18626
18627 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18628
18629 &lt;p&gt;My name is Andreas Mundt, I grew up in south Germany. After
18630 studying Physics I spent several years at university doing research in
18631 Quantum Optics. After that I worked some years in an optics company.
18632 Finally I decided to turn over a new leaf in my life and started
18633 teaching 10 to 19 years old kids at school. I teach math, physics,
18634 information technology and science/technology.&lt;/p&gt;
18635
18636 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18637 project?&lt;/strong&gt;&lt;/p&gt;
18638
18639 &lt;p&gt;Already before I switched to teaching, I followed the Debian Edu
18640 project because of my interest in education and Debian. Within the
18641 qualification/training period for the teaching, I started
18642 contributing.&lt;/p&gt;
18643
18644 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18645 Edu?&lt;/strong&gt;&lt;/p&gt;
18646
18647 &lt;p&gt;The advantages of Debian Edu are the well known name, the
18648 out-of-the-box philosophy and of course the great free software of the
18649 Debian Project!&lt;/p&gt;
18650
18651 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18652 Edu?&lt;/strong&gt;&lt;/p&gt;
18653
18654 &lt;p&gt;As every coin has two sides, the out-of-the-box philosophy has its
18655 downside, too. In my opinion, it is hard to modify and tweak the
18656 setup, if you need or want that. Further more, it is not easily
18657 possible to upgrade the system to a new release. It takes much too
18658 long after a Debian release to prepare the -Edu release, perhaps
18659 because the number of developers working on the core of the code is
18660 rather small and often busy elsewhere.&lt;/p&gt;
18661
18662 &lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/DebianLAN&quot;&gt;Debian LAN&lt;/a&gt;
18663 project might fill the use case of a more flexible system.&lt;/p&gt;
18664
18665 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18666
18667 &lt;p&gt;I am only using non-free software if I am forced to and run Debian
18668 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
18669 mutt and iceweasel for email respectively web browsing. At school I
18670 have Arduino and Fritzing in use for a micro controller project.&lt;/p&gt;
18671
18672 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18673 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18674
18675 &lt;p&gt;One of the major problems is the vendor lock-in from top to bottom:
18676 Especially in combination with ignorant government employees and
18677 politicians, this works out great for the &quot;market-leader&quot;. The school
18678 administration here in Baden-Wuerttemberg is occupied by that vendor.
18679 Documents have to be prepared in non-free, proprietary formats. Even
18680 free browsers do not work for the school administration. Publishers
18681 of school books provide software only for proprietary platforms.&lt;/p&gt;
18682
18683 &lt;p&gt;To change this, political work is very important. Parts of the
18684 political spectrum have become aware of the problem in the last years.
18685 However it takes quite some time and courageous politicians to &#39;free&#39;
18686 the system. There is currently some discussion about &quot;Open Data&quot; and
18687 &quot;Free/Open Standards&quot;. I am not sure if all the involved parties have
18688 a clue about the potential of these ideas, and probably only a
18689 fraction takes them seriously. However it might slowly make free
18690 software and the philosophy behind it more known and popular.&lt;/p&gt;
18691 </description>
18692 </item>
18693
18694 <item>
18695 <title>Debian Edu interview: Justin B. Rye</title>
18696 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</link>
18697 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</guid>
18698 <pubDate>Sun, 8 Apr 2012 10:50:00 +0200</pubDate>
18699 <description>&lt;p&gt;It take all kind of contributions to create a Linux distribution
18700 like &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;,
18701 and this time I lend the ear to Justin B. Rye, who is listed as a big
18702 contributor to the
18703 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
18704 Edu Squeeze release manual&lt;/a&gt;.
18705
18706 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18707
18708 &lt;p&gt;I&#39;m a 44-year-old linguistics graduate living in Edinburgh who has
18709 occasionally been employed as a sysadmin.&lt;/p&gt;
18710
18711 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18712 project?&lt;/strong&gt;&lt;/p&gt;
18713
18714 &lt;p&gt;I&#39;m neither a developer nor a Skolelinux/Debian Edu user! The only
18715 reason my name&#39;s in the credits for the documentation is that I hang
18716 around on debian-l10n-english waiting for people to mention things
18717 they&#39;d like a native English speaker to proofread... So I did a sweep
18718 through the wiki for typos and Norglish and inconsistent spellings of
18719 &quot;localisation&quot;.&lt;/p&gt;
18720
18721 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18722 Edu?&lt;/strong&gt;&lt;/p&gt;
18723
18724 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18725 Edu?&lt;/strong&gt;&lt;/p&gt;
18726
18727 &lt;p&gt;These questions are too hard for me - I don&#39;t use it! In fact I
18728 had hardly any contact with I.T. until long after I&#39;d got out of the
18729 education system.&lt;/p&gt;
18730
18731 &lt;p&gt;I can tell you the advantages of Debian for me though: it soaks up
18732 as much of my free time as I want and no more, and lets me do
18733 everything I want a computer for without ever forcing me to spend
18734 money on the latest hardware.&lt;/p&gt;
18735
18736 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18737
18738 &lt;p&gt;I&#39;ve been using Debian since Rex; popularity-contest says the
18739 software that I use most is xinit, xterm, and xulrunner (in other
18740 words, I use a distinctly retro sort of desktop).&lt;/p&gt;
18741
18742 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18743 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18744
18745 &lt;p&gt;Well, I don&#39;t know. I suppose I&#39;d be inclined to try reasoning
18746 with the people who make the decisions, but obviously if that worked
18747 you would hardly need a strategy.&lt;/p&gt;
18748 </description>
18749 </item>
18750
18751 <item>
18752 <title>Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</title>
18753 <link>http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</link>
18754 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</guid>
18755 <pubDate>Fri, 6 Apr 2012 22:40:00 +0200</pubDate>
18756 <description>&lt;p&gt;Recently I have spent time with
18757 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt; on speeding
18758 up a &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
18759 Lenny installation using LTSP diskless workstations, and in the
18760 process I discovered something very surprising. The reason the KDE
18761 menu was responding slow when using it for the first time, was mostly
18762 due to the way KDE find application icons. I discovered that showing
18763 the Multimedia menu would cause more than 20 000 IP packages to be
18764 passed between the LTSP client and the NFS server. Most of these were
18765
18766 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
18767 ping times between the client and the server were in the range 2-20
18768 ms, the menus would be very slow. Looking at the strace of kicker in
18769 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
18770 the source of these NFS calls are access(2) system calls for
18771 non-existing files. KDE can do hundreds of access(2) calls to find
18772 one icon file. In my example, just finding the mplayer icon required
18773 around 230 access(2) calls.&lt;/p&gt;
18774
18775 &lt;p&gt;The KDE code seem to search for icons using a list of icon
18776 directories, and the list of possible directories is large. In
18777 (almost) each directory, it look for files ending in .png, .svgz, .svg
18778 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
18779 mounted. Showing a single sub menu may result in thousands of NFS
18780 requests. I am not the first one to discover this. I found a
18781 &lt;a href=&quot;https://bugs.kde.org/show_bug.cgi?id=211416&quot;&gt;KDE bug report
18782 from 2009&lt;/a&gt; about this problem, and it is still unsolved.&lt;/p&gt;
18783
18784 &lt;p&gt;My solution to speed up the KDE menu was to create a package
18785 kde-icon-cache that upon installation will look at all .desktop files
18786 used to generate the KDE menu, find their icons, search the icon paths
18787 for the file that KDE will end up finding at run time, and copying the
18788 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
18789 these icon files in one of the first directories where KDE will look
18790 for them. This cut down the number of file accesses required to find
18791 one icon from several hundred to less than 5, and make the KDE menu
18792 almost instantaneous. I&#39;m not quite sure where to make the package
18793 publicly available, so for now it is only available on request.&lt;/p&gt;
18794
18795 &lt;p&gt;The bug report mention that this do not only affect the KDE menu
18796 and icon handling, but also the login process. Not quite sure how to
18797 speed up that part without replacing NFS with for example NBD, and
18798 that is not really an option at the moment.&lt;/p&gt;
18799
18800 &lt;p&gt;If you got feedback on this issue, please let us know on debian-edu
18801 (at) lists.debian.org.&lt;/p&gt;
18802
18803 &lt;p&gt;Update 2015-08-04: The
18804 &lt;a href=&quot;http://anonscm.debian.org/cgit/debian-edu/upstream/kde-icon-cache.git/&quot;&gt;source
18805 of the scripts and associated Debian package&lt;/a&gt; is available from the
18806 Debian Edu github repository.&lt;/p&gt;
18807 </description>
18808 </item>
18809
18810 <item>
18811 <title>Debian Edu in the Linux Weekly News</title>
18812 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</link>
18813 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</guid>
18814 <pubDate>Thu, 5 Apr 2012 08:00:00 +0200</pubDate>
18815 <description>&lt;p&gt;About two weeks ago, I was interviewed via email about
18816 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt; by
18817 Bruce Byfield in Linux Weekly News. The result was made public for
18818 non-subscribers today. I am pleased to see liked our Linux solution
18819 for schools. Check out his article
18820 &lt;a href=&quot;https://lwn.net/Articles/488805/&quot;&gt;Debian Edu/Skolelinux: A
18821 distribution for education&lt;/a&gt; if you want to learn more.&lt;/p&gt;
18822 </description>
18823 </item>
18824
18825 <item>
18826 <title>Debian Edu interview: Wolfgang Schweer</title>
18827 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</link>
18828 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</guid>
18829 <pubDate>Sun, 1 Apr 2012 23:00:00 +0200</pubDate>
18830 <description>&lt;p&gt;Germany is a core area for the
18831 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
18832 user community, and this time I managed to get hold of Wolfgang
18833 Schweer, a valuable contributor to the project from Germany.
18834
18835 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18836
18837 &lt;p&gt;I&#39;ve studied Mathematics at the university &#39;Ruhr-Universität&#39; in
18838 Bochum, Germany. Since 1981 I&#39;m working as a teacher at the school
18839 &quot;&lt;a href=&quot;http://www.westfalenkolleg-dortmund.de/&quot;&gt;Westfalen-Kolleg
18840 Dortmund&lt;/a&gt;&quot;, a second chance school. Here, young adults is given
18841 the opportunity to get further education in order to do the school
18842 examination &#39;Abitur&#39;, which will allow to study at a university. This
18843 second chance is of value for those who want a better job perspective
18844 or failed to get a higher school examination being teens.&lt;/p&gt;
18845
18846 &lt;p&gt;Besides teaching I was involved in developing online courses for a
18847 blended learning project called &#39;abitur-online.nrw&#39; and in some other
18848 information technology related projects. For about ten years I&#39;ve been
18849 teacher and coordinator for the &#39;abitur-online&#39; project at my
18850 school. Being now in my early sixties, I&#39;ve decided to leave school at
18851 the end of April this year.&lt;/p&gt;
18852
18853 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18854 project?&lt;/strong&gt;&lt;/p&gt;
18855
18856 &lt;p&gt;The first information about Skolelinux must have come to my
18857 attention years ago and somehow related to LTSP (Linux Terminal Server
18858 Project). At school, we had set up a network at the beginning of 1997
18859 using Suse Linux on the desktop, replacing a Novell network. Since
18860 2002, we used old machines from the city council of Dortmund as thin
18861 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
18862 reach. At home I&#39;m using Debian since years and - subscribed to the
18863 Debian news letter - heard from time to time about Skolelinux. About
18864 two years ago I proposed to replace the (somehow undocumented and only
18865 known to me) system at school by a well known Debian based system:
18866 Skolelinux.&lt;/p&gt;
18867
18868 &lt;p&gt;Students and teachers appreciated the new system because of a
18869 better look and feel and an enhanced access to local media on thin
18870 clients. The possibility to alter and/or reset passwords using a GUI
18871 was welcomed, too. Being able to do administrative tasks using a GUI
18872 and to easily set up workstations using PXE was of very high value for
18873 the admin teachers.&lt;/p&gt;
18874
18875 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18876 Edu?&lt;/strong&gt;&lt;/p&gt;
18877
18878 &lt;p&gt;It&#39;s open source, easy to set up, stable and flexible due to it&#39;s
18879 Debian base. It integrates LTSP out-of-the-box. And it is documented!
18880 So it was a perfect choice.&lt;/p&gt;
18881
18882 &lt;p&gt;Being open source, there are no license problems and so it&#39;s
18883 possible to point teachers and students to programs like
18884 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It&#39;s of
18885 high value to be able to adapt parts of the system to special needs of
18886 a school and to choose where to get support for this.&lt;/p&gt;
18887
18888 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18889 Edu?&lt;/strong&gt;&lt;/p&gt;
18890
18891 &lt;p&gt;Nothing yet.&lt;/p&gt;
18892
18893 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18894
18895 &lt;p&gt;At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
18896 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
18897 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
18898 LibreOffice.&lt;/p&gt;
18899
18900 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18901 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18902
18903 &lt;p&gt;Some time ago I thought it was enough to tell people about it. But
18904 that doesn&#39;t seem to work quite well. Now I concentrate on those more
18905 interested and hope to get multiplicators that way.&lt;/p&gt;
18906 </description>
18907 </item>
18908
18909 <item>
18910 <title>Debian Edu screencast: Checking email with kmail using Kerberos authentication</title>
18911 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</link>
18912 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</guid>
18913 <pubDate>Sun, 25 Mar 2012 10:00:00 +0200</pubDate>
18914 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
18915
18916 &lt;p&gt;The same Debian Edu developer that did the last screen cast I
18917 published, Wolfgang Schweer, has created a new screen cast showing how
18918 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
18919 allowing users to check their local email account without providing
18920 any password. The video is embedded here in quarter size,
18921 and also available from &lt;a href=&quot;https://vimeo.com/38601767&quot;&gt;vimeo&lt;/a&gt;
18922 and download as a
18923 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot;&gt;Ogg
18924 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
18925
18926 &lt;p&gt;&lt;video id=&quot;kmail-kerberos-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
18927 &lt;source src=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot; type=&#39;video/ogg; codecs=&quot;theora, vorbis&quot;&#39; /&gt;
18928 &lt;p&gt;Download video as
18929 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot;&gt;Ogg&lt;/a&gt;.&lt;/p&gt;
18930 &lt;/video&gt;&lt;/p&gt;
18931 </description>
18932 </item>
18933
18934 <item>
18935 <title>Debian Edu interview: John Ingleby</title>
18936 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</link>
18937 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</guid>
18938 <pubDate>Mon, 19 Mar 2012 21:15:00 +0100</pubDate>
18939 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
18940 users are spread all across the globe. The second inteview after
18941 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
18942 Squeeze release&lt;/a&gt; was publised is with John Ingleby, a teacher and
18943 long time Linux user in United Kingdom.&lt;/p&gt;
18944
18945 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18946
18947 &lt;p&gt;I teach ICT part time at the Rudolf Steiner School in Kings
18948 Langley, near London, UK. Previously I worked as a technical
18949 author/trainer while my children attended the school, and I also
18950 contributed to the Schoolforge UK community with the aim of
18951 encouraging UK schools to adopt free/open source software. Five or six
18952 years ago we had about 50 schools interested in some way, but we
18953 weren&#39;t able to convert many of them into sustainable
18954 installations.&lt;/p&gt;
18955
18956 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
18957 project?&lt;/strong&gt;&lt;/p&gt;
18958
18959 &lt;p&gt;Skolelinux had two representatives at an early Edubuntu meeting in
18960 London which I attended. However at that time our school network had
18961 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
18962 along we switched to Edubuntu thin client servers so now we have a
18963 mixed environment which includes Windows PCs and student laptops, as
18964 well as their MacBooks and iPads. However, the proprietary systems
18965 have always been rather problematic, and we never built a GUI for the
18966 LDAP server, so when I discovered Skolelinux is configured for all
18967 these things we decided to try it.&lt;/p&gt;
18968
18969 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
18970 Edu?&lt;/strong&gt;&lt;/p&gt;
18971
18972 &lt;p&gt;By far the biggest advantage is the Debian Edu community. Apart
18973 from that I have always believed in the same &quot;sustainable computing&quot;
18974 goals that Skolelinux is built on: installing Linux on computers which
18975 would otherwise be thrown away, to provide a reliable, secure and
18976 low-cost IT environment for schools. From my own experience I know
18977 that a part-time person can teach and manage a network of about 25
18978 Linux computers, but it would take much more of my time if we had
18979 proprietary software everywhere.&lt;/p&gt;
18980
18981 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
18982 Edu?&lt;/strong&gt;&lt;/p&gt;
18983
18984 &lt;p&gt;As a newcomer I&#39;m just finding out who&#39;s who in the community and
18985 how you&#39;re organised, and what your procedures are for dealing with
18986 various things such as editing manual pages and so-on. The only
18987 English language mailing list seems to be for developers as well as
18988 users, so my inbox needs heavy pruning each day!&lt;/p&gt;
18989
18990 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18991
18992 &lt;p&gt;Besides the software already mentioned at school we use Samba,
18993 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
18994 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
18995 use Ubuntu and an Android 4 eePad Transformer (but I&#39;m not sure if
18996 that counts...)&lt;/p&gt;
18997
18998 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18999 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
19000
19001 &lt;p&gt;That&#39;s a tough question! For very many years UK schools installed
19002 and taught only proprietary software, so that at the highest levels
19003 the notion of &quot;computer&quot; means simply &quot;proprietary office
19004 applications&quot;. However, schools today are experiencing budget
19005 constraints, and many are having to think hard about upgrading Windows
19006 XP. At the same time, we have students showing teachers how to use
19007 iPads, MacBooks and Android, so the choice of operating system is no
19008 longer quite so automatic. What is more, our government at last
19009 realised that we need people with programming skills, so they&#39;re
19010 putting coding back in the curriculum! And it&#39;s encouraging that the
19011 first 10,000 Raspberry Pi units sold out in 2 hours.&lt;/p&gt;
19012
19013 &lt;p&gt;I don&#39;t really know what strategy is going to get UK schools to use
19014 free software, but building an active community of Skolelinux/Debian
19015 Edu users in this country has to be part of it.&lt;/p&gt;
19016 </description>
19017 </item>
19018
19019 <item>
19020 <title>Writing and translating documentation in Debian Edu</title>
19021 <link>http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</link>
19022 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</guid>
19023 <pubDate>Fri, 16 Mar 2012 09:55:00 +0100</pubDate>
19024 <description>&lt;p&gt;Documentation in Debian Edu is provided in several languages, and
19025 it is important to make it both easy to contribute and to keep the
19026 translated versions in sync. To do this we have come up with what we
19027 believe is a very efficient work flow.&lt;/p&gt;
19028
19029 &lt;ol&gt;
19030
19031 &lt;li&gt;The documentation is written in a
19032 &lt;a href=&quot;http://moinmo.in&quot;&gt;moinmoin wiki&lt;/a&gt; (see for example
19033 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;the
19034 Squeeze release manual&lt;/a&gt;) with support for exporting the content as
19035 docbook XML.&lt;/li&gt;
19036
19037 &lt;li&gt;This docbook document is given to po4a to extract a gettext style
19038 .pot file with the content, which in turn is used to create .po files
19039 with the translated text.&lt;/li&gt;
19040
19041 &lt;li&gt;The .po files are given to translators, and they can always tell
19042 which part of the original wiki document is new or changed. They can
19043 use their normal translation tools like lokalize or poedit to write
19044 the translation. There is even a system in place to handle translated
19045 images.&lt;/li&gt;
19046
19047 &lt;li&gt;The translated .po files are combined with the original docbook
19048 XML document using po4a to create a translated docbook document.&lt;/li&gt;
19049
19050 &lt;li&gt;The final step is to use all the generated docbook files and
19051 create PDF and HTML version of the original and translated documents.&lt;/li&gt;
19052
19053 &lt;/ol&gt;
19054
19055 &lt;p&gt;This setup work very well, but have a few issues. The biggest
19056 issue is that &lt;a href=&quot;http://moinmo.in/DocBook&quot;&gt;the docbook support
19057 we use in moinmoin&lt;/a&gt; is not actively maintained. The docbook
19058 support is also buggy, and our build system contain workarounds to
19059 make sure the generated docbook is usable despite these bugs.&lt;/p&gt;
19060
19061 &lt;p&gt;If you want to have a look at our setup, it is all there in the
19062 &lt;a href=&quot;http://packages.qa.debian.org/debian-edu-doc&quot;&gt;debian-edu-doc
19063 package&lt;/a&gt;.&lt;/p&gt;
19064 </description>
19065 </item>
19066
19067 <item>
19068 <title>Skolelinux / Debian Edu Squeeze is out!</title>
19069 <link>http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</link>
19070 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</guid>
19071 <pubDate>Sun, 11 Mar 2012 23:00:00 +0100</pubDate>
19072 <description>&lt;p&gt;This weekend we finally published the first stable release of
19073 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; based
19074 on Debian/Squeeze. The full announcement is
19075 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;available&lt;/a&gt;
19076 from the project announcement list. Now is a good time to test if it
19077 you have not done so already.&lt;/p&gt;
19078
19079 &lt;p&gt;I plan to present the new version at
19080 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20120313-skolelinux/&quot;&gt;a NUUG
19081 meeting&lt;/a&gt; on tuesday. I look forward to seeing you there if you are
19082 in Oslo, Norway.&lt;/p&gt;
19083 </description>
19084 </item>
19085
19086 <item>
19087 <title>Debian Edu interview: Nigel Barker</title>
19088 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</link>
19089 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</guid>
19090 <pubDate>Fri, 9 Mar 2012 11:30:00 +0100</pubDate>
19091 <description>&lt;p&gt;Inspired by &lt;a href=&quot;http://raphaelhertzog.com/tag/interview/&quot;&gt;the
19092 interview series&lt;/a&gt; conducted by Raphael, I started a Norwegian
19093 interview series with people involved in the Debian Edu / Skolelinux
19094 community. This was so popular that I believe it is time to move to a
19095 more international audience.&lt;/p&gt;
19096
19097 &lt;p&gt;While &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
19098 Skolelinux&lt;/a&gt; originated in France and Norway, and have most users in
19099 Europe, there are users all around the globe. One of those far away
19100 from me is Nigel Barker, a long time Debian Edu system administrator
19101 and contributor. It is thanks to him that Debian Edu is adjusted to
19102 work out of the box in Japan. I got him to answer a few questions,
19103 and am happy to share the response with you. :)
19104
19105
19106 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
19107
19108 &lt;p&gt;My name is Nigel Barker, and I am British. I am married to Yumiko,
19109 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
19110 Coordinator at Hiroshima International School, Japan. I am also a
19111 teacher, and in fact I spend most of my day teaching Mathematics,
19112 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
19113 I have always had an interest in computers. Another teacher teaches
19114 primary school IT, but apart from that I am the only computer person,
19115 so that means I am the network manager, technician and webmaster,
19116 also, and I help people with their computer problems. I teach python
19117 to beginners in an after-school club. I am way too busy, so I really
19118 appreciate the simplicity of Skolelinux.&lt;/p&gt;
19119
19120 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
19121 project?&lt;/strong&gt;&lt;/p&gt;
19122
19123 &lt;p&gt;In around 2004 or 5 I discovered the ltsp project, and set up a
19124 server in the IT lab. I wanted some way to connect it to our central
19125 samba server, which I was also quite poor at configuring. I discovered
19126 Edubuntu when it came out, but it didn&#39;t really improve my setup. I
19127 did various desperate searches for things like &quot;school Linux server&quot;
19128 and ended up in a document called &quot;Drift&quot; something or other. Reading
19129 there it became clear that Skolelinux was going to solve all my
19130 problems in one go. I was very excited, but apprehensive, because my
19131 previous attempts to install Debian had ended in failure (I used
19132 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
19133 downloaded a beta version, had some problems, so subscribed to the
19134 Debian Edu list for help. I have remained subscribed ever since, and
19135 my school has run a Skolelinux network since Sarge.&lt;/p&gt;
19136
19137 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
19138 Edu?&lt;/strong&gt;&lt;/p&gt;
19139
19140 &lt;p&gt;For me the integrated setup. This is not just the server, or the
19141 workstation, or the ltsp. Its all of them, and its all configured
19142 ready to go. I read somewhere in the early documentation that it is
19143 designed to be setup and managed by the Maths or Science teacher, who
19144 doesn&#39;t necessarily know much about computers, in a small Norwegian
19145 school. That describes me perfectly if you replace Norway with
19146 Japan.&lt;/p&gt;
19147
19148 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
19149 Edu?&lt;/strong&gt;&lt;/p&gt;
19150
19151 &lt;p&gt;The desktop is fairly plain. If you compare it with Edubuntu, who
19152 have fun themes for children, or with distributions such as Mint, who
19153 make the desktop beautiful. They create a good impression on people
19154 who don&#39;t need to understand how to use any of it, but who might be
19155 important to the school. School administrators or directors, for
19156 instance, or parents. Even kids. Debian itself usually has ugly
19157 default theme settings. It was my dream a few years back that some
19158 kind of integration would allow Edubuntu to do the desktop stuff and
19159 Debian Edu the servers, but now I realise how impossible that is. A
19160 second disadvantage is that if something goes wrong, or you need to
19161 customise something, then suddenly the level of expertise required
19162 multiplies. For example, backup wasn&#39;t working properly in Lenny. It
19163 took me ages to learn how to set up my own server to do rsync backups.
19164 I am afraid of anything to do with ldap, but perhaps Gosa will
19165 help.&lt;/p&gt;
19166
19167 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
19168
19169 &lt;p&gt;Nowadays I only use Debian on my personal computers. I have one for
19170 studio work (I play guitar and write songs), running AV Linux
19171 (customised Debian) a netbook running Squeeze, and a bigger laptop
19172 still running Skolelinux Lenny workstation. I have a Tjener in my
19173 house, that&#39;s very useful for the family photos and music. At school
19174 the students only use Skolelinux. (Some teachers and the office still
19175 have windows). So that means we only use free software all day every
19176 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
19177 installed on every computer in school, irrespective of OS. We also
19178 have Koha on Debian for the library, and Apache, Moodle, b2evolution
19179 and Etomite on Debian for the www. The firewall is Untangle.&lt;/p&gt;
19180
19181 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
19182 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
19183
19184 &lt;p&gt;Current trends are in our favour. Open source is big in industry,
19185 and ordinary people have heard of it. The spread of Android and the
19186 popularity of Apple have helped to weaken the impression that you have
19187 to have Microsoft on everything. People complain to me much less about
19188 file formats and Word than they did 5 years ago. The Edu aspect is
19189 also a selling point. This is all customised for schools. Where is the
19190 Windows-edu, or the Mac-edu? But of course the main attraction is
19191 budget.The trick is to convince people that the quality is not
19192 compromised when you stop paying and use free software instead. That
19193 is one reason why I say the desktop experience is a weakness. People
19194 are not impressed when their USB drive doesn&#39;t work, or their browser
19195 doesn&#39;t play flash, for example.&lt;/p&gt;
19196 </description>
19197 </item>
19198
19199 <item>
19200 <title>Debian Edu screencast: Mass creation of user accounts in Squeeze</title>
19201 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</link>
19202 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</guid>
19203 <pubDate>Wed, 7 Mar 2012 13:40:00 +0100</pubDate>
19204 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
19205
19206 &lt;p&gt;One of the Debian Edu developers, Wolfgang Schweer, just created a
19207 screen cast documenting how to create a lot of new users in LDAP on
19208 Debian Edu Squeeze. The video is embedded here in quarter size, and
19209 also available from &lt;a href=&quot;http://vimeo.com/37675399&quot;&gt;vimeo&lt;/a&gt; and
19210 download as a
19211 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg
19212 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
19213
19214 &lt;p&gt;&lt;video id=&quot;gosa-mass-user-create-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
19215 &lt;source src=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot; type=&#39;video/ogg; codecs=&quot;theora, vorbis&quot;&#39; /&gt;
19216 &lt;p&gt;Download video as
19217 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg&lt;/a&gt;.&lt;/p&gt;
19218 &lt;/video&gt;&lt;/p&gt;
19219 </description>
19220 </item>
19221
19222 <item>
19223 <title>Third release candidate of Debian Edu / Skolelinux based on Squeeze</title>
19224 <link>http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
19225 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
19226 <pubDate>Sun, 4 Mar 2012 18:20:00 +0100</pubDate>
19227 <description>&lt;p&gt;This weekend we wrapped up and published the third release
19228 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
19229 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement is
19230 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html&quot;&gt;available&lt;/a&gt;
19231 from the project announcement list. Check it out if you
19232 need a software solution for your school.&lt;/p&gt;
19233 </description>
19234 </item>
19235
19236 <item>
19237 <title>Stopmotion for making stop motion animations on Linux - reloaded</title>
19238 <link>http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</link>
19239 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</guid>
19240 <pubDate>Sat, 3 Mar 2012 12:50:00 +0100</pubDate>
19241 <description>&lt;p&gt;Many years ago, the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
19242 / Debian Edu project&lt;/a&gt; initiated a student project to create a tool
19243 for making stop motion movies. The proposal came from a teacher
19244 needing such tool on Skolelinux. The project, called &quot;stopmotion&quot;,
19245 was manned by two extraordinary students and won a school award and a
19246 national aware with this great project. The project was initiated and
19247 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
19248 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
19249 Animation studio and received feedback on how professionals would like
19250 such stopmotion tool to work, and the end result was and is used by
19251 animators around the globe. But as is usual after studying, both got
19252 jobs and went elsewhere, and did not have time to properly tend to the
19253 project, and it has been lingering for a few years now. Until last
19254 year...&lt;/p&gt;
19255
19256 &lt;p&gt;Last year some of the users got together with Herman, and moved the
19257 project to Sourceforge and in effect restarted the project under a new
19258 name,
19259 &lt;a href=&quot;http://sourceforge.net/projects/linuxstopmotion/&quot;&gt;linuxstopmotion&lt;/a&gt;.
19260 The name change was done to make it possible to find the project using
19261 Internet search engines (try to search for &#39;stopmotion&#39; to see what I
19262 mean). I&#39;ve been following
19263 &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community&quot;&gt;the
19264 mailing list&lt;/a&gt; and the improvement already in place and planned for
19265 the future is encouraging. If you want to make stop motion movies.
19266 Check it out. :)&lt;/p&gt;
19267 </description>
19268 </item>
19269
19270 <item>
19271 <title>Second release candidate of Debian Edu / Skolelinux based on Squeeze</title>
19272 <link>http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
19273 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
19274 <pubDate>Mon, 27 Feb 2012 14:00:00 +0100</pubDate>
19275 <description>&lt;p&gt;This weekend we wrapped up and published the second release
19276 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
19277 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement did for some
19278 reason not make it the project announcement list, but is
19279 &lt;a href=&quot;http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html&quot;&gt;available&lt;/a&gt;
19280 from the Debian development announcement list. Check it out if you
19281 need a software solution for your school.&lt;/p&gt;
19282 </description>
19283 </item>
19284
19285 <item>
19286 <title>First release candidate of Debian Edu / Skolelinux based on Squeeze</title>
19287 <link>http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
19288 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
19289 <pubDate>Sun, 19 Feb 2012 23:10:00 +0100</pubDate>
19290 <description>&lt;p&gt;One week delayed due to DVD build problems, we managed today to
19291 wrap up and publish the first release candidate for
19292 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
19293 on Squeeze. The full announcement is
19294 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html&quot;&gt;available&lt;/a&gt;
19295 on the project announcement list. Check it out if you need a software
19296 solution for your school.&lt;/p&gt;
19297 </description>
19298 </item>
19299
19300 <item>
19301 <title>How to figure out which RAID disk to replace when it fail</title>
19302 <link>http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</link>
19303 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</guid>
19304 <pubDate>Tue, 14 Feb 2012 21:25:00 +0100</pubDate>
19305 <description>&lt;p&gt;Once in a while my home server have disk problems. Thanks to Linux
19306 Software RAID, I have not lost data yet (but
19307 &lt;a href=&quot;http://comments.gmane.org/gmane.linux.raid/34532&quot;&gt;I was
19308 close&lt;/a&gt; this summer :). But once a disk is starting to behave
19309 funny, a practical problem present itself. How to get from the Linux
19310 device name (like /dev/sdd) to something that can be used to identify
19311 the disk when the computer is turned off? In my case I have SATA
19312 disks with a unique ID printed on the label. All I need is a way to
19313 figure out how to query the disk to get the ID out.&lt;/p&gt;
19314
19315 &lt;p&gt;After fumbling a bit, I
19316 &lt;a href=&quot;http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/&quot;&gt;found
19317 that hdparm -I&lt;/a&gt; will report the disk serial number, which is
19318 printed on the disk label. The following (almost) one-liner can be
19319 used to look up the ID of all the failed disks:&lt;/p&gt;
19320
19321 &lt;blockquote&gt;&lt;pre&gt;
19322 for d in $(cat /proc/mdstat |grep &#39;(F)&#39;|tr &#39; &#39; &quot;\n&quot;|grep &#39;(F)&#39;|cut -d\[ -f1|sort -u);
19323 do
19324 printf &quot;Failed disk $d: &quot;
19325 hdparm -I /dev/$d |grep &#39;Serial Num&#39;
19326 done
19327 &lt;/blockquote&gt;&lt;/pre&gt;
19328
19329 &lt;p&gt;Putting it here to make sure I do not have to search for it the
19330 next time, and in case other find it useful.&lt;/p&gt;
19331
19332 &lt;p&gt;At the moment I have two failing disk. :(&lt;/p&gt;
19333
19334 &lt;blockquote&gt;&lt;pre&gt;
19335 Failed disk sdd1: Serial Number: WD-WCASJ1860823
19336 Failed disk sdd2: Serial Number: WD-WCASJ1860823
19337 Failed disk sde2: Serial Number: WD-WCASJ1840589
19338 &lt;/blockquote&gt;&lt;/pre&gt;
19339
19340 &lt;p&gt;The last time I had failing disks, I added the serial number on
19341 labels I printed and stuck on the short sides of each disk, to be able
19342 to figure out which disk to take out of the box without having to
19343 remove each disk to look at the physical vendor label. The vendor
19344 label is at the top of the disk, which is hidden when the disks are
19345 mounted inside my box.&lt;/p&gt;
19346
19347 &lt;p&gt;I really wish the check_linux_raid Nagios plugin for checking Linux
19348 Software RAID in the
19349 &lt;a href=&quot;http://packages.qa.debian.org/n/nagios-plugins.html&quot;&gt;nagios-plugins-standard&lt;/a&gt;
19350 debian package would look up this value automatically, as it would
19351 make the plugin a lot more useful when my disks fail. At the moment
19352 it only report a failure when there are no more spares left (it really
19353 should warn as soon as a disk is failing), and it do not tell me which
19354 disk(s) is failing when the RAID is running short on disks.&lt;/p&gt;
19355 </description>
19356 </item>
19357
19358 <item>
19359 <title>Automatic proxy configuration with Debian Edu / Skolelinux</title>
19360 <link>http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</link>
19361 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</guid>
19362 <pubDate>Mon, 13 Feb 2012 23:40:00 +0100</pubDate>
19363 <description>&lt;p&gt;New in the Squeeze version of
19364 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is the
19365 ability for clients to automatically configure their proxy settings
19366 based on their environment. We want all systems on the client to use
19367 the WPAD based proxy definition fetched from &lt;tt&gt;http://wpad/wpad.dat&lt;/tt&gt;, to
19368 allow sites to control the proxy setting from a central place and make
19369 sure clients do not have hard coded proxy settings. The schools can
19370 change the global proxy setting by editing
19371 &lt;tt&gt;tjener:/etc/debian-edu/www/wpad.dat&lt;/tt&gt; and the change propagate
19372 to all Debian Edu clients in the network.&lt;/p&gt;
19373
19374 &lt;p&gt;The problem is that some systems do not understand the WPAD system.
19375 In other words, how do one get from a WPAD file like this (this is a
19376 simple one, they can run arbitrary code):&lt;/p&gt;
19377
19378 &lt;blockquote&gt;&lt;pre&gt;
19379 function FindProxyForURL(url, host)
19380 {
19381 if (!isResolvable(host) ||
19382 isPlainHostName(host) ||
19383 dnsDomainIs(host, &quot;.intern&quot;))
19384 return &quot;DIRECT&quot;;
19385 else
19386 return &quot;PROXY webcache:3128; DIRECT&quot;;
19387 }
19388 &lt;/pre&gt;&lt;/blockquote&gt;
19389
19390 &lt;p&gt;to a proxy setting in the process environment looking like this:&lt;/p&gt;
19391
19392 &lt;blockquote&gt;&lt;pre&gt;
19393 http_proxy=http://webcache:3128/
19394 ftp_proxy=http://webcache:3128/
19395 &lt;/pre&gt;&lt;/blockquote&gt;
19396
19397 &lt;p&gt;To do this conversion I developed a perl script that will execute
19398 the javascript fragment in the WPAD file and return the proxy that
19399 would be used for
19400 &lt;tt&gt;&lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt;&lt;/tt&gt;,
19401 and insert this extracted proxy URL in &lt;tt&gt;/etc/environment&lt;/tt&gt; and
19402 &lt;tt&gt;/etc/apt/apt.conf&lt;/tt&gt;. The perl script wpad-extract work just
19403 fine in Squeeze, but in Wheezy the library it need to run the
19404 javascript code is &lt;a href=&quot;http://bugs.debian.org/631045&quot;&gt;no longer
19405 able to build&lt;/a&gt; because the C library it depended on is now a C++
19406 library. I hope someone find a solution to that problem before Wheezy
19407 is frozen. An alternative would be for us to rewrite wpad-extract to
19408 use some other javascript library currently working in Wheezy, but no
19409 known alternative is known at the moment.&lt;/p&gt;
19410
19411 &lt;p&gt;This automatic proxy system allow the roaming workstation (aka
19412 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
19413 is connected to the backbone network in a Debian Edu setup, and to
19414 automatically use any proxy present and announced using the WPAD
19415 feature when it is connected to other networks. And if no proxy is
19416 announced, direct connections will be used instead.&lt;/p&gt;
19417
19418 &lt;p&gt;Silently using a proxy announced on the network might be a privacy
19419 or security problem. But those controlling DHCP and DNS on a network
19420 could just as easily set up a transparent proxy, and force all HTTP
19421 and FTP connections to use a proxy anyway, so I consider that
19422 distinction to be academic. If you are afraid of using the wrong
19423 proxy, you should avoid connecting to the network in question in the
19424 first place. In Debian Edu, the proxy setup is updated using dhcp and
19425 ifupdown hooks, to make sure the configuration is updated every time
19426 the network setup changes.&lt;/p&gt;
19427
19428 &lt;p&gt;The WPAD system is documented in a
19429 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-wrec-wpad-01&quot;&gt;IETF
19430 draft&lt;/a&gt; and a
19431 &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol&quot;&gt;Wikipedia
19432 page&lt;/a&gt; for those that want to learn more.&lt;/p&gt;
19433 </description>
19434 </item>
19435
19436 <item>
19437 <title>Saving power with Debian Edu / Skolelinux using shutdown-at-night</title>
19438 <link>http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</link>
19439 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</guid>
19440 <pubDate>Sun, 5 Feb 2012 09:45:00 +0100</pubDate>
19441 <description>&lt;p&gt;Since the Lenny version of
19442 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, a
19443 feature to save power have been included. It is as simple as it is
19444 practical: Shut down unused clients at night, and turn them on again
19445 in the morning. This is done using the
19446 &lt;a href=&quot;http://packages.qa.debian.org/s/shutdown-at-night.html&quot;&gt;shutdown-at-night&lt;/a&gt; Debian package.&lt;/p&gt;
19447
19448 &lt;p&gt;To enable this feature on a client, the machine need to be added to
19449 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
19450 LDAP, and once this is in place, the machine in question will check
19451 every hour from 16:00 until 06:00 to see if the machine is unused, and
19452 shut it down if it is. If the hardware in question is supported by
19453 the
19454 &lt;a href=&quot;http://packages.qa.debian.org/n/nvram-wakeup.html&quot;&gt;nvram-wakeup&lt;/a&gt;
19455 package, the BIOS is told to turn the machine back on around 07:00 +-
19456 10 minutes. If this isn&#39;t working, one can configure wake-on-lan to
19457 try to turn on the client. The wake-on-lan option is only documented
19458 and not enabled by default in Debian Edu.&lt;/p&gt;
19459
19460 &lt;p&gt;It is important to not turn all machines on at once, as this can
19461 blow a fuse if several computers are connected to the same fuse like
19462 the common setup for a classroom. The nvram-wakeup method only work
19463 for machines with a functioning hardware/BIOS clock. I&#39;ve seen old
19464 machines where the BIOS battery were dead and the hardware clock were
19465 starting from 0 (or was it 1990?) every boot. If you have one of
19466 those, you have to turn on the computer manually.&lt;/p&gt;
19467
19468 &lt;p&gt;The shutdown-at-night package is completely self contained, and can
19469 also be used outside the Debian Edu environment. For those without a
19470 central LDAP server with netgroups, one can instead touch the file
19471 &lt;tt&gt;/etc/shutdown-at-night/shutdown-at-night&lt;/tt&gt; to enable it.
19472 Perhaps you too can use it to save some power?&lt;/p&gt;
19473 </description>
19474 </item>
19475
19476 <item>
19477 <title>Third beta version of Debian Edu / Skolelinux based on Squeeze</title>
19478 <link>http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
19479 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
19480 <pubDate>Sat, 4 Feb 2012 13:25:00 +0100</pubDate>
19481 <description>&lt;p&gt;I am happy to announce that finally we managed today to wrap up and
19482 publish the third beta version of
19483 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
19484 on Squeeze. If you want to test a LDAP backed Kerberos server with
19485 out of the box PXE configuration for running diskless machines and
19486 installing new machines, check it out. If you need a software
19487 solution for your school, check it out too. The full announcement is
19488 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html&quot;&gt;available&lt;/a&gt;
19489 on the project announcement list.&lt;/p&gt;
19490
19491 &lt;p&gt;I am very happy to report these changes and improvements since
19492 beta2 (there are more, see announcement for full list):&lt;/p&gt;
19493
19494 &lt;ul&gt;
19495
19496 &lt;li&gt;It is now possible to change the pre-configured IP subnet from
19497 10.0.0.0/8 to something else by using the subnet-change tool after
19498 the installation.&lt;/li&gt;
19499
19500 &lt;li&gt;Too full partitions are now automatically extended on the Main
19501 Server, based on the rules specified in /etc/fsautoresizetab.&lt;/li&gt;
19502
19503 &lt;li&gt;The CUPS queues are now automatically flushed every night, and all
19504 disabled queues are restarted every hour. This should cut down on
19505 the amount of manual administration needed for printers.&lt;/li&gt;
19506
19507 &lt;li&gt;The set of initial users have been changed. Now a personal user
19508 for the local system administrator is created during installation
19509 instead of the previously created localadmin and super-admin users,
19510 and this user is granted administrative privileges using group
19511 membership. This reduces the number of passwords one need to keep
19512 up to date on the system.&lt;/li&gt;
19513
19514 &lt;/ul&gt;
19515
19516 &lt;p&gt;The new main server seem to work so well that I am testing it as my
19517 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
19518 for issues we could fix to polish Debian Edu even further before the
19519 final Squeeze release is published.&lt;/p&gt;
19520
19521 &lt;p&gt;Next weekend the project organise a
19522 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html&quot;&gt;developer
19523 gathering&lt;/a&gt; in Oslo. We will continue the work on the Squeeze
19524 version, and start initial planning for the Wheezy version. Perhaps I
19525 will see you there?&lt;/p&gt;
19526 </description>
19527 </item>
19528
19529 <item>
19530 <title>Handling non-free firmware in Debian Edu/Squeeze</title>
19531 <link>http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</link>
19532 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</guid>
19533 <pubDate>Fri, 27 Jan 2012 23:30:00 +0100</pubDate>
19534 <description>&lt;p&gt;With some computer hardware, one need non-free firmware blobs.
19535 This is the sad fact of todays computers. In the next version of
19536 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
19537 on Squeeze, we provide several scripts and modifications to make
19538 firmware blobs easier to handle. The common use case I run into is a
19539 laptop with a wireless network card requiring non-free firmware to
19540 work, but there are other use cases as well.&lt;/p&gt;
19541
19542 &lt;p&gt;First and foremost, Debian Edu provide ISO images for DVD and CD
19543 with all firmware packages in the Debian sections main and non-free
19544 included, to ensure debian-installer find and can install all of them
19545 during installation. This take care firmware for network devices used
19546 by the installer when installing from from local media. But for
19547 example multimedia devices are not activated in the installer and are
19548 not taken care of by this.&lt;/p&gt;
19549
19550 &lt;p&gt;For non-network devices, we provide the script
19551 &lt;tt&gt;/usr/share/debian-edu-config/tools/auto-addfirmware&lt;/tt&gt; which
19552 search through the &lt;tt&gt;dmesg&lt;/tt&gt; output for drivers requesting extra
19553 firmware. The firmware file name is looked up in the Contents-ARCH.gz
19554 file available in the package repository, and the packages providing
19555 the requested firmware file(s) is installed. I have proposed to do
19556 something similar in debian-installer (BTS report
19557 &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;#655507&lt;/a&gt;), to allow PXE
19558 installs of Debian to handle firmware installation better. Run the
19559 script as root from the command line to fetch and install the needed
19560 firmware packages.&lt;/p&gt;
19561
19562 &lt;p&gt;Debian Edu provide PXE installation of Debian out of the box, and
19563 because some machines need firmware to get their network cards
19564 working, the installation initrd some times need extra firmware
19565 included to be able to install at all. To fill the PXE installation
19566 initrd with extra firmware, the
19567 &lt;tt&gt;/usr/share/debian-edu-config/tools/pxe-addfirmware&lt;/tt&gt; script is
19568 provided. Again, just run it as root on the command line to fill the
19569 PXE initrd with firmware packages.&lt;/p&gt;
19570
19571 &lt;p&gt;Last, some LTSP clients might also need firmware to get their
19572 network cards working. For this,
19573 &lt;tt&gt;/usr/share/debian-edu-config/tools/ltsp-addfirmware&lt;/tt&gt; is
19574 provided to update the LTSP initrd with firmware blobs. It is used
19575 the same way as the other firmware related tools.&lt;/p&gt;
19576
19577 &lt;p&gt;At the moment, we do not run any of these during installation. We
19578 do not know if this is acceptable for the local administrator to use
19579 non-free software, and it is their choice.&lt;/p&gt;
19580
19581 &lt;p&gt;We plan to release beta3 this weekend. You might want to give it a
19582 try.&lt;/p&gt;
19583 </description>
19584 </item>
19585
19586 <item>
19587 <title>Setting up a new school with Debian Edu/Squeeze</title>
19588 <link>http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</link>
19589 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</guid>
19590 <pubDate>Wed, 25 Jan 2012 21:00:00 +0100</pubDate>
19591 <description>&lt;p&gt;The next version of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu
19592 / Skolelinux&lt;/a&gt; will include a new tool
19593 &lt;tt&gt;sitesummary2ldapdhcp&lt;/tt&gt;, which can be used to quickly set up all
19594 the computers in a school without much manual labour. Here is a short
19595 summary on how to use it to set up a new school.&lt;/p&gt;
19596
19597 &lt;p&gt;First, install a combined Main Server and Thin Client Server as the
19598 central server in the network. Next, PXE boot all the client machines
19599 as thin clients and wait 5 minutes after the last client booted to
19600 allow the clients to report their existence to the central server. When
19601 this is done, log on to the central server and run
19602 &lt;tt&gt;sitesummary2ldapdhcp -a&lt;/tt&gt; in the &lt;tt&gt;konsole&lt;/tt&gt; to use the
19603 collected information to generate system objects in LDAP. The output
19604 will look similar to this:&lt;/p&gt;
19605
19606 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
19607 % sitesummary2ldapdhcp -a
19608 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
19609 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.
19610
19611 Enter password if you want to activate these changes, and ^c to abort.
19612
19613 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
19614 enter password: *******
19615 %
19616 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
19617
19618 &lt;p&gt;After providing the LDAP administrative password (the same as the
19619 root password set during installation), the LDAP database will be
19620 populated with system objects for each PXE booted machine with
19621 automatically generated names. The final step to set up the school is
19622 then to log into &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa&lt;/a&gt;,
19623 the web based user, group and system administration system to change
19624 system names, add systems to the correct host groups and finally
19625 enable DHCP and DNS for the systems. All clients that should be used
19626 as diskless workstations should be added to the workstation-hosts
19627 group. After this is done, all computers can be booted again via PXE
19628 and get their assigned names and group based configuration
19629 automatically.&lt;/p&gt;
19630
19631 &lt;p&gt;We plan to release beta3 with the updated version of this feature
19632 enabled this weekend. You might want to give it a try.&lt;/p&gt;
19633
19634 &lt;p&gt;Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
19635 hosts, one need to add the option -a. I forgot to mention this in my
19636 original text, and have added it to the text now.&lt;/p&gt;
19637 </description>
19638 </item>
19639
19640 <item>
19641 <title>Changing the default Iceweasel start page in Debian Edu/Squeeze</title>
19642 <link>http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</link>
19643 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</guid>
19644 <pubDate>Tue, 10 Jan 2012 15:30:00 +0100</pubDate>
19645 <description>&lt;p&gt;In the Squeeze version of
19646 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; soon
19647 to be released, users of the system will get their default browser
19648 start page set from LDAP, allowing the system administrator to point
19649 all users to the school web page by updating one setting in LDAP. In
19650 addition to setting the default start page when a machine boots, users
19651 are shown the same page as a welcome page when they log in for the
19652 first time.&lt;/p&gt;
19653
19654 &lt;p&gt;The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
19655 labeledURI with &quot;http://www/ LDAP for Debian Edu/Skolelinux&quot; as the
19656 default content. By changing this value to another URL, all users get
19657 to see the page behind this new URL.&lt;/p&gt;
19658
19659 &lt;p&gt;An easy way to update it is by using the ldapvi tool. It can be
19660 called as &quot;&lt;tt&gt;ldapvi -ZD &#39;(cn=admin)&#39;&lt;/tt&gt;&#39; to update LDAP with the
19661 new setting.&lt;/p&gt;
19662
19663 &lt;p&gt;We have written the code to adjust the default start page and show
19664 the welcome page, and I wonder if there is an easier way to do this
19665 from within Iceweasel instead.&lt;/p&gt;
19666 </description>
19667 </item>
19668
19669 <item>
19670 <title>Second beta version of Debian Edu / Skolelinux based on Squeeze</title>
19671 <link>http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
19672 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
19673 <pubDate>Sat, 7 Jan 2012 22:50:00 +0100</pubDate>
19674 <description>&lt;p&gt;I am happy to announce that today we managed to wrap up and publish
19675 the second beta version of
19676 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;. If
19677 you want to test a LDAP backed Kerberos server with out of the box PXE
19678 configuration for running diskless machines and installing new
19679 machines, check it out. If you need a software solution for your
19680 school, check it out too. The full announcement is
19681 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html&quot;&gt;available&lt;/a&gt;
19682 on the project announcement list.&lt;/p&gt;
19683 </description>
19684 </item>
19685
19686 <item>
19687 <title>Fixing an hanging debian installer for Debian Edu</title>
19688 <link>http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</link>
19689 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</guid>
19690 <pubDate>Tue, 3 Jan 2012 11:25:00 +0100</pubDate>
19691 <description>&lt;p&gt;During christmas, I have been working getting the next version of
19692 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ready
19693 for release. The initial problem I looked at was particularly
19694 interesting.&lt;/p&gt;
19695
19696 &lt;P&gt;The installer would hang at the end when it was doing it
19697 post-installation configuration, and whatevery I did to try to find
19698 the cause and fix it always worked while I tested it, but never when I
19699 integrated it into the installer and ran the installation from
19700 scratch. I would try to restart processes, close file descriptors,
19701 remove or create files, and the installer would always unblock and
19702 wrap up its tasks.&lt;/p&gt;
19703
19704 &lt;p&gt;Eventually the cause was found. The kernel was simply running out
19705 of entropy, causing the Kerberos setup to hang waiting for more.
19706 Pressing keys was adding entropy to the kernel, and thus all my tries
19707 to fix the problem worked not because what I was typing to fix it, but
19708 because I was typing.&lt;/P&gt;
19709
19710 &lt;p&gt;The fix I implemented was to add a background process looking at
19711 the level of entropy in the kernel (by checking
19712 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
19713 installer will flush the kernel file buffers and do &#39;find /&#39; to
19714 generate some disk IO. Disk IO generate entropy in the kernel, and is
19715 one of the few things that can be initated from within the system to
19716 generate entropy.&lt;/p&gt;
19717
19718 &lt;p&gt;The fix is in
19719 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation&quot;&gt;beta1
19720 of the Debian Edu/Squeeze&lt;/a&gt; version, and we
19721 &lt;a href=&quot;http://wiki.debian.org/DebianEdu&quot;&gt;welcome more testers and
19722 developers&lt;/a&gt;. We plan to release beta2 this weekend.&lt;/p&gt;
19723 </description>
19724 </item>
19725
19726 <item>
19727 <title>Automatically upgrading server firmware on Dell PowerEdge</title>
19728 <link>http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</link>
19729 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</guid>
19730 <pubDate>Mon, 21 Nov 2011 12:00:00 +0100</pubDate>
19731 <description>&lt;p&gt;At work we have heaps of servers. I believe the total count is
19732 around 1000 at the moment. To be able to get help from the vendors
19733 when something go wrong, we want to keep the firmware on the servers
19734 up to date. If the firmware isn&#39;t the latest and greatest, the
19735 vendors typically refuse to start debugging any problems until the
19736 firmware is upgraded. So before every reboot, we want to upgrade the
19737 firmware, and we would really like everyone handling servers at the
19738 university to do this themselves when they plan to reboot a machine.
19739 For that to happen we at the unix server admin group need to provide
19740 the tools to do so.&lt;/p&gt;
19741
19742 &lt;p&gt;To make firmware upgrading easier, I am working on a script to
19743 fetch and install the latest firmware for the servers we got. Most of
19744 our hardware are from Dell and HP, so I have focused on these servers
19745 so far. This blog post is about the Dell part.&lt;/P&gt;
19746
19747 &lt;p&gt;On the Dell FTP site I was lucky enough to find
19748 &lt;a href=&quot;ftp://ftp.us.dell.com/catalog/Catalog.xml.gz&quot;&gt;an XML file&lt;/a&gt;
19749 with firmware information for all 11th generation servers, listing
19750 which firmware should be used on a given model and where on the FTP
19751 site I can find it. Using a simple perl XML parser I can then
19752 download the shell scripts Dell provides to do firmware upgrades from
19753 within Linux and reboot when all the firmware is primed and ready to
19754 be activated on the first reboot.&lt;/p&gt;
19755
19756 &lt;p&gt;This is the Dell related fragment of the perl code I am working on.
19757 Are there anyone working on similar tools for firmware upgrading all
19758 servers at a site? Please get in touch and lets share resources.&lt;/p&gt;
19759
19760 &lt;p&gt;&lt;pre&gt;
19761 #!/usr/bin/perl
19762 use strict;
19763 use warnings;
19764 use File::Temp qw(tempdir);
19765 BEGIN {
19766 # Install needed RHEL packages if missing
19767 my %rhelmodules = (
19768 &#39;XML::Simple&#39; =&gt; &#39;perl-XML-Simple&#39;,
19769 );
19770 for my $module (keys %rhelmodules) {
19771 eval &quot;use $module;&quot;;
19772 if ($@) {
19773 my $pkg = $rhelmodules{$module};
19774 system(&quot;yum install -y $pkg&quot;);
19775 eval &quot;use $module;&quot;;
19776 }
19777 }
19778 }
19779 my $errorsto = &#39;pere@hungry.com&#39;;
19780
19781 upgrade_dell();
19782
19783 exit 0;
19784
19785 sub run_firmware_script {
19786 my ($opts, $script) = @_;
19787 unless ($script) {
19788 print STDERR &quot;fail: missing script name\n&quot;;
19789 exit 1
19790 }
19791 print STDERR &quot;Running $script\n\n&quot;;
19792
19793 if (0 == system(&quot;sh $script $opts&quot;)) { # FIXME correct exit code handling
19794 print STDERR &quot;success: firmware script ran succcessfully\n&quot;;
19795 } else {
19796 print STDERR &quot;fail: firmware script returned error\n&quot;;
19797 }
19798 }
19799
19800 sub run_firmware_scripts {
19801 my ($opts, @dirs) = @_;
19802 # Run firmware packages
19803 for my $dir (@dirs) {
19804 print STDERR &quot;info: Running scripts in $dir\n&quot;;
19805 opendir(my $dh, $dir) or die &quot;Unable to open directory $dir: $!&quot;;
19806 while (my $s = readdir $dh) {
19807 next if $s =~ m/^\.\.?/;
19808 run_firmware_script($opts, &quot;$dir/$s&quot;);
19809 }
19810 closedir $dh;
19811 }
19812 }
19813
19814 sub download {
19815 my $url = shift;
19816 print STDERR &quot;info: Downloading $url\n&quot;;
19817 system(&quot;wget --quiet \&quot;$url\&quot;&quot;);
19818 }
19819
19820 sub upgrade_dell {
19821 my @dirs;
19822 my $product = `dmidecode -s system-product-name`;
19823 chomp $product;
19824
19825 if ($product =~ m/PowerEdge/) {
19826
19827 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
19828 system(&#39;yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail&#39;);
19829
19830 my $tmpdir = tempdir(
19831 CLEANUP =&gt; 1
19832 );
19833 chdir($tmpdir);
19834 fetch_dell_fw(&#39;catalog/Catalog.xml.gz&#39;);
19835 system(&#39;gunzip Catalog.xml.gz&#39;);
19836 my @paths = fetch_dell_fw_list(&#39;Catalog.xml&#39;);
19837 # -q is quiet, disabling interactivity and reducing console output
19838 my $fwopts = &quot;-q&quot;;
19839 if (@paths) {
19840 for my $url (@paths) {
19841 fetch_dell_fw($url);
19842 }
19843 run_firmware_scripts($fwopts, $tmpdir);
19844 } else {
19845 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
19846 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
19847 }
19848 chdir(&#39;/&#39;);
19849 } else {
19850 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
19851 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
19852 }
19853 }
19854
19855 sub fetch_dell_fw {
19856 my $path = shift;
19857 my $url = &quot;ftp://ftp.us.dell.com/$path&quot;;
19858 download($url);
19859 }
19860
19861 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
19862 # firmware packages to download from Dell. Only work for Linux
19863 # machines and 11th generation Dell servers.
19864 sub fetch_dell_fw_list {
19865 my $filename = shift;
19866
19867 my $product = `dmidecode -s system-product-name`;
19868 chomp $product;
19869 my ($mybrand, $mymodel) = split(/\s+/, $product);
19870
19871 print STDERR &quot;Finding firmware bundles for $mybrand $mymodel\n&quot;;
19872
19873 my $xml = XMLin($filename);
19874 my @paths;
19875 for my $bundle (@{$xml-&gt;{SoftwareBundle}}) {
19876 my $brand = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Display}-&gt;{content};
19877 my $model = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Model}-&gt;{Display}-&gt;{content};
19878 my $oscode;
19879 if (&quot;ARRAY&quot; eq ref $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}) {
19880 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}[0]-&gt;{osCode};
19881 } else {
19882 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}-&gt;{osCode};
19883 }
19884 if ($mybrand eq $brand &amp;&amp; $mymodel eq $model &amp;&amp; &quot;LIN&quot; eq $oscode)
19885 {
19886 @paths = map { $_-&gt;{path} } @{$bundle-&gt;{Contents}-&gt;{Package}};
19887 }
19888 }
19889 for my $component (@{$xml-&gt;{SoftwareComponent}}) {
19890 my $componenttype = $component-&gt;{ComponentType}-&gt;{value};
19891
19892 # Drop application packages, only firmware and BIOS
19893 next if &#39;APAC&#39; eq $componenttype;
19894
19895 my $cpath = $component-&gt;{path};
19896 for my $path (@paths) {
19897 if ($cpath =~ m%/$path$%) {
19898 push(@paths, $cpath);
19899 }
19900 }
19901 }
19902 return @paths;
19903 }
19904 &lt;/pre&gt;
19905
19906 &lt;p&gt;The code is only tested on RedHat Enterprise Linux, but I suspect
19907 it could work on other platforms with some tweaking. Anyone know a
19908 index like Catalog.xml is available from HP for HP servers? At the
19909 moment I maintain a similar list manually and it is quickly getting
19910 outdated.&lt;/p&gt;
19911 </description>
19912 </item>
19913
19914 <item>
19915 <title>Free e-book kiosk for the public libraries?</title>
19916 <link>http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</link>
19917 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</guid>
19918 <pubDate>Fri, 7 Oct 2011 19:20:00 +0200</pubDate>
19919 <description>&lt;p&gt;Here in Norway the public libraries are debating with the
19920 publishing houses how to handle electronic books. Surprisingly, the
19921 libraries seem to be willing to accept digital restriction mechanisms
19922 (DRM) on books and renting e-books with artificial scarcity from the
19923 publishing houses. Time limited renting (2-3 years) is one proposed
19924 model, and only allowing X borrowers for each book is another.
19925 Personally I find it amazing that libraries are even considering such
19926 models.&lt;/p&gt;
19927
19928 &lt;p&gt;Anyway, while reading &lt;a href=&quot;http://boklaben.no/?p=220&quot;&gt;part of
19929 this debate&lt;/a&gt;, it occurred to me that someone should present a more
19930 sensible approach to the libraries, to allow its borrowers to get used
19931 to a better model. The idea is simple:&lt;/p&gt;
19932
19933 &lt;p&gt;Create a computer system for the libraries, either in the form of a
19934 Live DVD or a installable distribution, that provide a simple kiosk
19935 solution to hand out free e-books. As a start, the books distributed
19936 by &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (about
19937 36,000 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt;
19938 (1149 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The
19939 Internet Archive&lt;/a&gt; (3,033,748 books) could be included, but any book
19940 where the copyright has expired or with a free licence could be
19941 distributed.&lt;/p&gt;
19942
19943 &lt;p&gt;The computer system would make it easy to:&lt;/p&gt;
19944
19945 &lt;ul&gt;
19946
19947 &lt;li&gt;Copy e-books into a USB stick, reading tablets, cell phones and
19948 other relevant equipment.&lt;/li&gt;
19949
19950 &lt;li&gt;Show the books for reading on the the screen in the library.&lt;/li&gt;
19951
19952 &lt;/ul&gt;
19953
19954 &lt;p&gt;In addition to such kiosk solution, there should probably be a web
19955 site as well to allow people easy access to these books without
19956 visiting the library. The site would be the distribution point for
19957 the kiosk systems, which would connect regularly to fetch any new
19958 books available.&lt;/p&gt;
19959
19960 &lt;p&gt;Are there anyone working on a system like this? I guess it would
19961 fit any library in the world, and not just the Norwegian public
19962 libraries. :)&lt;/p&gt;
19963 </description>
19964 </item>
19965
19966 <item>
19967 <title>Ripping problematic DVDs using dvdbackup and genisoimage</title>
19968 <link>http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</link>
19969 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</guid>
19970 <pubDate>Sat, 17 Sep 2011 20:20:00 +0200</pubDate>
19971 <description>&lt;p&gt;For convenience, I want to store copies of all my DVDs on my file
19972 server. It allow me to save shelf space flat while still having my
19973 movie collection easily available. It also make it possible to let
19974 the kids see their favourite DVDs without wearing the physical copies
19975 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
19976 subtitle options intact. It also ensure that the entire film is one
19977 file on the disk. As this is for personal use, the ripping is
19978 perfectly legal here in Norway.&lt;/p&gt;
19979
19980 &lt;p&gt;Normally I rip the DVDs using dd like this:&lt;/p&gt;
19981
19982 &lt;blockquote&gt;&lt;pre&gt;
19983 #!/bin/sh
19984 # apt-get install lsdvd
19985 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
19986 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
19987 &lt;/pre&gt;&lt;/blockquote&gt;
19988
19989 &lt;p&gt;But some DVDs give a input/output error when I read it, and I have
19990 been looking for a better alternative. I have no idea why this I/O
19991 error occur, but suspect my DVD drive, the Linux kernel driver or
19992 something fishy with the DVDs in question. Or perhaps all three.&lt;/p&gt;
19993
19994 &lt;p&gt;Anyway, I believe I found a solution today using dvdbackup and
19995 genisoimage. This script gave me a working ISO for a problematic
19996 movie by first extracting the DVD file system and then re-packing it
19997 back as an ISO.
19998
19999 &lt;blockquote&gt;&lt;pre&gt;
20000 #!/bin/sh
20001 # apt-get install lsdvd dvdbackup genisoimage
20002 set -e
20003 tmpdir=/storage/dvds/
20004 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
20005 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
20006 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
20007 rm -rf $tmpdir/$title
20008 &lt;/pre&gt;&lt;/blockquote&gt;
20009
20010 &lt;p&gt;Anyone know of a better way available in Debian/Squeeze?&lt;/p&gt;
20011
20012 &lt;p&gt;Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
20013 readom program from the wodim package. It is specially written to
20014 read optical media, and is called like this: &lt;tt&gt;readom dev=/dev/dvd
20015 f=image.iso&lt;/tt&gt;. It got 6 GB along with the problematic Cars DVD
20016 before it failed, and failed right away with a Timmy Time DVD.&lt;/p&gt;
20017
20018 &lt;p&gt;Next, I got a tip from Bastian Blank about
20019 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;his
20020 program python-dvdvideo&lt;/a&gt;, which seem to be just what I am looking
20021 for. Tested it with my problematic Timmy Time DVD, and it succeeded
20022 creating a ISO image. The git source built and installed just fine in
20023 Squeeze, so I guess this will be my tool of choice in the future.&lt;/p&gt;
20024 </description>
20025 </item>
20026
20027 <item>
20028 <title>How is booting into runlevel 1 different from single user boots?</title>
20029 <link>http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</link>
20030 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</guid>
20031 <pubDate>Thu, 4 Aug 2011 12:40:00 +0200</pubDate>
20032 <description>&lt;p&gt;Wouter Verhelst have some
20033 &lt;a href=&quot;http://grep.be/blog/en/retorts/pere_kubuntu_boot&quot;&gt;interesting
20034 comments and opinions&lt;/a&gt; on my blog post on
20035 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html&quot;&gt;the
20036 need to clean up /etc/rcS.d/ in Debian&lt;/a&gt; and my blog post about
20037 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html&quot;&gt;the
20038 default KDE desktop in Debian&lt;/a&gt;. I only have time to address one
20039 small piece of his comment now, and though it best to address the
20040 misunderstanding he bring forward:&lt;/p&gt;
20041
20042 &lt;p&gt;&lt;blockquote&gt;
20043 Currently, a system admin has four options: [...] boot to a
20044 single-user system (by adding &#39;single&#39; to the kernel command line;
20045 this runs rcS and rc1 scripts)
20046 &lt;/blockquote&gt;&lt;/p&gt;
20047
20048 &lt;p&gt;This make me believe Wouter believe booting into single user mode
20049 and booting into runlevel 1 is the same. I am not surprised he
20050 believe this, because it would make sense and is a quite sensible
20051 thing to believe. But because the boot in Debian is slightly broken,
20052 runlevel 1 do not work properly and it isn&#39;t the same as single user
20053 mode. I&#39;ll try to explain what is actually happing, but it is a bit
20054 hard to explain.&lt;/p&gt;
20055
20056 &lt;p&gt;Single user mode is defined like this in /etc/inittab:
20057 &quot;&lt;tt&gt;~~:S:wait:/sbin/sulogin&lt;/tt&gt;&quot;. This means the only thing that is
20058 executed in single user mode is sulogin. Single user mode is a boot
20059 state &quot;between&quot; the runlevels, and when booting into single user mode,
20060 only the scripts in /etc/rcS.d/ are executed before the init process
20061 enters the single user state. When switching to runlevel 1, the state
20062 is in fact not ending in runlevel 1, but it passes through runlevel 1
20063 and end up in the single user mode (see /etc/rc1.d/S03single, which
20064 runs &quot;init -t1 S&quot; to switch to single user mode at the end of runlevel
20065 1. It is confusing that the &#39;S&#39; (single user) init mode is not the
20066 mode enabled by /etc/rcS.d/ (which is more like the initial boot
20067 mode).&lt;/p&gt;
20068
20069 &lt;p&gt;This summary might make it clearer. When booting for the first
20070 time into single user mode, the following commands are executed:
20071 &quot;&lt;tt&gt;/etc/init.d/rc S; /sbin/sulogin&lt;/tt&gt;&quot;. When booting into
20072 runlevel 1, the following commands are executed: &quot;&lt;tt&gt;/etc/init.d/rc
20073 S; /etc/init.d/rc 1; /sbin/sulogin&lt;/tt&gt;&quot;. A problem show up when
20074 trying to continue after visiting single user mode. Not all services
20075 are started again as they should, causing the machine to end up in an
20076 unpredicatble state. This is why Debian admins recommend rebooting
20077 after visiting single user mode.&lt;/p&gt;
20078
20079 &lt;p&gt;A similar problem with runlevel 1 is caused by the amount of
20080 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
20081 to runlevel 1, the services started from /etc/rcS.d/ are not properly
20082 stopped when passing through the scripts in /etc/rc1.d/, and not
20083 started again when switching away from runlevel 1 to the runlevels
20084 2-5. I believe the problem is best fixed by moving all the scripts
20085 out of /etc/rcS.d/ that are not &lt;strong&gt;required&lt;/strong&gt; to get a
20086 functioning single user mode during boot.&lt;/p&gt;
20087
20088 &lt;p&gt;I have spent several years investigating the Debian boot system,
20089 and discovered this problem a few years ago. I suspect it originates
20090 from when sysvinit was introduced into Debian, a long time ago.&lt;/p&gt;
20091 </description>
20092 </item>
20093
20094 <item>
20095 <title>What should start from /etc/rcS.d/ in Debian? - almost nothing</title>
20096 <link>http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</link>
20097 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</guid>
20098 <pubDate>Sat, 30 Jul 2011 14:00:00 +0200</pubDate>
20099 <description>&lt;p&gt;In the Debian boot system, several packages include scripts that
20100 are started from /etc/rcS.d/. In fact, there is a bite more of them
20101 than make sense, and this causes a few problems. What kind of
20102 problems, you might ask. There are at least two problems. The first
20103 is that it is not possible to recover a machine after switching to
20104 runlevel 1. One need to actually reboot to get the machine back to
20105 the expected state. The other is that single user boot will sometimes
20106 run into problems because some of the subsystems are activated before
20107 the root login is presented, causing problems when trying to recover a
20108 machine from a problem in that subsystem. A minor additional point is
20109 that moving more scripts out of rcS.d/ and into the other rc#.d/
20110 directories will increase the amount of scripts that can run in
20111 parallel during boot, and thus decrease the boot time.&lt;/p&gt;
20112
20113 &lt;p&gt;So, which scripts should start from rcS.d/. In short, only the
20114 scripts that _have_ to execute before the root login prompt is
20115 presented during a single user boot should go there. Everything else
20116 should go into the numeric runlevels. This means things like
20117 lm-sensors, fuse and x11-common should not run from rcS.d, but from
20118 the numeric runlevels. Today in Debian, there are around 115 init.d
20119 scripts that are started from rcS.d/, and most of them should be moved
20120 out. Do your package have one of them? Please help us make single
20121 user and runlevel 1 better by moving it.&lt;/p&gt;
20122
20123 &lt;p&gt;Scripts setting up the screen, keyboard, system partitions
20124 etc. should still be started from rcS.d/, but there is for example no
20125 need to have the network enabled before the single user login prompt
20126 is presented.&lt;/p&gt;
20127
20128 &lt;p&gt;As always, things are not so easy to fix as they sound. To keep
20129 Debian systems working while scripts migrate and during upgrades, the
20130 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
20131 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
20132 and the next ones can only be moved when their dependencies have been
20133 moved first. This migration must be done sequentially while we ensure
20134 that the package system upgrade packages in the right order to keep
20135 the system state correct. This will require some coordination when it
20136 comes to network related packages, but most of the packages with
20137 scripts that should migrate do not have anything in rcS.d/ depending
20138 on them. Some packages have already been updated, like the sudo
20139 package, while others are still left to do. I wish I had time to work
20140 on this myself, but real live constrains make it unlikely that I will
20141 find time to push this forward.&lt;/p&gt;
20142 </description>
20143 </item>
20144
20145 <item>
20146 <title>What is missing in the Debian desktop, or why my parents use Kubuntu</title>
20147 <link>http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</link>
20148 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</guid>
20149 <pubDate>Fri, 29 Jul 2011 08:10:00 +0200</pubDate>
20150 <description>&lt;p&gt;While at Debconf11, I have several times during discussions
20151 mentioned the issues I believe should be improved in Debian for its
20152 desktop to be useful for more people. The use case for this is my
20153 parents, which are currently running Kubuntu which solve the
20154 issues.&lt;/p&gt;
20155
20156 &lt;p&gt;I suspect these four missing features are not very hard to
20157 implement. After all, they are present in Ubuntu, so if we wanted to
20158 do this in Debian we would have a source.&lt;/p&gt;
20159
20160 &lt;ol&gt;
20161
20162 &lt;li&gt;&lt;strong&gt;Simple GUI based upgrade of packages.&lt;/strong&gt; When there
20163 are new packages available for upgrades, a icon in the KDE status bar
20164 indicate this, and clicking on it will activate the simple upgrade
20165 tool to handle it. I have no problem guiding both of my parents
20166 through the process over the phone. If a kernel reboot is required,
20167 this too is indicated by the status bars and the upgrade tool. Last
20168 time I checked, nothing with the same features was working in KDE in
20169 Debian.&lt;/li&gt;
20170
20171 &lt;li&gt;&lt;strong&gt;Simple handling of missing Firefox browser
20172 plugins.&lt;/strong&gt; When the browser encounter a MIME type it do not
20173 currently have a handler for, it will ask the user if the system
20174 should search for a package that would add support for this MIME type,
20175 and if the user say yes, the APT sources will be searched for packages
20176 advertising the MIME type in their control file (visible in the
20177 Packages file in the APT archive). If one or more packages are found,
20178 it is a simple click of the mouse to add support for the missing mime
20179 type. If the package require the user to accept some non-free
20180 license, this is explained to the user. The entire process make it
20181 more clear to the user why something do not work in the browser, and
20182 make the chances higher for the user to blame the web page authors and
20183 not the browser for any missing features.&lt;/li&gt;
20184
20185 &lt;li&gt;&lt;strong&gt;Simple handling of missing multimedia codec/format
20186 handlers.&lt;/strong&gt; When the media players encounter a format or codec
20187 it is not supporting, a dialog pop up asking the user if the system
20188 should search for a package that would add support for it. This
20189 happen with things like MP3, Windows Media or H.264. The selection
20190 and installation procedure is very similar to the Firefox browser
20191 plugin handling. This is as far as I know implemented using a
20192 gstreamer hook. The end result is that the user easily get access to
20193 the codecs that are present from the APT archives available, while
20194 explaining more on why a given format is unsupported by Ubuntu.&lt;/li&gt;
20195
20196 &lt;li&gt;&lt;strong&gt;Better browser handling of some MIME types.&lt;/strong&gt; When
20197 displaying a text/plain file in my Debian browser, it will propose to
20198 start emacs to show it. If I remember correctly, when doing the same
20199 in Kunbutu it show the file as a text file in the browser. At least I
20200 know Opera will show text files within the browser. I much prefer the
20201 latter behaviour.&lt;/li&gt;
20202
20203 &lt;/ol&gt;
20204
20205 &lt;p&gt;There are other nice features as well, like the simplified suite
20206 upgrader, but given that I am the one mostly doing the dist-upgrade,
20207 it do not matter much.&lt;/p&gt;
20208
20209 &lt;p&gt;I really hope we could get these features in place for the next
20210 Debian release. It would require the coordinated effort of several
20211 maintainers, but would make the end user experience a lot better.&lt;/p&gt;
20212 </description>
20213 </item>
20214
20215 <item>
20216 <title>Perl modules used by FixMyStreet which are missing in Debian/Squeeze</title>
20217 <link>http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</link>
20218 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</guid>
20219 <pubDate>Tue, 26 Jul 2011 12:25:00 +0200</pubDate>
20220 <description>&lt;p&gt;The Norwegian &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/A&gt;
20221 site is build on Debian/Squeeze, and this platform was chosen because
20222 I am most familiar with Debian (being a Debian Developer for around 10
20223 years) because it is the latest stable Debian release which should get
20224 security support for a few years.&lt;/p&gt;
20225
20226 &lt;p&gt;The web service is written in Perl, and depend on some perl modules
20227 that are missing in Debian at the moment. It would be great if these
20228 modules were added to the Debian archive, allowing anyone to set up
20229 their own &lt;a href=&quot;http://www.fixmystreet.com&quot;&gt;FixMyStreet&lt;/a&gt; clone
20230 in their own country using only Debian packages. The list of modules
20231 missing in Debian/Squeeze isn&#39;t very long, and I hope the perl group
20232 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
20233 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
20234 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
20235 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
20236 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
20237 easier in the future.&lt;/p&gt;
20238
20239 &lt;p&gt;Thanks to the great tools in Debian, getting the missing modules
20240 installed on my server was a simple call to &#39;cpan2deb Module::Name&#39;
20241 and &#39;dpkg -i&#39; to install the resulting package. But this leave me
20242 with the responsibility of tracking security problems, which I really
20243 do not have time for.&lt;/p&gt;
20244 </description>
20245 </item>
20246
20247 <item>
20248 <title>Free Software vs. proprietary softare...</title>
20249 <link>http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</link>
20250 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</guid>
20251 <pubDate>Mon, 20 Jun 2011 12:50:00 +0200</pubDate>
20252 <description>&lt;p&gt;Reading
20253 &lt;a href=&quot;http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/&quot;&gt;the
20254 thingiverse blog&lt;/a&gt;, I came across two highlights of interesting
20255 parts of the
20256 &lt;a href=&quot;http://wiki.blender.org/index.php/Autodesk_EULA&quot;&gt;Autodesk&lt;/a&gt;
20257 and
20258 &lt;a href=&quot;http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html&quot;&gt;Microsoft
20259 Kinect&lt;/a&gt; End User License Agreements (EULAs), which illustrates
20260 quite well why I stay away from software with EULAs. Whenever I take
20261 the time to read their content, the terms are simply unacceptable.&lt;/p&gt;
20262 </description>
20263 </item>
20264
20265 <item>
20266 <title>Experimental Open311 API for the mySociety fixmystreet system</title>
20267 <link>http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</link>
20268 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</guid>
20269 <pubDate>Sat, 30 Apr 2011 17:20:00 +0200</pubDate>
20270 <description>&lt;p&gt;Today, the first draft implementation of an
20271 &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; for the Norwegian
20272 service &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; started to
20273 work. It is only available on the developer server for now, and I
20274 have not tested it using any existing Open311 client (I lack the
20275 platforms needed to run the clients I have found so far), but it is
20276 able to query the database and extract a list of open and closed
20277 requests within a given category and reported to a given municipality.
20278 I believe that is a good start to create a useful service for those
20279 that want to do data mining on the requests submitted so far.&lt;/p&gt;
20280
20281 &lt;p&gt;Where is it? Visit
20282 &lt;a href=&quot;http://fiksgatami-dev.nuug.no/open311.cgi/v2/&quot;&gt;http://fiksgatami-dev.nuug.no/open311.cgi/v2/&lt;/a&gt;
20283 to have a look. Please send feedback to the
20284 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
20285 (at) nuug.no&lt;/a&gt; mailing list.&lt;/p&gt;
20286 </description>
20287 </item>
20288
20289 <item>
20290 <title>Initial notes on adding Open311 server API on FixMyStreet</title>
20291 <link>http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</link>
20292 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</guid>
20293 <pubDate>Fri, 29 Apr 2011 10:00:00 +0200</pubDate>
20294 <description>&lt;p&gt;The last few days I have spent some time trying to add support for
20295 the &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; in the
20296 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;Norwegian FixMyStreet service&lt;/a&gt;.
20297 Earlier I believed Open311 would be a useful API to use to submit
20298 reports to the municipalities, but when I noticed that the
20299 &lt;a href=&quot;http://fixmystreet.org.nz/&quot;&gt;New Zealand version&lt;/a&gt; of
20300 FixMyStreet had implemented Open311 on the server side, it occurred to
20301 me that this was a nice way to allow the public, press and
20302 municipalities to do data mining directly in the FixMyStreet service.
20303 Thus I went to work implementing the Open311 specification for
20304 FixMyStreet. The implementation is not yet ready, but I am starting
20305 to get a draft limping along. In the process, I have discovered a few
20306 issues with the Open311 specification.&lt;/p&gt;
20307
20308 &lt;p&gt;One obvious missing feature is the lack of natural language
20309 handling in the specification. The specification seem to assume all
20310 reports will be written in English, and do not provide a way for the
20311 receiving end to specify which languages are understood there. To be
20312 able to use the same client and submit to several Open311 receivers,
20313 it would be useful to know which language to use when writing reports.
20314 I believe the specification should be extended to allow the receivers
20315 of problem reports to specify which language they accept, and the
20316 submitter to specify which language the report is written in.
20317 Language of a text can also be automatically guessed using statistical
20318 methods, but for multi-lingual persons like myself, it is useful to
20319 know which language to use when writing a problem report. I suspect
20320 some lang=nb,nn kind of attribute would solve it.&lt;/p&gt;
20321
20322 &lt;p&gt;A key part of the Open311 API is the list of services provided,
20323 which is similar to the categories used by FixMyStreet. One issue I
20324 run into is the need to specify both name and unique identifier for
20325 each category. The specification do not state that the identifier
20326 should be numeric, but all example implementations have used numbers
20327 here. In FixMyStreet, there is no number associated with each
20328 category. As the specification do not forbid it, I will use the name
20329 as the unique identifier for now and see how open311 clients handle
20330 it.&lt;/p&gt;
20331
20332 &lt;p&gt;The report format in open311 and the report format in FixMyStreet
20333 differ in a key part. FixMyStreet have a title and a description,
20334 while Open311 only have a description and lack the title. I&#39;m not
20335 quite sure how to best handle this yet. When asking for a FixMyStreet
20336 report in Open311 format, I just merge title an description into the
20337 open311 description, but this is not going to work if the open311 API
20338 should be used for submitting new reports to FixMyStreet.&lt;/p&gt;
20339
20340 &lt;p&gt;The search feature in Open311 is missing a way to ask for problems
20341 near a geographic location. I believe this is important if one is to
20342 use Open311 as the query language for mobile units. The specification
20343 should be extended to handle this, probably using some new lat=, lon=
20344 and range= options.&lt;/p&gt;
20345
20346 &lt;p&gt;The final challenge I see is that the FixMyStreet code handle
20347 several administrations in one interface, while the Open311 API seem
20348 to assume only one administration. For FixMyStreet, this mean a
20349 report can be sent to several administrations, and the categories
20350 available depend on the location of the problem. Not quite sure how
20351 to best handle this. I&#39;ve noticed
20352 &lt;a href=&quot;http://seeclickfix.com/open311/&quot;&gt;SeeClickFix&lt;/a&gt; added
20353 latitude and longitude options to the services request, but it do not
20354 solve the problem of what to return when no location is specified.
20355 Will have to investigate this a bit more.&lt;/p&gt;
20356
20357 &lt;p&gt;My distaste for web forums have kept me from bringing these issues
20358 up with the open311 developer group. I really wish they had a email
20359 list available via &lt;a href=&quot;http://www.gmane.org/&quot;&gt;Gmane&lt;/a&gt; to use for
20360 discussions instead of only
20361 &lt;a href=&quot;http://lists.open311.org/groups/discuss&quot;&gt;a forum&lt;a/&gt;. Oh,
20362 well. That will probably resolve itself, one way or another. I&#39;ve
20363 also tried visiting the IRC channel #open311 on FreeNode, but no-one
20364 seem to reply to my questions there. This make me wonder if I just
20365 fail to understand how the open311 community work. It sure do not
20366 work like the free software project communities I am used to.&lt;/p&gt;
20367 </description>
20368 </item>
20369
20370 <item>
20371 <title>Gnash enteres Google Summer of Code 2011</title>
20372 <link>http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</link>
20373 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</guid>
20374 <pubDate>Wed, 6 Apr 2011 09:00:00 +0200</pubDate>
20375 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is still
20376 the most promising solution for a Free Software Flash implementation.
20377 A few days ago the project
20378 &lt;a href=&quot;http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html&quot;&gt;announced&lt;/a&gt;
20379 that it will participate in Google Summer of Code. I hope many
20380 students apply, and that some of them succeed in getting AVM2 support
20381 into Gnash.&lt;/p&gt;
20382 </description>
20383 </item>
20384
20385 <item>
20386 <title>A Norwegian FixMyStreet have kept me busy the last few weeks</title>
20387 <link>http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</link>
20388 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</guid>
20389 <pubDate>Sun, 3 Apr 2011 22:50:00 +0200</pubDate>
20390 <description>&lt;p&gt;Here is a small update for my English readers. Most of my blog
20391 posts have been in Norwegian the last few weeks, so here is a short
20392 update in English.&lt;/p&gt;
20393
20394 &lt;p&gt;The kids still keep me too busy to get much free software work
20395 done, but I did manage to organise a project to get a Norwegian port
20396 of the British service
20397 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; up and running,
20398 and it has been running for a month now. The entire project has been
20399 organised by me and two others. Around Christmas we gathered sponsors
20400 to fund the development work. In January I drafted a contract with
20401 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; on what to develop,
20402 and in February the development took place. Most of it involved
20403 converting the source to use GPS coordinates instead of British
20404 easting/northing, and the resulting code should be a lot easier to get
20405 running in any country by now. The Norwegian
20406 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is using
20407 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; as the map
20408 source and the source for administrative borders in Norway, and
20409 support for this had to be added/fixed.&lt;/p&gt;
20410
20411 &lt;p&gt;The Norwegian version went live March 3th, and we spent the weekend
20412 polishing the system before we announced it March 7th. The system is
20413 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
20414 problem reports in a few weeks. Soon we hope to announce the Android
20415 and iPhone versions making it even easier to report problems with the
20416 public infrastructure.&lt;/p&gt;
20417
20418 &lt;p&gt;Perhaps something to consider for those of you in countries without
20419 such service?&lt;/p&gt;
20420 </description>
20421 </item>
20422
20423 <item>
20424 <title>Using NVD and CPE to track CVEs in locally maintained software</title>
20425 <link>http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</link>
20426 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</guid>
20427 <pubDate>Fri, 28 Jan 2011 15:40:00 +0100</pubDate>
20428 <description>&lt;p&gt;The last few days I have looked at ways to track open security
20429 issues here at my work with the University of Oslo. My idea is that
20430 it should be possible to use the information about security issues
20431 available on the Internet, and check our locally
20432 maintained/distributed software against this information. It should
20433 allow us to verify that no known security issues are forgotten. The
20434 CVE database listing vulnerabilities seem like a great central point,
20435 and by using the package lists from Debian mapped to CVEs provided by
20436 the testing security team, I believed it should be possible to figure
20437 out which security holes were present in our free software
20438 collection.&lt;/p&gt;
20439
20440 &lt;p&gt;After reading up on the topic, it became obvious that the first
20441 building block is to be able to name software packages in a unique and
20442 consistent way across data sources. I considered several ways to do
20443 this, for example coming up with my own naming scheme like using URLs
20444 to project home pages or URLs to the Freshmeat entries, or using some
20445 existing naming scheme. And it seem like I am not the first one to
20446 come across this problem, as MITRE already proposed and implemented a
20447 solution. Enter the &lt;a href=&quot;http://cpe.mitre.org/index.html&quot;&gt;Common
20448 Platform Enumeration&lt;/a&gt; dictionary, a vocabulary for referring to
20449 software, hardware and other platform components. The CPE ids are
20450 mapped to CVEs in the &lt;a href=&quot;http://web.nvd.nist.gov/&quot;&gt;National
20451 Vulnerability Database&lt;/a&gt;, allowing me to look up know security
20452 issues for any CPE name. With this in place, all I need to do is to
20453 locate the CPE id for the software packages we use at the university.
20454 This is fairly trivial (I google for &#39;cve cpe $package&#39; and check the
20455 NVD entry if a CVE for the package exist).&lt;/p&gt;
20456
20457 &lt;p&gt;To give you an example. The GNU gzip source package have the CPE
20458 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
20459 check out, one could look up
20460 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/search?cpe=cpe%3A%2Fa%3Agnu%3Agzip:1.3.3&quot;&gt;cpe:/a:gnu:gzip:1.3.3
20461 in NVD&lt;/a&gt; and get a list of 6 security holes with public CVE entries.
20462 The most recent one is
20463 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001&quot;&gt;CVE-2010-0001&lt;/a&gt;,
20464 and at the bottom of the NVD page for this vulnerability the complete
20465 list of affected versions is provided.&lt;/p&gt;
20466
20467 &lt;p&gt;The NVD database of CVEs is also available as a XML dump, allowing
20468 for offline processing of issues. Using this dump, I&#39;ve written a
20469 small script taking a list of CPEs as input and list all CVEs
20470 affecting the packages represented by these CPEs. One give it CPEs
20471 with version numbers as specified above and get a list of open
20472 security issues out.&lt;/p&gt;
20473
20474 &lt;p&gt;Of course for this approach to be useful, the quality of the NVD
20475 information need to be high. For that to happen, I believe as many as
20476 possible need to use and contribute to the NVD database. I notice
20477 RHEL is providing
20478 &lt;a href=&quot;https://www.redhat.com/security/data/metrics/rhsamapcpe.txt&quot;&gt;a
20479 map from CVE to CPE&lt;/a&gt;, indicating that they are using the CPE
20480 information. I&#39;m not aware of Debian and Ubuntu doing the same.&lt;/p&gt;
20481
20482 &lt;p&gt;To get an idea about the quality for free software, I spent some
20483 time making it possible to compare the CVE database from Debian with
20484 the CVE database in NVD. The result look fairly good, but there are
20485 some inconsistencies in NVD (same software package having several
20486 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
20487 Debian believe are affected by a CVE). Hope to find time to improve
20488 the quality of NVD, but that require being able to get in touch with
20489 someone maintaining it. So far my three emails with questions and
20490 corrections have not seen any reply, but I hope contact can be
20491 established soon.&lt;/p&gt;
20492
20493 &lt;p&gt;An interesting application for CPEs is cross platform package
20494 mapping. It would be useful to know which packages in for example
20495 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
20496 this would be trivial if all linux distributions provided CPE entries
20497 for their packages.&lt;/p&gt;
20498 </description>
20499 </item>
20500
20501 <item>
20502 <title>Which module is loaded for a given PCI and USB device?</title>
20503 <link>http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</link>
20504 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</guid>
20505 <pubDate>Sun, 23 Jan 2011 00:20:00 +0100</pubDate>
20506 <description>&lt;p&gt;In the
20507 &lt;a href=&quot;http://packages.qa.debian.org/discover-data&quot;&gt;discover-data&lt;/a&gt;
20508 package in Debian, there is a script to report useful information
20509 about the running hardware for use when people report missing
20510 information. One part of this script that I find very useful when
20511 debugging hardware problems, is the part mapping loaded kernel module
20512 to the PCI device it claims. It allow me to quickly see if the kernel
20513 module I expect is driving the hardware I am struggling with. To see
20514 the output, make sure discover-data is installed and run
20515 &lt;tt&gt;/usr/share/bug/discover-data 3&gt;&amp;1&lt;/tt&gt;. The relevant output on
20516 one of my machines like this:&lt;/p&gt;
20517
20518 &lt;pre&gt;
20519 loaded modules:
20520 10de:03eb i2c_nforce2
20521 10de:03f1 ohci_hcd
20522 10de:03f2 ehci_hcd
20523 10de:03f0 snd_hda_intel
20524 10de:03ec pata_amd
20525 10de:03f6 sata_nv
20526 1022:1103 k8temp
20527 109e:036e bttv
20528 109e:0878 snd_bt87x
20529 11ab:4364 sky2
20530 &lt;/pre&gt;
20531
20532 &lt;p&gt;The code in question look like this, slightly modified for
20533 readability and to drop the output to file descriptor 3:&lt;/p&gt;
20534
20535 &lt;pre&gt;
20536 if [ -d /sys/bus/pci/devices/ ] ; then
20537 echo loaded pci modules:
20538 (
20539 cd /sys/bus/pci/devices/
20540 for address in * ; do
20541 if [ -d &quot;$address/driver/module&quot; ] ; then
20542 module=`cd $address/driver/module ; pwd -P | xargs basename`
20543 if grep -q &quot;^$module &quot; /proc/modules ; then
20544 address=$(echo $address |sed s/0000://)
20545 id=`lspci -n -s $address | tail -n 1 | awk &#39;{print $3}&#39;`
20546 echo &quot;$id $module&quot;
20547 fi
20548 fi
20549 done
20550 )
20551 echo
20552 fi
20553 &lt;/pre&gt;
20554
20555 &lt;p&gt;Similar code could be used to extract USB device module
20556 mappings:&lt;/p&gt;
20557
20558 &lt;pre&gt;
20559 if [ -d /sys/bus/usb/devices/ ] ; then
20560 echo loaded usb modules:
20561 (
20562 cd /sys/bus/usb/devices/
20563 for address in * ; do
20564 if [ -d &quot;$address/driver/module&quot; ] ; then
20565 module=`cd $address/driver/module ; pwd -P | xargs basename`
20566 if grep -q &quot;^$module &quot; /proc/modules ; then
20567 address=$(echo $address |sed s/0000://)
20568 id=$(lsusb -s $address | tail -n 1 | awk &#39;{print $6}&#39;)
20569 if [ &quot;$id&quot; ] ; then
20570 echo &quot;$id $module&quot;
20571 fi
20572 fi
20573 fi
20574 done
20575 )
20576 echo
20577 fi
20578 &lt;/pre&gt;
20579
20580 &lt;p&gt;This might perhaps be something to include in other tools as
20581 well.&lt;/p&gt;
20582 </description>
20583 </item>
20584
20585 <item>
20586 <title>The video format most supported in web browsers?</title>
20587 <link>http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</link>
20588 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</guid>
20589 <pubDate>Sun, 16 Jan 2011 00:20:00 +0100</pubDate>
20590 <description>&lt;p&gt;The video format struggle on the web continues, and the three
20591 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
20592 seem to use H.264, while others use Ogg Theora. Interestingly enough,
20593 the comments I see give me the feeling that a lot of people believe
20594 H.264 is the most supported video format in browsers, but according to
20595 the Wikipedia article on
20596 &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;HTML5 video&lt;/a&gt;,
20597 this is not true. Check out the nice table of supprted formats in
20598 different browsers there. The format supported by most browsers is
20599 Ogg Theora, supported by released versions of Mozilla Firefox, Google
20600 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
20601 BOLT browser, while not supported by Internet Explorer nor Safari.
20602 The runner up is WebM supported by released versions of Google Chrome
20603 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
20604 Firefox. H.264 is supported by released versions of Safari, Origyn
20605 Web Browser and BOLT browser, and the test version of Internet
20606 Explorer. Those wanting Ogg Theora support in Internet Explorer and
20607 Safari can install plugins to get it.&lt;/p&gt;
20608
20609 &lt;p&gt;To me, the simple conclusion from this is that to reach most users
20610 without any extra software installed, one uses Ogg Theora with the
20611 HTML5 video tag. Of course to reach all those without a browser
20612 handling HTML5, one need fallback mechanisms. In
20613 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;, we provide first fallback to a
20614 plugin capable of playing MPEG1 video, and those without such support
20615 we have a second fallback to the Cortado java applet playing Ogg
20616 Theora. This seem to work quite well, as can be seen in an &lt;a
20617 href=&quot;http://www.nuug.no/aktiviteter/20110111-semantic-web/&quot;&gt;example
20618 from last week&lt;/a&gt;.&lt;/p&gt;
20619
20620 &lt;p&gt;The reason Ogg Theora is the most supported format, and H.264 is
20621 the least supported is simple. Implementing and using H.264
20622 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
20623 are incompatible with free software licensing. If you believed H.264
20624 was without royalties and license terms, check out
20625 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
20626 Free That Matters&lt;/a&gt;&quot; by Simon Phipps.&lt;/p&gt;
20627
20628 &lt;p&gt;A incomplete list of sites providing video in Ogg Theora is
20629 available from
20630 &lt;a href=&quot;http://wiki.xiph.org/index.php/List_of_Theora_videos&quot;&gt;the
20631 Xiph.org wiki&lt;/a&gt;, if you want to have a look. I&#39;m not aware of a
20632 similar list for WebM nor H.264.&lt;/p&gt;
20633
20634 &lt;p&gt;Update 2011-01-16 09:40: A question from Tollef on IRC made me
20635 realise that I failed to make it clear enough this text is about the
20636 &amp;lt;video&amp;gt; tag support in browsers and not the video support
20637 provided by external plugins like the Flash plugins.&lt;/p&gt;
20638 </description>
20639 </item>
20640
20641 <item>
20642 <title>Chrome plan to drop H.264 support for HTML5 &amp;lt;video&amp;gt;</title>
20643 <link>http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</link>
20644 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</guid>
20645 <pubDate>Wed, 12 Jan 2011 22:10:00 +0100</pubDate>
20646 <description>&lt;p&gt;Today I discovered
20647 &lt;a href=&quot;http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome&quot;&gt;via
20648 digi.no&lt;/a&gt; that the Chrome developers, in a surprising announcement,
20649 &lt;a href=&quot;http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html&quot;&gt;yesterday
20650 announced&lt;/a&gt; plans to drop H.264 support for HTML5 &amp;lt;video&amp;gt; in
20651 the browser. The argument used is that H.264 is not a &quot;completely
20652 open&quot; codec technology. If you believe H.264 was free for everyone
20653 to use, I recommend having a look at the essay
20654 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
20655 Free That Matters&lt;/a&gt;&quot;. It is not free of cost for creators of video
20656 tools, nor those of us that want to publish on the Internet, and the
20657 terms provided by MPEG-LA excludes free software projects from
20658 licensing the patents needed for H.264. Some background information
20659 on the Google announcement is available from
20660 &lt;a href=&quot;http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome&quot;&gt;OSnews&lt;/a&gt;.
20661 A good read. :)&lt;/p&gt;
20662
20663 &lt;p&gt;Personally, I believe it is great that Google is taking a stand to
20664 promote equal terms for everyone when it comes to video publishing on
20665 the Internet. This can only be done by publishing using free and open
20666 standards, which is only possible if the web browsers provide support
20667 for these free and open standards. At the moment there seem to be two
20668 camps in the web browser world when it come to video support. Some
20669 browsers support H.264, and others support
20670 &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg Theora&lt;/a&gt; and
20671 &lt;a href=&quot;http://www.webmproject.org/&quot;&gt;WebM&lt;/a&gt;
20672 (&lt;a href=&quot;http://www.diracvideo.org/&quot;&gt;Dirac&lt;/a&gt; is not really an option
20673 yet), forcing those of us that want to publish video on the Internet
20674 and which can not accept the terms of use presented by MPEG-LA for
20675 H.264 to not reach all potential viewers.
20676 Wikipedia keep &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;an
20677 updated summary&lt;/a&gt; of the current browser support.&lt;/p&gt;
20678
20679 &lt;p&gt;Not surprising, several people would prefer Google to keep
20680 promoting H.264, and John Gruber
20681 &lt;a href=&quot;http://daringfireball.net/2011/01/simple_questions&quot;&gt;presents
20682 the mind set&lt;/a&gt; of these people quite well. His rhetorical questions
20683 provoked a reply from Thom Holwerda with another set of questions
20684 &lt;a href=&quot;http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM&quot;&gt;presenting
20685 the issues with H.264&lt;/a&gt;. Both are worth a read.&lt;/p&gt;
20686
20687 &lt;p&gt;Some argue that if Google is dropping H.264 because it isn&#39;t free,
20688 they should also drop support for the Adobe Flash plugin. This
20689 argument was covered by Simon Phipps in
20690 &lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm&quot;&gt;todays
20691 blog post&lt;/a&gt;, which I find to put the issue in context. To me it
20692 make perfect sense to drop native H.264 support for HTML5 in the
20693 browser while still allowing plugins.&lt;/p&gt;
20694
20695 &lt;p&gt;I suspect the reason this announcement make so many people protest,
20696 is that all the users and promoters of H.264 suddenly get an uneasy
20697 feeling that they might be backing the wrong horse. A lot of TV
20698 broadcasters have been moving to H.264 the last few years, and a lot
20699 of money has been invested in hardware based on the belief that they
20700 could use the same video format for both broadcasting and web
20701 publishing. Suddenly this belief is shaken.&lt;/p&gt;
20702
20703 &lt;p&gt;An interesting question is why Google is doing this. While the
20704 presented argument might be true enough, I believe Google would only
20705 present the argument if the change make sense from a business
20706 perspective. One reason might be that they are currently negotiating
20707 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
20708 feeling that dropping H.264 completely from Chroome, Youtube and
20709 Google Video would improve the negotiation position of Google.
20710 Another reason might be that Google want to save money by not having
20711 to pay the video tax to MPEG-LA at all, and thus want to move to a
20712 video format not requiring royalties at all. A third reason might be
20713 that the Chrome development team simply want to avoid the
20714 Chrome/Chromium split to get more help with the development of Chrome.
20715 I guess time will tell.&lt;/p&gt;
20716
20717 &lt;p&gt;Update 2011-01-15: The Google Chrome team provided
20718 &lt;a href=&quot;http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html&quot;&gt;more
20719 background and information on the move&lt;/a&gt; it a blog post yesterday.&lt;/p&gt;
20720 </description>
20721 </item>
20722
20723 <item>
20724 <title>What standards are Free and Open as defined by Digistan?</title>
20725 <link>http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</link>
20726 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</guid>
20727 <pubDate>Thu, 30 Dec 2010 23:15:00 +0100</pubDate>
20728 <description>&lt;p&gt;After trying to
20729 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html&quot;&gt;compare
20730 Ogg Theora&lt;/a&gt; to
20731 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the Digistan
20732 definition&lt;/a&gt; of a free and open standard, I concluded that this need
20733 to be done for more standards and started on a framework for doing
20734 this. As a start, I want to get the status for all the standards in
20735 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
20736 JPEG, PNG, SVG and others. But to be able to complete this in a
20737 reasonable time frame, I will need help.&lt;/p&gt;
20738
20739 &lt;p&gt;If you want to help out with this work, please visit
20740 &lt;a href=&quot;http://wiki.nuug.no/grupper/standard/digistan-analyse&quot;&gt;the
20741 wiki pages I have set up for this&lt;/a&gt;, and let me know that you want
20742 to help out. The IRC channel #nuug on irc.freenode.net is a good
20743 place to coordinate this for now, as it is the IRC channel for the
20744 NUUG association where I have created the framework (I am the leader
20745 of the Norwegian Unix User Group).&lt;/p&gt;
20746
20747 &lt;p&gt;The framework is still forming, and a lot is left to do. Do not be
20748 scared by the sketchy form of the current pages. :)&lt;/p&gt;
20749 </description>
20750 </item>
20751
20752 <item>
20753 <title>The many definitions of a open standard</title>
20754 <link>http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</link>
20755 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</guid>
20756 <pubDate>Mon, 27 Dec 2010 14:45:00 +0100</pubDate>
20757 <description>&lt;p&gt;One of the reasons I like the Digistan definition of
20758 &quot;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;Free and
20759 Open Standard&lt;/a&gt;&quot; is that this is a new term, and thus the meaning of
20760 the term has been decided by Digistan. The term &quot;Open Standard&quot; has
20761 become so misunderstood that it is no longer very useful when talking
20762 about standards. One end up discussing which definition is the best
20763 one and with such frame the only one gaining are the proponents of
20764 de-facto standards and proprietary solutions.&lt;/p&gt;
20765
20766 &lt;p&gt;But to give us an idea about the diversity of definitions of open
20767 standards, here are a few that I know about. This list is not
20768 complete, but can be a starting point for those that want to do a
20769 complete survey. More definitions are available on the
20770 &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_standard&quot;&gt;wikipedia
20771 page&lt;/a&gt;.&lt;/p&gt;
20772
20773 &lt;p&gt;First off is my favourite, the definition from the European
20774 Interoperability Framework version 1.0. Really sad to notice that BSA
20775 and others has succeeded in getting it removed from version 2.0 of the
20776 framework by stacking the committee drafting the new version with
20777 their own people. Anyway, the definition is still available and it
20778 include the key properties needed to make sure everyone can use a
20779 specification on equal terms.&lt;/p&gt;
20780
20781 &lt;blockquote&gt;
20782
20783 &lt;p&gt;The following are the minimal characteristics that a specification
20784 and its attendant documents must have in order to be considered an
20785 open standard:&lt;/p&gt;
20786
20787 &lt;ul&gt;
20788
20789 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
20790 organisation, and its ongoing development occurs on the basis of an
20791 open decision-making procedure available to all interested parties
20792 (consensus or majority decision etc.).&lt;/li&gt;
20793
20794 &lt;li&gt;The standard has been published and the standard specification
20795 document is available either freely or at a nominal charge. It must be
20796 permissible to all to copy, distribute and use it for no fee or at a
20797 nominal fee.&lt;/li&gt;
20798
20799 &lt;li&gt;The intellectual property - i.e. patents possibly present - of
20800 (parts of) the standard is made irrevocably available on a royalty-
20801 free basis.&lt;/li&gt;
20802
20803 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
20804
20805 &lt;/ul&gt;
20806 &lt;/blockquote&gt;
20807
20808 &lt;p&gt;Another one originates from my friends over at
20809 &lt;a href=&quot;http://www.dkuug.dk/&quot;&gt;DKUUG&lt;/a&gt;, who coined and gathered
20810 support for &lt;a href=&quot;http://www.aaben-standard.dk/&quot;&gt;this
20811 definition&lt;/a&gt; in 2004. It even made it into the Danish parlament as
20812 &lt;a href=&quot;http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm&quot;&gt;their
20813 definition of a open standard&lt;/a&gt;. Another from a different part of
20814 the Danish government is available from the wikipedia page.&lt;/p&gt;
20815
20816 &lt;blockquote&gt;
20817
20818 &lt;p&gt;En åben standard opfylder følgende krav:&lt;/p&gt;
20819
20820 &lt;ol&gt;
20821
20822 &lt;li&gt;Veldokumenteret med den fuldstændige specifikation offentligt
20823 tilgængelig.&lt;/li&gt;
20824
20825 &lt;li&gt;Frit implementerbar uden økonomiske, politiske eller juridiske
20826 begrænsninger på implementation og anvendelse.&lt;/li&gt;
20827
20828 &lt;li&gt;Standardiseret og vedligeholdt i et åbent forum (en såkaldt
20829 &quot;standardiseringsorganisation&quot;) via en åben proces.&lt;/li&gt;
20830
20831 &lt;/ol&gt;
20832
20833 &lt;/blockquote&gt;
20834
20835 &lt;p&gt;Then there is &lt;a href=&quot;http://www.fsfe.org/projects/os/def.html&quot;&gt;the
20836 definition&lt;/a&gt; from Free Software Foundation Europe.&lt;/p&gt;
20837
20838 &lt;blockquote&gt;
20839
20840 &lt;p&gt;An Open Standard refers to a format or protocol that is&lt;/p&gt;
20841
20842 &lt;ol&gt;
20843
20844 &lt;li&gt;subject to full public assessment and use without constraints in a
20845 manner equally available to all parties;&lt;/li&gt;
20846
20847 &lt;li&gt;without any components or extensions that have dependencies on
20848 formats or protocols that do not meet the definition of an Open
20849 Standard themselves;&lt;/li&gt;
20850
20851 &lt;li&gt;free from legal or technical clauses that limit its utilisation by
20852 any party or in any business model;&lt;/li&gt;
20853
20854 &lt;li&gt;managed and further developed independently of any single vendor
20855 in a process open to the equal participation of competitors and third
20856 parties;&lt;/li&gt;
20857
20858 &lt;li&gt;available in multiple complete implementations by competing
20859 vendors, or as a complete implementation equally available to all
20860 parties.&lt;/li&gt;
20861
20862 &lt;/ol&gt;
20863
20864 &lt;/blockquote&gt;
20865
20866 &lt;p&gt;A long time ago, SUN Microsystems, now bought by Oracle, created
20867 its
20868 &lt;a href=&quot;http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf&quot;&gt;Open
20869 Standards Checklist&lt;/a&gt; with a fairly detailed description.&lt;/p&gt;
20870
20871 &lt;blockquote&gt;
20872 &lt;p&gt;Creation and Management of an Open Standard
20873
20874 &lt;ul&gt;
20875
20876 &lt;li&gt;Its development and management process must be collaborative and
20877 democratic:
20878
20879 &lt;ul&gt;
20880
20881 &lt;li&gt;Participation must be accessible to all those who wish to
20882 participate and can meet fair and reasonable criteria
20883 imposed by the organization under which it is developed
20884 and managed.&lt;/li&gt;
20885
20886 &lt;li&gt;The processes must be documented and, through a known
20887 method, can be changed through input from all
20888 participants.&lt;/li&gt;
20889
20890 &lt;li&gt;The process must be based on formal and binding commitments for
20891 the disclosure and licensing of intellectual property rights.&lt;/li&gt;
20892
20893 &lt;li&gt;Development and management should strive for consensus,
20894 and an appeals process must be clearly outlined.&lt;/li&gt;
20895
20896 &lt;li&gt;The standard specification must be open to extensive
20897 public review at least once in its life-cycle, with
20898 comments duly discussed and acted upon, if required.&lt;/li&gt;
20899
20900 &lt;/ul&gt;
20901
20902 &lt;/li&gt;
20903
20904 &lt;/ul&gt;
20905
20906 &lt;p&gt;Use and Licensing of an Open Standard&lt;/p&gt;
20907 &lt;ul&gt;
20908
20909 &lt;li&gt;The standard must describe an interface, not an implementation,
20910 and the industry must be capable of creating multiple, competing
20911 implementations to the interface described in the standard without
20912 undue or restrictive constraints. Interfaces include APIs,
20913 protocols, schemas, data formats and their encoding.&lt;/li&gt;
20914
20915 &lt;li&gt; The standard must not contain any proprietary &quot;hooks&quot; that create
20916 a technical or economic barriers&lt;/li&gt;
20917
20918 &lt;li&gt;Faithful implementations of the standard must
20919 interoperate. Interoperability means the ability of a computer
20920 program to communicate and exchange information with other computer
20921 programs and mutually to use the information which has been
20922 exchanged. This includes the ability to use, convert, or exchange
20923 file formats, protocols, schemas, interface information or
20924 conventions, so as to permit the computer program to work with other
20925 computer programs and users in all the ways in which they are
20926 intended to function.&lt;/li&gt;
20927
20928 &lt;li&gt;It must be permissible for anyone to copy, distribute and read the
20929 standard for a nominal fee, or even no fee. If there is a fee, it
20930 must be low enough to not preclude widespread use.&lt;/li&gt;
20931
20932 &lt;li&gt;It must be possible for anyone to obtain free (no royalties or
20933 fees; also known as &quot;royalty free&quot;), worldwide, non-exclusive and
20934 perpetual licenses to all essential patent claims to make, use and
20935 sell products based on the standard. The only exceptions are
20936 terminations per the reciprocity and defensive suspension terms
20937 outlined below. Essential patent claims include pending, unpublished
20938 patents, published patents, and patent applications. The license is
20939 only for the exact scope of the standard in question.
20940
20941 &lt;ul&gt;
20942
20943 &lt;li&gt; May be conditioned only on reciprocal licenses to any of
20944 licensees&#39; patent claims essential to practice that standard
20945 (also known as a reciprocity clause)&lt;/li&gt;
20946
20947 &lt;li&gt; May be terminated as to any licensee who sues the licensor
20948 or any other licensee for infringement of patent claims
20949 essential to practice that standard (also known as a
20950 &quot;defensive suspension&quot; clause)&lt;/li&gt;
20951
20952 &lt;li&gt; The same licensing terms are available to every potential
20953 licensor&lt;/li&gt;
20954
20955 &lt;/ul&gt;
20956 &lt;/li&gt;
20957
20958 &lt;li&gt;The licensing terms of an open standards must not preclude
20959 implementations of that standard under open source licensing terms
20960 or restricted licensing terms&lt;/li&gt;
20961
20962 &lt;/ul&gt;
20963
20964 &lt;/blockquote&gt;
20965
20966 &lt;p&gt;It is said that one of the nice things about standards is that
20967 there are so many of them. As you can see, the same holds true for
20968 open standard definitions. Most of the definitions have a lot in
20969 common, and it is not really controversial what properties a open
20970 standard should have, but the diversity of definitions have made it
20971 possible for those that want to avoid a level marked field and real
20972 competition to downplay the significance of open standards. I hope we
20973 can turn this tide by focusing on the advantages of Free and Open
20974 Standards.&lt;/p&gt;
20975 </description>
20976 </item>
20977
20978 <item>
20979 <title>Is Ogg Theora a free and open standard?</title>
20980 <link>http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</link>
20981 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</guid>
20982 <pubDate>Sat, 25 Dec 2010 20:25:00 +0100</pubDate>
20983 <description>&lt;p&gt;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;The
20984 Digistan definition&lt;/a&gt; of a free and open standard reads like this:&lt;/p&gt;
20985
20986 &lt;blockquote&gt;
20987
20988 &lt;p&gt;The Digital Standards Organization defines free and open standard
20989 as follows:&lt;/p&gt;
20990
20991 &lt;ol&gt;
20992
20993 &lt;li&gt;A free and open standard is immune to vendor capture at all stages
20994 in its life-cycle. Immunity from vendor capture makes it possible to
20995 freely use, improve upon, trust, and extend a standard over time.&lt;/li&gt;
20996
20997 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
20998 organisation, and its ongoing development occurs on the basis of an
20999 open decision-making procedure available to all interested
21000 parties.&lt;/li&gt;
21001
21002 &lt;li&gt;The standard has been published and the standard specification
21003 document is available freely. It must be permissible to all to copy,
21004 distribute, and use it freely.&lt;/li&gt;
21005
21006 &lt;li&gt;The patents possibly present on (parts of) the standard are made
21007 irrevocably available on a royalty-free basis.&lt;/li&gt;
21008
21009 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
21010
21011 &lt;/ol&gt;
21012
21013 &lt;p&gt;The economic outcome of a free and open standard, which can be
21014 measured, is that it enables perfect competition between suppliers of
21015 products based on the standard.&lt;/p&gt;
21016 &lt;/blockquote&gt;
21017
21018 &lt;p&gt;For a while now I have tried to figure out of Ogg Theora is a free
21019 and open standard according to this definition. Here is a short
21020 writeup of what I have been able to gather so far. I brought up the
21021 topic on the Xiph advocacy mailing list
21022 &lt;a href=&quot;http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html&quot;&gt;in
21023 July 2009&lt;/a&gt;, for those that want to see some background information.
21024 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
21025 the Ogg Theora specification fulfils the Digistan definition.&lt;/p&gt;
21026
21027 &lt;p&gt;&lt;strong&gt;Free from vendor capture?&lt;/strong&gt;&lt;/p&gt;
21028
21029 &lt;p&gt;As far as I can see, there is no single vendor that can control the
21030 Ogg Theora specification. It can be argued that the
21031 &lt;a href=&quot;http://www.xiph.org/&quot;&gt;Xiph foundation&lt;/A&gt; is such vendor, but
21032 given that it is a non-profit foundation with the expressed goal
21033 making free and open protocols and standards available, it is not
21034 obvious that this is a real risk. One issue with the Xiph
21035 foundation is that its inner working (as in board member list, or who
21036 control the foundation) are not easily available on the web. I&#39;ve
21037 been unable to find out who is in the foundation board, and have not
21038 seen any accounting information documenting how money is handled nor
21039 where is is spent in the foundation. It is thus not obvious for an
21040 external observer who control The Xiph foundation, and for all I know
21041 it is possible for a single vendor to take control over the
21042 specification. But it seem unlikely.&lt;/p&gt;
21043
21044 &lt;p&gt;&lt;strong&gt;Maintained by open not-for-profit organisation?&lt;/strong&gt;&lt;/p&gt;
21045
21046 &lt;p&gt;Assuming that the Xiph foundation is the organisation its web pages
21047 claim it to be, this point is fulfilled. If Xiph foundation is
21048 controlled by a single vendor, it isn&#39;t, but I have not found any
21049 documentation indicating this.&lt;/p&gt;
21050
21051 &lt;p&gt;According to
21052 &lt;a href=&quot;http://media.hiof.no/diverse/fad/rapport_4.pdf&quot;&gt;a report&lt;/a&gt;
21053 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
21054 government, the Xiph foundation is a non-commercial organisation and
21055 the development process is open, transparent and non-Discrimatory.
21056 Until proven otherwise, I believe it make most sense to believe the
21057 report is correct.&lt;/p&gt;
21058
21059 &lt;p&gt;&lt;strong&gt;Specification freely available?&lt;/strong&gt;&lt;/p&gt;
21060
21061 &lt;p&gt;The specification for the &lt;a href=&quot;http://www.xiph.org/ogg/doc/&quot;&gt;Ogg
21062 container format&lt;/a&gt; and both the
21063 &lt;a href=&quot;http://www.xiph.org/vorbis/doc/&quot;&gt;Vorbis&lt;/a&gt; and
21064 &lt;a href=&quot;http://theora.org/doc/&quot;&gt;Theora&lt;/a&gt; codeces are available on
21065 the web. This are the terms in the Vorbis and Theora specification:
21066
21067 &lt;blockquote&gt;
21068
21069 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
21070 specifications, whether in private, public, or corporate
21071 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
21072 the right to set the Ogg [Vorbis/Theora] specification and certify
21073 specification compliance.
21074
21075 &lt;/blockquote&gt;
21076
21077 &lt;p&gt;The Ogg container format is specified in IETF
21078 &lt;a href=&quot;http://www.xiph.org/ogg/doc/rfc3533.txt&quot;&gt;RFC 3533&lt;/a&gt;, and
21079 this is the term:&lt;p&gt;
21080
21081 &lt;blockquote&gt;
21082
21083 &lt;p&gt;This document and translations of it may be copied and furnished to
21084 others, and derivative works that comment on or otherwise explain it
21085 or assist in its implementation may be prepared, copied, published and
21086 distributed, in whole or in part, without restriction of any kind,
21087 provided that the above copyright notice and this paragraph are
21088 included on all such copies and derivative works. However, this
21089 document itself may not be modified in any way, such as by removing
21090 the copyright notice or references to the Internet Society or other
21091 Internet organizations, except as needed for the purpose of developing
21092 Internet standards in which case the procedures for copyrights defined
21093 in the Internet Standards process must be followed, or as required to
21094 translate it into languages other than English.&lt;/p&gt;
21095
21096 &lt;p&gt;The limited permissions granted above are perpetual and will not be
21097 revoked by the Internet Society or its successors or assigns.&lt;/p&gt;
21098 &lt;/blockquote&gt;
21099
21100 &lt;p&gt;All these terms seem to allow unlimited distribution and use, an
21101 this term seem to be fulfilled. There might be a problem with the
21102 missing permission to distribute modified versions of the text, and
21103 thus reuse it in other specifications. Not quite sure if that is a
21104 requirement for the Digistan definition.&lt;/p&gt;
21105
21106 &lt;p&gt;&lt;strong&gt;Royalty-free?&lt;/strong&gt;&lt;/p&gt;
21107
21108 &lt;p&gt;There are no known patent claims requiring royalties for the Ogg
21109 Theora format.
21110 &lt;a href=&quot;http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782&quot;&gt;MPEG-LA&lt;/a&gt;
21111 and
21112 &lt;a href=&quot;http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit&quot;&gt;Steve
21113 Jobs&lt;/a&gt; in Apple claim to know about some patent claims (submarine
21114 patents) against the Theora format, but no-one else seem to believe
21115 them. Both Opera Software and the Mozilla Foundation have looked into
21116 this and decided to implement Ogg Theora support in their browsers
21117 without paying any royalties. For now the claims from MPEG-LA and
21118 Steve Jobs seem more like FUD to scare people to use the H.264 codec
21119 than any real problem with Ogg Theora.&lt;/p&gt;
21120
21121 &lt;p&gt;&lt;strong&gt;No constraints on re-use?&lt;/strong&gt;&lt;/p&gt;
21122
21123 &lt;p&gt;I am not aware of any constraints on re-use.&lt;/p&gt;
21124
21125 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
21126
21127 &lt;p&gt;3 of 5 requirements seem obviously fulfilled, and the remaining 2
21128 depend on the governing structure of the Xiph foundation. Given the
21129 background report used by the Norwegian government, I believe it is
21130 safe to assume the last two requirements are fulfilled too, but it
21131 would be nice if the Xiph foundation web site made it easier to verify
21132 this.&lt;/p&gt;
21133
21134 &lt;p&gt;It would be nice to see other analysis of other specifications to
21135 see if they are free and open standards.&lt;/p&gt;
21136 </description>
21137 </item>
21138
21139 <item>
21140 <title>The reply from Edgar Villanueva to Microsoft in Peru</title>
21141 <link>http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</link>
21142 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</guid>
21143 <pubDate>Sat, 25 Dec 2010 10:50:00 +0100</pubDate>
21144 <description>&lt;p&gt;A few days ago
21145 &lt;a href=&quot;http://www.idg.no/computerworld/article189879.ece&quot;&gt;an
21146 article&lt;/a&gt; in the Norwegian Computerworld magazine about how version
21147 2.0 of
21148 &lt;a href=&quot;http://en.wikipedia.org/wiki/European_Interoperability_Framework&quot;&gt;European
21149 Interoperability Framework&lt;/a&gt; has been successfully lobbied by the
21150 proprietary software industry to remove the focus on free software.
21151 Nothing very surprising there, given
21152 &lt;a href=&quot;http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe&quot;&gt;earlier
21153 reports&lt;/a&gt; on how Microsoft and others have stacked the committees in
21154 this work. But I find this very sad. The definition of
21155 &lt;a href=&quot;http://www.nuug.no/dokumenter/standard-presse-def-200506.txt&quot;&gt;an
21156 open standard from version 1&lt;/a&gt; was very good, and something I
21157 believe should be used also in the future, alongside
21158 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the
21159 definition from Digistan&lt;/A&gt;. Version 2 have removed the open
21160 standard definition from its content.&lt;/p&gt;
21161
21162 &lt;p&gt;Anyway, the news reminded me of the great reply sent by Dr. Edgar
21163 Villanueva, congressman in Peru at the time, to Microsoft as a reply
21164 to Microsofts attack on his proposal regarding the use of free software
21165 in the public sector in Peru. As the text was not available from a
21166 few of the URLs where it used to be available, I copy it here from
21167 &lt;a href=&quot;http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html&quot;&gt;my
21168 source&lt;/a&gt; to ensure it is available also in the future. Some
21169 background information about that story is available in
21170 &lt;a href=&quot;http://www.linuxjournal.com/article/6099&quot;&gt;an article&lt;/a&gt; from
21171 Linux Journal in 2002.&lt;/p&gt;
21172
21173 &lt;blockquote&gt;
21174 &lt;p&gt;Lima, 8th of April, 2002&lt;br&gt;
21175 To: Señor JUAN ALBERTO GONZÁLEZ&lt;br&gt;
21176 General Manager of Microsoft Perú&lt;/p&gt;
21177
21178 &lt;p&gt;Dear Sir:&lt;/p&gt;
21179
21180 &lt;p&gt;First of all, I thank you for your letter of March 25, 2002 in which you state the official position of Microsoft relative to Bill Number 1609, Free Software in Public Administration, which is indubitably inspired by the desire for Peru to find a suitable place in the global technological context. In the same spirit, and convinced that we will find the best solutions through an exchange of clear and open ideas, I will take this opportunity to reply to the commentaries included in your letter.&lt;/p&gt;
21181
21182 &lt;p&gt;While acknowledging that opinions such as yours constitute a significant contribution, it would have been even more worthwhile for me if, rather than formulating objections of a general nature (which we will analyze in detail later) you had gathered solid arguments for the advantages that proprietary software could bring to the Peruvian State, and to its citizens in general, since this would have allowed a more enlightening exchange in respect of each of our positions.&lt;/p&gt;
21183
21184 &lt;p&gt;With the aim of creating an orderly debate, we will assume that what you call &quot;open source software&quot; is what the Bill defines as &quot;free software&quot;, since there exists software for which the source code is distributed together with the program, but which does not fall within the definition established by the Bill; and that what you call &quot;commercial software&quot; is what the Bill defines as &quot;proprietary&quot; or &quot;unfree&quot;, given that there exists free software which is sold in the market for a price like any other good or service.&lt;/p&gt;
21185
21186 &lt;p&gt;It is also necessary to make it clear that the aim of the Bill we are discussing is not directly related to the amount of direct savings that can by made by using free software in state institutions. That is in any case a marginal aggregate value, but in no way is it the chief focus of the Bill. The basic principles which inspire the Bill are linked to the basic guarantees of a state of law, such as:&lt;/p&gt;
21187
21188 &lt;p&gt;
21189 &lt;ul&gt;
21190 &lt;li&gt;Free access to public information by the citizen. &lt;/li&gt;
21191 &lt;li&gt;Permanence of public data. &lt;/li&gt;
21192 &lt;li&gt;Security of the State and citizens.&lt;/li&gt;
21193 &lt;/ul&gt;
21194 &lt;/p&gt;
21195
21196 &lt;p&gt;To guarantee the free access of citizens to public information, it is indispensable that the encoding of data is not tied to a single provider. The use of standard and open formats gives a guarantee of this free access, if necessary through the creation of compatible free software.&lt;/p&gt;
21197
21198 &lt;p&gt;To guarantee the permanence of public data, it is necessary that the usability and maintenance of the software does not depend on the goodwill of the suppliers, or on the monopoly conditions imposed by them. For this reason the State needs systems the development of which can be guaranteed due to the availability of the source code.&lt;/p&gt;
21199
21200 &lt;p&gt;To guarantee national security or the security of the State, it is indispensable to be able to rely on systems without elements which allow control from a distance or the undesired transmission of information to third parties. Systems with source code freely accessible to the public are required to allow their inspection by the State itself, by the citizens, and by a large number of independent experts throughout the world. Our proposal brings further security, since the knowledge of the source code will eliminate the growing number of programs with *spy code*. &lt;/p&gt;
21201
21202 &lt;p&gt;In the same way, our proposal strengthens the security of the citizens, both in their role as legitimate owners of information managed by the state, and in their role as consumers. In this second case, by allowing the growth of a widespread availability of free software not containing *spy code* able to put at risk privacy and individual freedoms.&lt;/p&gt;
21203
21204 &lt;p&gt;In this sense, the Bill is limited to establishing the conditions under which the state bodies will obtain software in the future, that is, in a way compatible with these basic principles.&lt;/p&gt;
21205
21206
21207 &lt;p&gt;From reading the Bill it will be clear that once passed:&lt;br&gt;
21208 &lt;li&gt;the law does not forbid the production of proprietary software&lt;/li&gt;
21209 &lt;li&gt;the law does not forbid the sale of proprietary software&lt;/li&gt;
21210 &lt;li&gt;the law does not specify which concrete software to use&lt;/li&gt;
21211 &lt;li&gt;the law does not dictate the supplier from whom software will be bought&lt;/li&gt;
21212 &lt;li&gt;the law does not limit the terms under which a software product can be licensed.&lt;/li&gt;
21213
21214 &lt;/p&gt;
21215
21216 &lt;p&gt;What the Bill does express clearly, is that, for software to be acceptable for the state it is not enough that it is technically capable of fulfilling a task, but that further the contractual conditions must satisfy a series of requirements regarding the license, without which the State cannot guarantee the citizen adequate processing of his data, watching over its integrity, confidentiality, and accessibility throughout time, as these are very critical aspects for its normal functioning.&lt;/p&gt;
21217
21218 &lt;p&gt;We agree, Mr. Gonzalez, that information and communication technology have a significant impact on the quality of life of the citizens (whether it be positive or negative). We surely also agree that the basic values I have pointed out above are fundamental in a democratic state like Peru. So we are very interested to know of any other way of guaranteeing these principles, other than through the use of free software in the terms defined by the Bill.&lt;/p&gt;
21219
21220 &lt;p&gt;As for the observations you have made, we will now go on to analyze them in detail:&lt;/p&gt;
21221
21222 &lt;p&gt;Firstly, you point out that: &quot;1. The bill makes it compulsory for all public bodies to use only free software, that is to say open source software, which breaches the principles of equality before the law, that of non-discrimination and the right of free private enterprise, freedom of industry and of contract, protected by the constitution.&quot;&lt;/p&gt;
21223
21224 &lt;p&gt;This understanding is in error. The Bill in no way affects the rights you list; it limits itself entirely to establishing conditions for the use of software on the part of state institutions, without in any way meddling in private sector transactions. It is a well established principle that the State does not enjoy the wide spectrum of contractual freedom of the private sector, as it is limited in its actions precisely by the requirement for transparency of public acts; and in this sense, the preservation of the greater common interest must prevail when legislating on the matter.&lt;/p&gt;
21225
21226 &lt;p&gt;The Bill protects equality under the law, since no natural or legal person is excluded from the right of offering these goods to the State under the conditions defined in the Bill and without more limitations than those established by the Law of State Contracts and Purchasing (T.U.O. by Supreme Decree No. 012-2001-PCM).&lt;/p&gt;
21227
21228 &lt;p&gt;The Bill does not introduce any discrimination whatever, since it only establishes *how* the goods have to be provided (which is a state power) and not *who* has to provide them (which would effectively be discriminatory, if restrictions based on national origin, race religion, ideology, sexual preference etc. were imposed). On the contrary, the Bill is decidedly antidiscriminatory. This is so because by defining with no room for doubt the conditions for the provision of software, it prevents state bodies from using software which has a license including discriminatory conditions.&lt;/p&gt;
21229
21230 &lt;p&gt;It should be obvious from the preceding two paragraphs that the Bill does not harm free private enterprise, since the latter can always choose under what conditions it will produce software; some of these will be acceptable to the State, and others will not be since they contradict the guarantee of the basic principles listed above. This free initiative is of course compatible with the freedom of industry and freedom of contract (in the limited form in which the State can exercise the latter). Any private subject can produce software under the conditions which the State requires, or can refrain from doing so. Nobody is forced to adopt a model of production, but if they wish to provide software to the State, they must provide the mechanisms which guarantee the basic principles, and which are those described in the Bill.&lt;/p&gt;
21231
21232 &lt;p&gt;By way of an example: nothing in the text of the Bill would prevent your company offering the State bodies an office &quot;suite&quot;, under the conditions defined in the Bill and setting the price that you consider satisfactory. If you did not, it would not be due to restrictions imposed by the law, but to business decisions relative to the method of commercializing your products, decisions with which the State is not involved.&lt;/p&gt;
21233
21234 &lt;p&gt;To continue; you note that:&quot; 2. The bill, by making the use of open source software compulsory, would establish discriminatory and non competitive practices in the contracting and purchasing by public bodies...&quot;&lt;/p&gt;
21235
21236 &lt;p&gt;This statement is just a reiteration of the previous one, and so the response can be found above. However, let us concern ourselves for a moment with your comment regarding &quot;non-competitive ... practices.&quot;&lt;/p&gt;
21237
21238 &lt;p&gt;Of course, in defining any kind of purchase, the buyer sets conditions which relate to the proposed use of the good or service. From the start, this excludes certain manufacturers from the possibility of competing, but does not exclude them &quot;a priori&quot;, but rather based on a series of principles determined by the autonomous will of the purchaser, and so the process takes place in conformance with the law. And in the Bill it is established that *no one* is excluded from competing as far as he guarantees the fulfillment of the basic principles.&lt;/p&gt;
21239
21240 &lt;p&gt;Furthermore, the Bill *stimulates* competition, since it tends to generate a supply of software with better conditions of usability, and to better existing work, in a model of continuous improvement.&lt;/p&gt;
21241
21242 &lt;p&gt;On the other hand, the central aspect of competivity is the chance to provide better choices to the consumer. Now, it is impossible to ignore the fact that marketing does not play a neutral role when the product is offered on the market (since accepting the opposite would lead one to suppose that firms&#39; expenses in marketing lack any sense), and that therefore a significant expense under this heading can influence the decisions of the purchaser. This influence of marketing is in large measure reduced by the bill that we are backing, since the choice within the framework proposed is based on the *technical merits* of the product and not on the effort put into commercialization by the producer; in this sense, competitiveness is increased, since the smallest software producer can compete on equal terms with the most powerful corporations.&lt;/p&gt;
21243
21244 &lt;p&gt;It is necessary to stress that there is no position more anti-competitive than that of the big software producers, which frequently abuse their dominant position, since in innumerable cases they propose as a solution to problems raised by users: &quot;update your software to the new version&quot; (at the user&#39;s expense, naturally); furthermore, it is common to find arbitrary cessation of technical help for products, which, in the provider&#39;s judgment alone, are &quot;old&quot;; and so, to receive any kind of technical assistance, the user finds himself forced to migrate to new versions (with non-trivial costs, especially as changes in hardware platform are often involved). And as the whole infrastructure is based on proprietary data formats, the user stays &quot;trapped&quot; in the need to continue using products from the same supplier, or to make the huge effort to change to another environment (probably also proprietary).&lt;/p&gt;
21245
21246 &lt;p&gt;You add: &quot;3. So, by compelling the State to favor a business model based entirely on open source, the bill would only discourage the local and international manufacturing companies, which are the ones which really undertake important expenditures, create a significant number of direct and indirect jobs, as well as contributing to the GNP, as opposed to a model of open source software which tends to have an ever weaker economic impact, since it mainly creates jobs in the service sector.&quot;&lt;/p&gt;
21247
21248 &lt;p&gt;I do not agree with your statement. Partly because of what you yourself point out in paragraph 6 of your letter, regarding the relative weight of services in the context of software use. This contradiction alone would invalidate your position. The service model, adopted by a large number of companies in the software industry, is much larger in economic terms, and with a tendency to increase, than the licensing of programs.&lt;/p&gt;
21249
21250 &lt;p&gt;On the other hand, the private sector of the economy has the widest possible freedom to choose the economic model which best suits its interests, even if this freedom of choice is often obscured subliminally by the disproportionate expenditure on marketing by the producers of proprietary software.&lt;/p&gt;
21251
21252 &lt;p&gt;In addition, a reading of your opinion would lead to the conclusion that the State market is crucial and essential for the proprietary software industry, to such a point that the choice made by the State in this bill would completely eliminate the market for these firms. If that is true, we can deduce that the State must be subsidizing the proprietary software industry. In the unlikely event that this were true, the State would have the right to apply the subsidies in the area it considered of greatest social value; it is undeniable, in this improbable hypothesis, that if the State decided to subsidize software, it would have to do so choosing the free over the proprietary, considering its social effect and the rational use of taxpayers money.&lt;/p&gt;
21253
21254 &lt;p&gt;In respect of the jobs generated by proprietary software in countries like ours, these mainly concern technical tasks of little aggregate value; at the local level, the technicians who provide support for proprietary software produced by transnational companies do not have the possibility of fixing bugs, not necessarily for lack of technical capability or of talent, but because they do not have access to the source code to fix it. With free software one creates more technically qualified employment and a framework of free competence where success is only tied to the ability to offer good technical support and quality of service, one stimulates the market, and one increases the shared fund of knowledge, opening up alternatives to generate services of greater total value and a higher quality level, to the benefit of all involved: producers, service organizations, and consumers.&lt;/p&gt;
21255
21256 &lt;p&gt;It is a common phenomenon in developing countries that local software industries obtain the majority of their takings in the service sector, or in the creation of &quot;ad hoc&quot; software. Therefore, any negative impact that the application of the Bill might have in this sector will be more than compensated by a growth in demand for services (as long as these are carried out to high quality standards). If the transnational software companies decide not to compete under these new rules of the game, it is likely that they will undergo some decrease in takings in terms of payment for licenses; however, considering that these firms continue to allege that much of the software used by the State has been illegally copied, one can see that the impact will not be very serious. Certainly, in any case their fortune will be determined by market laws, changes in which cannot be avoided; many firms traditionally associated with proprietary software have already set out on the road (supported by copious expense) of providing services associated with free software, which shows that the models are not mutually exclusive.&lt;/p&gt;
21257
21258 &lt;p&gt;With this bill the State is deciding that it needs to preserve certain fundamental values. And it is deciding this based on its sovereign power, without affecting any of the constitutional guarantees. If these values could be guaranteed without having to choose a particular economic model, the effects of the law would be even more beneficial. In any case, it should be clear that the State does not choose an economic model; if it happens that there only exists one economic model capable of providing software which provides the basic guarantee of these principles, this is because of historical circumstances, not because of an arbitrary choice of a given model.&lt;/p&gt;
21259
21260 &lt;p&gt;Your letter continues: &quot;4. The bill imposes the use of open source software without considering the dangers that this can bring from the point of view of security, guarantee, and possible violation of the intellectual property rights of third parties.&quot;&lt;/p&gt;
21261
21262 &lt;p&gt;Alluding in an abstract way to &quot;the dangers this can bring&quot;, without specifically mentioning a single one of these supposed dangers, shows at the least some lack of knowledge of the topic. So, allow me to enlighten you on these points.&lt;/p&gt;
21263
21264 &lt;p&gt;On security:&lt;/p&gt;
21265
21266 &lt;p&gt;National security has already been mentioned in general terms in the initial discussion of the basic principles of the bill. In more specific terms, relative to the security of the software itself, it is well known that all software (whether proprietary or free) contains errors or &quot;bugs&quot; (in programmers&#39; slang). But it is also well known that the bugs in free software are fewer, and are fixed much more quickly, than in proprietary software. It is not in vain that numerous public bodies responsible for the IT security of state systems in developed countries require the use of free software for the same conditions of security and efficiency.&lt;/p&gt;
21267
21268 &lt;p&gt;What is impossible to prove is that proprietary software is more secure than free, without the public and open inspection of the scientific community and users in general. This demonstration is impossible because the model of proprietary software itself prevents this analysis, so that any guarantee of security is based only on promises of good intentions (biased, by any reckoning) made by the producer itself, or its contractors.&lt;/p&gt;
21269
21270 &lt;p&gt;It should be remembered that in many cases, the licensing conditions include Non-Disclosure clauses which prevent the user from publicly revealing security flaws found in the licensed proprietary product.&lt;/p&gt;
21271
21272 &lt;p&gt;In respect of the guarantee:&lt;/p&gt;
21273
21274 &lt;p&gt;As you know perfectly well, or could find out by reading the &quot;End User License Agreement&quot; of the products you license, in the great majority of cases the guarantees are limited to replacement of the storage medium in case of defects, but in no case is compensation given for direct or indirect damages, loss of profits, etc... If as a result of a security bug in one of your products, not fixed in time by yourselves, an attacker managed to compromise crucial State systems, what guarantees, reparations and compensation would your company make in accordance with your licensing conditions? The guarantees of proprietary software, inasmuch as programs are delivered ``AS IS&#39;&#39;, that is, in the state in which they are, with no additional responsibility of the provider in respect of function, in no way differ from those normal with free software.&lt;/p&gt;
21275
21276 &lt;p&gt;On Intellectual Property:&lt;/p&gt;
21277
21278 &lt;p&gt;Questions of intellectual property fall outside the scope of this bill, since they are covered by specific other laws. The model of free software in no way implies ignorance of these laws, and in fact the great majority of free software is covered by copyright. In reality, the inclusion of this question in your observations shows your confusion in respect of the legal framework in which free software is developed. The inclusion of the intellectual property of others in works claimed as one&#39;s own is not a practice that has been noted in the free software community; whereas, unfortunately, it has been in the area of proprietary software. As an example, the condemnation by the Commercial Court of Nanterre, France, on 27th September 2001 of Microsoft Corp. to a penalty of 3 million francs in damages and interest, for violation of intellectual property (piracy, to use the unfortunate term that your firm commonly uses in its publicity).&lt;/p&gt;
21279
21280 &lt;p&gt;You go on to say that: &quot;The bill uses the concept of open source software incorrectly, since it does not necessarily imply that the software is free or of zero cost, and so arrives at mistaken conclusions regarding State savings, with no cost-benefit analysis to validate its position.&quot;&lt;/p&gt;
21281
21282 &lt;p&gt;This observation is wrong; in principle, freedom and lack of cost are orthogonal concepts: there is software which is proprietary and charged for (for example, MS Office), software which is proprietary and free of charge (MS Internet Explorer), software which is free and charged for (Red Hat, SuSE etc GNU/Linux distributions), software which is free and not charged for (Apache, Open Office, Mozilla), and even software which can be licensed in a range of combinations (MySQL).&lt;/p&gt;
21283
21284 &lt;p&gt;Certainly free software is not necessarily free of charge. And the text of the bill does not state that it has to be so, as you will have noted after reading it. The definitions included in the Bill state clearly *what* should be considered free software, at no point referring to freedom from charges. Although the possibility of savings in payments for proprietary software licenses are mentioned, the foundations of the bill clearly refer to the fundamental guarantees to be preserved and to the stimulus to local technological development. Given that a democratic State must support these principles, it has no other choice than to use software with publicly available source code, and to exchange information only in standard formats.&lt;/p&gt;
21285
21286 &lt;p&gt;If the State does not use software with these characteristics, it will be weakening basic republican principles. Luckily, free software also implies lower total costs; however, even given the hypothesis (easily disproved) that it was more expensive than proprietary software, the simple existence of an effective free software tool for a particular IT function would oblige the State to use it; not by command of this Bill, but because of the basic principles we enumerated at the start, and which arise from the very essence of the lawful democratic State.&lt;/p&gt;
21287
21288 &lt;p&gt;You continue: &quot;6. It is wrong to think that Open Source Software is free of charge. Research by the Gartner Group (an important investigator of the technological market recognized at world level) has shown that the cost of purchase of software (operating system and applications) is only 8% of the total cost which firms and institutions take on for a rational and truly beneficial use of the technology. The other 92% consists of: installation costs, enabling, support, maintenance, administration, and down-time.&quot;&lt;/p&gt;
21289
21290 &lt;p&gt;This argument repeats that already given in paragraph 5 and partly contradicts paragraph 3. For the sake of brevity we refer to the comments on those paragraphs. However, allow me to point out that your conclusion is logically false: even if according to Gartner Group the cost of software is on average only 8% of the total cost of use, this does not in any way deny the existence of software which is free of charge, that is, with a licensing cost of zero.&lt;/p&gt;
21291
21292 &lt;p&gt;In addition, in this paragraph you correctly point out that the service components and losses due to down-time make up the largest part of the total cost of software use, which, as you will note, contradicts your statement regarding the small value of services suggested in paragraph 3. Now the use of free software contributes significantly to reduce the remaining life-cycle costs. This reduction in the costs of installation, support etc. can be noted in several areas: in the first place, the competitive service model of free software, support and maintenance for which can be freely contracted out to a range of suppliers competing on the grounds of quality and low cost. This is true for installation, enabling, and support, and in large part for maintenance. In the second place, due to the reproductive characteristics of the model, maintenance carried out for an application is easily replicable, without incurring large costs (that is, without paying more than once for the same thing) since modifications, if one wishes, can be incorporated in the common fund of knowledge. Thirdly, the huge costs caused by non-functioning software (&quot;blue screens of death&quot;, malicious code such as virus, worms, and trojans, exceptions, general protection faults and other well-known problems) are reduced considerably by using more stable software; and it is well known that one of the most notable virtues of free software is its stability.&lt;/p&gt;
21293
21294 &lt;p&gt;You further state that: &quot;7. One of the arguments behind the bill is the supposed freedom from costs of open-source software, compared with the costs of commercial software, without taking into account the fact that there exist types of volume licensing which can be highly advantageous for the State, as has happened in other countries.&quot;&lt;/p&gt;
21295
21296 &lt;p&gt;I have already pointed out that what is in question is not the cost of the software but the principles of freedom of information, accessibility, and security. These arguments have been covered extensively in the preceding paragraphs to which I would refer you.&lt;/p&gt;
21297
21298 &lt;p&gt;On the other hand, there certainly exist types of volume licensing (although unfortunately proprietary software does not satisfy the basic principles). But as you correctly pointed out in the immediately preceding paragraph of your letter, they only manage to reduce the impact of a component which makes up no more than 8% of the total.&lt;/p&gt;
21299
21300 &lt;p&gt;You continue: &quot;8. In addition, the alternative adopted by the bill (I) is clearly more expensive, due to the high costs of software migration, and (II) puts at risk compatibility and interoperability of the IT platforms within the State, and between the State and the private sector, given the hundreds of versions of open source software on the market.&quot;&lt;/p&gt;
21301
21302 &lt;p&gt;Let us analyze your statement in two parts. Your first argument, that migration implies high costs, is in reality an argument in favor of the Bill. Because the more time goes by, the more difficult migration to another technology will become; and at the same time, the security risks associated with proprietary software will continue to increase. In this way, the use of proprietary systems and formats will make the State ever more dependent on specific suppliers. Once a policy of using free software has been established (which certainly, does imply some cost) then on the contrary migration from one system to another becomes very simple, since all data is stored in open formats. On the other hand, migration to an open software context implies no more costs than migration between two different proprietary software contexts, which invalidates your argument completely.&lt;/p&gt;
21303
21304 &lt;p&gt;The second argument refers to &quot;problems in interoperability of the IT platforms within the State, and between the State and the private sector&quot; This statement implies a certain lack of knowledge of the way in which free software is built, which does not maximize the dependence of the user on a particular platform, as normally happens in the realm of proprietary software. Even when there are multiple free software distributions, and numerous programs which can be used for the same function, interoperability is guaranteed as much by the use of standard formats, as required by the bill, as by the possibility of creating interoperable software given the availability of the source code.&lt;/p&gt;
21305
21306 &lt;p&gt;You then say that: &quot;9. The majority of open source code does not offer adequate levels of service nor the guarantee from recognized manufacturers of high productivity on the part of the users, which has led various public organizations to retract their decision to go with an open source software solution and to use commercial software in its place.&quot;&lt;/p&gt;
21307
21308 &lt;p&gt;This observation is without foundation. In respect of the guarantee, your argument was rebutted in the response to paragraph 4. In respect of support services, it is possible to use free software without them (just as also happens with proprietary software), but anyone who does need them can obtain support separately, whether from local firms or from international corporations, again just as in the case of proprietary software.&lt;/p&gt;
21309
21310 &lt;p&gt;On the other hand, it would contribute greatly to our analysis if you could inform us about free software projects *established* in public bodies which have already been abandoned in favor of proprietary software. We know of a good number of cases where the opposite has taken place, but not know of any where what you describe has taken place.&lt;/p&gt;
21311
21312 &lt;p&gt;You continue by observing that: &quot;10. The bill discourages the creativity of the Peruvian software industry, which invoices 40 million US$/year, exports 4 million US$ (10th in ranking among non-traditional exports, more than handicrafts) and is a source of highly qualified employment. With a law that encourages the use of open source, software programmers lose their intellectual property rights and their main source of payment.&quot;&lt;/p&gt;
21313
21314 &lt;p&gt;It is clear enough that nobody is forced to commercialize their code as free software. The only thing to take into account is that if it is not free software, it cannot be sold to the public sector. This is not in any case the main market for the national software industry. We covered some questions referring to the influence of the Bill on the generation of employment which would be both highly technically qualified and in better conditions for competition above, so it seems unnecessary to insist on this point.&lt;/p&gt;
21315
21316 &lt;p&gt;What follows in your statement is incorrect. On the one hand, no author of free software loses his intellectual property rights, unless he expressly wishes to place his work in the public domain. The free software movement has always been very respectful of intellectual property, and has generated widespread public recognition of its authors. Names like those of Richard Stallman, Linus Torvalds, Guido van Rossum, Larry Wall, Miguel de Icaza, Andrew Tridgell, Theo de Raadt, Andrea Arcangeli, Bruce Perens, Darren Reed, Alan Cox, Eric Raymond, and many others, are recognized world-wide for their contributions to the development of software that is used today by millions of people throughout the world. On the other hand, to say that the rewards for authors rights make up the main source of payment of Peruvian programmers is in any case a guess, in particular since there is no proof to this effect, nor a demonstration of how the use of free software by the State would influence these payments.&lt;/p&gt;
21317
21318 &lt;p&gt;You go on to say that: &quot;11. Open source software, since it can be distributed without charge, does not allow the generation of income for its developers through exports. In this way, the multiplier effect of the sale of software to other countries is weakened, and so in turn is the growth of the industry, while Government rules ought on the contrary to stimulate local industry.&quot;&lt;/p&gt;
21319
21320 &lt;p&gt;This statement shows once again complete ignorance of the mechanisms of and market for free software. It tries to claim that the market of sale of non- exclusive rights for use (sale of licenses) is the only possible one for the software industry, when you yourself pointed out several paragraphs above that it is not even the most important one. The incentives that the bill offers for the growth of a supply of better qualified professionals, together with the increase in experience that working on a large scale with free software within the State will bring for Peruvian technicians, will place them in a highly competitive position to offer their services abroad.&lt;/p&gt;
21321
21322 &lt;p&gt;You then state that: &quot;12. In the Forum, the use of open source software in education was discussed, without mentioning the complete collapse of this initiative in a country like Mexico, where precisely the State employees who founded the project now state that open source software did not make it possible to offer a learning experience to pupils in the schools, did not take into account the capability at a national level to give adequate support to the platform, and that the software did not and does not allow for the levels of platform integration that now exist in schools.&quot;&lt;/p&gt;
21323
21324 &lt;p&gt;In fact Mexico has gone into reverse with the Red Escolar (Schools Network) project. This is due precisely to the fact that the driving forces behind the Mexican project used license costs as their main argument, instead of the other reasons specified in our project, which are far more essential. Because of this conceptual mistake, and as a result of the lack of effective support from the SEP (Secretary of State for Public Education), the assumption was made that to implant free software in schools it would be enough to drop their software budget and send them a CD ROM with Gnu/Linux instead. Of course this failed, and it couldn&#39;t have been otherwise, just as school laboratories fail when they use proprietary software and have no budget for implementation and maintenance. That&#39;s exactly why our bill is not limited to making the use of free software mandatory, but recognizes the need to create a viable migration plan, in which the State undertakes the technical transition in an orderly way in order to then enjoy the advantages of free software.&lt;/p&gt;
21325
21326 &lt;p&gt;You end with a rhetorical question: &quot;13. If open source software satisfies all the requirements of State bodies, why do you need a law to adopt it? Shouldn&#39;t it be the market which decides freely which products give most benefits or value?&quot;&lt;/p&gt;
21327
21328 &lt;p&gt;We agree that in the private sector of the economy, it must be the market that decides which products to use, and no state interference is permissible there. However, in the case of the public sector, the reasoning is not the same: as we have already established, the state archives, handles, and transmits information which does not belong to it, but which is entrusted to it by citizens, who have no alternative under the rule of law. As a counterpart to this legal requirement, the State must take extreme measures to safeguard the integrity, confidentiality, and accessibility of this information. The use of proprietary software raises serious doubts as to whether these requirements can be fulfilled, lacks conclusive evidence in this respect, and so is not suitable for use in the public sector.&lt;/p&gt;
21329
21330 &lt;p&gt;The need for a law is based, firstly, on the realization of the fundamental principles listed above in the specific area of software; secondly, on the fact that the State is not an ideal homogeneous entity, but made up of multiple bodies with varying degrees of autonomy in decision making. Given that it is inappropriate to use proprietary software, the fact of establishing these rules in law will prevent the personal discretion of any state employee from putting at risk the information which belongs to citizens. And above all, because it constitutes an up-to-date reaffirmation in relation to the means of management and communication of information used today, it is based on the republican principle of openness to the public.&lt;/p&gt;
21331
21332 &lt;p&gt;In conformance with this universally accepted principle, the citizen has the right to know all information held by the State and not covered by well- founded declarations of secrecy based on law. Now, software deals with information and is itself information. Information in a special form, capable of being interpreted by a machine in order to execute actions, but crucial information all the same because the citizen has a legitimate right to know, for example, how his vote is computed or his taxes calculated. And for that he must have free access to the source code and be able to prove to his satisfaction the programs used for electoral computations or calculation of his taxes.&lt;/p&gt;
21333
21334 &lt;p&gt;I wish you the greatest respect, and would like to repeat that my office will always be open for you to expound your point of view to whatever level of detail you consider suitable.&lt;/p&gt;
21335
21336 &lt;p&gt;Cordially,&lt;br&gt;
21337 DR. EDGAR DAVID VILLANUEVA NUÑEZ&lt;br&gt;
21338 Congressman of the Republic of Perú.&lt;/p&gt;
21339 &lt;/blockquote&gt;
21340 </description>
21341 </item>
21342
21343 <item>
21344 <title>Officeshots still going strong</title>
21345 <link>http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</link>
21346 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</guid>
21347 <pubDate>Sat, 25 Dec 2010 09:40:00 +0100</pubDate>
21348 <description>&lt;p&gt;Half a year ago I
21349 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html&quot;&gt;wrote
21350 a bit&lt;/a&gt; about &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;,
21351 a web service to allow anyone to test how ODF documents are handled by
21352 the different programs reading and writing the ODF format.&lt;/p&gt;
21353
21354 &lt;p&gt;I just had a look at the service, and it seem to be going strong.
21355 Very interesting to see the results reported in the gallery, how
21356 different Office implementations handle different ODF features. Sad
21357 to see that KOffice was not doing it very well, and happy to see that
21358 LibreOffice has been tested already (but sadly not listed as a option
21359 for OfficeShots users yet). I am glad to see that the ODF community
21360 got such a great test tool available.&lt;/p&gt;
21361 </description>
21362 </item>
21363
21364 <item>
21365 <title>How to test if a laptop is working with Linux</title>
21366 <link>http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</link>
21367 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</guid>
21368 <pubDate>Wed, 22 Dec 2010 14:55:00 +0100</pubDate>
21369 <description>&lt;p&gt;The last few days I have spent at work here at the &lt;a
21370 href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; testing if the new
21371 batch of computers will work with Linux. Every year for the last few
21372 years the university have organised shared bid of a few thousand
21373 computers, and this year HP won the bid. Two different desktops and
21374 five different laptops are on the list this year. We in the UNIX
21375 group want to know which one of these computers work well with RHEL
21376 and Ubuntu, the two Linux distributions we currently handle at the
21377 university.&lt;/p&gt;
21378
21379 &lt;p&gt;My test method is simple, and I share it here to get feedback and
21380 perhaps inspire others to test hardware as well. To test, I PXE
21381 install the OS version of choice, and log in as my normal user and run
21382 a few applications and plug in selected pieces of hardware. When
21383 something fail, I make a note about this in the test matrix and move
21384 on. If I have some spare time I try to report the bug to the OS
21385 vendor, but as I only have the machines for a short time, I rarely
21386 have the time to do this for all the problems I find.&lt;/p&gt;
21387
21388 &lt;p&gt;Anyway, to get to the point of this post. Here is the simple tests
21389 I perform on a new model.&lt;/p&gt;
21390
21391 &lt;ul&gt;
21392
21393 &lt;li&gt;Is PXE installation working? I&#39;m testing with RHEL6, Ubuntu Lucid
21394 and Ubuntu Maverik at the moment. If I feel like it, I also test with
21395 RHEL5 and Debian Edu/Squeeze.&lt;/li&gt;
21396
21397 &lt;li&gt;Is X.org working? If the graphical login screen show up after
21398 installation, X.org is working.&lt;/li&gt;
21399
21400 &lt;li&gt;Is hardware accelerated OpenGL working? Running glxgears (in
21401 package mesa-utils on Ubuntu) and writing down the frames per second
21402 reported by the program.&lt;/li&gt;
21403
21404 &lt;li&gt;Is sound working? With Gnome and KDE, a sound is played when
21405 logging in, and if I can hear this the test is successful. If there
21406 are several audio exits on the machine, I try them all and check if
21407 the Gnome/KDE audio mixer can control where to send the sound. I
21408 normally test this by playing
21409 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20101012-chef/ &quot;&gt;a HTML5
21410 video&lt;/a&gt; in Firefox/Iceweasel.&lt;/li&gt;
21411
21412 &lt;li&gt;Is the USB subsystem working? I test this by plugging in a USB
21413 memory stick and see if Gnome/KDE notices this.&lt;/li&gt;
21414
21415 &lt;li&gt;Is the CD/DVD player working? I test this by inserting any CD/DVD
21416 I have lying around, and see if Gnome/KDE notices this.&lt;/li&gt;
21417
21418 &lt;li&gt;Is any built in camera working? Test using cheese, and see if a
21419 picture from the v4l device show up.&lt;/li&gt;
21420
21421 &lt;li&gt;Is bluetooth working? Use the Gnome/KDE browsing tool to see if
21422 any bluetooth devices are discovered. In my office, I normally see a
21423 few.&lt;/li&gt;
21424
21425 &lt;li&gt;For laptops, is the SD or Compaq Flash reader working. I have
21426 memory modules lying around, and stick them in and see if Gnome/KDE
21427 notice this.&lt;/li&gt;
21428
21429 &lt;li&gt;For laptops, is suspend/hibernate working? I&#39;m testing if the
21430 special button work, and if the laptop continue to work after
21431 resume.&lt;/li&gt;
21432
21433 &lt;li&gt;For laptops, is the extra buttons working, like audio level,
21434 adjusting background light, switching on/off external video output,
21435 switching on/off wifi, bluetooth, etc? The set of buttons differ from
21436 laptop to laptop, so I just write down which are working and which are
21437 not.&lt;/li&gt;
21438
21439 &lt;li&gt;Some laptops have smart card readers, finger print readers,
21440 acceleration sensors etc. I rarely test these, as I do not know how
21441 to quickly test if they are working or not, so I only document their
21442 existence.&lt;/li&gt;
21443
21444 &lt;/ul&gt;
21445
21446 &lt;p&gt;By now I suspect you are really curious what the test results are
21447 for the HP machines I am testing. I&#39;m not done yet, so I will report
21448 the test results later. For now I can report that HP 8100 Elite work
21449 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
21450 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
21451 can see, I have most machines left to test. One interesting
21452 observation is that Ubuntu Lucid has almost twice the frame rate than
21453 RHEL6 with glxgears. No idea why.&lt;/p&gt;
21454 </description>
21455 </item>
21456
21457 <item>
21458 <title>Some thoughts on BitCoins</title>
21459 <link>http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</link>
21460 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</guid>
21461 <pubDate>Sat, 11 Dec 2010 15:10:00 +0100</pubDate>
21462 <description>&lt;p&gt;As I continue to explore
21463 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;, I&#39;ve starting to wonder
21464 what properties the system have, and how it will be affected by laws
21465 and regulations here in Norway. Here are some random notes.&lt;/p&gt;
21466
21467 &lt;p&gt;One interesting thing to note is that since the transactions are
21468 verified using a peer to peer network, all details about a transaction
21469 is known to everyone. This means that if a BitCoin address has been
21470 published like I did with mine in my initial post about BitCoin, it is
21471 possible for everyone to see how many BitCoins have been transfered to
21472 that address. There is even a web service to look at the details for
21473 all transactions. There I can see that my address
21474 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;
21475 have received 16.06 Bitcoin, the
21476 &lt;a href=&quot;http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&quot;&gt;1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&lt;/a&gt;
21477 address of Simon Phipps have received 181.97 BitCoin and the address
21478 &lt;a href=&quot;http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&quot;&gt;1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&lt;/A&gt;
21479 of EFF have received 2447.38 BitCoins so far. Thank you to each and
21480 every one of you that donated bitcoins to support my activity. The
21481 fact that anyone can see how much money was transfered to a given
21482 address make it more obvious why the BitCoin community recommend to
21483 generate and hand out a new address for each transaction. I&#39;m told
21484 there is no way to track which addresses belong to a given person or
21485 organisation without the person or organisation revealing it
21486 themselves, as Simon, EFF and I have done.&lt;/p&gt;
21487
21488 &lt;p&gt;In Norway, and in most other countries, there are laws and
21489 regulations limiting how much money one can transfer across the border
21490 without declaring it. There are money laundering, tax and accounting
21491 laws and regulations I would expect to apply to the use of BitCoin.
21492 If the Skolelinux foundation
21493 (&lt;a href=&quot;http://linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;SLX
21494 Debian Labs&lt;/a&gt;) were to accept donations in BitCoin in addition to
21495 normal bank transfers like EFF is doing, how should this be accounted?
21496 Given that it is impossible to know if money can cross the border or
21497 not, should everything or nothing be declared? What exchange rate
21498 should be used when calculating taxes? Would receivers have to pay
21499 income tax if the foundation were to pay Skolelinux contributors in
21500 BitCoin? I have no idea, but it would be interesting to know.&lt;/p&gt;
21501
21502 &lt;p&gt;For a currency to be useful and successful, it must be trusted and
21503 accepted by a lot of users. It must be possible to get easy access to
21504 the currency (as a wage or using currency exchanges), and it must be
21505 easy to spend it. At the moment BitCoin seem fairly easy to get
21506 access to, but there are very few places to spend it. I am not really
21507 a regular user of any of the vendor types currently accepting BitCoin,
21508 so I wonder when my kind of shop would start accepting BitCoins. I
21509 would like to buy electronics, travels and subway tickets, not herbs
21510 and books. :) The currency is young, and this will improve over time
21511 if it become popular, but I suspect regular banks will start to lobby
21512 to get BitCoin declared illegal if it become popular. I&#39;m sure they
21513 will claim it is helping fund terrorism and money laundering (which
21514 probably would be true, as is any currency in existence), but I
21515 believe the problems should be solved elsewhere and not by blaming
21516 currencies.&lt;/p&gt;
21517
21518 &lt;p&gt;The process of creating new BitCoins is called mining, and it is
21519 CPU intensive process that depend on a bit of luck as well (as one is
21520 competing against all the other miners currently spending CPU cycles
21521 to see which one get the next lump of cash). The &quot;winner&quot; get 50
21522 BitCoin when this happen. Yesterday I came across the obvious way to
21523 join forces to increase ones changes of getting at least some coins,
21524 by coordinating the work on mining BitCoins across several machines
21525 and people, and sharing the result if one is lucky and get the 50
21526 BitCoins. Check out
21527 &lt;a href=&quot;http://www.bluishcoder.co.nz/bitcoin-pool/&quot;&gt;BitCoin Pool&lt;/a&gt;
21528 if this sounds interesting. I have not had time to try to set up a
21529 machine to participate there yet, but have seen that running on ones
21530 own for a few days have not yield any BitCoins througth mining
21531 yet.&lt;/p&gt;
21532
21533 &lt;p&gt;Update 2010-12-15: Found an &lt;a
21534 href=&quot;http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi&quot;&gt;interesting
21535 criticism&lt;/a&gt; of bitcoin. Not quite sure how valid it is, but thought
21536 it was interesting to read. The arguments presented seem to be
21537 equally valid for gold, which was used as a currency for many years.&lt;/p&gt;
21538 </description>
21539 </item>
21540
21541 <item>
21542 <title>Now accepting bitcoins - anonymous and distributed p2p crypto-money</title>
21543 <link>http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</link>
21544 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</guid>
21545 <pubDate>Fri, 10 Dec 2010 08:20:00 +0100</pubDate>
21546 <description>&lt;p&gt;With this weeks lawless
21547 &lt;a href=&quot;http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html&quot;&gt;governmental
21548 attacks&lt;/a&gt; on Wikileak and
21549 &lt;a href=&quot;http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech&quot;&gt;free
21550 speech&lt;/a&gt;, it has become obvious that PayPal, visa and mastercard can
21551 not be trusted to handle money transactions.
21552 A blog post from
21553 &lt;a href=&quot;http://webmink.com/2010/12/06/now-accepting-bitcoin/&quot;&gt;Simon
21554 Phipps on bitcoin&lt;/a&gt; reminded me about a project that a friend of
21555 mine mentioned earlier. I decided to follow Simon&#39;s example, and get
21556 involved with &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;. I got
21557 some help from my friend to get it all running, and he even handed me
21558 some bitcoins to get started. I even donated a few bitcoins to Simon
21559 for helping me remember BitCoin.&lt;/p&gt;
21560
21561 &lt;p&gt;So, what is bitcoins, you probably wonder? It is a digital
21562 crypto-currency, decentralised and handled using peer-to-peer
21563 networks. It allows anonymous transactions and prohibits central
21564 control over the transactions, making it impossible for governments
21565 and companies alike to block donations and other transactions. The
21566 source is free software, and while the key dependency wxWidgets 2.9
21567 for the graphical user interface is missing in Debian, the command
21568 line client builds just fine. Hopefully Jonas
21569 &lt;a href=&quot;http://bugs.debian.org/578157&quot;&gt;will get the package into
21570 Debian&lt;/a&gt; soon.&lt;/p&gt;
21571
21572 &lt;p&gt;Bitcoins can be converted to other currencies, like USD and EUR.
21573 There are &lt;a href=&quot;http://www.bitcoin.org/trade&quot;&gt;companies accepting
21574 bitcoins&lt;/a&gt; when selling services and goods, and there are even
21575 currency &quot;stock&quot; markets where the exchange rate is decided. There
21576 are not many users so far, but the concept seems promising. If you
21577 want to get started and lack a friend with any bitcoins to spare,
21578 you can even get
21579 &lt;a href=&quot;https://freebitcoins.appspot.com/&quot;&gt;some for free&lt;/a&gt; (0.05
21580 bitcoin at the time of writing). Use
21581 &lt;a href=&quot;http://www.bitcoinwatch.com/&quot;&gt;BitcoinWatch&lt;/a&gt; to keep an eye
21582 on the current exchange rates.&lt;/p&gt;
21583
21584 &lt;p&gt;As an experiment, I have decided to set up bitcoind on one of my
21585 machines. If you want to support my activity, please send Bitcoin
21586 donations to the address
21587 &lt;b&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/b&gt;. Thank you!&lt;/p&gt;
21588 </description>
21589 </item>
21590
21591 <item>
21592 <title>Student group continue the work on my Reprap 3D printer</title>
21593 <link>http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</link>
21594 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</guid>
21595 <pubDate>Thu, 9 Dec 2010 19:30:00 +0100</pubDate>
21596 <description>&lt;p&gt;A few days ago, I was introduces to some students in the robot
21597 student assosiation &lt;a href=&quot;http://www.robotica.no/&quot;&gt;Robotica
21598 Osloensis&lt;/a&gt; at the University of Oslo where I work, who planned to
21599 get their own 3D printer. They wanted to learn from me based on my
21600 work in the area. After having a short lunch meeting with them, I
21601 offered them to borrow my reprap kit, as I never had time to complete
21602 the build and this seem unlike to change any time soon. I look
21603 forward to see how this goes. This monday their volunteer driver
21604 picked up my kit and drove it to their lab, and tomorrow I am told the
21605 last exam is over so they can start work on getting the 3D printer
21606 operational.&lt;/p&gt;
21607
21608 &lt;p&gt;The robotic group have already build several robots on their own,
21609 and seem capable of getting the reprap operational. I really look
21610 forward to being able to print all the cool 3D designs published on
21611 &lt;a href=&quot;http://www.thingiverse.com/&quot;&gt;Thingiverse&lt;/a&gt;. I even got
21612 some 3D scans I got made during Dagen@IFI when one of the groups at
21613 the computer science department at the university demonstrated their
21614 very cool 3D scanner.&lt;/p&gt;
21615 </description>
21616 </item>
21617
21618 <item>
21619 <title>Debian Edu development gathering and General Assembly for FRiSK</title>
21620 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</link>
21621 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</guid>
21622 <pubDate>Mon, 29 Nov 2010 18:40:00 +0100</pubDate>
21623 <description>&lt;p&gt;On friday, the first Debian Edu / Skolelinux
21624 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo&quot;&gt;development
21625 gathering&lt;/a&gt; in a long time take place here in Oslo, Norway. I
21626 really look forward to seeing all the good people working on the
21627 Squeeze release. The gathering is open for everyone interested in
21628 learning more about Debian Edu / Skolelinux.&lt;/p&gt;
21629
21630 &lt;p&gt;On Saturday, the Norwegian member organization taking care of
21631 organizing these development gatherings, Fri Programvare i Skolen,
21632 will hold its
21633 &lt;a href=&quot;http://friprogramvareiskolen.no/Genfors/2010&quot;&gt;General Assembly
21634 for 2010&lt;/a&gt;. Membership is open for all, and currently there are 388
21635 people registered as members. Last year 32 members cast their vote in
21636 the memberdb based election system. I hope more people find time to
21637 vote this year.&lt;/p&gt;
21638 </description>
21639 </item>
21640
21641 <item>
21642 <title>Why isn&#39;t Debian Edu using VLC?</title>
21643 <link>http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</link>
21644 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</guid>
21645 <pubDate>Sat, 27 Nov 2010 11:30:00 +0100</pubDate>
21646 <description>&lt;p&gt;In the latest issue of Linux Journal, the readers choices were
21647 presented, and the winner among the multimedia player were VLC.
21648 Personally, I like VLC, and it is my player of choice when I first try
21649 to play a video file or stream. Only if VLC fail will I drag out
21650 gmplayer to see if it can do better. The reason is mostly the failure
21651 model and trust. When VLC fail, it normally pop up a error message
21652 reporting the problem. When mplayer fail, it normally segfault or
21653 just hangs. The latter failure mode drain my trust in the program.&lt;p&gt;
21654
21655 &lt;p&gt;But even if VLC is my player of choice, we have choosen to use
21656 mplayer in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
21657 Edu/Skolelinux&lt;/a&gt;. The reason is simple. We need a good browser
21658 plugin to play web videos seamlessly, and the VLC browser plugin is
21659 not very good. For example, it lack in-line control buttons, so there
21660 is no way for the user to pause the video. Also, when I
21661 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;last
21662 tested the browser plugins&lt;/a&gt; available in Debian, the VLC plugin
21663 failed on several video pages where mplayer based plugins worked. If
21664 the browser plugin for VLC was as good as the gecko-mediaplayer
21665 package (which uses mplayer), we would switch.&lt;/P&gt;
21666
21667 &lt;p&gt;While VLC is a good player, its user interface is slightly
21668 annoying. The most annoying feature is its inconsistent use of
21669 keyboard shortcuts. When the player is in full screen mode, its
21670 shortcuts are different from when it is playing the video in a window.
21671 For example, space only work as pause when in full screen mode. I
21672 wish it had consisten shortcuts and that space also would work when in
21673 window mode. Another nice shortcut in gmplayer is [enter] to restart
21674 the current video. It is very nice when playing short videos from the
21675 web and want to restart it when new people arrive to have a look at
21676 what is going on.&lt;/p&gt;
21677 </description>
21678 </item>
21679
21680 <item>
21681 <title>Lenny-&gt;Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</title>
21682 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</link>
21683 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</guid>
21684 <pubDate>Mon, 22 Nov 2010 14:15:00 +0100</pubDate>
21685 <description>&lt;p&gt;Michael Biebl suggested to me on IRC, that I changed my automated
21686 upgrade testing of the
21687 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
21688 Gnome and KDE Desktop&lt;/a&gt; to do &lt;tt&gt;apt-get autoremove&lt;/tt&gt; when using apt-get.
21689 This seem like a very good idea, so I adjusted by test scripts and
21690 can now present the updated result from today:&lt;/p&gt;
21691
21692 &lt;p&gt;This is for Gnome:&lt;/p&gt;
21693
21694 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
21695
21696 &lt;blockquote&gt;&lt;p&gt;
21697 apache2.2-bin
21698 aptdaemon
21699 baobab
21700 binfmt-support
21701 browser-plugin-gnash
21702 cheese-common
21703 cli-common
21704 cups-pk-helper
21705 dmz-cursor-theme
21706 empathy
21707 empathy-common
21708 freedesktop-sound-theme
21709 freeglut3
21710 gconf-defaults-service
21711 gdm-themes
21712 gedit-plugins
21713 geoclue
21714 geoclue-hostip
21715 geoclue-localnet
21716 geoclue-manual
21717 geoclue-yahoo
21718 gnash
21719 gnash-common
21720 gnome
21721 gnome-backgrounds
21722 gnome-cards-data
21723 gnome-codec-install
21724 gnome-core
21725 gnome-desktop-environment
21726 gnome-disk-utility
21727 gnome-screenshot
21728 gnome-search-tool
21729 gnome-session-canberra
21730 gnome-system-log
21731 gnome-themes-extras
21732 gnome-themes-more
21733 gnome-user-share
21734 gstreamer0.10-fluendo-mp3
21735 gstreamer0.10-tools
21736 gtk2-engines
21737 gtk2-engines-pixbuf
21738 gtk2-engines-smooth
21739 hamster-applet
21740 libapache2-mod-dnssd
21741 libapr1
21742 libaprutil1
21743 libaprutil1-dbd-sqlite3
21744 libaprutil1-ldap
21745 libart2.0-cil
21746 libboost-date-time1.42.0
21747 libboost-python1.42.0
21748 libboost-thread1.42.0
21749 libchamplain-0.4-0
21750 libchamplain-gtk-0.4-0
21751 libcheese-gtk18
21752 libclutter-gtk-0.10-0
21753 libcryptui0
21754 libdiscid0
21755 libelf1
21756 libepc-1.0-2
21757 libepc-common
21758 libepc-ui-1.0-2
21759 libfreerdp-plugins-standard
21760 libfreerdp0
21761 libgconf2.0-cil
21762 libgdata-common
21763 libgdata7
21764 libgdu-gtk0
21765 libgee2
21766 libgeoclue0
21767 libgexiv2-0
21768 libgif4
21769 libglade2.0-cil
21770 libglib2.0-cil
21771 libgmime2.4-cil
21772 libgnome-vfs2.0-cil
21773 libgnome2.24-cil
21774 libgnomepanel2.24-cil
21775 libgpod-common
21776 libgpod4
21777 libgtk2.0-cil
21778 libgtkglext1
21779 libgtksourceview2.0-common
21780 libmono-addins-gui0.2-cil
21781 libmono-addins0.2-cil
21782 libmono-cairo2.0-cil
21783 libmono-corlib2.0-cil
21784 libmono-i18n-west2.0-cil
21785 libmono-posix2.0-cil
21786 libmono-security2.0-cil
21787 libmono-sharpzip2.84-cil
21788 libmono-system2.0-cil
21789 libmtp8
21790 libmusicbrainz3-6
21791 libndesk-dbus-glib1.0-cil
21792 libndesk-dbus1.0-cil
21793 libopal3.6.8
21794 libpolkit-gtk-1-0
21795 libpt2.6.7
21796 libpython2.6
21797 librpm1
21798 librpmio1
21799 libsdl1.2debian
21800 libsrtp0
21801 libssh-4
21802 libtelepathy-farsight0
21803 libtelepathy-glib0
21804 libtidy-0.99-0
21805 media-player-info
21806 mesa-utils
21807 mono-2.0-gac
21808 mono-gac
21809 mono-runtime
21810 nautilus-sendto
21811 nautilus-sendto-empathy
21812 p7zip-full
21813 pkg-config
21814 python-aptdaemon
21815 python-aptdaemon-gtk
21816 python-axiom
21817 python-beautifulsoup
21818 python-bugbuddy
21819 python-clientform
21820 python-coherence
21821 python-configobj
21822 python-crypto
21823 python-cupshelpers
21824 python-elementtree
21825 python-epsilon
21826 python-evolution
21827 python-feedparser
21828 python-gdata
21829 python-gdbm
21830 python-gst0.10
21831 python-gtkglext1
21832 python-gtksourceview2
21833 python-httplib2
21834 python-louie
21835 python-mako
21836 python-markupsafe
21837 python-mechanize
21838 python-nevow
21839 python-notify
21840 python-opengl
21841 python-openssl
21842 python-pam
21843 python-pkg-resources
21844 python-pyasn1
21845 python-pysqlite2
21846 python-rdflib
21847 python-serial
21848 python-tagpy
21849 python-twisted-bin
21850 python-twisted-conch
21851 python-twisted-core
21852 python-twisted-web
21853 python-utidylib
21854 python-webkit
21855 python-xdg
21856 python-zope.interface
21857 remmina
21858 remmina-plugin-data
21859 remmina-plugin-rdp
21860 remmina-plugin-vnc
21861 rhythmbox-plugin-cdrecorder
21862 rhythmbox-plugins
21863 rpm-common
21864 rpm2cpio
21865 seahorse-plugins
21866 shotwell
21867 software-center
21868 system-config-printer-udev
21869 telepathy-gabble
21870 telepathy-mission-control-5
21871 telepathy-salut
21872 tomboy
21873 totem
21874 totem-coherence
21875 totem-mozilla
21876 totem-plugins
21877 transmission-common
21878 xdg-user-dirs
21879 xdg-user-dirs-gtk
21880 xserver-xephyr
21881 &lt;/p&gt;&lt;/blockquote&gt;
21882
21883 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
21884
21885 &lt;blockquote&gt;&lt;p&gt;
21886 cheese
21887 ekiga
21888 eog
21889 epiphany-extensions
21890 evolution-exchange
21891 fast-user-switch-applet
21892 file-roller
21893 gcalctool
21894 gconf-editor
21895 gdm
21896 gedit
21897 gedit-common
21898 gnome-games
21899 gnome-games-data
21900 gnome-nettool
21901 gnome-system-tools
21902 gnome-themes
21903 gnuchess
21904 gucharmap
21905 guile-1.8-libs
21906 libavahi-ui0
21907 libdmx1
21908 libgalago3
21909 libgtk-vnc-1.0-0
21910 libgtksourceview2.0-0
21911 liblircclient0
21912 libsdl1.2debian-alsa
21913 libspeexdsp1
21914 libsvga1
21915 rhythmbox
21916 seahorse
21917 sound-juicer
21918 system-config-printer
21919 totem-common
21920 transmission-gtk
21921 vinagre
21922 vino
21923 &lt;/p&gt;&lt;/blockquote&gt;
21924
21925 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
21926
21927 &lt;blockquote&gt;&lt;p&gt;
21928 gstreamer0.10-gnomevfs
21929 &lt;/p&gt;&lt;/blockquote&gt;
21930
21931 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
21932
21933 &lt;blockquote&gt;&lt;p&gt;
21934 [nothing]
21935 &lt;/p&gt;&lt;/blockquote&gt;
21936
21937 &lt;p&gt;This is for KDE:&lt;/p&gt;
21938
21939 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
21940
21941 &lt;blockquote&gt;&lt;p&gt;
21942 ksmserver
21943 &lt;/p&gt;&lt;/blockquote&gt;
21944
21945 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
21946
21947 &lt;blockquote&gt;&lt;p&gt;
21948 kwin
21949 network-manager-kde
21950 &lt;/p&gt;&lt;/blockquote&gt;
21951
21952 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
21953
21954 &lt;blockquote&gt;&lt;p&gt;
21955 arts
21956 dolphin
21957 freespacenotifier
21958 google-gadgets-gst
21959 google-gadgets-xul
21960 kappfinder
21961 kcalc
21962 kcharselect
21963 kde-core
21964 kde-plasma-desktop
21965 kde-standard
21966 kde-window-manager
21967 kdeartwork
21968 kdeartwork-emoticons
21969 kdeartwork-style
21970 kdeartwork-theme-icon
21971 kdebase
21972 kdebase-apps
21973 kdebase-workspace
21974 kdebase-workspace-bin
21975 kdebase-workspace-data
21976 kdeeject
21977 kdelibs
21978 kdeplasma-addons
21979 kdeutils
21980 kdewallpapers
21981 kdf
21982 kfloppy
21983 kgpg
21984 khelpcenter4
21985 kinfocenter
21986 konq-plugins-l10n
21987 konqueror-nsplugins
21988 kscreensaver
21989 kscreensaver-xsavers
21990 ktimer
21991 kwrite
21992 libgle3
21993 libkde4-ruby1.8
21994 libkonq5
21995 libkonq5-templates
21996 libnetpbm10
21997 libplasma-ruby
21998 libplasma-ruby1.8
21999 libqt4-ruby1.8
22000 marble-data
22001 marble-plugins
22002 netpbm
22003 nuvola-icon-theme
22004 plasma-dataengines-workspace
22005 plasma-desktop
22006 plasma-desktopthemes-artwork
22007 plasma-runners-addons
22008 plasma-scriptengine-googlegadgets
22009 plasma-scriptengine-python
22010 plasma-scriptengine-qedje
22011 plasma-scriptengine-ruby
22012 plasma-scriptengine-webkit
22013 plasma-scriptengines
22014 plasma-wallpapers-addons
22015 plasma-widget-folderview
22016 plasma-widget-networkmanagement
22017 ruby
22018 sweeper
22019 update-notifier-kde
22020 xscreensaver-data-extra
22021 xscreensaver-gl
22022 xscreensaver-gl-extra
22023 xscreensaver-screensaver-bsod
22024 &lt;/p&gt;&lt;/blockquote&gt;
22025
22026 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
22027
22028 &lt;blockquote&gt;&lt;p&gt;
22029 ark
22030 google-gadgets-common
22031 google-gadgets-qt
22032 htdig
22033 kate
22034 kdebase-bin
22035 kdebase-data
22036 kdepasswd
22037 kfind
22038 klipper
22039 konq-plugins
22040 konqueror
22041 ksysguard
22042 ksysguardd
22043 libarchive1
22044 libcln6
22045 libeet1
22046 libeina-svn-06
22047 libggadget-1.0-0b
22048 libggadget-qt-1.0-0b
22049 libgps19
22050 libkdecorations4
22051 libkephal4
22052 libkonq4
22053 libkonqsidebarplugin4a
22054 libkscreensaver5
22055 libksgrd4
22056 libksignalplotter4
22057 libkunitconversion4
22058 libkwineffects1a
22059 libmarblewidget4
22060 libntrack-qt4-1
22061 libntrack0
22062 libplasma-geolocation-interface4
22063 libplasmaclock4a
22064 libplasmagenericshell4
22065 libprocesscore4a
22066 libprocessui4a
22067 libqalculate5
22068 libqedje0a
22069 libqtruby4shared2
22070 libqzion0a
22071 libruby1.8
22072 libscim8c2a
22073 libsmokekdecore4-3
22074 libsmokekdeui4-3
22075 libsmokekfile3
22076 libsmokekhtml3
22077 libsmokekio3
22078 libsmokeknewstuff2-3
22079 libsmokeknewstuff3-3
22080 libsmokekparts3
22081 libsmokektexteditor3
22082 libsmokekutils3
22083 libsmokenepomuk3
22084 libsmokephonon3
22085 libsmokeplasma3
22086 libsmokeqtcore4-3
22087 libsmokeqtdbus4-3
22088 libsmokeqtgui4-3
22089 libsmokeqtnetwork4-3
22090 libsmokeqtopengl4-3
22091 libsmokeqtscript4-3
22092 libsmokeqtsql4-3
22093 libsmokeqtsvg4-3
22094 libsmokeqttest4-3
22095 libsmokeqtuitools4-3
22096 libsmokeqtwebkit4-3
22097 libsmokeqtxml4-3
22098 libsmokesolid3
22099 libsmokesoprano3
22100 libtaskmanager4a
22101 libtidy-0.99-0
22102 libweather-ion4a
22103 libxklavier16
22104 libxxf86misc1
22105 okteta
22106 oxygencursors
22107 plasma-dataengines-addons
22108 plasma-scriptengine-superkaramba
22109 plasma-widget-lancelot
22110 plasma-widgets-addons
22111 plasma-widgets-workspace
22112 polkit-kde-1
22113 ruby1.8
22114 systemsettings
22115 update-notifier-common
22116 &lt;/p&gt;&lt;/blockquote&gt;
22117
22118 &lt;p&gt;Running apt-get autoremove made the results using apt-get and
22119 aptitude a bit more similar, but there are still quite a lott of
22120 differences. I have no idea what packages should be installed after
22121 the upgrade, but hope those that do can have a look.&lt;/p&gt;
22122 </description>
22123 </item>
22124
22125 <item>
22126 <title>Migrating Xen virtual machines using LVM to KVM using disk images</title>
22127 <link>http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</link>
22128 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</guid>
22129 <pubDate>Mon, 22 Nov 2010 11:20:00 +0100</pubDate>
22130 <description>&lt;p&gt;Most of the computers in use by the
22131 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux project&lt;/a&gt;
22132 are virtual machines. And they have been Xen machines running on a
22133 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
22134 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
22135 bit harder that it could have been, because we set up the Xen virtual
22136 machines to get the virtual partitions from LVM, which as far as I
22137 know is not supported by KVM. So to migrate, we had to convert
22138 several LVM logical volumes to partitions on a virtual disk file.&lt;/p&gt;
22139
22140 &lt;p&gt;I found
22141 &lt;a href=&quot;http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM&quot;&gt;a
22142 nice recipe&lt;/a&gt; to do this, and wrote the following script to do the
22143 migration. It uses qemu-img from the qemu package to make the disk
22144 image, parted to partition it, losetup and kpartx to present the disk
22145 image partions as devices, and dd to copy the data. I NFS mounted the
22146 new servers storage area on the old server to do the migration.&lt;/p&gt;
22147
22148 &lt;pre&gt;
22149 #!/bin/sh
22150
22151 # Based on
22152 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
22153
22154 set -e
22155 set -x
22156
22157 if [ -z &quot;$1&quot; ] ; then
22158 echo &quot;Usage: $0 &amp;lt;hostname&amp;gt;&quot;
22159 exit 1
22160 else
22161 host=&quot;$1&quot;
22162 fi
22163
22164 if [ ! -e /dev/vg_data/$host-disk ] ; then
22165 echo &quot;error: unable to find LVM volume for $host&quot;
22166 exit 1
22167 fi
22168
22169 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
22170 disksize=$( lvs --units m | grep $host-disk | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
22171 swapsize=$( lvs --units m | grep $host-swap | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
22172 totalsize=$(( ( $disksize + $swapsize ) ))
22173
22174 img=$host.img
22175 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
22176 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
22177
22178 parted $img mklabel msdos
22179 parted $img mkpart primary linux-swap 0 $disksize
22180 parted $img mkpart primary ext2 $disksize $totalsize
22181 parted $img set 1 boot on
22182
22183 modprobe dm-mod
22184 losetup /dev/loop0 $img
22185 kpartx -a /dev/loop0
22186
22187 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
22188 fsck.ext3 -f /dev/mapper/loop0p1 || true
22189 mkswap /dev/mapper/loop0p2
22190
22191 kpartx -d /dev/loop0
22192 losetup -d /dev/loop0
22193 &lt;/pre&gt;
22194
22195 &lt;p&gt;The script is perhaps so simple that it is not copyrightable, but
22196 if it is, it is licenced using GPL v2 or later at your discretion.&lt;/p&gt;
22197
22198 &lt;p&gt;After doing this, I booted a Debian CD in rescue mode in KVM with
22199 the new disk image attached, installed grub-pc and linux-image-686 and
22200 set up grub to boot from the disk image. After this, the KVM machines
22201 seem to work just fine.&lt;/p&gt;
22202 </description>
22203 </item>
22204
22205 <item>
22206 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</title>
22207 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</link>
22208 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</guid>
22209 <pubDate>Sat, 20 Nov 2010 22:50:00 +0100</pubDate>
22210 <description>&lt;p&gt;I&#39;m still running upgrade testing of the
22211 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
22212 Gnome and KDE Desktop&lt;/a&gt;, but have not had time to spend on reporting the
22213 status. Here is a short update based on a test I ran 20101118.&lt;/p&gt;
22214
22215 &lt;p&gt;I still do not know what a correct migration should look like, so I
22216 report any differences between apt and aptitude and hope someone else
22217 can see if anything should be changed.&lt;/p&gt;
22218
22219 &lt;p&gt;This is for Gnome:&lt;/p&gt;
22220
22221 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
22222
22223 &lt;blockquote&gt;&lt;p&gt;
22224 apache2.2-bin aptdaemon at-spi baobab binfmt-support
22225 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
22226 dmz-cursor-theme empathy empathy-common finger
22227 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
22228 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
22229 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
22230 gnome-cards-data gnome-codec-install gnome-core
22231 gnome-desktop-environment gnome-disk-utility gnome-screenshot
22232 gnome-search-tool gnome-session-canberra gnome-spell
22233 gnome-system-log gnome-themes-extras gnome-themes-more
22234 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
22235 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
22236 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
22237 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
22238 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
22239 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
22240 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
22241 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
22242 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
22243 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
22244 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
22245 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
22246 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
22247 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
22248 libgtk2.0-cil libgtkglext1 libgtksourceview-common
22249 libgtksourceview2.0-common libmono-addins-gui0.2-cil
22250 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
22251 libmono-i18n-west2.0-cil libmono-posix2.0-cil
22252 libmono-security2.0-cil libmono-sharpzip2.84-cil
22253 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
22254 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
22255 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
22256 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
22257 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
22258 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
22259 libxalan2-java libxerces2-java media-player-info mesa-utils
22260 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
22261 nautilus-sendto-empathy openoffice.org-writer2latex
22262 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
22263 python-aptdaemon python-aptdaemon-gtk python-axiom
22264 python-beautifulsoup python-bugbuddy python-clientform
22265 python-coherence python-configobj python-crypto python-cupshelpers
22266 python-cupsutils python-eggtrayicon python-elementtree
22267 python-epsilon python-evolution python-feedparser python-gdata
22268 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
22269 python-gtksourceview2 python-httplib2 python-louie python-mako
22270 python-markupsafe python-mechanize python-nevow python-notify
22271 python-opengl python-openssl python-pam python-pkg-resources
22272 python-pyasn1 python-pysqlite2 python-rdflib python-serial
22273 python-tagpy python-twisted-bin python-twisted-conch
22274 python-twisted-core python-twisted-web python-utidylib python-webkit
22275 python-xdg python-zope.interface remmina remmina-plugin-data
22276 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
22277 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
22278 software-center svgalibg1 system-config-printer-udev
22279 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
22280 totem totem-coherence totem-mozilla totem-plugins
22281 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
22282 zip
22283 &lt;/p&gt;&lt;/blockquote&gt;
22284
22285 Installed using apt-get, removed with aptitude
22286
22287 &lt;blockquote&gt;&lt;p&gt;
22288 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
22289 epiphany-extensions epiphany-gecko evolution-exchange
22290 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
22291 gedit-common gnome-app-install gnome-games gnome-games-data
22292 gnome-nettool gnome-system-tools gnome-themes gnome-utils
22293 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
22294 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
22295 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
22296 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
22297 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
22298 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
22299 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
22300 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
22301 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
22302 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
22303 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
22304 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
22305 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
22306 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
22307 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
22308 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
22309 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
22310 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
22311 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
22312 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
22313 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
22314 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
22315 sound-juicer swfdec-gnome system-config-printer totem-common
22316 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
22317 &lt;/p&gt;&lt;/blockquote&gt;
22318
22319 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
22320
22321 &lt;blockquote&gt;&lt;p&gt;
22322 gstreamer0.10-gnomevfs
22323 &lt;/p&gt;&lt;/blockquote&gt;
22324
22325 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
22326
22327 &lt;blockquote&gt;&lt;p&gt;
22328 [nothing]
22329 &lt;/p&gt;&lt;/blockquote&gt;
22330
22331 &lt;p&gt;This is for KDE:&lt;/p&gt;
22332
22333 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
22334
22335 &lt;blockquote&gt;&lt;p&gt;
22336 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
22337 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
22338 ghostscript-x git gnome-audio gnugo granatier gs-common
22339 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
22340 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
22341 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
22342 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
22343 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
22344 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
22345 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
22346 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
22347 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
22348 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
22349 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
22350 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
22351 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
22352 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
22353 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
22354 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
22355 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
22356 libkrossui4 libmailtools-perl libmime-tools-perl
22357 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
22358 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
22359 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
22360 lirc luatex marble networkstatus noatun-plugins
22361 openoffice.org-writer2latex palapeli palapeli-data parley
22362 parley-data poster psutils pulseaudio pulseaudio-esound-compat
22363 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
22364 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
22365 ttf-sazanami-gothic
22366 &lt;/p&gt;&lt;/blockquote&gt;
22367
22368 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
22369
22370 &lt;blockquote&gt;&lt;p&gt;
22371 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
22372 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
22373 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
22374 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
22375 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
22376 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
22377 kitchensync kiten kjumpingcube klatin klettres klickety klines
22378 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
22379 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
22380 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
22381 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
22382 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
22383 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
22384 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
22385 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
22386 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
22387 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
22388 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
22389 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
22390 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
22391 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
22392 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
22393 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
22394 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
22395 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
22396 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
22397 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
22398 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
22399 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
22400 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
22401 mpeglib network-manager-kde noatun pmount tex-common texlive-base
22402 texlive-common texlive-doc-base texlive-fonts-recommended tidy
22403 ttf-dustin ttf-kochi-gothic ttf-sjfonts
22404 &lt;/p&gt;&lt;/blockquote&gt;
22405
22406 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
22407
22408 &lt;blockquote&gt;&lt;p&gt;
22409 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
22410 kdeartwork kdebase kdebase-apps kdebase-workspace
22411 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
22412 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
22413 netpbm plasma-widget-folderview plasma-widget-networkmanagement
22414 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
22415 xscreensaver-screensaver-bsod
22416 &lt;/p&gt;&lt;/blockquote&gt;
22417
22418 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
22419
22420 &lt;blockquote&gt;&lt;p&gt;
22421 kdebase-bin konq-plugins konqueror
22422 &lt;/p&gt;&lt;/blockquote&gt;
22423 </description>
22424 </item>
22425
22426 <item>
22427 <title>Gnash buildbot slave and Debian kfreebsd</title>
22428 <link>http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</link>
22429 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</guid>
22430 <pubDate>Sat, 20 Nov 2010 07:20:00 +0100</pubDate>
22431 <description>&lt;p&gt;Answering
22432 &lt;a href=&quot;http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html&quot;&gt;the
22433 call from the Gnash project&lt;/a&gt; for
22434 &lt;a href=&quot;http://www.gnashdev.org:8010&quot;&gt;buildbot&lt;/a&gt; slaves to test the
22435 current source, I have set up a virtual KVM machine on the Debian
22436 Edu/Skolelinux virtualization host to test the git source on
22437 Debian/Squeeze. I hope this can help the developers in getting new
22438 releases out more often.&lt;/p&gt;
22439
22440 &lt;p&gt;As the developers want less main-stream build platforms tested to,
22441 I have considered setting up a &lt;a
22442 href=&quot;http://www.debian.org/ports/kfreebsd-gnu/&quot;&gt;Debian/kfreebsd&lt;/a&gt;
22443 machine as well. I have also considered using the kfreebsd
22444 architecture in Debian as a file server in NUUG to get access to the 5
22445 TB zfs volume we currently use to store DV video. Because of this, I
22446 finally got around to do a test installation of Debian/Squeeze with
22447 kfreebsd. Installation went fairly smooth, thought I noticed some
22448 visual glitches in the cdebconf dialogs (black cursor left on the
22449 screen at random locations). Have not gotten very far with the
22450 testing. Noticed cfdisk did not work, but fdisk did so it was not a
22451 fatal problem. Have to spend some more time on it to see if it is
22452 useful as a file server for NUUG. Will try to find time to set up a
22453 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.&lt;/p&gt;
22454 </description>
22455 </item>
22456
22457 <item>
22458 <title>Debian in 3D</title>
22459 <link>http://people.skolelinux.org/pere/blog/Debian_in_3D.html</link>
22460 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_in_3D.html</guid>
22461 <pubDate>Tue, 9 Nov 2010 16:10:00 +0100</pubDate>
22462 <description>&lt;p&gt;&lt;img src=&quot;http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg&quot;&gt;&lt;/p&gt;
22463
22464 &lt;p&gt;3D printing is just great. I just came across this Debian logo in
22465 3D linked in from
22466 &lt;a href=&quot;http://blog.thingiverse.com/2010/11/09/participatory-branding/&quot;&gt;the
22467 thingiverse blog&lt;/a&gt;.&lt;/p&gt;
22468 </description>
22469 </item>
22470
22471 <item>
22472 <title>Making room on the Debian Edu/Sqeeze DVD</title>
22473 <link>http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</link>
22474 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</guid>
22475 <pubDate>Sun, 7 Nov 2010 11:45:00 +0100</pubDate>
22476 <description>&lt;p&gt;Prioritising packages for the Debian Edu /
22477 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; DVD, which is
22478 supposed provide a school with all the services and user applications
22479 needed on the pupils computer network has always been hard. Even
22480 schools without Internet connections should be able to get Debian Edu
22481 working using this DVD.&lt;/p&gt;
22482
22483 &lt;p&gt;The job became a lot harder when apt and aptitude started
22484 installing recommended packages by default. We want the same set of
22485 packages to be installed when using the DVD and the netinst CD, and
22486 that means all recommended packages need to be on the DVD. I created
22487 a patch for debian-cd in &lt;a href=&quot;http://bugs.debian.org/601203&quot;&gt;BTS
22488 report #601203&lt;/a&gt; to do this, and since this change was applied to
22489 the Debian Edu DVD build, we have been seriously short on space.&lt;/p&gt;
22490
22491 &lt;p&gt;A few days ago we decided to drop blender, wxmaxima and kicad from
22492 the default installation to save space on the DVD, believing that
22493 those needing these applications are few and can get them from the
22494 Debian archive.&lt;/p&gt;
22495
22496 &lt;p&gt;Yesterday, I had a look what source packages to see which packages
22497 were using most space. A few large packages are well know;
22498 openoffice.org, openclipart and fluid-soundfont. But I also
22499 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
22500 The lilypond package is pulled in as a dependency for rosegarden, and
22501 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
22502 the documentation package, which is recommended by the binary package.
22503 I decided to drop this documentation package from our DVD, as most of
22504 our users will use the GUI front-ends and do not need the lilypond
22505 documentation. Similarly, I dropped the non-free fglrx-driver package
22506 which might be installed by d-i when its hardware is detected, as the
22507 free X driver should work.&lt;/p&gt;
22508
22509 &lt;p&gt;With this change, we finally got space for the LXDE and Gnome
22510 desktop packages as well as the language specific packages making the
22511 DVD more useful again.&lt;/p&gt;
22512 </description>
22513 </item>
22514
22515 <item>
22516 <title>Software updates 2010-10-24</title>
22517 <link>http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</link>
22518 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</guid>
22519 <pubDate>Sun, 24 Oct 2010 22:45:00 +0200</pubDate>
22520 <description>&lt;p&gt;Some updates.&lt;/p&gt;
22521
22522 &lt;p&gt;My &lt;a href=&quot;http://pledgebank.com/gnash-avm2&quot;&gt;gnash pledge&lt;/a&gt; to
22523 raise money for the project is going well. The lower limit of 10
22524 signers was reached in 24 hours, and so far 13 people have signed it.
22525 More signers and more funding is most welcome, and I am really curious
22526 how far we can get before the time limit of December 24 is reached.
22527 :)&lt;/p&gt;
22528
22529 &lt;p&gt;On the #gnash IRC channel on irc.freenode.net, I was just tipped
22530 about what appear to be a great code coverage tool capable of
22531 generating code coverage stats without any changes to the source code.
22532 It is called
22533 &lt;a href=&quot;http://simonkagstrom.github.com/kcov/index.html&quot;&gt;kcov&lt;/a&gt;,
22534 and can be used using &lt;tt&gt;kcov &amp;lt;directory&amp;gt; &amp;lt;binary&amp;gt;&lt;/tt&gt;.
22535 It is missing in Debian, but the git source built just fine in Squeeze
22536 after I installed libelf-dev, libdwarf-dev, pkg-config and
22537 libglib2.0-dev. Failed to build in Lenny, but suspect that is
22538 solvable. I hope kcov make it into Debian soon.&lt;/p&gt;
22539
22540 &lt;p&gt;Finally found time to wrap up the release notes for &lt;a
22541 href=&quot;http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html&quot;&gt;a
22542 new alpha release of Debian Edu&lt;/a&gt;, and just published the second
22543 alpha test release of the Squeeze based Debian Edu /
22544 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;
22545 release. Give it a try if you need a complete linux solution for your
22546 school, including central infrastructure server, workstations, thin
22547 client servers and diskless workstations. A nice touch added
22548 yesterday is RDP support on the thin client servers, for windows
22549 clients to get a Linux desktop on request.&lt;/p&gt;
22550 </description>
22551 </item>
22552
22553 <item>
22554 <title>Pledge for funding to the Gnash project to get AVM2 support</title>
22555 <link>http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</link>
22556 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</guid>
22557 <pubDate>Tue, 19 Oct 2010 14:45:00 +0200</pubDate>
22558 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is the
22559 most promising solution for a Free Software Flash implementation. It
22560 has done great so far, but there is still far to go, and recently its
22561 funding has dried up. I believe AVM2 support in Gnash is vital to the
22562 continued progress of the project, as more and more sites show up with
22563 AVM2 flash files.&lt;/p&gt;
22564
22565 &lt;p&gt;To try to get funding for developing such support, I have started
22566 &lt;a href=&quot;http://www.pledgebank.com/gnash-avm2&quot;&gt;a pledge&lt;/a&gt; with the
22567 following text:&lt;/P&gt;
22568
22569 &lt;p&gt;&lt;blockquote&gt;
22570
22571 &lt;p&gt;&quot;I will pay 100$ to the Gnash project to develop AVM2 support but
22572 only if 10 other people will do the same.&quot;&lt;/p&gt;
22573
22574 &lt;p&gt;- Petter Reinholdtsen, free software developer&lt;/p&gt;
22575
22576 &lt;p&gt;Deadline to sign up by: 24th December 2010&lt;/p&gt;
22577
22578 &lt;p&gt;The Gnash project need to get support for the new Flash file
22579 format AVM2 to work with a lot of sites using Flash on the
22580 web. Gnash already work with a lot of Flash sites using the old AVM1
22581 format, but more and more sites are using the AVM2 format these
22582 days. The project web page is available from
22583 http://www.getgnash.org/ . Gnash is a free software implementation
22584 of Adobe Flash, allowing those of us that do not accept the terms of
22585 the Adobe Flash license to get access to Flash sites.&lt;/p&gt;
22586
22587 &lt;p&gt;The project need funding to get developers to put aside enough
22588 time to develop the AVM2 support, and this pledge is my way to try
22589 to get this to happen.&lt;/p&gt;
22590
22591 &lt;p&gt;The project accept donations via the OpenMediaNow foundation,
22592 &lt;a href=&quot;http://www.openmedianow.org/?q=node/32&quot;&gt;http://www.openmedianow.org/?q=node/32&lt;/a&gt; .&lt;/p&gt;
22593
22594 &lt;/blockquote&gt;&lt;/p&gt;
22595
22596 &lt;p&gt;I hope you will support this effort too. I hope more than 10
22597 people will participate to make this happen. The more money the
22598 project gets, the more features it can develop using these funds.
22599 :)&lt;/p&gt;
22600 </description>
22601 </item>
22602
22603 <item>
22604 <title>First version of a Perl library to control the Spykee robot</title>
22605 <link>http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</link>
22606 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</guid>
22607 <pubDate>Sat, 9 Oct 2010 14:00:00 +0200</pubDate>
22608 <description>&lt;p&gt;This summer I got the chance to buy cheap Spykee robots, and since
22609 then I have worked on getting Linux software in place to control them.
22610 The firmware for the robot is available from the producer, and using
22611 that source it was trivial to figure out the protocol specification.
22612 I&#39;ve started on a perl library to control it, and made some demo
22613 programs using this perl library to allow one to control the
22614 robots.&lt;/p&gt;
22615
22616 &lt;p&gt;The library is quite functional already, and capable of controlling
22617 the driving, fetching video, uploading MP3s and play them. There are
22618 a few less important features too.&lt;/p&gt;
22619
22620 &lt;p&gt;Since a few weeks ago, I ran out of time to spend on this project,
22621 but I never got around to releasing the current source. I decided
22622 today that it was time to do something about it, and uploaded the
22623 source to my Debian package store at people.skolelinux.org.&lt;/p&gt;
22624
22625 &lt;p&gt;Because it was simpler for me, I made a Debian package and
22626 published the source and deb. If you got a spykee robot, grab the
22627 source or binary package:&lt;/p&gt;
22628
22629 &lt;p&gt;&lt;ul&gt;
22630 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz&quot;&gt;libspykee-perl_0.0.20101009-1.tar.gz&lt;/a&gt;&lt;/li&gt;
22631 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc&quot;&gt;libspykee-perl_0.0.20101009-1.dsc&lt;/a&gt;&lt;/li&gt;
22632 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb&quot;&gt;libspykee-perl_0.0.20101009-1_all.deb&lt;/a&gt;&lt;/li&gt;
22633 &lt;/ul&gt;&lt;/p&gt;
22634
22635 &lt;p&gt;If you are interested in helping out with developing this library,
22636 please let me know.&lt;/p&gt;
22637 </description>
22638 </item>
22639
22640 <item>
22641 <title>Links for 2010-10-03</title>
22642 <link>http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</link>
22643 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</guid>
22644 <pubDate>Sun, 3 Oct 2010 22:30:00 +0200</pubDate>
22645 <description>&lt;p&gt;&lt;ul&gt;
22646
22647 &lt;li&gt;&lt;a href=&quot;http://arstechnica.com/business/news/2010/09/there-is-no-plan-b-why-the-ipv4-to-ipv6-transition-will-be-ugly.ars&quot;&gt;There
22648 is no Plan B: why the IPv4-to-IPv6 transition will be ugly&lt;/a&gt;&lt;/li&gt;
22649
22650 &lt;li&gt;Scanner looking under clothes
22651 &lt;a href=&quot;http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/&quot;&gt;has
22652 already been misused at Heathrow&lt;/a&gt;.&lt;/li&gt;
22653
22654 &lt;li&gt;&lt;a href=&quot;http://wiki.softwarelivre.org/Landell&quot;&gt;Landell
22655 Webcasting&lt;/a&gt; - interesting alternative for
22656 &lt;ahref=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;DVSwitch&lt;/a&gt; with
22657 simple setup.
22658
22659 &lt;/ul&gt;&lt;/p&gt;
22660 </description>
22661 </item>
22662
22663 <item>
22664 <title>Terms of use for video produced by a Canon IXUS 130 digital camera</title>
22665 <link>http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</link>
22666 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</guid>
22667 <pubDate>Thu, 9 Sep 2010 23:55:00 +0200</pubDate>
22668 <description>&lt;p&gt;A few days ago I had the mixed pleasure of bying a new digital
22669 camera, a Canon IXUS 130. It was instructive and very disturbing to
22670 be able to verify that also this camera producer have the nerve to
22671 specify how I can or can not use the videos produced with the camera.
22672 Even thought I was aware of the issue, the options with new cameras
22673 are limited and I ended up bying the camera anyway. What is the
22674 problem, you might ask? It is software patents, MPEG-4, H.264 and the
22675 MPEG-LA that is the problem, and our right to record our experiences
22676 without asking for permissions that is at risk.
22677
22678 &lt;p&gt;On page 27 of the Danish instruction manual, this section is
22679 written:&lt;/p&gt;
22680
22681 &lt;blockquote&gt;
22682 &lt;p&gt;This product is licensed under AT&amp;T patents for the MPEG-4 standard
22683 and may be used for encoding MPEG-4 compliant video and/or decoding
22684 MPEG-4 compliant video that was encoded only (1) for a personal and
22685 non-commercial purpose or (2) by a video provider licensed under the
22686 AT&amp;T patents to provide MPEG-4 compliant video.&lt;/p&gt;
22687
22688 &lt;p&gt;No license is granted or implied for any other use for MPEG-4
22689 standard.&lt;/p&gt;
22690 &lt;/blockquote&gt;
22691
22692 &lt;p&gt;In short, the camera producer have chosen to use technology
22693 (MPEG-4/H.264) that is only provided if I used it for personal and
22694 non-commercial purposes, or ask for permission from the organisations
22695 holding the knowledge monopoly (patent) for technology used.&lt;/p&gt;
22696
22697 &lt;p&gt;This issue has been brewing for a while, and I recommend you to
22698 read
22699 &quot;&lt;a href=&quot;http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA&quot;&gt;Why
22700 Our Civilization&#39;s Video Art and Culture is Threatened by the
22701 MPEG-LA&lt;/a&gt;&quot; by Eugenia Loli-Queru and
22702 &quot;&lt;a href=&quot;http://webmink.com/2010/09/03/h-264-and-foss/&quot;&gt;H.264 Is Not
22703 The Sort Of Free That Matters&lt;/a&gt;&quot; by Simon Phipps to learn more about
22704 the issue. The solution is to support the
22705 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
22706 open standards&lt;/a&gt; for video, like &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg
22707 Theora&lt;/a&gt;, and avoid MPEG-4 and H.264 if you can.&lt;/p&gt;
22708 </description>
22709 </item>
22710
22711 <item>
22712 <title>Some notes on Flash in Debian and Debian Edu</title>
22713 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</link>
22714 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</guid>
22715 <pubDate>Sat, 4 Sep 2010 10:10:00 +0200</pubDate>
22716 <description>&lt;p&gt;In the &lt;a href=&quot;http://popcon.debian.org/unknown/by_vote&quot;&gt;Debian
22717 popularity-contest numbers&lt;/a&gt;, the adobe-flashplugin package the
22718 second most popular used package that is missing in Debian. The sixth
22719 most popular is flashplayer-mozilla. This is a clear indication that
22720 working flash is important for Debian users. Around 10 percent of the
22721 users submitting data to popcon.debian.org have this package
22722 installed.&lt;/p&gt;
22723
22724 &lt;p&gt;In the report written by Lars Risan in August 2008
22725&lt;a href=&quot;http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&amp;do=view&amp;target=Skolelinux_i_bruk_rapport_1.0.pdf&quot;&gt;Skolelinux
22726 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
22727 stiftelsen SLX Debian Labs&lt;/a&gt;»), one of the most important problems
22728 schools experienced with &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
22729 Edu/Skolelinux&lt;/a&gt; was the lack of working Flash. A lot of educational
22730 web sites require Flash to work, and lacking working Flash support in
22731 the web browser and the problems with installing it was perceived as a
22732 good reason to stay with Windows.&lt;/p&gt;
22733
22734 &lt;p&gt;I once saw a funny and sad comment in a web forum, where Linux was
22735 said to be the retarded cousin that did not really understand
22736 everything you told him but could work fairly well. This was a
22737 comment regarding the problems Linux have with proprietary formats and
22738 non-standard web pages, and is sad because it exposes a fairly common
22739 understanding of whose fault it is if web pages that only work in for
22740 example Internet Explorer 6 fail to work on Firefox, and funny because
22741 it explain very well how annoying it is for users when Linux
22742 distributions do not work with the documents they receive or the web
22743 pages they want to visit.&lt;/p&gt;
22744
22745 &lt;p&gt;This is part of the reason why I believe it is important for Debian
22746 and Debian Edu to have a well working Flash implementation in the
22747 distribution, to get at least popular sites as Youtube and Google
22748 Video to working out of the box. For Squeeze, Debian have the chance
22749 to include the latest version of Gnash that will make this happen, as
22750 the new release 0.8.8 was published a few weeks ago and is resting in
22751 unstable. The new version work with more sites that version 0.8.7.
22752 The Gnash maintainers have asked for a freeze exception, but the
22753 release team have not had time to reply to it yet. I hope they agree
22754 with me that Flash is important for the Debian desktop users, and thus
22755 accept the new package into Squeeze.&lt;/p&gt;
22756 </description>
22757 </item>
22758
22759 <item>
22760 <title>My first perl GUI application - controlling a Spykee robot</title>
22761 <link>http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</link>
22762 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</guid>
22763 <pubDate>Wed, 1 Sep 2010 21:00:00 +0200</pubDate>
22764 <description>&lt;p&gt;This evening I made my first Perl GUI application. The last few
22765 days I have worked on a Perl module for controlling my recently
22766 aquired Spykee robots, and the module is now getting complete enought
22767 that it is possible to use it to control the robot driving at least.
22768 It was now time to figure out how to use it to create some GUI to
22769 allow me to drive the robot around. I picked PerlQt as I have had
22770 positive experiences with the Qt API before, and spent a few minutes
22771 browsing the web for examples. Using Qt Designer seemed like a short
22772 cut, so I ended up writing the perl GUI using Qt Designer and
22773 compiling it into a perl program using the puic program from
22774 libqt-perl. Nothing fancy yet, but it got buttons to connect and
22775 drive around.&lt;/p&gt;
22776
22777 &lt;p&gt;The perl module I have written provide a object oriented API for
22778 controlling the robot. Here is an small example on how to use it:&lt;/p&gt;
22779
22780 &lt;p&gt;&lt;pre&gt;
22781 use Spykee;
22782 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
22783 my $host = (keys %robot)[0];
22784 my $spykee = Spykee-&gt;new();
22785 $spykee-&gt;contact($host, &quot;admin&quot;, &quot;admin&quot;);
22786 $spykee-&gt;left();
22787 sleep 2;
22788 $spykee-&gt;right();
22789 sleep 2;
22790 $spykee-&gt;forward();
22791 sleep 2;
22792 $spykee-&gt;back();
22793 sleep 2;
22794 $spykee-&gt;stop();
22795 &lt;/pre&gt;&lt;/p&gt;
22796
22797 &lt;p&gt;Thanks to the release of the source of the robot firmware, I could
22798 peek into the implementation at the other end to figure out how to
22799 implement the protocol used by the robot. I&#39;ve implemented several of
22800 the commands the robot understand, but is still missing the camera
22801 support to make it possible to control the robot from remote. First I
22802 want to implement support for uploading new firmware and configuring
22803 the wireless network, to make it possible to bootstrap a Spykee robot
22804 without the producers Windows and MacOSX software (I only have Linux,
22805 so I had to ask a friend to come over to get the robot testing
22806 going. :).&lt;/p&gt;
22807
22808 &lt;p&gt;Will release the source to the public soon, but need to figure out
22809 where to make it available first. I will add a link to
22810 &lt;a href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;the NUUG wiki&lt;/a&gt; for
22811 those that want to check back later to find it.&lt;/p&gt;
22812 </description>
22813 </item>
22814
22815 <item>
22816 <title>Broken hard link handling with sshfs</title>
22817 <link>http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</link>
22818 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</guid>
22819 <pubDate>Mon, 30 Aug 2010 19:30:00 +0200</pubDate>
22820 <description>&lt;p&gt;Just got an email from Tobias Gruetzmacher as a followup on my
22821 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html&quot;&gt;previous
22822 post about sshfs&lt;/a&gt;. He reported another problem with sshfs. It
22823 fail to handle hard links properly. A simple way to spot this is to
22824 look at the . and .. entries in the directory tree. These should have
22825 a link count &gt;1, but on sshfs the count is 1. I just tested to see
22826 what happen when trying to hardlink, and this fail as well:&lt;/p&gt;
22827
22828 &lt;pre&gt;
22829 % ln foo bar
22830 ln: creating hard link `bar&#39; =&gt; `foo&#39;: Function not implemented
22831 %
22832 &lt;/pre&gt;
22833
22834 &lt;p&gt;I have not yet found time to implement a test for this in my file
22835 system test code, but believe having working hard links is useful to
22836 avoid surprised unix programs. Not as useful as working file locking
22837 and symlinks, which are required to get a working desktop, but useful
22838 nevertheless. :)&lt;/p&gt;
22839
22840 &lt;p&gt;The latest version of the file system test code is available via
22841 git from
22842 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;&lt;/p&gt;
22843 </description>
22844 </item>
22845
22846 <item>
22847 <title>Broken umask handling with sshfs</title>
22848 <link>http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</link>
22849 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</guid>
22850 <pubDate>Thu, 26 Aug 2010 13:30:00 +0200</pubDate>
22851 <description>&lt;p&gt;My file system sematics program
22852 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html&quot;&gt;presented
22853 a few days ago&lt;/a&gt; is very useful to verify that a file system can
22854 work as a unix home directory,and today I had to extend it a bit. I&#39;m
22855 looking into alternatives for home directory access here at the
22856 University of Oslo, and one of the options is sshfs. My friend
22857 Finn-Arne mentioned a while back that they had used sshfs with Debian
22858 Edu, but stopped because of problems. I asked today what the problems
22859 where, and he mentioned that sshfs failed to handle umask properly.
22860 Trying to detect the problem I wrote this addition to my fs testing
22861 script:&lt;/p&gt;
22862
22863 &lt;pre&gt;
22864 mode_t touch_get_mode(const char *name, mode_t mode) {
22865 mode_t retval = 0;
22866 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
22867 if (-1 != fd) {
22868 unlink(name);
22869 struct stat statbuf;
22870 if (-1 != fstat(fd, &amp;statbuf)) {
22871 retval = statbuf.st_mode &amp; 0x1ff;
22872 }
22873 close(fd);
22874 }
22875 return retval;
22876 }
22877
22878 /* Try to detect problem discovered using sshfs */
22879 int test_umask(void) {
22880 printf(&quot;info: testing umask effect on file creation\n&quot;);
22881
22882 mode_t orig_umask = umask(000);
22883 mode_t newmode;
22884 if (0666 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
22885 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 000\n&quot;,
22886 newmode);
22887 }
22888 umask(007);
22889 if (0660 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
22890 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 007\n&quot;,
22891 newmode);
22892 }
22893
22894 umask (orig_umask);
22895 return 0;
22896 }
22897
22898 int main(int argc, char **argv) {
22899 [...]
22900 test_umask();
22901 return 0;
22902 }
22903 &lt;/pre&gt;
22904
22905 &lt;p&gt;Sure enough. On NFS to a netapp, I get this result:&lt;/p&gt;
22906
22907 &lt;pre&gt;
22908 Testing POSIX/Unix sematics on file system
22909 info: testing symlink creation
22910 info: testing subdirectory creation
22911 info: testing fcntl locking
22912 Read-locking 1 byte from 1073741824
22913 Read-locking 510 byte from 1073741826
22914 Unlocking 1 byte from 1073741824
22915 Write-locking 1 byte from 1073741824
22916 Write-locking 510 byte from 1073741826
22917 Unlocking 2 byte from 1073741824
22918 info: testing umask effect on file creation
22919 &lt;/pre&gt;
22920
22921 &lt;p&gt;When mounting the same directory using sshfs, I get this
22922 result:&lt;/p&gt;
22923
22924 &lt;pre&gt;
22925 Testing POSIX/Unix sematics on file system
22926 info: testing symlink creation
22927 info: testing subdirectory creation
22928 info: testing fcntl locking
22929 Read-locking 1 byte from 1073741824
22930 Read-locking 510 byte from 1073741826
22931 Unlocking 1 byte from 1073741824
22932 Write-locking 1 byte from 1073741824
22933 Write-locking 510 byte from 1073741826
22934 Unlocking 2 byte from 1073741824
22935 info: testing umask effect on file creation
22936 error: Wrong file mode 644 when creating using mode 666 and umask 000
22937 error: Wrong file mode 640 when creating using mode 666 and umask 007
22938 &lt;/pre&gt;
22939
22940 &lt;p&gt;So, I can conclude that sshfs is better than smb to a Netapp or a
22941 Windows server, but not good enough to be used as a home
22942 directory.&lt;/p&gt;
22943
22944 &lt;p&gt;Update 2010-08-26: Reported the issue in
22945 &lt;a href=&quot;http://bugs.debian.org/594498&quot;&gt;BTS report #594498&lt;/a&gt;&lt;/p&gt;
22946
22947 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
22948 script so useful that he created a GIT repository and stored it in
22949 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
22950 </description>
22951 </item>
22952
22953 <item>
22954 <title>Rob Weir: How to Crush Dissent</title>
22955 <link>http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</link>
22956 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</guid>
22957 <pubDate>Sun, 15 Aug 2010 22:20:00 +0200</pubDate>
22958 <description>&lt;p&gt;I found the notes from Rob Weir on
22959 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html&quot;&gt;how
22960 to crush dissent&lt;/a&gt; matching my own thoughts on the matter quite
22961 well. Highly recommended for those wondering which road our society
22962 should go down. In my view we have been heading the wrong way for a
22963 long time.&lt;/p&gt;
22964 </description>
22965 </item>
22966
22967 <item>
22968 <title>No hardcoded config on Debian Edu clients</title>
22969 <link>http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</link>
22970 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</guid>
22971 <pubDate>Mon, 9 Aug 2010 20:15:00 +0200</pubDate>
22972 <description>&lt;p&gt;As reported earlier, the last few days I have looked at how Debian
22973 Edu clients are configured, and tried to get rid of all hardcoded
22974 configuration settings on the clients. I believe the work to be
22975 mostly done, and the clients seem to work just fine with dynamically
22976 generated configuration.&lt;/p&gt;
22977
22978 &lt;p&gt;What is the point, you might ask? The point is to allow a Debian
22979 Edu desktop to integrate into an existing network infrastructure
22980 without any manual configuration.&lt;/p&gt;
22981
22982 &lt;p&gt;This is what happens when installing a Debian Edu client here at
22983 the University of Oslo using PXE. With the PXE installation, I am
22984 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
22985 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
22986 accept to reformat the hard drive (yes), if I want to submit info to
22987 popcon.debian.org (no) and root password (secret). After answering
22988 these questions, the installer goes ahead and does its thing, and
22989 after around 50 minutes it is done. I press enter to finish the
22990 installation, and the machine reboots into KDE. When the machine is
22991 ready and kdm asks for login information, I enter my university
22992 username and password, am told by kdm that a local home directory has
22993 been created and that I must log in again, and finally log in with the
22994 same username and password to the KDE 4.4 desktop. At no point during
22995 this process did it ask for university specific settings, and all the
22996 required configuration was dynamically detected using information
22997 fetched via DHCP and DNS. The roaming workstation is now ready for
22998 use.&lt;/p&gt;
22999
23000 &lt;p&gt;How was this done, you might wonder? First of all, here is the
23001 list of things that need to be configured on the client to get it
23002 working properly out of the box:&lt;/p&gt;
23003
23004 &lt;ul&gt;
23005 &lt;li&gt;IP address/netmask and DNS server.&lt;/li&gt;
23006 &lt;li&gt;Web proxy URL.&lt;/li&gt;
23007 &lt;li&gt;LDAP server for NSS directory information (user, group, etc).&lt;/li&gt;
23008 &lt;li&gt;Kerberos server for PAM password checking.&lt;/li&gt;
23009 &lt;li&gt;SMB mount point to access the network home directory. (*)&lt;/li&gt;
23010 &lt;li&gt;Central syslog server to send syslog messages to. (*)&lt;/li&gt;
23011 &lt;li&gt;Sitesummary collector URL to submit info to central server. (*)&lt;/li&gt;
23012 &lt;/ul&gt;
23013
23014 &lt;p&gt;(Hm, did I forget anything? Let me knew if I did.)&lt;/p&gt;
23015
23016 &lt;p&gt;The points marked (*) are not required to be able to use the
23017 machine, but needed to provide central storage and allowing system
23018 administrators to track their machines. Since yesterday, everything
23019 but the sitesummary collector URL is dynamically discovered at boot
23020 and installation time in the svn version of Debian Edu.&lt;/p&gt;
23021
23022 &lt;p&gt;The IP and DNS setup is fetched during boot using DHCP as usual.
23023 When a DHCP update arrives, the proxy setup is updated by looking for
23024 http://wpat/wpad.dat and using the content of this WPAD file to
23025 configure the http and ftp proxy in /etc/environment and
23026 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
23027 hook to ensure that the client stops using the Debian Edu proxy when
23028 it is moved outside the Debian Edu network, and instead uses any local
23029 proxy present on the new network when it moves around.&lt;/p&gt;
23030
23031 &lt;p&gt;The DNS names of the LDAP, Kerberos and syslog server and related
23032 configuration are generated using DNS information at boot. First the
23033 installer looks for a host named ldap in the current DNS domain. If
23034 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
23035 LDAP server is found, its root DSE entry is requested and the
23036 attributes namingContexts and defaultNamingContext are used to
23037 determine which LDAP base to use for NSS. If there are several
23038 namingContexts attibutes and the defaultNamingContext is present, that
23039 LDAP subtree is used as the base. If defaultNamingContext is missing,
23040 the subtrees listed as namingContexts are searched in sequence for any
23041 object with class posixAccount or posixGroup, and the first one with
23042 such an object is used as the LDAP base. For Kerberos, a similar
23043 search is done by first looking for a host named kerberos, and then
23044 for the _kerberos._tcp SRV record. I&#39;ve been unable to find a way to
23045 look up the Kerberos realm, so for this the upper case string of the
23046 current DNS domain is used.&lt;/p&gt;
23047
23048 &lt;p&gt;For the syslog server, the hosts syslog and loghost are searched
23049 for, and the _syslog._udp SRV record is consulted if no such host is
23050 found. This algorithm works for both Debian Edu and the University of
23051 Oslo. A similar strategy would work for locating the sitesummary
23052 server, but have not been implemented yet. I decided to fetch and
23053 save these settings during installation, to make sure moving to a
23054 different network does not change the set of users being allowed to
23055 log in nor the passwords required to log in. Usernames and passwords
23056 will be cached by sssd when the user logs in on the Debian Edu
23057 network, and will not change as the laptop move around. For a
23058 non-roaming machine, there is no caching, but given that it is
23059 supposed to stay in place it should not matter much. Perhaps we
23060 should switch those to use sssd too?&lt;/p&gt;
23061
23062 &lt;p&gt;The user&#39;s SMB mount point for the network home directory is
23063 located when the user logs in for the first time. The LDAP server is
23064 consulted to look for the user&#39;s LDAP object and the sambaHomePath
23065 attribute is used if found. If it isn&#39;t found, the home directory
23066 path fetched from NSS is used instead. Assuming the path is of the
23067 form /site/server/directory/username, the second part is looked up in
23068 DNS and used to generate a SMB URL of the form
23069 smb://server.domain/username. This algorithm works for both Debian
23070 edu and the University of Oslo. Perhaps there are better attributes
23071 to use or a better algorithm that works for more sites, but this will
23072 do for now. :)&lt;/p&gt;
23073
23074 &lt;p&gt;This work should make it easier to integrate the Debian Edu clients
23075 into any LDAP/Kerberos infrastructure, and make the current setup even
23076 more flexible than before. I suspect it will also work for thin
23077 client servers, allowing one to easily set up LTSP and hook it into a
23078 existing network infrastructure, but I have not had time to test this
23079 yet.&lt;/p&gt;
23080
23081 &lt;p&gt;If you want to help out with implementing these things for Debian
23082 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
23083
23084 &lt;p&gt;Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
23085 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
23086 before falling back to the upper case DNS domain name. Will have to
23087 implement it for Debian Edu. :)&lt;/p&gt;
23088 </description>
23089 </item>
23090
23091 <item>
23092 <title>Testing if a file system can be used for home directories...</title>
23093 <link>http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</link>
23094 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</guid>
23095 <pubDate>Sun, 8 Aug 2010 21:20:00 +0200</pubDate>
23096 <description>&lt;p&gt;A few years ago, I was involved in a project planning to use
23097 Windows file servers as home directory servers for Debian
23098 Edu/Skolelinux machines. This was thought to be no problem, as the
23099 access would be through the SMB network file system protocol, and we
23100 knew other sites used SMB with unix and samba as the file server to
23101 mount home directories without any problems. But, after months of
23102 struggling, we had to conclude that our goal was impossible.&lt;/p&gt;
23103
23104 &lt;p&gt;The reason is simply that while SMB can be used for home
23105 directories when the file server is Samba running on Unix, this only
23106 work because of Samba have some extensions and the fact that the
23107 underlying file system is a unix file system. When using a Windows
23108 file server, the underlying file system do not have POSIX semantics,
23109 and several programs will fail if the users home directory where they
23110 want to store their configuration lack POSIX semantics.&lt;/p&gt;
23111
23112 &lt;p&gt;As part of this work, I wrote a small C program I want to share
23113 with you all, to replicate a few of the problematic applications (like
23114 OpenOffice.org and GCompris) and see if the file system was working as
23115 it should. If you find yourself in spooky file system land, it might
23116 help you find your way out again. This is the fs-test.c source:&lt;/p&gt;
23117
23118 &lt;pre&gt;
23119 /*
23120 * Some tests to check the file system sematics. Used to verify that
23121 * CIFS from a windows server do not work properly as a linux home
23122 * directory.
23123 * License: GPL v2 or later
23124 *
23125 * needs libsqlite3-dev and build-essential installed
23126 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
23127 */
23128
23129 #define _FILE_OFFSET_BITS 64
23130 #define _LARGEFILE_SOURCE 1
23131 #define _LARGEFILE64_SOURCE 1
23132
23133 #define _GNU_SOURCE /* for asprintf() */
23134
23135 #include &amp;lt;errno.h&gt;
23136 #include &amp;lt;fcntl.h&gt;
23137 #include &amp;lt;stdio.h&gt;
23138 #include &amp;lt;string.h&gt;
23139 #include &amp;lt;stdlib.h&gt;
23140 #include &amp;lt;sys/file.h&gt;
23141 #include &amp;lt;sys/stat.h&gt;
23142 #include &amp;lt;sys/types.h&gt;
23143 #include &amp;lt;unistd.h&gt;
23144
23145 #ifdef TEST_SQLITE
23146 /*
23147 * Test sqlite open, as done by gcompris require the libsqlite3-dev
23148 * package and linking with -lsqlite3. A more low level test is
23149 * below.
23150 * See also &amp;lt;URL: http://www.sqlite.org./faq.html#q5 &gt;.
23151 */
23152 #include &amp;lt;sqlite3.h&gt;
23153 #define CREATE_TABLE_USERS \
23154 &quot;CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); &quot;
23155 int test_sqlite_open(void) {
23156 char *zErrMsg;
23157 char *name = &quot;testsqlite.db&quot;;
23158 sqlite3 *db=NULL;
23159 unlink(name);
23160 int rc = sqlite3_open(name, &amp;db);
23161 if( rc ){
23162 printf(&quot;error: sqlite open of %s failed: %s\n&quot;, name, sqlite3_errmsg(db));
23163 sqlite3_close(db);
23164 return -1;
23165 }
23166
23167 /* create tables */
23168 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &amp;zErrMsg);
23169 if( rc != SQLITE_OK ){
23170 printf(&quot;error: sqlite table create failed: %s\n&quot;, zErrMsg);
23171 sqlite3_close(db);
23172 return -1;
23173 }
23174 printf(&quot;info: sqlite worked\n&quot;);
23175 sqlite3_close(db);
23176 return 0;
23177 }
23178 #endif /* TEST_SQLITE */
23179
23180 /*
23181 * Demonstrate locking issue found in gcompris using sqlite3. This
23182 * work with ext3, but not with cifs server on Windows 2003. This is
23183 * done in the sqlite3 library.
23184 * See also
23185 * &amp;lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html&gt; and the
23186 * POSIX specification
23187 * &amp;lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html&gt;.
23188 */
23189 int test_gcompris_locking(void) {
23190 struct flock fl;
23191 char *name = &quot;testsqlite.db&quot;;
23192 unlink(name);
23193 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
23194 printf(&quot;info: testing fcntl locking\n&quot;);
23195
23196 fl.l_whence = SEEK_SET;
23197 fl.l_pid = getpid();
23198 printf(&quot; Read-locking 1 byte from 1073741824&quot;);
23199 fl.l_start = 1073741824;
23200 fl.l_len = 1;
23201 fl.l_type = F_RDLCK;
23202 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23203
23204 printf(&quot; Read-locking 510 byte from 1073741826&quot;);
23205 fl.l_start = 1073741826;
23206 fl.l_len = 510;
23207 fl.l_type = F_RDLCK;
23208 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23209
23210 printf(&quot; Unlocking 1 byte from 1073741824&quot;);
23211 fl.l_start = 1073741824;
23212 fl.l_len = 1;
23213 fl.l_type = F_UNLCK;
23214 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23215
23216 printf(&quot; Write-locking 1 byte from 1073741824&quot;);
23217 fl.l_start = 1073741824;
23218 fl.l_len = 1;
23219 fl.l_type = F_WRLCK;
23220 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23221
23222 printf(&quot; Write-locking 510 byte from 1073741826&quot;);
23223 fl.l_start = 1073741826;
23224 fl.l_len = 510;
23225 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23226
23227 printf(&quot; Unlocking 2 byte from 1073741824&quot;);
23228 fl.l_start = 1073741824;
23229 fl.l_len = 2;
23230 fl.l_type = F_UNLCK;
23231 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
23232
23233 close(fd);
23234 return 0;
23235 }
23236
23237 /*
23238 * Test if permissions of freshly created directories allow entries
23239 * below them. This was a problem with OpenOffice.org and gcompris.
23240 * Mounting with option &#39;sync&#39; seem to solve this problem while
23241 * slowing down file operations.
23242 */
23243 int test_subdirectory_creation(void) {
23244 #define LEVELS 5
23245 char *path = strdup(&quot;test&quot;);
23246 char *dirs[LEVELS];
23247 int level;
23248 printf(&quot;info: testing subdirectory creation\n&quot;);
23249 for (level = 0; level &amp;lt; LEVELS; level++) {
23250 char *newpath = NULL;
23251 if (-1 == mkdir(path, 0777)) {
23252 printf(&quot; error: Unable to create directory &#39;%s&#39;: %s\n&quot;,
23253 path, strerror(errno));
23254 break;
23255 }
23256 asprintf(&amp;newpath, &quot;%s/%s&quot;, path, &quot;test&quot;);
23257 free(path);
23258 path = newpath;
23259 }
23260 return 0;
23261 }
23262
23263 /*
23264 * Test if symlinks can be created. This was a problem detected with
23265 * KDE.
23266 */
23267 int test_symlinks(void) {
23268 printf(&quot;info: testing symlink creation\n&quot;);
23269 unlink(&quot;symlink&quot;);
23270 if (-1 == symlink(&quot;file&quot;, &quot;symlink&quot;))
23271 printf(&quot; error: Unable to create symlink\n&quot;);
23272 return 0;
23273 }
23274
23275 int main(int argc, char **argv) {
23276 printf(&quot;Testing POSIX/Unix sematics on file system\n&quot;);
23277 test_symlinks();
23278 test_subdirectory_creation();
23279 #ifdef TEST_SQLITE
23280 test_sqlite_open();
23281 #endif /* TEST_SQLITE */
23282 test_gcompris_locking();
23283 return 0;
23284 }
23285 &lt;/pre&gt;
23286
23287 &lt;p&gt;When everything is working, it should print something like
23288 this:&lt;/p&gt;
23289
23290 &lt;pre&gt;
23291 Testing POSIX/Unix sematics on file system
23292 info: testing symlink creation
23293 info: testing subdirectory creation
23294 info: sqlite worked
23295 info: testing fcntl locking
23296 Read-locking 1 byte from 1073741824
23297 Read-locking 510 byte from 1073741826
23298 Unlocking 1 byte from 1073741824
23299 Write-locking 1 byte from 1073741824
23300 Write-locking 510 byte from 1073741826
23301 Unlocking 2 byte from 1073741824
23302 &lt;/pre&gt;
23303
23304 &lt;p&gt;I do not remember the exact details of the problems we saw, but one
23305 of them was with locking, where if I remember correctly, POSIX allow a
23306 read-only lock to be upgraded to a read-write lock without unlocking
23307 the read-only lock (while Windows do not). Another was a bug in the
23308 CIFS/SMB client implementation in the Linux kernel where directory
23309 meta information would be wrong for a fraction of a second, making
23310 OpenOffice.org fail to create its deep directory tree because it was
23311 not allowed to create files in its freshly created directory.&lt;/p&gt;
23312
23313 &lt;p&gt;Anyway, here is a nice tool for your tool box, might you never need
23314 it. :)&lt;/p&gt;
23315
23316 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
23317 script so useful that he created a GIT repository and stored it in
23318 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
23319 </description>
23320 </item>
23321
23322 <item>
23323 <title>Autodetecting Client setup for roaming workstations in Debian Edu</title>
23324 <link>http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</link>
23325 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</guid>
23326 <pubDate>Sat, 7 Aug 2010 14:45:00 +0200</pubDate>
23327 <description>&lt;p&gt;A few days ago, I
23328 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html&quot;&gt;tried
23329 to install&lt;/a&gt; a Roaming workation profile from Debian Edu/Squeeze
23330 while on the university network here at the University of Oslo, and
23331 noticed how much had to change to get it operational using the
23332 university infrastructure. It was fairly easy, but it occured to me
23333 that Debian Edu would improve a lot if I could get the client to
23334 connect without any changes at all, and thus let the client configure
23335 itself during installation and first boot to use the infrastructure
23336 around it. Now I am a huge step further along that road.&lt;/p&gt;
23337
23338 &lt;p&gt;With our current squeeze-test packages, I can select the roaming
23339 workstation profile and get a working laptop connecting to the
23340 university LDAP server for user and group and our active directory
23341 servers for Kerberos authentication. All this without any
23342 configuration at all during installation. My users home directory got
23343 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
23344 In short, openldap and sssd is correctly configured. In addition to
23345 this, the client look for http://wpad/wpad.dat to configure a web
23346 proxy, and when it fail to find it no proxy settings are stored in
23347 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
23348 configured to look for the same wpad configuration and also do not use
23349 a proxy when at the university network. If the machine is moved to a
23350 network with such wpad setup, it would automatically use it when DHCP
23351 gave it a IP address.&lt;/p&gt;
23352
23353 &lt;p&gt;The LDAP server is located using DNS, by first looking for the DNS
23354 entry ldap.$domain. If this do not exist, it look for the
23355 _ldap._tcp.$domain SRV records and use the first one as the LDAP
23356 server. Next, it connects to the LDAP server and search all
23357 namingContexts entries for posixAccount or posixGroup objects, and
23358 pick the first one as the LDAP base. For Kerberos, a similar
23359 algorithm is used to locate the LDAP server, and the realm is the
23360 uppercase version of $domain.&lt;/p&gt;
23361
23362 &lt;p&gt;So, what is not working, you might ask. SMB mounting my home
23363 directory do not work. No idea why, but suspected the incorrect
23364 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
23365 the cause. These are not properly configured during installation, and
23366 had to be hand-edited to get the correct Kerberos realm and server,
23367 but SMB mounting still do not work. :(&lt;/p&gt;
23368
23369 &lt;p&gt;With this automatic configuration in place, I expect a Debian Edu
23370 roaming profile installation would be able to automatically detect and
23371 connect to any site using LDAP and Kerberos for NSS directory and PAM
23372 authentication. It should also work out of the box in a Active
23373 Directory environment providing posixAccount and posixGroup objects
23374 with UID and GID values.&lt;/p&gt;
23375
23376 &lt;p&gt;If you want to help out with implementing these things for Debian
23377 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
23378 </description>
23379 </item>
23380
23381 <item>
23382 <title>Debian Edu roaming workstation - at the university of Oslo</title>
23383 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</link>
23384 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</guid>
23385 <pubDate>Tue, 3 Aug 2010 23:30:00 +0200</pubDate>
23386 <description>&lt;p&gt;The new roaming workstation profile in Debian Edu/Squeeze is fairly
23387 similar to the laptop setup am I working on using Ubuntu for the
23388 University of Oslo, and just for the heck of it, I tested today how
23389 hard it would be to integrate that profile into the university
23390 infrastructure. In this case, it is the university LDAP server,
23391 Active Directory Kerberos server and SMB mounting from the Netapp file
23392 servers.&lt;/p&gt;
23393
23394 &lt;p&gt;I was pleasantly surprised that the only three files needed to be
23395 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
23396 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
23397 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
23398 Most of the changes were to get the client to use the university LDAP
23399 for NSS and Kerberos server for PAM, but one was to change a hard
23400 coded DNS domain name in the mklocaluser hook from .intern to
23401 .uio.no.&lt;/p&gt;
23402
23403 &lt;p&gt;This testing was so encouraging, that I went ahead and adjusted the
23404 Debian Edu scripts and setup in subversion to centralise the roaming
23405 workstation setup a bit more and avoid the hardcoded DNS domain name,
23406 so that when I test this tomorrow, I expect to get away with modifying
23407 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
23408 university servers.&lt;/p&gt;
23409
23410 &lt;p&gt;My goal is to get the clients to have no hardcoded settings and
23411 fetch all their initial setup during installation and first boot, to
23412 allow them to be inserted also into environments where the default
23413 setup in Debian Edu has been changed or as with the university, where
23414 the environment is different but provides the protocols Debian Edu
23415 uses.&lt;/p&gt;
23416 </description>
23417 </item>
23418
23419 <item>
23420 <title>Circular package dependencies harms apt recovery</title>
23421 <link>http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</link>
23422 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</guid>
23423 <pubDate>Tue, 27 Jul 2010 23:50:00 +0200</pubDate>
23424 <description>&lt;p&gt;I discovered this while doing
23425 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;automated
23426 testing of upgrades from Debian Lenny to Squeeze&lt;/a&gt;. A few packages
23427 in Debian still got circular dependencies, and it is often claimed
23428 that apt and aptitude should be able to handle this just fine, but
23429 some times these dependency loops causes apt to fail.&lt;/p&gt;
23430
23431 &lt;p&gt;An example is from todays
23432 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt&quot;&gt;upgrade
23433 of KDE using aptitude&lt;/a&gt;. In it, a bug in kdebase-workspace-data
23434 causes perl-modules to fail to upgrade. The cause is simple. If a
23435 package fail to unpack, then only part of packages with the circular
23436 dependency might end up being unpacked when unpacking aborts, and the
23437 ones already unpacked will fail to configure in the recovery phase
23438 because its dependencies are unavailable.&lt;/p&gt;
23439
23440 &lt;p&gt;In this log, the problem manifest itself with this error:&lt;/p&gt;
23441
23442 &lt;blockquote&gt;&lt;pre&gt;
23443 dpkg: dependency problems prevent configuration of perl-modules:
23444 perl-modules depends on perl (&gt;= 5.10.1-1); however:
23445 Version of perl on system is 5.10.0-19lenny2.
23446 dpkg: error processing perl-modules (--configure):
23447 dependency problems - leaving unconfigured
23448 &lt;/pre&gt;&lt;/blockquote&gt;
23449
23450 &lt;p&gt;The perl/perl-modules circular dependency is already
23451 &lt;a href=&quot;http://bugs.debian.org/527917&quot;&gt;reported as a bug&lt;/a&gt;, and will
23452 hopefully be solved as soon as possible, but it is not the only one,
23453 and each one of these loops in the dependency tree can cause similar
23454 failures. Of course, they only occur when there are bugs in other
23455 packages causing the unpacking to fail, but it is rather nasty when
23456 the failure of one package causes the problem to become worse because
23457 of dependency loops.&lt;/p&gt;
23458
23459 &lt;p&gt;Thanks to
23460 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/06/msg00116.html&quot;&gt;the
23461 tireless effort by Bill Allombert&lt;/a&gt;, the number of circular
23462 dependencies
23463 &lt;a href=&quot;http://debian.semistable.com/debgraph.out.html&quot;&gt;left in Debian
23464 is dropping&lt;/a&gt;, and perhaps it will reach zero one day. :)&lt;/p&gt;
23465
23466 &lt;p&gt;Todays testing also exposed a bug in
23467 &lt;a href=&quot;http://bugs.debian.org/590605&quot;&gt;update-notifier&lt;/a&gt; and
23468 &lt;a href=&quot;http://bugs.debian.org/590604&quot;&gt;different behaviour&lt;/a&gt; between
23469 apt-get and aptitude, the latter possibly caused by some circular
23470 dependency. Reported both to BTS to try to get someone to look at
23471 it.&lt;/p&gt;
23472 </description>
23473 </item>
23474
23475 <item>
23476 <title>First Debian Edu test release (alpha0) based on Squeeze is released</title>
23477 <link>http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</link>
23478 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</guid>
23479 <pubDate>Tue, 27 Jul 2010 17:45:00 +0200</pubDate>
23480 <description>&lt;p&gt;I just posted this announcement culminating several months of work
23481 with the next Debian Edu release. Not nearly done, but one major step
23482 completed.&lt;/p&gt;
23483
23484 &lt;blockquote&gt;
23485 &lt;p&gt;This is the first test release based on Squeeze. The focus of this
23486 release is to test the user application selection. To have a look,
23487 install the standalone profile and let the developers know if the set
23488 of installed packages i.e. applications should be modified. If some
23489 user application is missing, or if there are some applications that no
23490 longer make sense to be included in Debian Edu, please let us know.
23491 Also, if a useful application is missing the translation for your
23492 language of choice, please let us know too.&lt;/p&gt;
23493
23494 &lt;p&gt;In addition, feedback and help to polish the desktop (menus,
23495 artwork, starters, etc.) is appreciated. We would like to ship a nice
23496 and handy KDE4 desktop targeted for schools out of the box.&lt;/p&gt;
23497
23498 &lt;p&gt;The other profiles should be installable, but there is a lot more
23499 work left to be done before they are ready, so do not expect to
23500 much.&lt;/p&gt;
23501
23502 &lt;p&gt;Changes compared to the lenny based version&lt;/p&gt;
23503
23504 &lt;ul&gt;
23505 &lt;li&gt;Everything from Debian Squeeze
23506 &lt;ul&gt;
23507 &lt;li&gt;Desktop environment KDE 4.4 =&gt; the new KDE desktop in
23508 combination with some new artwork
23509 &lt;li&gt;Web browser Iceweasel 3.5
23510 &lt;li&gt;OpenOffice.org 3.2
23511 &lt;li&gt;Educational toolbox GCompris 9.3
23512 &lt;li&gt;Music creator Rosegarden 10.04.2
23513 &lt;li&gt;Image editor Gimp 2.6.10
23514 &lt;li&gt;Virtual universe Celestia 1.6.0
23515 &lt;li&gt;Virtual stargazer Stellarium 0.10.4
23516 &lt;li&gt;3D modeler Blender 2.49.2 (new application)
23517 &lt;li&gt;Video editor Kdenlive 0.7.7 (new application)
23518 &lt;/ul&gt;&lt;/li&gt;
23519 &lt;li&gt;Now using Kerberos for password checking (migration not finished).
23520 Enabled for:
23521 &lt;ul&gt;
23522 &lt;li&gt;PAM
23523 &lt;li&gt;LDAP
23524 &lt;li&gt;IMAP
23525 &lt;li&gt;SMTP (sender verification)
23526 &lt;/ul&gt;
23527 &lt;/li&gt;
23528 &lt;li&gt;New experimental roaming workstation profile for laptops.&lt;/li&gt;
23529 &lt;li&gt;Show welcome page to users when they first log in. The URL is
23530 fetched from LDAP.&lt;/li&gt;
23531 &lt;li&gt;New LXDE desktop option, in addition to KDE (default) and Gnome.&lt;/li&gt;
23532 &lt;li&gt;General cleanup (not finished)&lt;/li&gt;
23533 &lt;/ul&gt;
23534 &lt;p&gt;The following features are not working as they should&lt;/p&gt;
23535
23536 &lt;ul&gt;
23537 &lt;li&gt;No web based administration tool for creating users and groups. The
23538 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
23539 for testing.&lt;/li&gt;
23540 &lt;li&gt;DVD installs are missing debian-installer images for the PXE boot,
23541 and do not set up the PXE menu on eth0 because of this. LTSP
23542 clients should still boot from eth1 on thin client servers.&lt;/li&gt;
23543 &lt;li&gt;The restructured KDE menu is not implemented.&lt;/li&gt;
23544 &lt;li&gt;The LDAP server setup need to be reviewed for security.&lt;/li&gt;
23545 &lt;li&gt;The LDAP directory structure need to be reworked.&lt;/li&gt;
23546 &lt;li&gt;Different sets of packages are installed when using the DVD and the
23547 netinst CD. More packages are installed using the netinst CD.&lt;/li&gt;
23548 &lt;li&gt;The jackd package fail to install. This is believed to be caused by
23549 some ongoing transition, and hopefully should be solved soon. The
23550 jackd1 package can be installed manually for those that need it.&lt;/li&gt;
23551 &lt;li&gt;Some packages lack translations. See
23552 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
23553 and help out with translations.&lt;/li&gt;
23554 &lt;/ul&gt;
23555
23556 &lt;p&gt;To download this multiarch netinstall release you can use&lt;/p&gt;
23557
23558 &lt;ul&gt;
23559 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
23560 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
23561 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
23562 &lt;/ul&gt;
23563 &lt;p&gt;To download this multiarch dvd release you can use&lt;/p&gt;
23564
23565 &lt;ul&gt;
23566 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
23567 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
23568 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
23569 &lt;/ul&gt;
23570
23571 &lt;p&gt;There is no source DVD available yet. It will be prepared when we
23572 get closer to the final release.&lt;/p&gt;
23573
23574 &lt;p&gt;The MD5SUM of these images are&lt;/p&gt;
23575
23576 &lt;ul&gt;
23577 &lt;li&gt;3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
23578 &lt;li&gt;22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
23579 &lt;/ul&gt;
23580
23581 &lt;p&gt;The SHA1SUM of these images are&lt;/p&gt;
23582 &lt;ul&gt;
23583 &lt;li&gt;c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
23584 &lt;li&gt;2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
23585 &lt;/ul&gt;
23586 &lt;p&gt;How to report bugs:
23587 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla&lt;/p&gt;
23588
23589 &lt;p&gt;Please direct replies to debian-edu@lists.debian.org&lt;/p&gt;
23590 &lt;/blockquote&gt;
23591 </description>
23592 </item>
23593
23594 <item>
23595 <title>One step closer to single signon in Debian Edu</title>
23596 <link>http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</link>
23597 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</guid>
23598 <pubDate>Sun, 25 Jul 2010 10:00:00 +0200</pubDate>
23599 <description>&lt;p&gt;The last few months me and the other Debian Edu developers have
23600 been working hard to get the Debian/Squeeze based version of Debian
23601 Edu/Skolelinux into shape. This future version will use Kerberos for
23602 authentication, and services are slowly migrated to single signon,
23603 getting rid of password questions one at the time.&lt;/p&gt;
23604
23605 &lt;p&gt;It will also feature a roaming workstation profile with local home
23606 directory, for laptops that are only some times on the Skolelinux
23607 network, and for this profile a shortcut is created in Gnome and KDE
23608 to gain access to the users home directory on the file server. This
23609 shortcut uses SMB at the moment, and yesterday I had time to test if
23610 SMB mounting had started working in KDE after we added the cifs-utils
23611 package. I was pleasantly surprised how well it worked.&lt;/p&gt;
23612
23613 &lt;p&gt;Thanks to the recent changes to our samba configuration to get it
23614 to use Kerberos for authentication, there were no question about user
23615 password when mounting the SMB volume. A simple click on the shortcut
23616 in the KDE menu, and a window with the home directory popped
23617 up. :)&lt;/p&gt;
23618
23619 &lt;p&gt;One step closer to a single signon solution out of the box in
23620 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
23621 also Samba. Next step is Cups and hopefully also NFS.&lt;/p&gt;
23622
23623 &lt;p&gt;We had planned a alpha0 release of Debian Edu for today, but thanks
23624 to the autobuilder administrators for some architectures being slow to
23625 sign packages, we are still missing the fixed LTSP package we need for
23626 the release. It was uploaded three days ago with urgency=high, and if
23627 it had entered testing yesterday we would have been able to test it in
23628 time for a alpha0 release today. As the binaries for ia64 and powerpc
23629 still not uploaded to the Debian archive, we need to delay the alpha
23630 release another day.&lt;/p&gt;
23631
23632 &lt;p&gt;If you want to help out with implementing Kerberos for Debian Edu,
23633 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
23634 </description>
23635 </item>
23636
23637 <item>
23638 <title>OpenStreetmap one step closer to having routing on its front page</title>
23639 <link>http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</link>
23640 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</guid>
23641 <pubDate>Sun, 18 Jul 2010 16:45:00 +0200</pubDate>
23642 <description>&lt;p&gt;Thanks to
23643 &lt;a href=&quot;http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home&quot;&gt;todays
23644 opengeodata blog entry&lt;/a&gt;, I just discovered that the
23645 OpenStreetmap.org site have gotten
23646 &lt;a href=&quot;http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT&quot;&gt;support
23647 for calculating routes&lt;/a&gt;. The support is still experimental and
23648 only available from the development server, until more experience is
23649 gathered on the user interface and any scalability issues.&lt;/p&gt;
23650
23651 &lt;p&gt;Earlier, the routing I knew about using the OpenStreetmap.org data
23652 was provided by &lt;a href=&quot;http://maps.cloudmade.com/&quot;&gt;Cloudmade&lt;/a&gt;,
23653 but having it on the main page is required to make everyone aware of
23654 the issue. I&#39;ve had people reject Openstreetmap.org as a viable
23655 alternative for them because the front page lacked routing support,
23656 and I hope their needs will be catered for when routing show up on the
23657 www.openstreetmap.org front page.&lt;/p&gt;
23658 </description>
23659 </item>
23660
23661 <item>
23662 <title>What are they searching for - PowerDNS and ISC DHCP in LDAP</title>
23663 <link>http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</link>
23664 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</guid>
23665 <pubDate>Sat, 17 Jul 2010 21:00:00 +0200</pubDate>
23666 <description>&lt;p&gt;This is a
23667 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;followup&lt;/a&gt;
23668 on my
23669 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html&quot;&gt;previous
23670 work&lt;/a&gt; on
23671 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html&quot;&gt;merging
23672 all&lt;/a&gt; the computer related LDAP objects in Debian Edu.&lt;/p&gt;
23673
23674 &lt;p&gt;As a step to try to see if it possible to merge the DNS and DHCP
23675 LDAP objects, I have had a look at how the packages pdns-backend-ldap
23676 and dhcp3-server-ldap in Debian use the LDAP server. The two
23677 implementations are quite different in how they use LDAP.&lt;/p&gt;
23678
23679 To get this information, I started slapd with debugging enabled and
23680 dumped the debug output to a file to get the LDAP searches performed
23681 on a Debian Edu main-server. Here is a summary.
23682
23683 &lt;p&gt;&lt;strong&gt;powerdns&lt;/strong&gt;&lt;/p&gt;
23684
23685 &lt;a href=&quot;http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend&quot;&gt;Clues
23686 on how to&lt;/a&gt; set up PowerDNS to use a LDAP backend is available on
23687 the web.
23688
23689 &lt;p&gt;PowerDNS have two modes of operation using LDAP as its backend.
23690 One &quot;strict&quot; mode where the forward and reverse DNS lookups are done
23691 using the same LDAP objects, and a &quot;tree&quot; mode where the forward and
23692 reverse entries are in two different subtrees in LDAP with a structure
23693 based on the DNS names, as in tjener.intern and
23694 2.2.0.10.in-addr.arpa.&lt;/p&gt;
23695
23696 &lt;p&gt;In tree mode, the server is set up to use a LDAP subtree as its
23697 base, and uses a &quot;base&quot; scoped search for the DNS name by adding
23698 &quot;dc=tjener,dc=intern,&quot; to the base with a filter for
23699 &quot;(associateddomain=tjener.intern)&quot; for the forward entry and
23700 &quot;dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,&quot; with a filter for
23701 &quot;(associateddomain=2.2.0.10.in-addr.arpa)&quot; for the reverse entry. For
23702 forward entries, it is looking for attributes named dnsttl, arecord,
23703 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
23704 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
23705 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
23706 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
23707 spfrecord and modifytimestamp. For reverse entries it is looking for
23708 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
23709 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
23710 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
23711 ldapsearch commands could look like this:&lt;/p&gt;
23712
23713 &lt;blockquote&gt;&lt;pre&gt;
23714 ldapsearch -h ldap \
23715 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
23716 -s base -x &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
23717 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
23718 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
23719 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
23720 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
23721
23722 ldapsearch -h ldap \
23723 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
23724 -s base -x &#39;(associateddomain=2.2.0.10.in-addr.arpa)&#39;
23725 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
23726 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
23727 srvrecord naptrrecord modifytimestamp
23728 &lt;/pre&gt;&lt;/blockquote&gt;
23729
23730 &lt;p&gt;In Debian Edu/Lenny, the PowerDNS tree mode is used with
23731 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
23732 example LDAP objects used there. In addition to these objects, the
23733 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
23734 also exist.&lt;/p&gt;
23735
23736 &lt;blockquote&gt;&lt;pre&gt;
23737 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
23738 objectclass: top
23739 objectclass: dnsdomain
23740 objectclass: domainrelatedobject
23741 dc: tjener
23742 arecord: 10.0.2.2
23743 associateddomain: tjener.intern
23744
23745 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
23746 objectclass: top
23747 objectclass: dnsdomain2
23748 objectclass: domainrelatedobject
23749 dc: 2
23750 ptrrecord: tjener.intern
23751 associateddomain: 2.2.0.10.in-addr.arpa
23752 &lt;/pre&gt;&lt;/blockquote&gt;
23753
23754 &lt;p&gt;In strict mode, the server behaves differently. When looking for
23755 forward DNS entries, it is doing a &quot;subtree&quot; scoped search with the
23756 same base as in the tree mode for a object with filter
23757 &quot;(associateddomain=tjener.intern)&quot; and requests the attributes dnsttl,
23758 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
23759 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
23760 naptrrecord and modifytimestamp. For reverse entires it also do a
23761 subtree scoped search but this time the filter is &quot;(arecord=10.0.2.2)&quot;
23762 and the requested attributes are associateddomain, dnsttl and
23763 modifytimestamp. In short, in strict mode the objects with ptrrecord
23764 go away, and the arecord attribute in the forward object is used
23765 instead.&lt;/p&gt;
23766
23767 &lt;p&gt;The forward and reverse searches can be simulated using ldapsearch
23768 like this:&lt;/p&gt;
23769
23770 &lt;blockquote&gt;&lt;pre&gt;
23771 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
23772 &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
23773 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
23774 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
23775 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
23776 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
23777
23778 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
23779 &#39;(arecord=10.0.2.2)&#39; associateddomain dnsttl modifytimestamp
23780 &lt;/pre&gt;&lt;/blockquote&gt;
23781
23782 &lt;p&gt;In addition to the forward and reverse searches , there is also a
23783 search for SOA records, which behave similar to the forward and
23784 reverse lookups.&lt;/p&gt;
23785
23786 &lt;p&gt;A thing to note with the PowerDNS behaviour is that it do not
23787 specify any objectclass names, and instead look for the attributes it
23788 need to generate a DNS reply. This make it able to work with any
23789 objectclass that provide the needed attributes.&lt;/p&gt;
23790
23791 &lt;p&gt;The attributes are normally provided in the cosine (RFC 1274) and
23792 dnsdomain2 schemas. The latter is used for reverse entries like
23793 ptrrecord and recent DNS additions like aaaarecord and srvrecord.&lt;/p&gt;
23794
23795 &lt;p&gt;In Debian Edu, we have created DNS objects using the object classes
23796 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
23797 attributes) and domainrelatedobject (for associatedDomain). The use
23798 of structural object classes make it impossible to combine these
23799 classes with the object classes used by DHCP.&lt;/p&gt;
23800
23801 &lt;p&gt;There are other schemas that could be used too, for example the
23802 dnszone structural object class used by Gosa and bind-sdb for the DNS
23803 attributes combined with the domainrelatedobject object class, but in
23804 this case some unused attributes would have to be included as well
23805 (zonename and relativedomainname).&lt;/p&gt;
23806
23807 &lt;p&gt;My proposal for Debian Edu would be to switch PowerDNS to strict
23808 mode and not use any of the existing objectclasses (dnsdomain,
23809 dnsdomain2 and dnszone) when one want to combine the DNS information
23810 with DHCP information, and instead create a auxiliary object class
23811 defined something like this (using the attributes defined for
23812 dnsdomain and dnsdomain2 or dnszone):&lt;/p&gt;
23813
23814 &lt;blockquote&gt;&lt;pre&gt;
23815 objectclass ( some-oid NAME &#39;dnsDomainAux&#39;
23816 SUP top
23817 AUXILIARY
23818 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
23819 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
23820 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
23821 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
23822 A6Record $ DNAMERecord
23823 ))
23824 &lt;/pre&gt;&lt;/blockquote&gt;
23825
23826 &lt;p&gt;This will allow any object to become a DNS entry when combined with
23827 the domainrelatedobject object class, and allow any entity to include
23828 all the attributes PowerDNS wants. I&#39;ve sent an email to the PowerDNS
23829 developers asking for their view on this schema and if they are
23830 interested in providing such schema with PowerDNS, and I hope my
23831 message will be accepted into their mailing list soon.&lt;/p&gt;
23832
23833 &lt;p&gt;&lt;strong&gt;ISC dhcp&lt;/strong&gt;&lt;/p&gt;
23834
23835 &lt;p&gt;The DHCP server searches for specific objectclass and requests all
23836 the object attributes, and then uses the attributes it want. This
23837 make it harder to figure out exactly what attributes are used, but
23838 thanks to the working example in Debian Edu I can at least get an idea
23839 what is needed without having to read the source code.&lt;/p&gt;
23840
23841 &lt;p&gt;In the DHCP server configuration, the LDAP base to use and the
23842 search filter to use to locate the correct dhcpServer entity is
23843 stored. These are the relevant entries from
23844 /etc/dhcp3/dhcpd.conf:&lt;/p&gt;
23845
23846 &lt;blockquote&gt;&lt;pre&gt;
23847 ldap-base-dn &quot;dc=skole,dc=skolelinux,dc=no&quot;;
23848 ldap-dhcp-server-cn &quot;dhcp&quot;;
23849 &lt;/pre&gt;&lt;/blockquote&gt;
23850
23851 &lt;p&gt;The DHCP server uses this information to nest all the DHCP
23852 configuration it need. The cn &quot;dhcp&quot; is located using the given LDAP
23853 base and the filter &quot;(&amp;(objectClass=dhcpServer)(cn=dhcp))&quot;. The
23854 search result is this entry:&lt;/p&gt;
23855
23856 &lt;blockquote&gt;&lt;pre&gt;
23857 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
23858 cn: dhcp
23859 objectClass: top
23860 objectClass: dhcpServer
23861 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
23862 &lt;/pre&gt;&lt;/blockquote&gt;
23863
23864 &lt;p&gt;The content of the dhcpServiceDN attribute is next used to locate the
23865 subtree with DHCP configuration. The DHCP configuration subtree base
23866 is located using a base scope search with base &quot;cn=DHCP
23867 Config,dc=skole,dc=skolelinux,dc=no&quot; and filter
23868 &quot;(&amp;(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))&quot;.
23869 The search result is this entry:&lt;/p&gt;
23870
23871 &lt;blockquote&gt;&lt;pre&gt;
23872 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
23873 cn: DHCP Config
23874 objectClass: top
23875 objectClass: dhcpService
23876 objectClass: dhcpOptions
23877 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
23878 dhcpStatements: ddns-update-style none
23879 dhcpStatements: authoritative
23880 dhcpOption: smtp-server code 69 = array of ip-address
23881 dhcpOption: www-server code 72 = array of ip-address
23882 dhcpOption: wpad-url code 252 = text
23883 &lt;/pre&gt;&lt;/blockquote&gt;
23884
23885 &lt;p&gt;Next, the entire subtree is processed, one level at the time. When
23886 all the DHCP configuration is loaded, it is ready to receive requests.
23887 The subtree in Debian Edu contain objects with object classes
23888 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
23889 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
23890 and information about netmasks, dynamic range etc. Leaving out the
23891 details here because it is not relevant for the focus of my
23892 investigation, which is to see if it is possible to merge dns and dhcp
23893 related computer objects.&lt;/p&gt;
23894
23895 &lt;p&gt;When a DHCP request come in, LDAP is searched for the MAC address
23896 of the client (00:00:00:00:00:00 in this example), using a subtree
23897 scoped search with &quot;cn=DHCP Config,dc=skole,dc=skolelinux,dc=no&quot; as
23898 the base and &quot;(&amp;(objectClass=dhcpHost)(dhcpHWAddress=ethernet
23899 00:00:00:00:00:00))&quot; as the filter. This is what a host object look
23900 like:&lt;/p&gt;
23901
23902 &lt;blockquote&gt;&lt;pre&gt;
23903 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
23904 cn: hostname
23905 objectClass: top
23906 objectClass: dhcpHost
23907 dhcpHWAddress: ethernet 00:00:00:00:00:00
23908 dhcpStatements: fixed-address hostname
23909 &lt;/pre&gt;&lt;/blockquote&gt;
23910
23911 &lt;p&gt;There is less flexiblity in the way LDAP searches are done here.
23912 The object classes need to have fixed names, and the configuration
23913 need to be stored in a fairly specific LDAP structure. On the
23914 positive side, the invidiual dhcpHost entires can be anywhere without
23915 the DN pointed to by the dhcpServer entries. The latter should make
23916 it possible to group all host entries in a subtree next to the
23917 configuration entries, and this subtree can also be shared with the
23918 DNS server if the schema proposed above is combined with the dhcpHost
23919 structural object class.
23920
23921 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
23922
23923 &lt;p&gt;The PowerDNS implementation seem to be very flexible when it come
23924 to which LDAP schemas to use. While its &quot;tree&quot; mode is rigid when it
23925 come to the the LDAP structure, the &quot;strict&quot; mode is very flexible,
23926 allowing DNS objects to be stored anywhere under the base cn specified
23927 in the configuration.&lt;/p&gt;
23928
23929 &lt;p&gt;The DHCP implementation on the other hand is very inflexible, both
23930 regarding which LDAP schemas to use and which LDAP structure to use.
23931 I guess one could implement ones own schema, as long as the
23932 objectclasses and attributes have the names used, but this do not
23933 really help when the DHCP subtree need to have a fairly fixed
23934 structure.&lt;/p&gt;
23935
23936 &lt;p&gt;Based on the observed behaviour, I suspect a LDAP structure like
23937 this might work for Debian Edu:&lt;/p&gt;
23938
23939 &lt;blockquote&gt;&lt;pre&gt;
23940 ou=services
23941 cn=machine-info (dhcpService) - dhcpServiceDN points here
23942 cn=dhcp (dhcpServer)
23943 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
23944 cn=10.0.2.0 (dhcpSubnet)
23945 cn=group1 (dhcpGroup/dhcpOptions)
23946 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
23947 cn=192.168.0.0 (dhcpSubnet)
23948 cn=group1 (dhcpGroup/dhcpOptions)
23949 ou=machines - PowerDNS base points here
23950 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
23951 &lt;/pre&gt;&lt;/blockquote&gt;
23952
23953 &lt;P&gt;This is not tested yet. If the DHCP server require the dhcpHost
23954 entries to be in the dhcpGroup subtrees, the entries can be stored
23955 there instead of a common machines subtree, and the PowerDNS base
23956 would have to be moved one level up to the machine-info subtree.&lt;/p&gt;
23957
23958 &lt;p&gt;The combined object under the machines subtree would look something
23959 like this:&lt;/p&gt;
23960
23961 &lt;blockquote&gt;&lt;pre&gt;
23962 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
23963 dc: hostname
23964 objectClass: top
23965 objectClass: dhcpHost
23966 objectclass: domainrelatedobject
23967 objectclass: dnsDomainAux
23968 associateddomain: hostname.intern
23969 arecord: 10.11.12.13
23970 dhcpHWAddress: ethernet 00:00:00:00:00:00
23971 dhcpStatements: fixed-address hostname.intern
23972 &lt;/pre&gt;&lt;/blockquote&gt;
23973
23974 &lt;/p&gt;One could even add the LTSP configuration associated with a given
23975 machine, as long as the required attributes are available in a
23976 auxiliary object class.&lt;/p&gt;
23977 </description>
23978 </item>
23979
23980 <item>
23981 <title>Combining PowerDNS and ISC DHCP LDAP objects</title>
23982 <link>http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</link>
23983 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</guid>
23984 <pubDate>Wed, 14 Jul 2010 23:45:00 +0200</pubDate>
23985 <description>&lt;p&gt;For a while now, I have wanted to find a way to change the DNS and
23986 DHCP services in Debian Edu to use the same LDAP objects for a given
23987 computer, to avoid the possibility of having a inconsistent state for
23988 a computer in LDAP (as in DHCP but no DNS entry or the other way
23989 around) and make it easier to add computers to LDAP.&lt;/p&gt;
23990
23991 &lt;p&gt;I&#39;ve looked at how powerdns and dhcpd is using LDAP, and using this
23992 information finally found a solution that seem to work.&lt;/p&gt;
23993
23994 &lt;p&gt;The old setup required three LDAP objects for a given computer.
23995 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
23996 we switch powerdns to use its strict LDAP method (ldap-method=strict
23997 in pdns-debian-edu.conf), the forward and reverse DNS entries are
23998 merged into one while making it impossible to transfer the reverse map
23999 to a slave DNS server.&lt;/p&gt;
24000
24001 &lt;p&gt;If we also replace the object class used to get the DNS related
24002 attributes to one allowing these attributes to be combined with the
24003 dhcphost object class, we can merge the DNS and DHCP entries into one.
24004 I&#39;ve written such object class in the dnsdomainaux.schema file (need
24005 proper OIDs, but that is a minor issue), and tested the setup. It
24006 seem to work.&lt;/p&gt;
24007
24008 &lt;p&gt;With this test setup in place, we can get away with one LDAP object
24009 for both DNS and DHCP, and even the LTSP configuration I suggested in
24010 an earlier email. The combined LDAP object will look something like
24011 this:&lt;/p&gt;
24012
24013 &lt;blockquote&gt;&lt;pre&gt;
24014 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
24015 cn: hostname
24016 objectClass: dhcphost
24017 objectclass: domainrelatedobject
24018 objectclass: dnsdomainaux
24019 associateddomain: hostname.intern
24020 arecord: 10.11.12.13
24021 dhcphwaddress: ethernet 00:00:00:00:00:00
24022 dhcpstatements: fixed-address hostname
24023 ldapconfigsound: Y
24024 &lt;/pre&gt;&lt;/blockquote&gt;
24025
24026 &lt;p&gt;The DNS server uses the associateddomain and arecord entries, while
24027 the DHCP server uses the dhcphwaddress and dhcpstatements entries
24028 before asking DNS to resolve the fixed-adddress. LTSP will use
24029 dhcphwaddress or associateddomain and the ldapconfig* attributes.&lt;/p&gt;
24030
24031 &lt;p&gt;I am not yet sure if I can get the DHCP server to look for its
24032 dhcphost in a different location, to allow us to put the objects
24033 outside the &quot;DHCP Config&quot; subtree, but hope to figure out a way to do
24034 that. If I can&#39;t figure out a way to do that, we can still get rid of
24035 the hosts subtree and move all its content into the DHCP Config tree
24036 (which probably should be renamed to be more related to the new
24037 content. I suspect cn=dnsdhcp,ou=services or something like that
24038 might be a good place to put it.&lt;/p&gt;
24039
24040 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
24041 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
24042 </description>
24043 </item>
24044
24045 <item>
24046 <title>Idea for storing LTSP configuration in LDAP</title>
24047 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>
24048 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
24049 <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
24050 <description>&lt;p&gt;Vagrant mentioned on IRC today that ltsp_config now support
24051 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
24052 clients, and that this can be used to fetch configuration from LDAP if
24053 Debian Edu choose to store configuration there.&lt;/p&gt;
24054
24055 &lt;p&gt;Armed with this information, I got inspired and wrote a test module
24056 to get configuration from LDAP. The idea is to look up the MAC
24057 address of the client in LDAP, and look for attributes on the form
24058 ltspconfigsetting=value, and use this to export SETTING=value to the
24059 LTSP clients.&lt;/p&gt;
24060
24061 &lt;p&gt;The goal is to be able to store the LTSP configuration attributes
24062 in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
24063 allowing us to store all information about a computer in one place.&lt;/p&gt;
24064
24065 &lt;p&gt;This is a untested draft implementation, and I welcome feedback on
24066 this approach. A real LDAP schema for the ltspClientAux objectclass
24067 need to be written. Comments, suggestions, etc?&lt;/p&gt;
24068
24069 &lt;blockquote&gt;&lt;pre&gt;
24070 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
24071 #
24072 # Fetch LTSP client settings from LDAP based on MAC address
24073 #
24074 # Uses ethernet address as stored in the dhcpHost objectclass using
24075 # the dhcpHWAddress attribute or ethernet address stored in the
24076 # ieee802Device objectclass with the macAddress attribute.
24077 #
24078 # This module is written to be schema agnostic, and only depend on the
24079 # existence of attribute names.
24080 #
24081 # The LTSP configuration variables are saved directly using a
24082 # ltspConfig prefix and uppercasing the rest of the attribute name.
24083 # To set the SERVER variable, set the ltspConfigServer attribute.
24084 #
24085 # Some LDAP schema should be created with all the relevant
24086 # configuration settings. Something like this should work:
24087 #
24088 # objectclass ( 1.1.2.2 NAME &#39;ltspClientAux&#39;
24089 # SUP top
24090 # AUXILIARY
24091 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
24092
24093 LDAPSERVER=$(debian-edu-ldapserver)
24094 if [ &quot;$LDAPSERVER&quot; ] ; then
24095 LDAPBASE=$(debian-edu-ldapserver -b)
24096 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
24097 filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
24098 ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
24099 grep &#39;^ltspConfig&#39; | while read attr value ; do
24100 # Remove prefix and convert to upper case
24101 attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
24102 # bass value on to clients
24103 eval &quot;$attr=$value; export $attr&quot;
24104 done
24105 done
24106 fi
24107 &lt;/pre&gt;&lt;/blockquote&gt;
24108
24109 &lt;p&gt;I&#39;m not sure this shell construction will work, because I suspect
24110 the while block might end up in a subshell causing the variables set
24111 there to not show up in ltsp-config, but if that is the case I am sure
24112 the code can be restructured to make sure the variables are passed on.
24113 I expect that can be solved with some testing. :)&lt;/p&gt;
24114
24115 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
24116 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
24117
24118 &lt;p&gt;Update 2010-07-17: I am aware of another effort to store LTSP
24119 configuration in LDAP that was created around year 2000 by
24120 &lt;a href=&quot;http://www.pcxperience.com/thinclient/documentation/ldap.html&quot;&gt;PC
24121 Xperience, Inc., 2000&lt;/a&gt;. I found its
24122 &lt;a href=&quot;http://people.redhat.com/alikins/ltsp/ldap/&quot;&gt;files&lt;/a&gt; on a
24123 personal home page over at redhat.com.&lt;/p&gt;
24124 </description>
24125 </item>
24126
24127 <item>
24128 <title>jXplorer, a very nice LDAP GUI</title>
24129 <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>
24130 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</guid>
24131 <pubDate>Fri, 9 Jul 2010 12:55:00 +0200</pubDate>
24132 <description>&lt;p&gt;Since
24133 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html&quot;&gt;my
24134 last post&lt;/a&gt; about available LDAP tools in Debian, I was told about a
24135 LDAP GUI that is even better than luma. The java application
24136 &lt;a href=&quot;http://jxplorer.org/&quot;&gt;jXplorer&lt;/a&gt; is claimed to be capable of
24137 moving LDAP objects and subtrees using drag-and-drop, and can
24138 authenticate using Kerberos. I have only tested the Kerberos
24139 authentication, but do not have a LDAP setup allowing me to rewrite
24140 LDAP with my test user yet. It is
24141 &lt;a href=&quot;http://packages.qa.debian.org/j/jxplorer.html&quot;&gt;available in
24142 Debian&lt;/a&gt; testing and unstable at the moment. The only problem I
24143 have with it is how it handle errors. If something go wrong, its
24144 non-intuitive behaviour require me to go through some query work list
24145 and remove the failing query. Nothing big, but very annoying.&lt;/p&gt;
24146 </description>
24147 </item>
24148
24149 <item>
24150 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome desktop</title>
24151 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</link>
24152 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</guid>
24153 <pubDate>Sat, 3 Jul 2010 23:55:00 +0200</pubDate>
24154 <description>&lt;p&gt;Here is a short update on my &lt;a
24155 href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;my
24156 Debian Lenny-&gt;Squeeze upgrade testing&lt;/a&gt;. Here is a summary of the
24157 difference for Gnome when it is upgraded by apt-get and aptitude. I&#39;m
24158 not reporting the status for KDE, because the upgrade crashes when
24159 aptitude try because of missing conflicts
24160 (&lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; and
24161 &lt;a href=&quot;http://bugs.debian.org/585716&quot;&gt;#585716&lt;/a&gt;).&lt;/p&gt;
24162
24163 &lt;p&gt;At the end of the upgrade test script, dpkg -l is executed to get a
24164 complete list of the installed packages. Based on this I see these
24165 differences when I did a test run today. As usual, I do not really
24166 know what the correct set of packages would be, but thought it best to
24167 publish the difference.&lt;/p&gt;
24168
24169 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
24170
24171 &lt;blockquote&gt;&lt;p&gt;
24172 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
24173 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
24174 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
24175 libgtksourceview-common libpt-1.10.10-plugins-alsa
24176 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
24177 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
24178 python-4suite-xml python-eggtrayicon python-gtkhtml2
24179 python-gtkmozembed svgalibg1 xserver-xephyr zip
24180 &lt;/p&gt;&lt;/blockquote&gt;
24181
24182 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
24183
24184 &lt;blockquote&gt;&lt;p&gt;
24185 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
24186 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
24187 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
24188 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
24189 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
24190 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
24191 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
24192 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
24193 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
24194 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
24195 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
24196 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
24197 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
24198 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
24199 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
24200 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
24201 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
24202 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
24203 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
24204 mysql-common swfdec-gnome totem-gstreamer wodim
24205 &lt;/p&gt;&lt;/blockquote&gt;
24206
24207 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
24208
24209 &lt;blockquote&gt;&lt;p&gt;
24210 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
24211 python-gnomekeyring python-wnck rhythmbox-plugins xorg
24212 xserver-xorg-input-all xserver-xorg-input-evdev
24213 xserver-xorg-input-kbd xserver-xorg-input-mouse
24214 xserver-xorg-input-synaptics xserver-xorg-video-all
24215 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
24216 xserver-xorg-video-chips xserver-xorg-video-cirrus
24217 xserver-xorg-video-dummy xserver-xorg-video-fbdev
24218 xserver-xorg-video-glint xserver-xorg-video-i128
24219 xserver-xorg-video-i740 xserver-xorg-video-mach64
24220 xserver-xorg-video-mga xserver-xorg-video-neomagic
24221 xserver-xorg-video-nouveau xserver-xorg-video-nv
24222 xserver-xorg-video-r128 xserver-xorg-video-radeon
24223 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
24224 xserver-xorg-video-s3 xserver-xorg-video-s3virge
24225 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
24226 xserver-xorg-video-sis xserver-xorg-video-sisusb
24227 xserver-xorg-video-tdfx xserver-xorg-video-tga
24228 xserver-xorg-video-trident xserver-xorg-video-tseng
24229 xserver-xorg-video-vesa xserver-xorg-video-vmware
24230 xserver-xorg-video-voodoo
24231 &lt;/p&gt;&lt;/blockquote&gt;
24232
24233 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
24234
24235 &lt;blockquote&gt;&lt;p&gt;
24236 deskbar-applet xserver-xorg xserver-xorg-core
24237 xserver-xorg-input-wacom xserver-xorg-video-intel
24238 xserver-xorg-video-openchrome
24239 &lt;/p&gt;&lt;/blockquote&gt;
24240
24241 &lt;p&gt;I was told on IRC that the xorg-xserver package was
24242 &lt;a href=&quot;http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120&quot;&gt;changed
24243 in git&lt;/a&gt; today to try to get apt-get to not remove xorg completely.
24244 No idea when it hits Squeeze, but when it does I hope it will reduce
24245 the difference somewhat.
24246 </description>
24247 </item>
24248
24249 <item>
24250 <title>Caching password, user and group on a roaming Debian laptop</title>
24251 <link>http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</link>
24252 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</guid>
24253 <pubDate>Thu, 1 Jul 2010 11:40:00 +0200</pubDate>
24254 <description>&lt;p&gt;For a laptop, centralized user directories and password checking is
24255 a bit troubling. Laptops are typically used also when not connected
24256 to the network, and it is vital for a user to be able to log in or
24257 unlock the screen saver also when a central server is unavailable.
24258 This is possible by caching passwords and directory information (user
24259 and group attributes) locally, and the packages to do so are available
24260 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
24261 It is also possible to set up in Debian/Lenny, but require more manual
24262 setup there because pam-auth-update is missing in Lenny.&lt;/p&gt;
24263
24264 &lt;h2&gt;LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
24265
24266 This is the traditional method with a twist. The password caching is
24267 provided by libpam-ccreds (version 10-4 or later is needed on
24268 Squeeze), and the directory caching is done by nscd. The directory
24269 lookup and password checking is done using LDAP. If one want to use
24270 Kerberos for password checking the libpam-ldapd package can be
24271 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
24272 local home directory with the path listed in LDAP, one can use the
24273 pam_mkhomedir module from pam-modules to make this happen instead of
24274 using libpam-mklocaluser. A setup for pam-auth-update to enable
24275 pam_mkhomedir will have to be written until a fix for
24276 &lt;a href=&quot;http://bugs.debian.org/568577&quot;&gt;bug #568577&lt;/a&gt; is in the
24277 archive. Because I believe it is a bad idea to have local home
24278 directories using misleading paths like /site/server/partition/, I
24279 prefer to create a local user with the home directory in /home/. This
24280 is done using the libpam-mklocaluser package.&lt;/p&gt;
24281
24282 &lt;p&gt;These packages need to be installed and configured&lt;/p&gt;
24283
24284 &lt;blockquote&gt;&lt;pre&gt;
24285 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
24286 &lt;/pre&gt;&lt;/blockquote&gt;
24287
24288 &lt;p&gt;The ldapd packages will ask for LDAP connection information, and
24289 one have to fill in the values that fits ones own site. Make sure the
24290 PAM part uses encrypted connections, to make sure the password is not
24291 sent in clear text to the LDAP server. I&#39;ve been unable to get TLS
24292 certificate checking for a self signed certificate working, which make
24293 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
24294 is talking to the correct LDAP server), and very much welcome feedback
24295 on how to get this working.&lt;/p&gt;
24296
24297 &lt;p&gt;Because nscd do not have a default configuration fit for offline
24298 caching until &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;bug #485282&lt;/a&gt;
24299 is fixed, this configuration should be used instead of the one
24300 currently in /etc/nscd.conf. The changes are in the fields
24301 reload-count and positive-time-to-live, and is based on the
24302 instructions I found in the
24303 &lt;a href=&quot;http://www.flyn.org/laptopldap/&quot;&gt;LDAP for Mobile Laptops&lt;/a&gt;
24304 instructions by Flyn Computing.&lt;/p&gt;
24305
24306 &lt;blockquote&gt;&lt;pre&gt;
24307 debug-level 0
24308 reload-count unlimited
24309 paranoia no
24310
24311 enable-cache passwd yes
24312 positive-time-to-live passwd 2592000
24313 negative-time-to-live passwd 20
24314 suggested-size passwd 211
24315 check-files passwd yes
24316 persistent passwd yes
24317 shared passwd yes
24318 max-db-size passwd 33554432
24319 auto-propagate passwd yes
24320
24321 enable-cache group yes
24322 positive-time-to-live group 2592000
24323 negative-time-to-live group 20
24324 suggested-size group 211
24325 check-files group yes
24326 persistent group yes
24327 shared group yes
24328 max-db-size group 33554432
24329 auto-propagate group yes
24330
24331 enable-cache hosts no
24332 positive-time-to-live hosts 2592000
24333 negative-time-to-live hosts 20
24334 suggested-size hosts 211
24335 check-files hosts yes
24336 persistent hosts yes
24337 shared hosts yes
24338 max-db-size hosts 33554432
24339
24340 enable-cache services yes
24341 positive-time-to-live services 2592000
24342 negative-time-to-live services 20
24343 suggested-size services 211
24344 check-files services yes
24345 persistent services yes
24346 shared services yes
24347 max-db-size services 33554432
24348 &lt;/pre&gt;&lt;/blockquote&gt;
24349
24350 &lt;p&gt;While we wait for a mechanism to update /etc/nsswitch.conf
24351 automatically like the one provided in
24352 &lt;a href=&quot;http://bugs.debian.org/496915&quot;&gt;bug #496915&lt;/a&gt;, the file
24353 content need to be manually replaced to ensure LDAP is used as the
24354 directory service on the machine. /etc/nsswitch.conf should normally
24355 look like this:&lt;/p&gt;
24356
24357 &lt;blockquote&gt;&lt;pre&gt;
24358 passwd: files ldap
24359 group: files ldap
24360 shadow: files ldap
24361 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
24362 networks: files
24363 protocols: files
24364 services: files
24365 ethers: files
24366 rpc: files
24367 netgroup: files ldap
24368 &lt;/pre&gt;&lt;/blockquote&gt;
24369
24370 &lt;p&gt;The important parts are that ldap is listed last for passwd, group,
24371 shadow and netgroup.&lt;/p&gt;
24372
24373 &lt;p&gt;With these changes in place, any user in LDAP will be able to log
24374 in locally on the machine using for example kdm, get a local home
24375 directory created and have the password as well as user and group
24376 attributes cached.
24377
24378 &lt;h2&gt;LDAP/Kerberos + nss-updatedb + libpam-ccreds +
24379 libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
24380
24381 &lt;p&gt;Because nscd have had its share of problems, and seem to have
24382 problems doing proper caching, I&#39;ve seen suggestions and recipes to
24383 use nss-updatedb to copy parts of the LDAP database locally when the
24384 LDAP database is available. I have not tested such setup, because I
24385 discovered sssd.&lt;/p&gt;
24386
24387 &lt;h2&gt;LDAP/Kerberos + sssd + libpam-mklocaluser&lt;/h2&gt;
24388
24389 &lt;p&gt;A more flexible and robust setup than the nscd combination
24390 mentioned earlier that has shown up recently, is the
24391 &lt;a href=&quot;https://fedorahosted.org/sssd/&quot;&gt;sssd&lt;/a&gt; package from Redhat.
24392 It is part of the &lt;a href=&quot;http://www.freeipa.org/&quot;&gt;FreeIPA&lt;/A&gt; project
24393 to provide a Active Directory like directory service for Linux
24394 machines. The sssd system combines the caching of passwords and user
24395 information into one package, and remove the need for nscd and
24396 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
24397 1.2 do not support netgroups, but it is said that it will support this
24398 in version 1.5 expected to show up later in 2010. Because the
24399 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd package&lt;/a&gt;
24400 was missing in Debian, I ended up co-maintaining it with Werner, and
24401 version 1.2 is now in testing.
24402
24403 &lt;p&gt;These packages need to be installed and configured to get the
24404 roaming setup I want&lt;/p&gt;
24405
24406 &lt;blockquote&gt;&lt;pre&gt;
24407 libpam-sss libnss-sss libpam-mklocaluser
24408 &lt;/pre&gt;&lt;/blockquote&gt;
24409
24410 The complete setup of sssd is done by editing/creating
24411 &lt;tt&gt;/etc/sssd/sssd.conf&lt;/tt&gt;.
24412
24413 &lt;blockquote&gt;&lt;pre&gt;
24414 [sssd]
24415 config_file_version = 2
24416 reconnection_retries = 3
24417 sbus_timeout = 30
24418 services = nss, pam
24419 domains = INTERN
24420
24421 [nss]
24422 filter_groups = root
24423 filter_users = root
24424 reconnection_retries = 3
24425
24426 [pam]
24427 reconnection_retries = 3
24428
24429 [domain/INTERN]
24430 enumerate = false
24431 cache_credentials = true
24432
24433 id_provider = ldap
24434 auth_provider = ldap
24435 chpass_provider = ldap
24436
24437 ldap_uri = ldap://ldap
24438 ldap_search_base = dc=skole,dc=skolelinux,dc=no
24439 ldap_tls_reqcert = never
24440 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
24441 &lt;/pre&gt;&lt;/blockquote&gt;
24442
24443 &lt;p&gt;I got the same problem here with certificate checking. Had to set
24444 &quot;ldap_tls_reqcert = never&quot; to get it working.&lt;/p&gt;
24445
24446 &lt;p&gt;With the libnss-sss package in testing at the moment, the
24447 nsswitch.conf file is update automatically, so there is no need to
24448 modify it manually.&lt;/p&gt;
24449
24450 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
24451 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
24452 </description>
24453 </item>
24454
24455 <item>
24456 <title>LUMA, a very nice LDAP GUI</title>
24457 <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>
24458 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
24459 <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
24460 <description>&lt;p&gt;The last few days I have been looking into the status of the LDAP
24461 directory in Debian Edu, and in the process I started to miss a GUI
24462 tool to browse the LDAP tree. The only one I was able to find in
24463 Debian/Squeeze and Lenny is
24464 &lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
24465 be a great tool to get a overview of the current LDAP directory
24466 populated by default in Skolelinux. Thanks to it, I have been able to
24467 find empty and obsolete subtrees, misplaced objects and duplicate
24468 objects. It will be installed by default in Debian/Squeeze. If you
24469 are working with LDAP, give it a go. :)&lt;/p&gt;
24470
24471 &lt;p&gt;I did notice one problem with it I have not had time to report to
24472 the BTS yet. There is no .desktop file in the package, so the tool do
24473 not show up in the Gnome and KDE menus, but only deep down in in the
24474 Debian submenu in KDE. I hope that can be fixed before Squeeze is
24475 released.&lt;/p&gt;
24476
24477 &lt;p&gt;I have not yet been able to get it to modify the tree yet. I would
24478 like to move objects and remove subtrees directly in the GUI, but have
24479 not found a way to do that with LUMA yet. So in the mean time, I use
24480 &lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
24481
24482 &lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
24483 in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
24484
24485 &lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
24486 &lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
24487 useful GUI alternative. It seem like a good tool, but is unmaintained
24488 in Debian and got a RC bug keeping it out of Squeeze. Unless that
24489 changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
24490 </description>
24491 </item>
24492
24493 <item>
24494 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
24495 <link>http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html</link>
24496 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html</guid>
24497 <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
24498 <description>&lt;p&gt;A while back, I
24499 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
24500 about the fact&lt;/a&gt; that it is not possible with the provided schemas
24501 for storing DNS and DHCP information in LDAP to combine the two sets
24502 of information into one LDAP object representing a computer.&lt;/p&gt;
24503
24504 &lt;p&gt;In the mean time, I discovered that a simple fix would be to make
24505 the dhcpHost object class auxiliary, to allow it to be combined with
24506 the dNSDomain object class, and thus forming one object for one
24507 computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
24508
24509 &lt;p&gt;If I understand this correctly, it is not safe to do this change
24510 without also changing the assigned number for the object class, and I
24511 do not know enough about LDAP schema design to do that properly for
24512 Debian Edu.&lt;/p&gt;
24513
24514 &lt;p&gt;Anyway, for future reference, this is how I believe we could change
24515 the
24516 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
24517 schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
24518 available today from IETF.&lt;/p&gt;
24519
24520 &lt;pre&gt;
24521 --- dhcp.schema (revision 65192)
24522 +++ dhcp.schema (working copy)
24523 @@ -376,7 +376,7 @@
24524 objectclass ( 2.16.840.1.113719.1.203.6.6
24525 NAME &#39;dhcpHost&#39;
24526 DESC &#39;This represents information about a particular client&#39;
24527 - SUP top
24528 + SUP top AUXILIARY
24529 MUST cn
24530 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
24531 X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
24532 &lt;/pre&gt;
24533
24534 &lt;p&gt;I very much welcome clues on how to do this properly for Debian
24535 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
24536 package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
24537
24538 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
24539 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
24540 </description>
24541 </item>
24542
24543 <item>
24544 <title>Calling tasksel like the installer, while still getting useful output</title>
24545 <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>
24546 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
24547 <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
24548 <description>&lt;p&gt;A few times I have had the need to simulate the way tasksel
24549 installs packages during the normal debian-installer run. Until now,
24550 I have ended up letting tasksel do the work, with the annoying problem
24551 of not getting any feedback at all when something fails (like a
24552 conffile question from dpkg or a download that fails), using code like
24553 this:
24554
24555 &lt;blockquote&gt;&lt;pre&gt;
24556 export DEBIAN_FRONTEND=noninteractive
24557 tasksel --new-install
24558 &lt;/pre&gt;&lt;/blockquote&gt;
24559
24560 This would invoke tasksel, let its automatic task selection pick the
24561 tasks to install, and continue to install the requested tasks without
24562 any output what so ever.
24563
24564 Recently I revisited this problem while working on the automatic
24565 package upgrade testing, because tasksel would some times hang without
24566 any useful feedback, and I want to see what is going on when it
24567 happen. Then it occured to me, I can parse the output from tasksel
24568 when asked to run in test mode, and use that aptitude command line
24569 printed by tasksel then to simulate the tasksel run. I ended up using
24570 code like this:
24571
24572 &lt;blockquote&gt;&lt;pre&gt;
24573 export DEBIAN_FRONTEND=noninteractive
24574 cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
24575 $cmd
24576 &lt;/pre&gt;&lt;/blockquote&gt;
24577
24578 &lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
24579 --without-recommends -o APT::Install-Recommends=no -y install
24580 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
24581 ~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
24582 laptop task and all packages with priority standard , required and
24583 important, just like tasksel would have done it during
24584 installation.&lt;/p&gt;
24585
24586 &lt;p&gt;A better approach is probably to extend tasksel to be able to
24587 install packages without using debconf-apt-progress, for use cases
24588 like this.&lt;/p&gt;
24589 </description>
24590 </item>
24591
24592 <item>
24593 <title>Officeshots taking shape</title>
24594 <link>http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
24595 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
24596 <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
24597 <description>&lt;p&gt;For those of us caring about document exchange and
24598 interoperability, &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;
24599 is a great service. It is to ODF documents what
24600 &lt;a href=&quot;http://browsershots.org/&quot;&gt;BrowserShots&lt;/a&gt; is for web
24601 pages.&lt;/p&gt;
24602
24603 &lt;p&gt;A while back, I was contacted by Knut Yrvin at the part of Nokia
24604 that used to be Trolltech, who wanted to help the OfficeShots project
24605 and wondered if the University of Oslo where I work would be
24606 interested in supporting the project. I helped him to navigate his
24607 request to the right people at work, and his request was answered with
24608 a spot in the machine room with power and network connected, and Knut
24609 arranged funding for a machine to fill the spot. The machine is
24610 administrated by the OfficeShots people, so I do not have daily
24611 contact with its progress, and thus from time to time check back to
24612 see how the project is doing.&lt;/p&gt;
24613
24614 &lt;p&gt;Today I had a look, and was happy to see that the Dell box in our
24615 machine room now is the host for several virtual machines running as
24616 OfficeShots factories, and the project is able to render ODF documents
24617 in 17 different document processing implementation on Linux and
24618 Windows. This is great.&lt;/p&gt;
24619 </description>
24620 </item>
24621
24622 <item>
24623 <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
24624 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
24625 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
24626 <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
24627 <description>&lt;p&gt;My
24628 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
24629 of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
24630 finally made the upgrade logs available from
24631 &lt;a href=&quot;http://people.skolelinux.org/pere/debian-upgrade-testing/&quot;&gt;http://people.skolelinux.org/pere/debian-upgrade-testing/&lt;/a&gt;.
24632 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
24633 apt and aptitude, and found their differences interesting. This time
24634 I will only focus on their removal plans.&lt;/p&gt;
24635
24636 &lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
24637 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
24638 surprising part is that it want to remove xorg and all
24639 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
24640 sure why. When asking aptitude to do the same, it want to remove 129
24641 packages, but most of them are library packages I suspect are no
24642 longer needed. Both of them want to remove bluetooth packages, which
24643 I do not know. Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
24644
24645 &lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
24646 which seem like a bad idea and xorg the same way as with Gnome. Asking
24647 aptitude for the same, it wants to remove 192 packages, none which are
24648 too surprising.&lt;/p&gt;
24649
24650 &lt;p&gt;I guess the removal of xorg during upgrades should be investigated
24651 and avoided, and perhaps others as well. Here are the complete list
24652 of planned removals. The complete logs is available from the URL
24653 above. Note if you want to repeat these tests, that the upgrade test
24654 for kde+apt-get hung in the tasksel setup because of dpkg asking
24655 conffile questions. No idea why. I worked around it by using
24656 &#39;&lt;tt&gt;echo &gt;&gt; /proc/&lt;em&gt;pidofdpkg&lt;/em&gt;/fd/0&lt;/tt&gt;&#39; to tell dpkg to
24657 continue.&lt;/p&gt;
24658
24659 &lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
24660 &lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
24661 gnome-desktop-environment gnome-network-admin gtkhtml3.14
24662 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
24663 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
24664 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
24665 serpentine swfdec-mozilla update-manager xorg xserver-xorg
24666 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
24667 xserver-xorg-input-kbd xserver-xorg-input-mouse
24668 xserver-xorg-input-synaptics xserver-xorg-input-wacom
24669 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
24670 xserver-xorg-video-ati xserver-xorg-video-chips
24671 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
24672 xserver-xorg-video-dummy xserver-xorg-video-fbdev
24673 xserver-xorg-video-glint xserver-xorg-video-i128
24674 xserver-xorg-video-i740 xserver-xorg-video-imstt
24675 xserver-xorg-video-intel xserver-xorg-video-mach64
24676 xserver-xorg-video-mga xserver-xorg-video-neomagic
24677 xserver-xorg-video-nsc xserver-xorg-video-nv
24678 xserver-xorg-video-openchrome xserver-xorg-video-r128
24679 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
24680 xserver-xorg-video-rendition xserver-xorg-video-s3
24681 xserver-xorg-video-s3virge xserver-xorg-video-savage
24682 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
24683 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
24684 xserver-xorg-video-tga xserver-xorg-video-trident
24685 xserver-xorg-video-tseng xserver-xorg-video-v4l
24686 xserver-xorg-video-vesa xserver-xorg-video-vga
24687 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
24688 xulrunner-1.9-gnome-support&lt;/p&gt;
24689
24690 &lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
24691
24692 &lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
24693 djvulibre-desktop finger gnome-app-install gnome-mount
24694 gnome-network-admin gnome-spell gnome-vfs-obexftp
24695 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
24696 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
24697 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
24698 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
24699 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
24700 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
24701 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
24702 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
24703 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
24704 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
24705 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
24706 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
24707 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
24708 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
24709 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
24710 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
24711 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
24712 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
24713 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
24714 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
24715 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
24716 openoffice.org-writer2latex openssl-blacklist p7zip
24717 python-4suite-xml python-eggtrayicon python-gnome2-desktop
24718 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
24719 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
24720 swfdec-mozilla totem-gstreamer update-manager wodim
24721 xserver-xorg-video-cyrix xserver-xorg-video-imstt
24722 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
24723 zip&lt;/p&gt;
24724
24725 &lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
24726
24727 &lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
24728 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
24729 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
24730 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
24731 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
24732 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
24733 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
24734 xserver-xorg-input-kbd xserver-xorg-input-mouse
24735 xserver-xorg-input-synaptics xserver-xorg-input-wacom
24736 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
24737 xserver-xorg-video-ati xserver-xorg-video-chips
24738 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
24739 xserver-xorg-video-dummy xserver-xorg-video-fbdev
24740 xserver-xorg-video-glint xserver-xorg-video-i128
24741 xserver-xorg-video-i740 xserver-xorg-video-imstt
24742 xserver-xorg-video-intel xserver-xorg-video-mach64
24743 xserver-xorg-video-mga xserver-xorg-video-neomagic
24744 xserver-xorg-video-nsc xserver-xorg-video-nv
24745 xserver-xorg-video-openchrome xserver-xorg-video-r128
24746 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
24747 xserver-xorg-video-rendition xserver-xorg-video-s3
24748 xserver-xorg-video-s3virge xserver-xorg-video-savage
24749 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
24750 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
24751 xserver-xorg-video-tga xserver-xorg-video-trident
24752 xserver-xorg-video-tseng xserver-xorg-video-v4l
24753 xserver-xorg-video-vesa xserver-xorg-video-vga
24754 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
24755
24756 &lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
24757 &lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
24758 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
24759 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
24760 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
24761 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
24762 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
24763 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
24764 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
24765 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
24766 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
24767 kghostview khelpcenter khexedit kiconedit kitchensync klatin
24768 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
24769 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
24770 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
24771 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
24772 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
24773 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
24774 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
24775 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
24776 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
24777 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
24778 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
24779 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
24780 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
24781 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
24782 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
24783 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
24784 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
24785 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
24786 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
24787 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
24788 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
24789 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
24790 texlive-common texlive-doc-base texlive-fonts-recommended
24791 xserver-xorg-video-cyrix xserver-xorg-video-imstt
24792 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
24793 xulrunner-1.9&lt;/p&gt;
24794
24795 </description>
24796 </item>
24797
24798 <item>
24799 <title>Automatic upgrade testing from Lenny to Squeeze</title>
24800 <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
24801 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
24802 <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
24803 <description>&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
24804 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
24805 have been discovered and reported in the process
24806 (&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
24807 &lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
24808 enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
24809 kdebase-workspace-data), and to get a more regular testing going on, I
24810 am working on a script to automate the test.&lt;/p&gt;
24811
24812 &lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
24813 Gnome or KDE desktop installation inside the chroot before upgrading
24814 it. To ensure no services are started in the chroot, a policy-rc.d
24815 script is inserted. To make sure tasksel believe it is to install a
24816 desktop on a laptop, the tasksel tests are replaced in the chroot
24817 (only acceptable because this is a throw-away chroot).&lt;/p&gt;
24818
24819 &lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
24820 currently always fail because udev refuses to upgrade with the kernel
24821 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
24822 is created. The bug report
24823 &lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
24824 this problem do not trigger in a chroot, but I touch the file anyway
24825 to make sure the upgrade go well. Testing on virtual and real
24826 hardware have failed me because of udev so far, and creating this file
24827 do the trick in such settings anyway. This is a
24828 &lt;a href=&quot;http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/&quot;&gt;known
24829 issue&lt;/a&gt; and the current udev behaviour is intended by the udev
24830 maintainer because he lack the resources to rewrite udev to keep
24831 working with old kernels or something like that. I really wish the
24832 udev upstream would keep udev backwards compatible, to avoid such
24833 upgrade problem, but given that they fail to do so, I guess
24834 documenting the way out of this mess is the best option we got for
24835 Debian Squeeze.&lt;/p&gt;
24836
24837 &lt;p&gt;Anyway, back to the task at hand, testing upgrades. This test
24838 script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
24839 trick:&lt;/p&gt;
24840
24841 &lt;blockquote&gt;&lt;pre&gt;
24842 #!/bin/sh
24843 set -ex
24844
24845 if [ &quot;$1&quot; ] ; then
24846 desktop=$1
24847 else
24848 desktop=gnome
24849 fi
24850
24851 from=lenny
24852 to=squeeze
24853
24854 exec &amp;lt; /dev/null
24855 unset LANG
24856 mirror=http://ftp.skolelinux.org/debian
24857 tmpdir=chroot-$from-upgrade-$to-$desktop
24858 fuser -mv .
24859 debootstrap $from $tmpdir $mirror
24860 chroot $tmpdir aptitude update
24861 cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
24862 #!/bin/sh
24863 exit 101
24864 EOF
24865 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
24866 exit_cleanup() {
24867 umount $tmpdir/proc
24868 }
24869 mount -t proc proc $tmpdir/proc
24870 # Make sure proc is unmounted also on failure
24871 trap exit_cleanup EXIT INT
24872
24873 chroot $tmpdir aptitude -y install debconf-utils
24874
24875 # Make sure tasksel autoselection trigger. It need the test scripts
24876 # to return the correct answers.
24877 echo tasksel tasksel/desktop multiselect $desktop | \
24878 chroot $tmpdir debconf-set-selections
24879
24880 # Include the desktop and laptop task
24881 for test in desktop laptop ; do
24882 echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
24883 #!/bin/sh
24884 exit 2
24885 EOF
24886 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
24887 done
24888
24889 DEBIAN_FRONTEND=noninteractive
24890 DEBIAN_PRIORITY=critical
24891 export DEBIAN_FRONTEND DEBIAN_PRIORITY
24892 chroot $tmpdir tasksel --new-install
24893
24894 echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
24895 chroot $tmpdir aptitude update
24896 touch $tmpdir/etc/udev/kernel-upgrade
24897 chroot $tmpdir aptitude -y dist-upgrade
24898 fuser -mv
24899 &lt;/pre&gt;&lt;/blockquote&gt;
24900
24901 &lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
24902 with aptitude, but I have not had time to look at how they behave
24903 differently so far. I hope to get a cron job running to do the test
24904 regularly and post the result on the web. The Gnome upgrade currently
24905 work, while the KDE upgrade fail because of the bug in
24906 kdebase-workspace-data&lt;/p&gt;
24907
24908 &lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
24909 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
24910 post, so I will refrain from trying. I can report that for Gnome,
24911 aptitude report 760 packages upgraded, 448 newly installed, 129 to
24912 remove and 1 not upgraded and 1024MB need to be downloaded while for
24913 KDE the same numbers are 702 packages upgraded, 507 newly installed,
24914 193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
24915
24916 &lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
24917 is able to migrate to dependency based boot sequencing and parallel
24918 booting without a hitch. Was unsure if there were still bugs with
24919 packages failing to clean up their obsolete init.d script during
24920 upgrades, and no such problem seem to affect the Gnome desktop+laptop
24921 packages.&lt;/p&gt;
24922 </description>
24923 </item>
24924
24925 <item>
24926 <title>Upstart or sysvinit - as init.d scripts see it</title>
24927 <link>http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</link>
24928 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</guid>
24929 <pubDate>Sun, 6 Jun 2010 23:55:00 +0200</pubDate>
24930 <description>&lt;p&gt;If Debian is to migrate to upstart on Linux, I expect some init.d
24931 scripts to migrate (some of) their operations to upstart job while
24932 keeping the init.d for hurd and kfreebsd. The packages with such
24933 needs will need a way to get their init.d scripts to behave
24934 differently when used with sysvinit and with upstart. Because of
24935 this, I had a look at the environment variables set when a init.d
24936 script is running under upstart, and when it is not.&lt;/p&gt;
24937
24938 &lt;p&gt;With upstart, I notice these environment variables are set when a
24939 script is started from rcS.d/ (ignoring some irrelevant ones like
24940 COLUMNS):&lt;/p&gt;
24941
24942 &lt;blockquote&gt;&lt;pre&gt;
24943 DEFAULT_RUNLEVEL=2
24944 previous=N
24945 PREVLEVEL=
24946 RUNLEVEL=
24947 runlevel=S
24948 UPSTART_EVENTS=startup
24949 UPSTART_INSTANCE=
24950 UPSTART_JOB=rc-sysinit
24951 &lt;/pre&gt;&lt;/blockquote&gt;
24952
24953 &lt;p&gt;With sysvinit, these environment variables are set for the same
24954 script.&lt;/p&gt;
24955
24956 &lt;blockquote&gt;&lt;pre&gt;
24957 INIT_VERSION=sysvinit-2.88
24958 previous=N
24959 PREVLEVEL=N
24960 RUNLEVEL=S
24961 runlevel=S
24962 &lt;/pre&gt;&lt;/blockquote&gt;
24963
24964 &lt;p&gt;The RUNLEVEL and PREVLEVEL environment variables passed on from
24965 sysvinit are not set by upstart. Not sure if it is intentional or not
24966 to not be compatible with sysvinit in this regard.&lt;/p&gt;
24967
24968 &lt;p&gt;For scripts needing to behave differently when upstart is used,
24969 looking for the UPSTART_JOB environment variable seem to be a good
24970 choice.&lt;/p&gt;
24971 </description>
24972 </item>
24973
24974 <item>
24975 <title>A manual for standards wars...</title>
24976 <link>http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</link>
24977 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</guid>
24978 <pubDate>Sun, 6 Jun 2010 14:15:00 +0200</pubDate>
24979 <description>&lt;p&gt;Via the
24980 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html&quot;&gt;blog
24981 of Rob Weir&lt;/a&gt; I came across the very interesting essay named
24982 &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/wars.pdf&quot;&gt;The Art of
24983 Standards Wars&lt;/a&gt; (PDF 25 pages). I recommend it for everyone
24984 following the standards wars of today.&lt;/p&gt;
24985 </description>
24986 </item>
24987
24988 <item>
24989 <title>Sitesummary tip: Listing computer hardware models used at site</title>
24990 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</link>
24991 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</guid>
24992 <pubDate>Thu, 3 Jun 2010 12:05:00 +0200</pubDate>
24993 <description>&lt;p&gt;When using sitesummary at a site to track machines, it is possible
24994 to get a list of the machine types in use thanks to the DMI
24995 information extracted from each machine. The script to do so is
24996 included in the sitesummary package, and here is example output from
24997 the Skolelinux build servers:&lt;/p&gt;
24998
24999 &lt;blockquote&gt;&lt;pre&gt;
25000 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
25001 vendor count
25002 Dell Computer Corporation 1
25003 PowerEdge 1750 1
25004 IBM 1
25005 eserver xSeries 345 -[8670M1X]- 1
25006 Intel 2
25007 [no-dmi-info] 3
25008 maintainer:~#
25009 &lt;/pre&gt;&lt;/blockquote&gt;
25010
25011 &lt;p&gt;The quality of the report depend on the quality of the DMI tables
25012 provided in each machine. Here there are Intel machines without model
25013 information listed with Intel as vendor and no model, and virtual Xen
25014 machines listed as [no-dmi-info]. One can add -l as a command line
25015 option to list the individual machines.&lt;/p&gt;
25016
25017 &lt;p&gt;A larger list is
25018 &lt;a href=&quot;http://narvikskolen.no/sitesummary/&quot;&gt;available from the the
25019 city of Narvik&lt;/a&gt;, which uses Skolelinux on all their shools and also
25020 provide the basic sitesummary report publicly. In their report there
25021 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
25022 their machines, and as sitesummary is available in both distributions,
25023 it is trivial to get all of them to report to the same central
25024 collector.&lt;/p&gt;
25025 </description>
25026 </item>
25027
25028 <item>
25029 <title>KDM fail at boot with NVidia cards - and no one try to fix it?</title>
25030 <link>http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</link>
25031 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</guid>
25032 <pubDate>Tue, 1 Jun 2010 17:05:00 +0200</pubDate>
25033 <description>&lt;p&gt;It is strange to watch how a bug in Debian causing KDM to fail to
25034 start at boot when an NVidia video card is used is handled. The
25035 problem seem to be that the nvidia X.org driver uses a long time to
25036 initialize, and this duration is longer than kdm is configured to
25037 wait.&lt;/p&gt;
25038
25039 &lt;p&gt;I came across two bugs related to this issue,
25040 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;#583312&lt;/a&gt; initially filed
25041 against initscripts and passed on to nvidia-glx when it became obvious
25042 that the nvidia drivers were involved, and
25043 &lt;a href=&quot;http://bugs.debian.org/524751&quot;&gt;#524751&lt;/a&gt; initially filed against
25044 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.&lt;/p&gt;
25045
25046 &lt;p&gt;To me, it seem that no-one is interested in actually solving the
25047 problem nvidia video card owners experience and make sure the Debian
25048 distribution work out of the box for these users. The nvidia driver
25049 maintainers expect kdm to be set up to wait longer, while kdm expect
25050 the nvidia driver maintainers to fix the driver to start faster, and
25051 while they wait for each other I guess the users end up switching to a
25052 distribution that work for them. I have no idea what the solution is,
25053 but I am pretty sure that waiting for each other is not it.&lt;/p&gt;
25054
25055 &lt;p&gt;I wonder why we end up handling bugs this way.&lt;/p&gt;
25056 </description>
25057 </item>
25058
25059 <item>
25060 <title>Parallellized boot seem to hold up well in Debian/testing</title>
25061 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</link>
25062 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</guid>
25063 <pubDate>Thu, 27 May 2010 23:55:00 +0200</pubDate>
25064 <description>&lt;p&gt;A few days ago, parallel booting was enabled in Debian/testing.
25065 The feature seem to hold up pretty well, but three fairly serious
25066 issues are known and should be solved:
25067
25068 &lt;p&gt;&lt;ul&gt;
25069
25070 &lt;li&gt;The wicd package seen to
25071 &lt;a href=&quot;http://bugs.debian.org/508289&quot;&gt;break NFS mounting&lt;/a&gt; and
25072 &lt;a href=&quot;http://bugs.debian.org/581586&quot;&gt;network setup&lt;/a&gt; when
25073 parallel booting is enabled. No idea why, but the wicd maintainer
25074 seem to be on the case.&lt;/li&gt;
25075
25076 &lt;li&gt;The nvidia X driver seem to
25077 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;have a race condition&lt;/a&gt;
25078 triggered more easily when parallel booting is in effect. The
25079 maintainer is on the case.&lt;/li&gt;
25080
25081 &lt;li&gt;The sysv-rc package fail to properly enable dependency based boot
25082 sequencing (the shutdown is broken) when old file-rc users
25083 &lt;a href=&quot;http://bugs.debian.org/575080&quot;&gt;try to switch back&lt;/a&gt; to
25084 sysv-rc. One way to solve it would be for file-rc to create
25085 /etc/init.d/.legacy-bootordering, and another is to try to make
25086 sysv-rc more robust. Will investigate some more and probably upload a
25087 workaround in sysv-rc to help those trying to move from file-rc to
25088 sysv-rc get a working shutdown.&lt;/li&gt;
25089
25090 &lt;/ul&gt;&lt;/p&gt;
25091
25092 &lt;p&gt;All in all not many surprising issues, and all of them seem
25093 solvable before Squeeze is released. In addition to these there are
25094 some packages with bugs in their dependencies and run level settings,
25095 which I expect will be fixed in a reasonable time span.&lt;/p&gt;
25096
25097 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
25098 the BTS, please usertag the report to get it to show up at
25099 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
25100 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
25101
25102 &lt;p&gt;Update: Correct bug number to file-rc issue.&lt;/p&gt;
25103 </description>
25104 </item>
25105
25106 <item>
25107 <title>More flexible firmware handling in debian-installer</title>
25108 <link>http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</link>
25109 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</guid>
25110 <pubDate>Sat, 22 May 2010 21:30:00 +0200</pubDate>
25111 <description>&lt;p&gt;After a long break from debian-installer development, I finally
25112 found time today to return to the project. Having to spend less time
25113 working dependency based boot in debian, as it is almost complete now,
25114 definitely helped freeing some time.&lt;/p&gt;
25115
25116 &lt;p&gt;A while back, I ran into a problem while working on Debian Edu. We
25117 include some firmware packages on the Debian Edu CDs, those needed to
25118 get disk and network controllers working. Without having these
25119 firmware packages available during installation, it is impossible to
25120 install Debian Edu on the given machine, and because our target group
25121 are non-technical people, asking them to provide firmware packages on
25122 an external medium is a support pain. Initially, I expected it to be
25123 enough to include the firmware packages on the CD to get
25124 debian-installer to find and use them. This proved to be wrong.
25125 Next, I hoped it was enough to symlink the relevant firmware packages
25126 to some useful location on the CD (tried /cdrom/ and
25127 /cdrom/firmware/). This also proved to not work, and at this point I
25128 found time to look at the debian-installer code to figure out what was
25129 going to work.&lt;/p&gt;
25130
25131 &lt;p&gt;The firmware loading code is in the hw-detect package, and a closer
25132 look revealed that it would only look for firmware packages outside
25133 the installation media, so the CD was never checked for firmware
25134 packages. It would only check USB sticks, floppies and other
25135 &quot;external&quot; media devices. Today I changed it to also look in the
25136 /cdrom/firmware/ directory on the mounted CD or DVD, which should
25137 solve the problem I ran into with Debian edu. I also changed it to
25138 look in /firmware/, to make sure the installer also find firmware
25139 provided in the initrd when booting the installer via PXE, to allow us
25140 to provide the same feature in the PXE setup included in Debian
25141 Edu.&lt;/p&gt;
25142
25143 &lt;p&gt;To make sure firmware deb packages with a license questions are not
25144 activated without asking if the license is accepted, I extended
25145 hw-detect to look for preinst scripts in the firmware packages, and
25146 run these before activating the firmware during installation. The
25147 license question is asked using debconf in the preinst, so this should
25148 solve the issue for the firmware packages I have looked at so far.&lt;/p&gt;
25149
25150 &lt;p&gt;If you want to discuss the details of these features, please
25151 contact us on debian-boot@lists.debian.org.&lt;/p&gt;
25152 </description>
25153 </item>
25154
25155 <item>
25156 <title>Pieces of the roaming laptop puzzle in Debian</title>
25157 <link>http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
25158 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
25159 <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
25160 <description>&lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
25161 Edu finally entered the Debian archive. Today, the new
25162 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
25163 package was accepted. Two days ago, two other pieces was accepted
25164 into unstable. The
25165 &lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
25166 package needed by libpam-mklocaluser, and the
25167 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
25168 passed NEW on Monday. In addition, the
25169 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
25170 package we need is in experimental (version 10-4) since Saturday, and
25171 hopefully will be moved to unstable soon.&lt;/p&gt;
25172
25173 &lt;p&gt;This collection of packages allow for two different setups for
25174 roaming laptops. The traditional setup would be using libpam-ccreds,
25175 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
25176 which should work out of the box if the configuration changes proposed
25177 for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
25178 #485282&lt;/a&gt; is implemented. The alternative setup is to use sssd with
25179 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
25180 care of the caching of passwords and group information.&lt;/p&gt;
25181
25182 &lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
25183 at the University, but suspect the issue is some SSL/GnuTLS related
25184 problem with the server certificate. I plan to update the Debian
25185 package to version 1.2, which is scheduled for next week, and hope to
25186 find time to make sure the next release will include both the
25187 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
25188 and I am sure we will find a good solution.&lt;/p&gt;
25189
25190 &lt;p&gt;The idea is to set up the roaming laptops to authenticate using
25191 LDAP or Kerberos and create a local user with home directory in /home/
25192 when a usre in LDAP logs in via KDM or GDM for the first time, and
25193 cache the password for offline checking, as well as caching group
25194 memberhips and other relevant LDAP information. The
25195 libpam-mklocaluser package was created to make sure the local home
25196 directory is in /home/, instead of /site/server/directory/ which would
25197 be the home directory if pam_mkhomedir was used. To avoid confusion
25198 with support requests and configuration, we do not want local laptops
25199 to have users in a path that is used for the same users home directory
25200 on the home directory servers.&lt;/p&gt;
25201
25202 &lt;p&gt;One annoying problem with gdm is that it do not show the PAM
25203 message passed to the user from libpam-mklocaluser when the local user
25204 is created. Instead gdm simply reject the login with some generic
25205 message. The message is shown in kdm, ssh and login, so I guess it is
25206 a bug in gdm. Have not investigated if there is some other message
25207 type that can be used instead to get gdm to also show the message.&lt;/p&gt;
25208
25209 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
25210 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
25211 </description>
25212 </item>
25213
25214 <item>
25215 <title>Parallellized boot is now the default in Debian/unstable</title>
25216 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</link>
25217 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</guid>
25218 <pubDate>Fri, 14 May 2010 22:40:00 +0200</pubDate>
25219 <description>&lt;p&gt;Since this evening, parallel booting is the default in
25220 Debian/unstable for machines using dependency based boot sequencing.
25221 Apparently the testing of concurrent booting has been wider than
25222 expected, if I am to believe the
25223 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
25224 on debian-devel@&lt;/a&gt;, and I concluded a few days ago to move forward
25225 with the feature this weekend, to give us some time to detect any
25226 remaining problems before Squeeze is frozen. If serious problems are
25227 detected, it is simple to change the default back to sequential boot.
25228 The upload of the new sysvinit package also activate a new upstream
25229 version.&lt;/p&gt;
25230
25231 More information about
25232 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
25233 based boot sequencing&lt;/a&gt; is available from the Debian wiki. It is
25234 currently possible to disable parallel booting when one run into
25235 problems caused by it, by adding this line to /etc/default/rcS:&lt;/p&gt;
25236
25237 &lt;blockquote&gt;&lt;pre&gt;
25238 CONCURRENCY=none
25239 &lt;/pre&gt;&lt;/blockquote&gt;
25240
25241 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
25242 the BTS, please usertag the report to get it to show up at
25243 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
25244 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
25245 </description>
25246 </item>
25247
25248 <item>
25249 <title>Sitesummary tip: Listing MAC address of all clients</title>
25250 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</link>
25251 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</guid>
25252 <pubDate>Fri, 14 May 2010 21:10:00 +0200</pubDate>
25253 <description>&lt;p&gt;In the recent Debian Edu versions, the
25254 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;sitesummary
25255 system&lt;/a&gt; is used to keep track of the machines in the school
25256 network. Each machine will automatically report its status to the
25257 central server after boot and once per night. The network setup is
25258 also reported, and using this information it is possible to get the
25259 MAC address of all network interfaces in the machines. This is useful
25260 to update the DHCP configuration.&lt;/p&gt;
25261
25262 &lt;p&gt;To give some idea how to use sitesummary, here is a one-liner to
25263 ist all MAC addresses of all machines reporting to sitesummary. Run
25264 this on the collector host:&lt;/p&gt;
25265
25266 &lt;blockquote&gt;&lt;pre&gt;
25267 perl -MSiteSummary -e &#39;for_all_hosts(sub { print join(&quot; &quot;, get_macaddresses(shift)), &quot;\n&quot;; });&#39;
25268 &lt;/pre&gt;&lt;/blockquote&gt;
25269
25270 &lt;p&gt;This will list all MAC addresses assosiated with all machine, one
25271 line per machine and with space between the MAC addresses.&lt;/p&gt;
25272
25273 &lt;p&gt;To allow system administrators easier job at adding static DHCP
25274 addresses for hosts, it would be possible to extend this to fetch
25275 machine information from sitesummary and update the DHCP and DNS
25276 tables in LDAP using this information. Such tool is unfortunately not
25277 written yet.&lt;/p&gt;
25278 </description>
25279 </item>
25280
25281 <item>
25282 <title>systemd, an interesting alternative to upstart</title>
25283 <link>http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</link>
25284 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</guid>
25285 <pubDate>Thu, 13 May 2010 22:20:00 +0200</pubDate>
25286 <description>&lt;p&gt;The last few days a new boot system called
25287 &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt;
25288 has been
25289 &lt;a href=&quot;http://0pointer.de/blog/projects/systemd.html&quot;&gt;introduced&lt;/a&gt;
25290
25291 to the free software world. I have not yet had time to play around
25292 with it, but it seem to be a very interesting alternative to
25293 &lt;a href=&quot;http://upstart.ubuntu.com/&quot;&gt;upstart&lt;/a&gt;, and might prove to be
25294 a good alternative for Debian when we are able to switch to an event
25295 based boot system. Tollef is
25296 &lt;a href=&quot;http://bugs.debian.org/580814&quot;&gt;in the process&lt;/a&gt; of getting
25297 systemd into Debian, and I look forward to seeing how well it work. I
25298 like the fact that systemd handles init.d scripts with dependency
25299 information natively, allowing them to run in parallel where upstart
25300 at the moment do not.&lt;/p&gt;
25301
25302 &lt;p&gt;Unfortunately do systemd have the same problem as upstart regarding
25303 platform support. It only work on recent Linux kernels, and also need
25304 some new kernel features enabled to function properly. This means
25305 kFreeBSD and Hurd ports of Debian will need a port or a different boot
25306 system. Not sure how that will be handled if systemd proves to be the
25307 way forward.&lt;/p&gt;
25308
25309 &lt;p&gt;In the mean time, based on the
25310 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
25311 on debian-devel@&lt;/a&gt; regarding parallel booting in Debian, I have
25312 decided to enable full parallel booting as the default in Debian as
25313 soon as possible (probably this weekend or early next week), to see if
25314 there are any remaining serious bugs in the init.d dependencies. A
25315 new version of the sysvinit package implementing this change is
25316 already in experimental. If all go well, Squeeze will be released
25317 with parallel booting enabled by default.&lt;/p&gt;
25318 </description>
25319 </item>
25320
25321 <item>
25322 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing</title>
25323 <link>http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</link>
25324 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</guid>
25325 <pubDate>Thu, 6 May 2010 23:25:00 +0200</pubDate>
25326 <description>&lt;p&gt;These days, the init.d script dependencies in Squeeze are quite
25327 complete, so complete that it is actually possible to run all the
25328 init.d scripts in parallell based on these dependencies. If you want
25329 to test your Squeeze system, make sure
25330 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
25331 based boot sequencing&lt;/a&gt; is enabled, and add this line to
25332 /etc/default/rcS:&lt;/p&gt;
25333
25334 &lt;blockquote&gt;&lt;pre&gt;
25335 CONCURRENCY=makefile
25336 &lt;/pre&gt;&lt;/blockquote&gt;
25337
25338 &lt;p&gt;That is it. It will cause sysv-rc to use the startpar tool to run
25339 scripts in parallel using the dependency information stored in
25340 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
25341 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
25342 to try to start the kdm and gdm scripts as early as possible, and will
25343 start the facilities required by kdm or gdm as early as possible to
25344 make this happen.&lt;/p&gt;
25345
25346 &lt;p&gt;Give it a try, and see if you like the result. If some services
25347 fail to start properly, it is most likely because they have incomplete
25348 init.d script dependencies in their startup script (or some of their
25349 dependent scripts have incomplete dependencies). Report bugs and get
25350 the package maintainers to fix it. :)&lt;/p&gt;
25351
25352 &lt;p&gt;Running scripts in parallel could be the default in Debian when we
25353 manage to get the init.d script dependencies complete and correct. I
25354 expect we will get there in Squeeze+1, if we get manage to test and
25355 fix the remaining issues.&lt;/p&gt;
25356
25357 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
25358 the BTS, please usertag the report to get it to show up at
25359 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
25360 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
25361 </description>
25362 </item>
25363
25364 <item>
25365 <title>Forcing new users to change their password on first login</title>
25366 <link>http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</link>
25367 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</guid>
25368 <pubDate>Sun, 2 May 2010 13:47:00 +0200</pubDate>
25369 <description>&lt;p&gt;One interesting feature in Active Directory, is the ability to
25370 create a new user with an expired password, and thus force the user to
25371 change the password on the first login attempt.&lt;/p&gt;
25372
25373 &lt;p&gt;I&#39;m not quite sure how to do that with the LDAP setup in Debian
25374 Edu, but did some initial testing with a local account. The account
25375 and password aging information is available in /etc/shadow, but
25376 unfortunately, it is not possible to specify an expiration time for
25377 passwords, only a maximum age for passwords.&lt;/p&gt;
25378
25379 &lt;p&gt;A freshly created account (using adduser test) will have these
25380 settings in /etc/shadow:&lt;/p&gt;
25381
25382 &lt;blockquote&gt;&lt;pre&gt;
25383 root@tjener:~# chage -l test
25384 Last password change : May 02, 2010
25385 Password expires : never
25386 Password inactive : never
25387 Account expires : never
25388 Minimum number of days between password change : 0
25389 Maximum number of days between password change : 99999
25390 Number of days of warning before password expires : 7
25391 root@tjener:~#
25392 &lt;/pre&gt;&lt;/blockquote&gt;
25393
25394 &lt;p&gt;The only way I could come up with to create a user with an expired
25395 account, is to change the date of the last password change to the
25396 lowest value possible (January 1th 1970), and the maximum password age
25397 to the difference in days between that date and today. To make it
25398 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
25399 avoid testing if 0 is a valid value).&lt;/p&gt;
25400
25401 &lt;p&gt;After using these commands to set it up, it seem to work as
25402 intended:&lt;/p&gt;
25403
25404 &lt;blockquote&gt;&lt;pre&gt;
25405 root@tjener:~# chage -d 1 test; chage -M 10950 test
25406 root@tjener:~# chage -l test
25407 Last password change : Jan 02, 1970
25408 Password expires : never
25409 Password inactive : never
25410 Account expires : never
25411 Minimum number of days between password change : 0
25412 Maximum number of days between password change : 10950
25413 Number of days of warning before password expires : 7
25414 root@tjener:~#
25415 &lt;/pre&gt;&lt;/blockquote&gt;
25416
25417 &lt;p&gt;So far I have tested this with ssh and console, and kdm (in
25418 Squeeze) login, and all ask for a new password before login in the
25419 user (with ssh, I was thrown out and had to log in again).&lt;/p&gt;
25420
25421 &lt;p&gt;Perhaps we should set up something similar for Debian Edu, to make
25422 sure only the user itself have the account password?&lt;/p&gt;
25423
25424 &lt;p&gt;If you want to comment on or help out with implementing this for
25425 Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
25426
25427 &lt;p&gt;Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
25428 shadow(8) page in Debian/testing now state that setting the date of
25429 last password change to zero (0) will force the password to be changed
25430 on the first login. This was not mentioned in the manual in Lenny, so
25431 I did not notice this in my initial testing. I have tested it on
25432 Squeeze, and &#39;&lt;tt&gt;chage -d 0 username&lt;/tt&gt;&#39; do work there. I have not
25433 tested it on Lenny yet.&lt;/p&gt;
25434
25435 &lt;p&gt;Update 2010-05-02-19:05: Jim Paris tells me via email that an
25436 equivalent command to expire a password is &#39;&lt;tt&gt;passwd -e
25437 username&lt;/tt&gt;&#39;, which insert zero into the date of the last password
25438 change.&lt;/p&gt;
25439 </description>
25440 </item>
25441
25442 <item>
25443 <title>Thoughts on roaming laptop setup for Debian Edu</title>
25444 <link>http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</link>
25445 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</guid>
25446 <pubDate>Wed, 28 Apr 2010 20:40:00 +0200</pubDate>
25447 <description>&lt;p&gt;For some years now, I have wondered how we should handle laptops in
25448 Debian Edu. The Debian Edu infrastructure is mostly designed to
25449 handle stationary computers, and less suited for computers that come
25450 and go.&lt;/p&gt;
25451
25452 &lt;p&gt;Now I finally believe I have an sensible idea on how to adjust
25453 Debian Edu for laptops, by introducing a new profile for them, for
25454 example called Roaming Workstations. Here are my thought on this.
25455 The setup would consist of the following:&lt;/p&gt;
25456
25457 &lt;ul&gt;
25458
25459 &lt;li&gt;During installation, the user name of the owner / primary user of
25460 the laptop is requested and a local home directory is set up for
25461 the user, with uid and gid information fetched from the LDAP
25462 server. This allow the user to work also when offline. The
25463 central home directory can be available in a subdirectory on
25464 request, for example mounted via CIFS. It could be mounted
25465 automatically when a user log in while on the Debian Edu network,
25466 and unmounted when the machine is taken away (network down,
25467 hibernate, etc), it can be set up to do automatic mounting on
25468 request (using autofs), or perhaps some GUI button on the desktop
25469 can be used to access it when needed. Perhaps it is enough to use
25470 the fish protocol in KDE?&lt;/li&gt;
25471
25472 &lt;li&gt;Password checking is set up to use LDAP or Kerberos
25473 authentication when the machine is on the Debian Edu network, and
25474 to cache the password for offline checking when the machine unable
25475 to reach the LDAP or Kerberos server. This can be done using
25476 &lt;a href=&quot;http://www.padl.com/OSS/pam_ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
25477 or the Fedora developed
25478 &lt;a href=&quot;https://fedoraproject.org/wiki/Features/SSSD&quot;&gt;System
25479 Security Services Daemon&lt;/a&gt; packages.&lt;/li&gt;
25480
25481 &lt;li&gt;File synchronisation with the central home directory is set up
25482 using a shared directory in both the local and the central home
25483 directory, using unison.&lt;/li&gt;
25484
25485 &lt;li&gt;Printing should be set up to print to all printers broadcasting
25486 their existence on the local network, and should then work out of
25487 the box with CUPS. For sites needing accurate printer quotas, some
25488 system with Kerberos authentication or printing via ssh could be
25489 implemented.&lt;/li&gt;
25490
25491 &lt;li&gt;For users that should have local root access to their laptop,
25492 sudo should be used to allow this to the local user.&lt;/li&gt;
25493
25494 &lt;li&gt;It would be nice if user and group information from LDAP is
25495 cached on the client, but given that there are entries for the
25496 local user and primary group in /etc/, it should not be needed.&lt;/li&gt;
25497
25498 &lt;/ul&gt;
25499
25500 &lt;p&gt;I believe all the pieces to implement this are in Debian/testing at
25501 the moment. If we work quickly, we should be able to get this ready
25502 in time for the Squeeze release to freeze. Some of the pieces need
25503 tweaking, like libpam-ccreds should get support for pam-auth-update
25504 (&lt;a href=&quot;http://bugs.debian.org/566718&quot;&gt;#566718&lt;/a&gt;) and nslcd (or
25505 perhaps debian-edu-config) should get some integration code to stop
25506 its daemon when the LDAP server is unavailable to avoid long timeouts
25507 when disconnected from the net. If we get Kerberos enabled, we need
25508 to make sure we avoid long timeouts there too.&lt;/p&gt;
25509
25510 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
25511 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
25512 </description>
25513 </item>
25514
25515 <item>
25516 <title>Great book: &quot;Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future&quot;</title>
25517 <link>http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</link>
25518 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</guid>
25519 <pubDate>Mon, 19 Apr 2010 17:10:00 +0200</pubDate>
25520 <description>&lt;p&gt;The last few weeks i have had the pleasure of reading a
25521 thought-provoking collection of essays by Cory Doctorow, on topics
25522 touching copyright, virtual worlds, the future of man when the
25523 conscience mind can be duplicated into a computer and many more. The
25524 book titled &quot;Content: Selected Essays on Technology, Creativity,
25525 Copyright, and the Future of the Future&quot; is available with few
25526 restrictions on the web, for example from
25527 &lt;a href=&quot;http://craphound.com/content/&quot;&gt;his own site&lt;/a&gt;. I read the
25528 epub-version from
25529 &lt;a href=&quot;http://www.feedbooks.com/book/2883&quot;&gt;feedbooks&lt;/a&gt; using
25530 &lt;a href=&quot;http://www.fbreader.org/&quot;&gt;fbreader&lt;/a&gt; and my N810. I
25531 strongly recommend this book.&lt;/p&gt;
25532 </description>
25533 </item>
25534
25535 <item>
25536 <title>Kerberos for Debian Edu/Squeeze?</title>
25537 <link>http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</link>
25538 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</guid>
25539 <pubDate>Wed, 14 Apr 2010 17:20:00 +0200</pubDate>
25540 <description>&lt;p&gt;&lt;a href=&quot;http://www.nuug.no/aktiviteter/20100413-kerberos/&quot;&gt;Yesterdays
25541 NUUG presentation&lt;/a&gt; about Kerberos was inspiring, and reminded me
25542 about the need to start using Kerberos in Skolelinux. Setting up a
25543 Kerberos server seem to be straight forward, and if we get this in
25544 place a long time before the Squeeze version of Debian freezes, we
25545 have a chance to migrate Skolelinux away from NFSv3 for the home
25546 directories, and over to an architecture where the infrastructure do
25547 not have to trust IP addresses and machines, and instead can trust
25548 users and cryptographic keys instead.&lt;/p&gt;
25549
25550 &lt;p&gt;A challenge will be integration and administration. Is there a
25551 Kerberos implementation for Debian where one can control the
25552 administration access in Kerberos using LDAP groups? With it, the
25553 school administration will have to maintain access control using flat
25554 files on the main server, which give a huge potential for errors.&lt;/p&gt;
25555
25556 &lt;p&gt;A related question I would like to know is how well Kerberos and
25557 pam-ccreds (offline password check) work together. Anyone know?&lt;/p&gt;
25558
25559 &lt;p&gt;Next step will be to use Kerberos for access control in Lwat and
25560 Nagios. I have no idea how much work that will be to implement. We
25561 would also need to document how to integrate with Windows AD, as such
25562 shared network will require two Kerberos realms that need to cooperate
25563 to work properly.&lt;/p&gt;
25564
25565 &lt;p&gt;I believe a good start would be to start using Kerberos on the
25566 skolelinux.no machines, and this way get ourselves experience with
25567 configuration and integration. A natural starting point would be
25568 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
25569 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
25570 time.&lt;/p&gt;
25571
25572 &lt;p&gt;If you would like to contribute to get this working in Skolelinux,
25573 I recommend you to see the video recording from yesterdays NUUG
25574 presentation, and start using Kerberos at home. The video show show
25575 up in a few days.&lt;/p&gt;
25576 </description>
25577 </item>
25578
25579 <item>
25580 <title>After 6 years of waiting, the Xreset.d feature is implemented</title>
25581 <link>http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</link>
25582 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</guid>
25583 <pubDate>Sat, 6 Mar 2010 18:15:00 +0100</pubDate>
25584 <description>&lt;p&gt;6 years ago, as part of the Debian Edu development I am involved
25585 in, I asked for a hook in the kdm and gdm setup to run scripts as root
25586 when the user log out. A bug was submitted against the xfree86-common
25587 package in 2004 (&lt;a href=&quot;http://bugs.debian.org/230422&quot;&gt;#230422&lt;/a&gt;),
25588 and revisited every time Debian Edu was working on a new release.
25589 Today, this finally paid off.&lt;/p&gt;
25590
25591 &lt;p&gt;The framework for this feature was today commited to the git
25592 repositry for the xorg package, and the git repository for xdm has
25593 been updated to use this framework. Next on my agenda is to make sure
25594 kdm and gdm also add code to use this framework.&lt;/p&gt;
25595
25596 &lt;p&gt;In Debian Edu, we want to ability to run commands as root when the
25597 user log out, to get rid of runaway processes and do general cleanup
25598 after a user. With this framework in place, we finally can do that in
25599 a generic way that work with all display managers using this
25600 framework. My goal is to get all display managers in Debian use it,
25601 similar to how they use the Xsession.d framework today.&lt;p&gt;
25602 </description>
25603 </item>
25604
25605 <item>
25606 <title>Debian Edu / Skolelinux based on Lenny released, work continues</title>
25607 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</link>
25608 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</guid>
25609 <pubDate>Thu, 11 Feb 2010 17:15:00 +0100</pubDate>
25610 <description>&lt;p&gt;On Tuesday, the Debian/Lenny based version of
25611 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; was finally
25612 shipped. This was a major leap forward for the project, and I am very
25613 pleased that we finally got the release wrapped up. Work on the first
25614 point release starts imediately, as we plan to get that one out a
25615 month after the major release, to include all fixes for bugs we found
25616 and fixed too late in the release process to include last Tuesday.&lt;/p&gt;
25617
25618 &lt;p&gt;Perhaps it even is time for some partying?&lt;/p&gt;
25619
25620 &lt;p&gt;After this first point release, my plan is to focus again on the
25621 next major release, based on Squeeze. We will try to get as many of
25622 the fixes we need into the official Debian packages before the freeze,
25623 and have just a few weeks or months to make it happen.&lt;/p&gt;
25624 </description>
25625 </item>
25626
25627 <item>
25628 <title>Automatic Munin and Nagios configuration</title>
25629 <link>http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</link>
25630 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</guid>
25631 <pubDate>Wed, 27 Jan 2010 15:15:00 +0100</pubDate>
25632 <description>&lt;p&gt;One of the new features in the next Debian/Lenny based release of
25633 Debian Edu/Skolelinux, which is scheduled for release in the next few
25634 days, is automatic configuration of the service monitoring system
25635 Nagios. The previous release had automatic configuration of trend
25636 analysis using Munin, and this Lenny based release take that a step
25637 further.&lt;/p&gt;
25638
25639 &lt;p&gt;When installing a Debian Edu Main-server, it is automatically
25640 configured as a Munin and Nagios server. In addition, it is
25641 configured to be a server for the
25642 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;SiteSummary
25643 system&lt;/a&gt; I have written for use in Debian Edu. The SiteSummary
25644 system is inspired by a system used by the University of Oslo where I
25645 work. In short, the system provide a centralised collector of
25646 information about the computers on the network, and a client on each
25647 computer submitting information to this collector. This allow for
25648 automatic information on which packages are installed on each machine,
25649 which kernel the machines are using, what kind of configuration the
25650 packages got etc. This also allow us to automatically generate Munin
25651 and Nagios configuration.&lt;/p&gt;
25652
25653 &lt;p&gt;All computers reporting to the sitesummary collector with the
25654 munin-node package installed is automatically enabled as a Munin
25655 client and graphs from the statistics collected from that machine show
25656 up automatically on http://www/munin/ on the Main-server.&lt;/p&gt;
25657
25658 &lt;p&gt;All non-laptop computers reporting to the sitesummary collector are
25659 automatically monitored for network presence (ping and any network
25660 services detected). In addition, all computers (also laptops) with
25661 the nagios-nrpe-server package installed and configured the way
25662 sitesummary would configure it, are monitored for full disks, software
25663 raid status, swap free and other checks that need to run locally on
25664 the machine.&lt;/p&gt;
25665
25666 &lt;p&gt;The result is that the administrator on a school using Debian Edu
25667 based on Lenny will be able to check the health of his installation
25668 with one look at the Nagios settings, without having to spend any time
25669 keeping the Nagios configuration up-to-date.&lt;/p&gt;
25670
25671 &lt;p&gt;The only configuration one need to do to get Nagios up and running
25672 is to set the password used to get access via HTTP. The system
25673 administrator need to run &quot;&lt;tt&gt;htpasswd /etc/nagios3/htpasswd.users
25674 nagiosadmin&lt;/tt&gt;&quot; to create a nagiosadmin user and set a password for
25675 it to be able to log into the Nagios web pages. After that,
25676 everything is taken care of.&lt;/p&gt;
25677 </description>
25678 </item>
25679
25680 <item>
25681 <title>Relative popularity of document formats (MS Office vs. ODF)</title>
25682 <link>http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</link>
25683 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</guid>
25684 <pubDate>Wed, 12 Aug 2009 15:50:00 +0200</pubDate>
25685 <description>&lt;p&gt;Just for fun, I did a search right now on Google for a few file ODF
25686 and MS Office based formats (not to be mistaken for ISO or ECMA
25687 OOXML), to get an idea of their relative usage. I searched using
25688 &#39;filetype:odt&#39; and equvalent terms, and got these results:&lt;/P&gt;
25689
25690 &lt;table&gt;
25691 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
25692 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:282000&lt;/td&gt; &lt;td&gt;docx:308000&lt;/td&gt;&lt;/tr&gt;
25693 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:75600&lt;/td&gt; &lt;td&gt;pptx:183000&lt;/td&gt;&lt;/tr&gt;
25694 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:26500 &lt;/td&gt; &lt;td&gt;xlsx:145000&lt;/td&gt;&lt;/tr&gt;
25695 &lt;/table&gt;
25696
25697 &lt;p&gt;Next, I added a &#39;site:no&#39; limit to get the numbers for Norway, and
25698 got these numbers:&lt;/p&gt;
25699
25700 &lt;table&gt;
25701 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
25702 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:2480 &lt;/td&gt; &lt;td&gt;docx:4460&lt;/td&gt;&lt;/tr&gt;
25703 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:299 &lt;/td&gt; &lt;td&gt;pptx:741&lt;/td&gt;&lt;/tr&gt;
25704 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:187 &lt;/td&gt; &lt;td&gt;xlsx:372&lt;/td&gt;&lt;/tr&gt;
25705 &lt;/table&gt;
25706
25707 &lt;p&gt;I wonder how these numbers change over time.&lt;/p&gt;
25708
25709 &lt;p&gt;I am aware of Google returning different results and numbers based
25710 on where the search is done, so I guess these numbers will differ if
25711 they are conduced in another country. Because of this, I did the same
25712 search from a machine in California, USA, a few minutes after the
25713 search done from a machine here in Norway.&lt;/p&gt;
25714
25715
25716 &lt;table&gt;
25717 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
25718 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:129000&lt;/td&gt; &lt;td&gt;docx:308000&lt;/td&gt;&lt;/tr&gt;
25719 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:44200&lt;/td&gt; &lt;td&gt;pptx:93900&lt;/td&gt;&lt;/tr&gt;
25720 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:26500 &lt;/td&gt; &lt;td&gt;xlsx:82400&lt;/td&gt;&lt;/tr&gt;
25721 &lt;/table&gt;
25722
25723 &lt;p&gt;And with &#39;site:no&#39;:
25724
25725 &lt;table&gt;
25726 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
25727 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:2480&lt;/td&gt; &lt;td&gt;docx:3410&lt;/td&gt;&lt;/tr&gt;
25728 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:175&lt;/td&gt; &lt;td&gt;pptx:604&lt;/td&gt;&lt;/tr&gt;
25729 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:186 &lt;/td&gt; &lt;td&gt;xlsx:296&lt;/td&gt;&lt;/tr&gt;
25730 &lt;/table&gt;
25731
25732 &lt;p&gt;Interesting difference, not sure what to conclude from these
25733 numbers.&lt;/p&gt;
25734 </description>
25735 </item>
25736
25737 <item>
25738 <title>ISO still hope to fix OOXML</title>
25739 <link>http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</link>
25740 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</guid>
25741 <pubDate>Sat, 8 Aug 2009 14:00:00 +0200</pubDate>
25742 <description>&lt;p&gt;According to &lt;a
25743 href=&quot;http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html&quot;&gt;a
25744 blog post from Torsten Werner&lt;/a&gt;, the current defect report for ISO
25745 29500 (ISO OOXML) is 809 pages. His interesting point is that the
25746 defect report is 71 pages more than the full ODF 1.1 specification.
25747 Personally I find it more interesting that ISO still believe ISO OOXML
25748 can be fixed in ISO. Personally, I believe it is broken beyon repair,
25749 and I completely lack any trust in ISO for being able to get anywhere
25750 close to solving the problems. I was part of the Norwegian committee
25751 involved in the OOXML fast track process, and was not impressed with
25752 Standard Norway and ISO in how they handled it.&lt;/p&gt;
25753
25754 &lt;p&gt;These days I focus on ODF instead, which seem like a specification
25755 with the future ahead of it. We are working in NUUG to organise a ODF
25756 seminar this autumn.&lt;/p&gt;
25757 </description>
25758 </item>
25759
25760 <item>
25761 <title>Debian has switched to dependency based boot sequencing</title>
25762 <link>http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</link>
25763 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</guid>
25764 <pubDate>Mon, 27 Jul 2009 23:50:00 +0200</pubDate>
25765 <description>&lt;p&gt;Since this evening, with the upload of sysvinit version 2.87dsf-2,
25766 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
25767 have been migrated to using dependency based boot sequencing. This
25768 conclude work me and others have been doing for the last three days.
25769 It feels great to see this finally part of the default Debian
25770 installation. Now we just need to weed out the last few problems that
25771 are bound to show up, to get everything ready for Squeeze.&lt;/p&gt;
25772
25773 &lt;p&gt;The next step is migrating /sbin/init from sysvinit to upstart, and
25774 fixing the more fundamental problem of handing the event based
25775 non-predictable kernel in the early boot.&lt;/p&gt;
25776 </description>
25777 </item>
25778
25779 <item>
25780 <title>Taking over sysvinit development</title>
25781 <link>http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</link>
25782 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</guid>
25783 <pubDate>Wed, 22 Jul 2009 23:00:00 +0200</pubDate>
25784 <description>&lt;p&gt;After several years of frustration with the lack of activity from
25785 the existing sysvinit upstream developer, I decided a few weeks ago to
25786 take over the package and become the new upstream. The number of
25787 patches to track for the Debian package was becoming a burden, and the
25788 lack of synchronization between the distribution made it hard to keep
25789 the package up to date.&lt;/p&gt;
25790
25791 &lt;p&gt;On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
25792 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
25793 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
25794 and Fedora), based on the patches currently in use in these
25795 distributions. We Debian maintainers plan to move to this tarball as
25796 the new upstream as soon as we find time to do the merge. Since the
25797 new tarball was created, we agreed with Werner at SuSe to make a new
25798 upstream project at &lt;a href=&quot;http://savannah.nongnu.org/&quot;&gt;Savannah&lt;/a&gt;, and continue
25799 development there. The project is registered and currently waiting
25800 for approval by the Savannah administrators, and as soon as it is
25801 approved, we will import the old versions from svn and continue
25802 working on the future release.&lt;/p&gt;
25803
25804 &lt;p&gt;It is a bit ironic that this is done now, when some of the involved
25805 distributions are moving to upstart as a syvinit replacement.&lt;/p&gt;
25806 </description>
25807 </item>
25808
25809 <item>
25810 <title>Debian boots quicker and quicker</title>
25811 <link>http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</link>
25812 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</guid>
25813 <pubDate>Wed, 24 Jun 2009 21:40:00 +0200</pubDate>
25814 <description>&lt;p&gt;I spent Monday and tuesday this week in London with a lot of the
25815 people involved in the boot system on Debian and Ubuntu, to see if we
25816 could find more ways to speed up the boot system. This was an Ubuntu
25817 funded
25818 &lt;a href=&quot;https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint&quot;&gt;developer
25819 gathering&lt;/a&gt;. It was quite productive. We also discussed the future
25820 of boot systems, and ways to handle the increasing number of boot
25821 issues introduced by the Linux kernel becoming more and more
25822 asynchronous and event base. The Ubuntu approach using udev and
25823 upstart might be a good way forward. Time will show.&lt;/p&gt;
25824
25825 &lt;p&gt;Anyway, there are a few ways at the moment to speed up the boot
25826 process in Debian. All of these should be applied to get a quick
25827 boot:&lt;/p&gt;
25828
25829 &lt;ul&gt;
25830
25831 &lt;li&gt;Use dash as /bin/sh.&lt;/li&gt;
25832
25833 &lt;li&gt;Disable the init.d/hwclock*.sh scripts and make sure the hardware
25834 clock is in UTC.&lt;/li&gt;
25835
25836 &lt;li&gt;Install and activate the insserv package to enable
25837 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
25838 based boot sequencing&lt;/a&gt;, and enable concurrent booting.&lt;/li&gt;
25839
25840 &lt;/ul&gt;
25841
25842 These points are based on the Google summer of code work done by
25843 &lt;a href=&quot;http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/&quot;&gt;Carlos
25844 Villegas&lt;/a&gt;.
25845
25846 &lt;p&gt;Support for makefile-style concurrency during boot was uploaded to
25847 unstable yesterday. When we tested it, we were able to cut 6 seconds
25848 from the boot sequence. It depend on very correct dependency
25849 declaration in all init.d scripts, so I expect us to find edge cases
25850 where the dependences in some scripts are slightly wrong when we start
25851 using this.&lt;/p&gt;
25852
25853 &lt;p&gt;On our IRC channel for this effort, #pkg-sysvinit, a new idea was
25854 introduced by Raphael Geissert today, one that could affect the
25855 startup speed as well. Instead of starting some scripts concurrently
25856 from rcS.d/ and another set of scripts from rc2.d/, it would be
25857 possible to run a of them in the same process. A quick way to test
25858 this would be to enable insserv and run &#39;mv /etc/rc2.d/S* /etc/rcS.d/;
25859 insserv&#39;. Will need to test if that work. :)&lt;/p&gt;
25860 </description>
25861 </item>
25862
25863 <item>
25864 <title>Two projects that have improved the quality of free software a lot</title>
25865 <link>http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
25866 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
25867 <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
25868 <description>&lt;p&gt;There are two software projects that have had huge influence on the
25869 quality of free software, and I wanted to mention both in case someone
25870 do not yet know them.&lt;/p&gt;
25871
25872 &lt;p&gt;The first one is &lt;a href=&quot;http://valgrind.org/&quot;&gt;valgrind&lt;/a&gt;, a
25873 tool to detect and expose errors in the memory handling of programs.
25874 It is easy to use, all one need to do is to run &#39;valgrind program&#39;,
25875 and it will report any problems on stdout. It is even better if the
25876 program include debug information. With debug information, it is able
25877 to report the source file name and line number where the problem
25878 occurs. It can report things like &#39;reading past memory block in file
25879 X line N, the memory block was allocated in file Y, line M&#39;, and
25880 &#39;using uninitialised value in control logic&#39;. This tool has made it
25881 trivial to investigate reproducible crash bugs in programs, and have
25882 reduced the number of this kind of bugs in free software a lot.
25883
25884 &lt;p&gt;The second one is
25885 &lt;a href=&quot;http://en.wikipedia.org/wiki/Coverity&quot;&gt;Coverity&lt;/a&gt; which is
25886 a source code checker. It is able to process the source of a program
25887 and find problems in the logic without running the program. It
25888 started out as the Stanford Checker and became well known when it was
25889 used to find bugs in the Linux kernel. It is now a commercial tool
25890 and the company behind it is running
25891 &lt;a href=&quot;http://www.scan.coverity.com/&quot;&gt;a community service&lt;/a&gt; for the
25892 free software community, where a lot of free software projects get
25893 their source checked for free. Several thousand defects have been
25894 found and fixed so far. It can find errors like &#39;lock L taken in file
25895 X line N is never released if exiting in line M&#39;, or &#39;the code in file
25896 Y lines O to P can never be executed&#39;. The projects included in the
25897 community service project have managed to get rid of a lot of
25898 reliability problems thanks to Coverity.&lt;/p&gt;
25899
25900 &lt;p&gt;I believe tools like this, that are able to automatically find
25901 errors in the source, are vital to improve the quality of software and
25902 make sure we can get rid of the crashing and failing software we are
25903 surrounded by today.&lt;/p&gt;
25904 </description>
25905 </item>
25906
25907 <item>
25908 <title>No patch is not better than a useless patch</title>
25909 <link>http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</link>
25910 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</guid>
25911 <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
25912 <description>&lt;p&gt;Julien Blache
25913 &lt;a href=&quot;http://blog.technologeek.org/2009/04/12/214&quot;&gt;claim that no
25914 patch is better than a useless patch&lt;/a&gt;. I completely disagree, as a
25915 patch allow one to discuss a concrete and proposed solution, and also
25916 prove that the issue at hand is important enough for someone to spent
25917 time on fixing it. No patch do not provide any of these positive
25918 properties.&lt;/p&gt;
25919 </description>
25920 </item>
25921
25922 <item>
25923 <title>Recording video from cron using VLC</title>
25924 <link>http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</link>
25925 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</guid>
25926 <pubDate>Sun, 5 Apr 2009 10:00:00 +0200</pubDate>
25927 <description>&lt;p&gt;One think I have wanted to figure out for a along time is how to
25928 run vlc from cron to do recording of video streams on the net. The
25929 task is trivial with mplayer, but I do not really trust the security
25930 of mplayer (it crashes too often on strange input), and thus prefer
25931 vlc. I finally found a way to do it today. I spent an hour or so
25932 searching the web for recipes and reading the documentation. The
25933 hardest part was to get rid of the GUI window, but after finding the
25934 dummy interface, the command line finally presented itself:&lt;/p&gt;
25935
25936 &lt;blockquote&gt;&lt;pre&gt;URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
25937 SAVEFILE=rms.ogg
25938 DISPLAY= vlc -q $URL \
25939 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
25940 --intf=dummy&lt;/pre&gt;&lt;/blockquote&gt;
25941
25942 &lt;p&gt;The command stream the URL and store it in the SAVEFILE by
25943 duplicating the output stream to &quot;nodisplay&quot; and the file, using the
25944 dummy interface. The dummy interface and the nodisplay output make
25945 sure no X interface is needed.&lt;/p&gt;
25946
25947 &lt;p&gt;The cron job then need to start this job with the appropriate URL
25948 and file name to save, sleep for the duration wanted, and then kill
25949 the vlc process with SIGTERM. Here is a complete script
25950 &lt;tt&gt;vlc-record&lt;/tt&gt; to use from &lt;tt&gt;at&lt;/tt&gt; or &lt;tt&gt;cron&lt;/tt&gt;:&lt;/p&gt;
25951
25952 &lt;blockquote&gt;&lt;pre&gt;#!/bin/sh
25953 set -e
25954 URL=&quot;$1&quot;
25955 SAVEFILE=&quot;$2&quot;
25956 DURATION=&quot;$3&quot;
25957 DISPLAY= vlc -q &quot;$URL&quot; \
25958 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
25959 --intf=dummy &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 &amp;
25960 pid=$!
25961 sleep $DURATION
25962 kill $pid
25963 wait $pid&lt;/pre&gt;&lt;/blockquote&gt;
25964 </description>
25965 </item>
25966
25967 <item>
25968 <title>Standardize on protocols and formats, not vendors and applications</title>
25969 <link>http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</link>
25970 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</guid>
25971 <pubDate>Mon, 30 Mar 2009 11:50:00 +0200</pubDate>
25972 <description>&lt;p&gt;Where I work at the University of Oslo, one decision stand out as a
25973 very good one to form a long lived computer infrastructure. It is the
25974 simple one, lost by many in todays computer industry: Standardize on
25975 open network protocols and open exchange/storage formats, not applications.
25976 Applications come and go, while protocols and files tend to stay, and
25977 thus one want to make it easy to change application and vendor, while
25978 avoiding conversion costs and locking users to a specific platform or
25979 application.&lt;/p&gt;
25980
25981 &lt;p&gt;This approach make it possible to replace the client applications
25982 independently of the server applications. One can even allow users to
25983 use several different applications as long as they handle the selected
25984 protocol and format. In the normal case, only one client application
25985 is recommended and users only get help if they choose to use this
25986 application, but those that want to deviate from the easy path are not
25987 blocked from doing so.&lt;/p&gt;
25988
25989 &lt;p&gt;It also allow us to replace the server side without forcing the
25990 users to replace their applications, and thus allow us to select the
25991 best server implementation at any moment, when scale and resouce
25992 requirements change.&lt;/p&gt;
25993
25994 &lt;p&gt;I strongly recommend standardizing - on open network protocols and
25995 open formats, but I would never recommend standardizing on a single
25996 application that do not use open network protocol or open formats.&lt;/p&gt;
25997 </description>
25998 </item>
25999
26000 <item>
26001 <title>Returning from Skolelinux developer gathering</title>
26002 <link>http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</link>
26003 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</guid>
26004 <pubDate>Sun, 29 Mar 2009 21:00:00 +0200</pubDate>
26005 <description>&lt;p&gt;I&#39;m sitting on the train going home from this weekends Debian
26006 Edu/Skolelinux development gathering. I got a bit done tuning the
26007 desktop, and looked into the dynamic service location protocol
26008 implementation avahi. It look like it could be useful for us. Almost
26009 30 people participated, and I believe it was a great environment to
26010 get to know the Skolelinux system. Walter Bender, involved in the
26011 development of the Sugar educational platform, presented his stuff and
26012 also helped me improve my OLPC installation. He also showed me that
26013 his Turtle Art application can be used in standalone mode, and we
26014 agreed that I would help getting it packaged for Debian. As a
26015 standalone application it would be great for Debian Edu. We also
26016 tried to get the video conferencing working with two OLPCs, but that
26017 proved to be too hard for us. The application seem to need more work
26018 before it is ready for me. I look forward to getting home and relax
26019 now. :)&lt;/p&gt;
26020 </description>
26021 </item>
26022
26023 <item>
26024 <title>Time for new LDAP schemas replacing RFC 2307?</title>
26025 <link>http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</link>
26026 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</guid>
26027 <pubDate>Sun, 29 Mar 2009 20:30:00 +0200</pubDate>
26028 <description>&lt;p&gt;The state of standardized LDAP schemas on Linux is far from
26029 optimal. There is RFC 2307 documenting one way to store NIS maps in
26030 LDAP, and a modified version of this normally called RFC 2307bis, with
26031 some modifications to be compatible with Active Directory. The RFC
26032 specification handle the content of a lot of system databases, but do
26033 not handle DNS zones and DHCP configuration.&lt;/p&gt;
26034
26035 &lt;p&gt;In &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux&lt;/a&gt;,
26036 we would like to store information about users, SMB clients/hosts,
26037 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
26038 and LTSP configuration in LDAP. These objects have a lot in common,
26039 but with the current LDAP schemas it is not possible to have one
26040 object per entity. For example, one need to have at least three LDAP
26041 objects for a given computer, one with the SMB related stuff, one with
26042 DNS information and another with DHCP information. The schemas
26043 provided for DNS and DHCP are impossible to combine into one LDAP
26044 object. In addition, it is impossible to implement quick queries for
26045 netgroup membership, because of the way NIS triples are implemented.
26046 It just do not scale. I believe it is time for a few RFC
26047 specifications to cleam up this mess.&lt;/p&gt;
26048
26049 &lt;p&gt;I would like to have one LDAP object representing each computer in
26050 the network, and this object can then keep the SMB (ie host key), DHCP
26051 (mac address/name) and DNS (name/IP address) settings in one place.
26052 It need to be efficently stored to make sure it scale well.&lt;/p&gt;
26053
26054 &lt;p&gt;I would also like to have a quick way to map from a user or
26055 computer and to the net group this user or computer is a member.&lt;/p&gt;
26056
26057 &lt;p&gt;Active Directory have done a better job than unix heads like myself
26058 in this regard, and the unix side need to catch up. Time to start a
26059 new IETF work group?&lt;/p&gt;
26060 </description>
26061 </item>
26062
26063 <item>
26064 <title>Checking server hardware support status for Dell, HP and IBM servers</title>
26065 <link>http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
26066 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
26067 <pubDate>Sat, 28 Feb 2009 23:50:00 +0100</pubDate>
26068 <description>&lt;p&gt;At work, we have a few hundred Linux servers, and with that amount
26069 of hardware it is important to keep track of when the hardware support
26070 contract expire for each server. We have a machine (and service)
26071 register, which until recently did not contain much useful besides the
26072 machine room location and contact information for the system owner for
26073 each machine. To make it easier for us to track support contract
26074 status, I&#39;ve recently spent time on extending the machine register to
26075 include information about when the support contract expire, and to tag
26076 machines with expired contracts to make it easy to get a list of such
26077 machines. I extended a perl script already being used to import
26078 information about machines into the register, to also do some screen
26079 scraping off the sites of Dell, HP and IBM (our majority of machines
26080 are from these vendors), and automatically check the support status
26081 for the relevant machines. This make the support status information
26082 easily available and I hope it will make it easier for the computer
26083 owner to know when to get new hardware or renew the support contract.
26084 The result of this work documented that 27% of the machines in the
26085 registry is without a support contract, and made it very easy to find
26086 them. 27% might seem like a lot, but I see it more as the case of us
26087 using machines a bit longer than the 3 years a normal support contract
26088 last, to have test machines and a platform for less important
26089 services. After all, the machines without a contract are working fine
26090 at the moment and the lack of contract is only a problem if any of
26091 them break down. When that happen, we can either fix it using spare
26092 parts from other machines or move the service to another old
26093 machine.&lt;/p&gt;
26094
26095 &lt;p&gt;I believe the code for screen scraping the Dell site was originally
26096 written by Trond Hasle Amundsen, and later adjusted by me and Morten
26097 Werner Forsbring. The HP scraping was written by me after reading a
26098 nice article in ;login: about how to use WWW::Mechanize, and the IBM
26099 scraping was written by me based on the Dell code. I know the HTML
26100 parsing could be done using nice libraries, but did not want to
26101 introduce more dependencies. This is the current incarnation:&lt;/p&gt;
26102
26103 &lt;pre&gt;
26104 use LWP::Simple;
26105 use POSIX;
26106 use WWW::Mechanize;
26107 use Date::Parse;
26108 [...]
26109 sub get_support_info {
26110 my ($machine, $model, $serial, $productnumber) = @_;
26111 my $str;
26112
26113 if ( $model =~ m/^Dell / ) {
26114 # fetch website from Dell support
26115 my $url = &quot;http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;amp;cs=nodhs1&amp;amp;l=no&amp;amp;s=dhs&amp;amp;ServiceTag=$serial&quot;;
26116 my $webpage = get($url);
26117 return undef unless ($webpage);
26118
26119 my $daysleft = -1;
26120 my @lines = split(/\n/, $webpage);
26121 foreach my $line (@lines) {
26122 next unless ($line =~ m/Beskrivelse/);
26123 $line =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
26124 $line =~ s/^.+?;(Beskrivelse;)/$1/;
26125
26126 my @f = split(/\;/, $line);
26127 @f = @f[13 .. $#f];
26128 my $lastend = &quot;&quot;;
26129 while ($f[3] eq &quot;DELL&quot;) {
26130 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
26131
26132 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
26133 localtime(str2time($startstr)));
26134 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
26135 localtime(str2time($endstr)));
26136 $str .= &quot;$type $start -&gt; $end &quot;;
26137 @f = @f[14 .. $#f];
26138 $lastend = $end if ($end gt $lastend);
26139 }
26140 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
26141 tag_machine_unsupported($machine)
26142 if ($lastend lt $today);
26143 }
26144 } elsif ( $model =~ m/^HP / ) {
26145 my $mech = WWW::Mechanize-&gt;new();
26146 my $url =
26147 &#39;http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do&#39;;
26148 $mech-&gt;get($url);
26149 my $fields = {
26150 &#39;BODServiceID&#39; =&gt; &#39;NA&#39;,
26151 &#39;RegisteredPurchaseDate&#39; =&gt; &#39;&#39;,
26152 &#39;country&#39; =&gt; &#39;NO&#39;,
26153 &#39;productNumber&#39; =&gt; $productnumber,
26154 &#39;serialNumber1&#39; =&gt; $serial,
26155 };
26156 $mech-&gt;submit_form( form_number =&gt; 2,
26157 fields =&gt; $fields );
26158 # Next step is screen scraping
26159 my $content = $mech-&gt;content();
26160
26161 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
26162 $content =~ s/\s+/ /gm;
26163 $content =~ s/;\s*;/;;/gm;
26164 $content =~ s/;[\s;]+/;/gm;
26165
26166 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
26167
26168 while ($content =~ m/;Warranty Type;/) {
26169 my ($type, $status, $startstr, $stopstr) = $content =~
26170 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
26171 $content =~ s/^.+?;Warranty Type;//;
26172 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
26173 localtime(str2time($startstr)));
26174 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
26175 localtime(str2time($stopstr)));
26176
26177 $str .= &quot;$type ($status) $start -&gt; $end &quot;;
26178
26179 tag_machine_unsupported($machine)
26180 if ($end lt $today);
26181 }
26182 } elsif ( $model =~ m/^IBM / ) {
26183 # This code ignore extended support contracts.
26184 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
26185 if ($producttype &amp;amp;&amp;amp; $serial) {
26186 my $content =
26187 get(&quot;http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;amp;brandind=5000008&amp;amp;Submit=Submit&amp;amp;type=$producttype&amp;amp;serial=$serial&quot;);
26188 if ($content) {
26189 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
26190 $content =~ s/\s+/ /gm;
26191 $content =~ s/;\s*;/;;/gm;
26192 $content =~ s/;[\s;]+/;/gm;
26193
26194 $content =~ s/^.+?;Warranty status;//;
26195 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
26196
26197 $str .= &quot;($status) -&gt; $end &quot;;
26198
26199 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
26200 tag_machine_unsupported($machine)
26201 if ($end lt $today);
26202 }
26203 }
26204 }
26205 return $str;
26206 }
26207 &lt;/pre&gt;
26208
26209 &lt;p&gt;Here are some examples on how to use the function, using fake
26210 serial numbers. The information passed in as arguments are fetched
26211 from dmidecode.&lt;/p&gt;
26212
26213 &lt;pre&gt;
26214 print get_support_info(&quot;hp.host&quot;, &quot;HP ProLiant BL460c G1&quot;, &quot;1234567890&quot;
26215 &quot;447707-B21&quot;);
26216 print get_support_info(&quot;dell.host&quot;, &quot;Dell Inc. PowerEdge 2950&quot;, &quot;1234567&quot;);
26217 print get_support_info(&quot;ibm.host&quot;, &quot;IBM eserver xSeries 345 -[867061X]-&quot;,
26218 &quot;1234567&quot;);
26219 &lt;/pre&gt;
26220
26221 &lt;p&gt;I would recommend this approach for tracking support contracts for
26222 everyone with more than a few computers to administer. :)&lt;/p&gt;
26223
26224 &lt;p&gt;Update 2009-03-06: The IBM page do not include extended support
26225 contracts, so it is useless in that case. The original Dell code do
26226 not handle extended support contracts either, but has been updated to
26227 do so.&lt;/p&gt;
26228 </description>
26229 </item>
26230
26231 <item>
26232 <title>Using bar codes at a computing center</title>
26233 <link>http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</link>
26234 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</guid>
26235 <pubDate>Fri, 20 Feb 2009 08:50:00 +0100</pubDate>
26236 <description>&lt;p&gt;At work with the University of Oslo, we have several hundred computers
26237 in our computing center. This give us a challenge in tracking the
26238 location and cabling of the computers, when they are added, moved and
26239 removed. Some times the location register is not updated when a
26240 computer is inserted or moved and we then have to search the room for
26241 the &quot;missing&quot; computer.&lt;/p&gt;
26242
26243 &lt;p&gt;In the last issue of Linux Journal, I came across a project
26244 &lt;a href=&quot;http://www.libdmtx.org/&quot;&gt;libdmtx&lt;/a&gt; to write and read bar
26245 code blocks as defined in the
26246 &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Matrix&quot;&gt;The Data Matrix
26247 Standard&lt;/a&gt;. This is bar codes that can be read with a normal
26248 digital camera, for example that on a cell phone, and several such bar
26249 codes can be read by libdmtx from one picture. The bar code standard
26250 allow up to 2 KiB to be written in the tag. There is another project
26251 with &lt;a href=&quot;http://www.terryburton.co.uk/barcodewriter/&quot;&gt;a bar code
26252 writer written in postscript&lt;/a&gt; capable of creating such bar codes,
26253 but this was the first time I found a tool to read these bar
26254 codes.&lt;/p&gt;
26255
26256 &lt;p&gt;It occurred to me that this could be used to tag and track the
26257 machines in our computing center. If both racks and computers are
26258 tagged this way, we can use a picture of the rack and all its
26259 computers to detect the rack location of any computer in that rack.
26260 If we do this regularly for the entire room, we will find all
26261 locations, and can detect movements and removals.&lt;/p&gt;
26262
26263 &lt;p&gt;I decided to test if this would work in practice, and picked a
26264 random rack and tagged all the machines with their names. Next, I
26265 took pictures with my digital camera, and gave the dmtxread program
26266 these JPEG pictures to see how many tags it could read. This worked
26267 fairly well. If the pictures was well focused and not taken from the
26268 side, all tags in the image could be read. Because of limited space
26269 between the racks, I was unable to get a good picture of the entire
26270 rack, but could without problem read all tags from a picture covering
26271 about half the rack. I had to limit the search time used by dmtxread
26272 to 60000 ms to make sure it terminated in a reasonable time frame.&lt;/p&gt;
26273
26274 &lt;p&gt;My conclusion is that this could work, and we should probably look
26275 at adjusting our computer tagging procedures to use bar codes for
26276 easier automatic tracking of computers.&lt;/p&gt;
26277 </description>
26278 </item>
26279
26280 <item>
26281 <title>When web browser developers make a video player...</title>
26282 <link>http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</link>
26283 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</guid>
26284 <pubDate>Sat, 17 Jan 2009 18:50:00 +0100</pubDate>
26285 <description>&lt;p&gt;As part of the work we do in &lt;a href=&quot;http://www.nuug.no&quot;&gt;NUUG&lt;/a&gt;
26286 to publish video recordings of our monthly presentations, we provide a
26287 page with embedded video for easy access to the recording. Putting a
26288 good set of HTML tags together to get working embedded video in all
26289 browsers and across all operating systems is not easy. I hope this
26290 will become easier when the &amp;lt;video&amp;gt; tag is implemented in all
26291 browsers, but I am not sure. We provide the recordings in several
26292 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
26293 browser/media plugin to pick one it support and use it to play the
26294 recording, using whatever embed mechanism the browser understand.
26295 There is at least four different tags to use for this, the new HTML5
26296 &amp;lt;video&amp;gt; tag, the &amp;lt;object&amp;gt; tag, the &amp;lt;embed&amp;gt; tag and
26297 the &amp;lt;applet&amp;gt; tag. All of these take a lot of options, and
26298 finding the best options is a major challenge.&lt;/p&gt;
26299
26300 &lt;p&gt;I just tested the experimental Opera browser available from &lt;a
26301 href=&quot;http://labs.opera.com&quot;&gt;labs.opera.com&lt;/a&gt;, to see how it handled
26302 a &amp;lt;video&amp;gt; tag with a few video sources and no extra attributes.
26303 I was not very impressed. The browser start by fetching a picture
26304 from the video stream. Not sure if it is the first frame, but it is
26305 definitely very early in the recording. So far, so good. Next,
26306 instead of streaming the 76 MiB video file, it start to download all
26307 of it, but do not start to play the video. This mean I have to wait
26308 for several minutes for the downloading to finish. When the download
26309 is done, the playing of the video do not start! Waiting for the
26310 download, but I do not get to see the video? Some testing later, I
26311 discover that I have to add the controls=&quot;true&quot; attribute to be able
26312 to get a play button to pres to start the video. Adding
26313 autoplay=&quot;true&quot; did not help. I sure hope this is a misfeature of the
26314 test version of Opera, and that future implementations of the
26315 &amp;lt;video&amp;gt; tag will stream recordings by default, or at least start
26316 playing when the download is done.&lt;/p&gt;
26317
26318 &lt;p&gt;The test page I used (since changed to add more attributes) is
26319 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/&quot;&gt;available
26320 from the nuug site&lt;/a&gt;. Will have to test it with the new Firefox
26321 too.&lt;/p&gt;
26322
26323 &lt;p&gt;In the test process, I discovered a missing feature. I was unable
26324 to find a way to get the URL of the playing video out of Opera, so I
26325 am not quite sure it picked the Ogg Theora version of the video. I
26326 sure hope it was using the announced Ogg Theora support. :)&lt;/p&gt;
26327 </description>
26328 </item>
26329
26330 <item>
26331 <title>Software video mixer on a USB stick</title>
26332 <link>http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</link>
26333 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</guid>
26334 <pubDate>Sun, 28 Dec 2008 15:40:00 +0100</pubDate>
26335 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; is
26336 recording our montly presentation on video, and recently we have
26337 worked on improving the quality of the recordings by mixing the slides
26338 directly with the video stream. For this, we use the
26339 &lt;a href=&quot;http://dvswitch.alioth.debian.org/&quot;&gt;dvswitch&lt;/a&gt; package from
26340 the Debian video team. As this require quite one computer per video
26341 source, and NUUG do not have enough laptops available, we need to
26342 borrow laptops. And to avoid having to install extra software on
26343 these borrwed laptops, I have wrapped up all the programs needed on a
26344 bootable USB stick. The software required is dvswitch with assosiated
26345 source, sink and mixer applications and
26346 &lt;a href=&quot;http://www.kinodv.org/&quot;&gt;dvgrab&lt;/a&gt;. To allow this setup to
26347 work without any configuration, I&#39;ve patched dvswitch to use
26348 &lt;a href=&quot;http://www.avahi.org/&quot;&gt;avahi&lt;/a&gt; to connect the various parts
26349 together. And to allow us to use laptops without firewire plugs, I
26350 upgraded dvgrab to the one from Debian/unstable to get one that work
26351 with USB sources. We have not yet tested this setup in a production
26352 setup, but I hope it will work properly, and allow us to set up a
26353 video mixer in a very short time frame. We will need it for
26354 &lt;a href=&quot;http://www.goopen.no/&quot;&gt;Go Open 2009&lt;/a&gt;.&lt;/p&gt;
26355
26356 &lt;p&gt;&lt;a href=&quot;http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz&quot;&gt;The
26357 USB image&lt;/a&gt; is for a 1 GB memory stick, but can be used on any
26358 larger stick as well.&lt;/p&gt;
26359 </description>
26360 </item>
26361
26362 <item>
26363 <title>Devcamp brought us closer to the Lenny based Debian Edu release</title>
26364 <link>http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</link>
26365 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</guid>
26366 <pubDate>Sun, 7 Dec 2008 12:00:00 +0100</pubDate>
26367 <description>&lt;p&gt;This weekend we had a small developer gathering for Debian Edu in
26368 Oslo. Most of Saturday was used for the general assemly for the
26369 member organization, but the rest of the weekend I used to tune the
26370 LTSP installation. LTSP now work out of the box on the 10-network.
26371 Acer Aspire One proved to be a very nice thin client, with both
26372 screen, mouse and keybard in a small box. Was working on getting the
26373 diskless workstation setup configured out of the box, but did not
26374 finish it before the weekend was up.&lt;/p&gt;
26375
26376 &lt;p&gt;Did not find time to look at the 4 VGA cards in one box we got from
26377 the Brazilian group, so that will have to wait for the next
26378 development gathering. Would love to have the Debian Edu installer
26379 automatically detect and configure a multiseat setup when it find one
26380 of these cards.&lt;/p&gt;
26381 </description>
26382 </item>
26383
26384 <item>
26385 <title>The sorry state of multimedia browser plugins in Debian</title>
26386 <link>http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</link>
26387 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</guid>
26388 <pubDate>Tue, 25 Nov 2008 00:10:00 +0100</pubDate>
26389 <description>&lt;p&gt;Recently I have spent some time evaluating the multimedia browser
26390 plugins available in Debian Lenny, to see which one we should use by
26391 default in Debian Edu. We need an embedded video playing plugin with
26392 control buttons to pause or stop the video, and capable of streaming
26393 all the multimedia content available on the web. The test results and
26394 notes are available on
26395 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;the
26396 Debian wiki&lt;/a&gt;. I was surprised how few of the plugins are able to
26397 fill this need. My personal video player favorite, VLC, has a really
26398 bad plugin which fail on a lot of the test pages. A lot of the MIME
26399 types I would expect to work with any free software player (like
26400 video/ogg), just do not work. And simple formats like the
26401 audio/x-mplegurl format (m3u playlists), just isn&#39;t supported by the
26402 totem and vlc plugins. I hope the situation will improve soon. No
26403 wonder sites use the proprietary Adobe flash to play video.&lt;/p&gt;
26404
26405 &lt;p&gt;For Lenny, we seem to end up with the mplayer plugin. It seem to
26406 be the only one fitting our needs. :/&lt;/p&gt;
26407 </description>
26408 </item>
26409
26410 </channel>
26411 </rss>