]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/english.rss
f800f91ac7b8d1ba194d4186f5435774a4f84090
[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>https://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>wmbusmeters, parse data from your utility meter - nice free software</title>
11 <link>https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html</link>
12 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/wmbusmeters__parse_data_from_your_utility_meter___nice_free_software.html</guid>
13 <pubDate>Fri, 19 May 2023 21:50:00 +0200</pubDate>
14 <description>&lt;p&gt;There is a European standard for reading utility meters like water,
15 gas, electricity or heat distribution meters. The
16 &lt;a href=&quot;https://en.wikipedia.org/wiki/Meter-Bus&quot;&gt;Meter-Bus standard
17 (EN 13757-2, EN 13757-3 and EN 137574)&lt;/a&gt; provide a cross vendor way
18 to talk to and collect meter data. I ran into this standard when I
19 wanted to monitor some heat distribution meters, and managed to find
20 free software that could do the job. The meters in question broadcast
21 encrypted messages with meter information via radio, and the hardest
22 part was to track down the encryption keys from the vendor. With this
23 in place I could set up a MQTT gateway to submit the meter data for
24 graphing.&lt;/p&gt;
25
26 &lt;p&gt;The free software systems in question,
27 &lt;a href=&quot;https://tracker.debian.org/pkg/rtl-wmbus&quot;&gt;rtl-wmbus&lt;/a&gt; to
28 read the messages from a software defined radio, and
29 &lt;a href=&quot;https://tracker.debian.org/pkg/wmbusmeters&quot;&gt;wmbusmeters&lt;/a&gt; to
30 decrypt and decode the content of the messages, is working very well
31 and allowe me to get frequent updates from my meters. I got in touch
32 with upstream last year to see if there was any interest in publishing
33 the packages via Debian. I was very happy to learn that Fredrik
34 Öhrström volunteered to maintain the packages, and I have since
35 assisted him in getting Debian package build rules in place as well as
36 sponsoring the packages into the Debian archive. Sadly we completed
37 it too late for them to become part of the next stable Debian release
38 (Bookworm). The wmbusmeters package just cleared the NEW queue. It
39 will need some work to fix a built problem, but I expect Fredrik will
40 find a solution soon.&lt;/p&gt;
41
42 &lt;p&gt;If you got a infrastructure meter supporting the Meter Bus
43 standard, I strongly recommend having a look at these nice
44 packages.&lt;/p&gt;
45
46 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
47 activities, please send Bitcoin donations to my address
48 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
49 </description>
50 </item>
51
52 <item>
53 <title>The 2023 LinuxCNC Norwegian developer gathering</title>
54 <link>https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html</link>
55 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_2023_LinuxCNC_Norwegian_developer_gathering.html</guid>
56 <pubDate>Sun, 14 May 2023 20:30:00 +0200</pubDate>
57 <description>&lt;p&gt;The LinuxCNC project is making headway these days. A lot of
58 patches and issues have seen activity on
59 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/&quot;&gt;the project github
60 pages&lt;/a&gt; recently. A few weeks ago there was a developer gathering
61 over at the &lt;a href=&quot;https://tormach.com/&quot;&gt;Tormach&lt;/a&gt; headquarter in
62 Wisconsin, and now we are planning a new gathering in Norway. If you
63 wonder what LinuxCNC is, lets quote Wikipedia:&lt;/p&gt;
64
65 &lt;blockquote&gt;
66 &quot;LinuxCNC is a software system for numerical control of
67 machines such as milling machines, lathes, plasma cutters, routers,
68 cutting machines, robots and hexapods. It can control up to 9 axes or
69 joints of a CNC machine using G-code (RS-274NGC) as input. It has
70 several GUIs suited to specific kinds of usage (touch screen,
71 interactive development).&quot;
72 &lt;/blockquote&gt;
73
74 &lt;p&gt;The Norwegian developer gathering take place the weekend June 16th
75 to 18th this year, and is open for everyone interested in contributing
76 to LinuxCNC. Up to date information about the gathering can be found
77 in
78 &lt;a href=&quot;https://sourceforge.net/p/emc/mailman/emc-developers/thread/sa64jp06nob.fsf%40hjemme.reinholdtsen.name/#msg37837251&quot;&gt;the
79 developer mailing list thread&lt;/a&gt; where the gathering was announced.
80 Thanks to the good people at
81 &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt;,
82 &lt;a href=&quot;https://www.redpill-linpro.com/&quot;&gt;Redpill-Linpro&lt;/a&gt; and
83 &lt;a href=&quot;https://www.nuugfoundation.no/no/&quot;&gt;NUUG Foundation&lt;/a&gt;, we
84 have enough sponsor funds to pay for food, and shelter for the people
85 traveling from afar to join us. If you would like to join the
86 gathering, get in touch.&lt;/p&gt;
87
88 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
89 activities, please send Bitcoin donations to my address
90 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
91 </description>
92 </item>
93
94 <item>
95 <title>OpenSnitch in Debian ready for prime time</title>
96 <link>https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html</link>
97 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenSnitch_in_Debian_ready_for_prime_time.html</guid>
98 <pubDate>Sat, 13 May 2023 12:10:00 +0200</pubDate>
99 <description>&lt;p&gt;A bit delayed,
100 &lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
101 application firewall OpenSnitch&lt;/a&gt; package in Debian now got the
102 latest fixes ready for Debian Bookworm. Because it depend on a
103 package missing on some architectures, the autopkgtest check of the
104 testing migration script did not understand that the tests were
105 actually working, so the migration was delayed. A bug in the package
106 dependencies is also fixed, so those installing the firewall package
107 (opensnitch) now also get the GUI admin tool (python3-opensnitch-ui)
108 installed by default. I am very grateful to Gustavo Iñiguez Goya for
109 his work on getting the package ready for Debian Bookworm.&lt;/p&gt;
110
111 &lt;p&gt;Armed with this package I have discovered some surprising
112 connections from programs I believed were able to work completly
113 offline, and it has already proven its worth, at least to me. If you
114 too want to get more familiar with the kind of programs using
115 Internett connections on your machine, I recommend testing &lt;tt&gt;apt
116 install opensnitch&lt;/tt&gt; in Bookworm and see what you think.&lt;/p&gt;
117
118 &lt;p&gt;The package is still not able to build its eBPF module within
119 Debian. Not sure how much work it would be to get it working, but
120 suspect some kernel related packages need to be extended with more
121 header files to get it working.&lt;/p&gt;
122
123 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
124 activities, please send Bitcoin donations to my address
125 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
126 </description>
127 </item>
128
129 <item>
130 <title>Speech to text, she APTly whispered, how hard can it be?</title>
131 <link>https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html</link>
132 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Speech_to_text__she_APTly_whispered__how_hard_can_it_be_.html</guid>
133 <pubDate>Sun, 23 Apr 2023 09:40:00 +0200</pubDate>
134 <description>&lt;p&gt;While visiting a convention during Easter, it occurred to me that
135 it would be great if I could have a digital Dictaphone with
136 transcribing capabilities, providing me with texts to cut-n-paste into
137 stuff I need to write. The background is that long drives often bring
138 up the urge to write on texts I am working on, which of course is out
139 of the question while driving. With the release of
140 &lt;a href=&quot;https://github.com/openai/whisper/&quot;&gt;OpenAI Whisper&lt;/a&gt;, this
141 seem to be within reach with Free Software, so I decided to give it a
142 go. OpenAI Whisper is a Linux based neural network system to read in
143 audio files and provide text representation of the speech in that
144 audio recording. It handle multiple languages and according to its
145 creators even can translate into a different language than the spoken
146 one. I have not tested the latter feature. It can either use the CPU
147 or a GPU with CUDA support. As far as I can tell, CUDA in practice
148 limit that feature to NVidia graphics cards. I have few of those, as
149 they do not work great with free software drivers, and have not tested
150 the GPU option. While looking into the matter, I did discover some
151 work to provide CUDA support on non-NVidia GPUs, and some work with
152 the library used by Whisper to port it to other GPUs, but have not
153 spent much time looking into GPU support yet. I&#39;ve so far used an old
154 X220 laptop as my test machine, and only transcribed using its
155 CPU.&lt;/p&gt;
156
157 &lt;p&gt;As it from a privacy standpoint is unthinkable to use computers
158 under control of someone else (aka a &quot;cloud&quot; service) to transcribe
159 ones thoughts and personal notes, I want to run the transcribing
160 system locally on my own computers. The only sensible approach to me
161 is to make the effort I put into this available for any Linux user and
162 to upload the needed packages into Debian. Looking at Debian Bookworm, I
163 discovered that only three packages were missing,
164 &lt;a href=&quot;https://bugs.debian.org/1034307&quot;&gt;tiktoken&lt;/a&gt;,
165 &lt;a href=&quot;https://bugs.debian.org/1034144&quot;&gt;triton&lt;/a&gt;, and
166 &lt;a href=&quot;https://bugs.debian.org/1034091&quot;&gt;openai-whisper&lt;/a&gt;. For a while
167 I also believed
168 &lt;a href=&quot;https://bugs.debian.org/1034286&quot;&gt;ffmpeg-python&lt;/a&gt; was
169 needed, but as its
170 &lt;a href=&quot;https://github.com/kkroening/ffmpeg-python/issues/760&quot;&gt;upstream
171 seem to have vanished&lt;/a&gt; I found it safer
172 &lt;a href=&quot;https://github.com/openai/whisper/pull/1242&quot;&gt;to rewrite
173 whisper&lt;/a&gt; to stop depending on in than to introduce ffmpeg-python
174 into Debian. I decided to place these packages under the umbrella of
175 &lt;a href=&quot;https://salsa.debian.org/deeplearning-team&quot;&gt;the Debian Deep
176 Learning Team&lt;/a&gt;, which seem like the best team to look after such
177 packages. Discussing the topic within the group also made me aware
178 that the triton package was already a future dependency of newer
179 versions of the torch package being planned, and would be needed after
180 Bookworm is released.&lt;/p&gt;
181
182 &lt;p&gt;All required code packages have been now waiting in
183 &lt;a href=&quot;https://ftp-master.debian.org/new.html&quot;&gt;the Debian NEW
184 queue&lt;/a&gt; since Wednesday, heading for Debian Experimental until
185 Bookworm is released. An unsolved issue is how to handle the neural
186 network models used by Whisper. The default behaviour of Whisper is
187 to require Internet connectivity and download the model requested to
188 &lt;tt&gt;~/.cache/whisper/&lt;/tt&gt; on first invocation. This obviously would
189 fail &lt;a href=&quot;https://people.debian.org/~bap/dfsg-faq.html&quot;&gt;the
190 deserted island test of free software&lt;/a&gt; as the Debian packages would
191 be unusable for someone stranded with only the Debian archive and solar
192 powered computer on a deserted island.&lt;/p&gt;
193
194 &lt;p&gt;Because of this, I would love to include the models in the Debian
195 mirror system. This is problematic, as the models are very large
196 files, which would put a heavy strain on the Debian mirror
197 infrastructure around the globe. The strain would be even higher if
198 the models change often, which luckily as far as I can tell they do
199 not. The small model, which according to its creator is most useful
200 for English and in my experience is not doing a great job there
201 either, is 462 MiB (deb is 414 MiB). The medium model, which to me
202 seem to handle English speech fairly well is 1.5 GiB (deb is 1.3 GiB)
203 and the large model is 2.9 GiB (deb is 2.6 GiB). I would assume
204 everyone with enough resources would prefer to use the large model for
205 highest quality. I believe the models themselves would have to go
206 into the non-free part of the Debian archive, as they are not really
207 including any useful source code for updating the models. The
208 &quot;source&quot;, aka the model training set, according to the creators
209 consist of &quot;680,000 hours of multilingual and multitask supervised
210 data collected from the web&quot;, which to me reads material with both
211 unknown copyright terms, unavailable to the general public. In other
212 words, the source is not available according to the Debian Free
213 Software Guidelines and the model should be considered non-free.&lt;/p&gt;
214
215 &lt;p&gt;I asked the Debian FTP masters for advice regarding uploading a
216 model package on their IRC channel, and based on the feedback there it
217 is still unclear to me if such package would be accepted into the
218 archive. In any case I wrote build rules for a
219 &lt;a href=&quot;https://salsa.debian.org/deeplearning-team/openai-whisper-model&quot;&gt;OpenAI
220 Whisper model package&lt;/a&gt; and
221 &lt;a href=&quot;https://github.com/openai/whisper/pull/1257&quot;&gt;modified the
222 Whisper code base&lt;/a&gt; to prefer shared files under &lt;tt&gt;/usr/&lt;/tt&gt; and
223 &lt;tt&gt;/var/&lt;/tt&gt; over user specific files in &lt;tt&gt;~/.cache/whisper/&lt;/tt&gt;
224 to be able to use these model packages, to prepare for such
225 possibility. One solution might be to include only one of the models
226 (small or medium, I guess) in the Debian archive, and ask people to
227 download the others from the Internet. Not quite sure what to do
228 here, and advice is most welcome (use the debian-ai mailing list).&lt;/p&gt;
229
230 &lt;p&gt;To make it easier to test the new packages while I wait for them to
231 clear the NEW queue, I created an APT source targeting bookworm. I
232 selected Bookworm instead of Bullseye, even though I know the latter
233 would reach more users, is that some of the required dependencies are
234 missing from Bullseye and I during this phase of testing did not want
235 to backport a lot of packages just to get up and running.&lt;/p&gt;
236
237 &lt;p&gt;Here is a recipe to run as user root if you want to test OpenAI
238 Whisper using Debian packages on your Debian Bookworm installation,
239 first adding the APT repository GPG key to the list of trusted keys,
240 then setting up the APT repository and finally installing the packages
241 and one of the models:&lt;/p&gt;
242
243 &lt;p&gt;&lt;pre&gt;
244 curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \
245 -o /etc/apt/trusted.gpg.d/pere-whisper.asc
246 mkdir -p /etc/apt/sources.list.d
247 cat &gt; /etc/apt/sources.list.d/pere-whisper.list &amp;lt;&amp;lt;EOF
248 deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
249 deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main
250 EOF
251 apt update
252 apt install openai-whisper
253 &lt;/pre&gt;&lt;/p&gt;
254
255 &lt;p&gt;The package work for me, but have not yet been tested on any other
256 computer than my own. With it, I have been able to (badly) transcribe
257 a 2 minute 40 second Norwegian audio clip to test using the small
258 model. This took 11 minutes and around 2.2 GiB of RAM. Transcribing
259 the same file with the medium model gave a accurate text in 77 minutes
260 using around 5.2 GiB of RAM. My test machine had too little memory to
261 test the large model, which I believe require 11 GiB of RAM. In
262 short, this now work for me using Debian packages, and I hope it will
263 for you and everyone else once the packages enter Debian.&lt;/p&gt;
264
265 &lt;p&gt;Now I can start on the audio recording part of this project.&lt;/p&gt;
266
267 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
268 activities, please send Bitcoin donations to my address
269 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
270 </description>
271 </item>
272
273 <item>
274 <title>rtlsdr-scanner, software defined radio frequency scanner for Linux - nice free software</title>
275 <link>https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html</link>
276 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/rtlsdr_scanner__software_defined_radio_frequency_scanner_for_Linux____nice_free_software.html</guid>
277 <pubDate>Fri, 7 Apr 2023 23:10:00 +0200</pubDate>
278 <description>&lt;p&gt;Today I finally found time to track down a useful radio frequency
279 scanner for my software defined radio. Just for fun I tried to locate
280 the radios used in the areas, and a good start would be to scan all
281 the frequencies to see what is in use. I&#39;ve tried to find a useful
282 program earlier, but ran out of time before I managed to find a useful
283 tool. This time I was more successful, and after a few false leads I
284 found a description of
285 &lt;a href=&quot;https://www.kali.org/tools/rtlsdr-scanner/&quot;&gt;rtlsdr-scanner
286 over at the Kali site&lt;/a&gt;, and was able to track down
287 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/rtlsdr-scanner.git&quot;&gt;the
288 Kali package git repository&lt;/a&gt; to build a deb package for the
289 scanner. Sadly the package is missing from the Debian project itself,
290 at least in Debian Bullseye. Two runtime dependencies,
291 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/python-visvis.git&quot;&gt;python-visvis&lt;/a&gt;
292 and
293 &lt;a href=&quot;https://gitlab.com/kalilinux/packages/python-rtlsdr.git&quot;&gt;python-rtlsdr&lt;/a&gt;
294 had to be built and installed separately. Luckily &#39;&lt;tt&gt;gbp
295 buildpackage&lt;/tt&gt;&#39; handled them just fine and no further packages had
296 to be manually built. The end result worked out of the box after
297 installation.&lt;/p&gt;
298
299 &lt;p&gt;My initial scans for FM channels worked just fine, so I knew the
300 scanner was functioning. But when I tried to scan every frequency
301 from 100 to 1000 MHz, the program stopped unexpectedly near the
302 completion. After some debugging I discovered USB software radio I
303 used rejected frequencies above 948 MHz, triggering a unreported
304 exception breaking the scan. Changing the scan to end at 957 worked
305 better. I similarly found the lower limit to be around 15, and ended
306 up with the following full scan:&lt;/p&gt;
307
308 &lt;p&gt;&lt;a href=&quot;https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png&quot;&gt;&lt;img src=&quot;https://people.skolelinux.org/pere/blog/images/2023-04-07-radio-freq-scanning.png&quot; width=&quot;100%&quot;&gt;&lt;/a&gt;&lt;/p&gt;
309
310 &lt;p&gt;Saving the scan did not work, but exporting it as a CSV file worked
311 just fine. I ended up with around 477k CVS lines with dB level for
312 the given frequency.&lt;/p&gt;
313
314 &lt;p&gt;The save failure seem to be a missing UTF-8 encoding issue in the
315 python code. Will see if I can find time to send a patch
316 &lt;a href=&quot;https://github.com/CdeMills/RTLSDR-Scanner/&quot;&gt;upstream&lt;/a&gt;
317 later to fix this exception:&lt;/p&gt;
318
319 &lt;pre&gt;
320 Traceback (most recent call last):
321 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py&quot;, line 485, in __on_save
322 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
323 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py&quot;, line 408, in save_plot
324 handle.write(json.dumps(data, indent=4))
325 TypeError: a bytes-like object is required, not &#39;str&#39;
326 Traceback (most recent call last):
327 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py&quot;, line 485, in __on_save
328 save_plot(fullName, self.scanInfo, self.spectrum, self.locations)
329 File &quot;/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py&quot;, line 408, in save_plot
330 handle.write(json.dumps(data, indent=4))
331 TypeError: a bytes-like object is required, not &#39;str&#39;
332 &lt;/pre&gt;
333
334 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
335 activities, please send Bitcoin donations to my address
336 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
337 </description>
338 </item>
339
340 <item>
341 <title>OpenSnitch available in Debian Sid and Bookworm</title>
342 <link>https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</link>
343 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</guid>
344 <pubDate>Sat, 25 Feb 2023 20:30:00 +0100</pubDate>
345 <description>&lt;p&gt;Thanks to the efforts of the OpenSnitch lead developer Gustavo
346 Iñiguez Goya allowing me to sponsor the upload,
347 &lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
348 application firewall OpenSnitch&lt;/a&gt; is now available in Debian
349 Testing, soon to become the next stable release of Debian.&lt;/p&gt;
350
351 &lt;p&gt;This is a package which set up a network firewall on one or more
352 machines, which is controlled by a graphical user interface that will
353 ask the user if a program should be allowed to connect to the local
354 network or the Internet. If some background daemon is trying to dial
355 home, it can be blocked from doing so with a simple mouse click, or by
356 default simply by not doing anything when the GUI question dialog pop
357 up. A list of all programs discovered using the network is provided
358 in the GUI, giving the user an overview of how the machine(s) programs
359 use the network.&lt;/p&gt;
360
361 &lt;p&gt;OpenSnitch was uploaded for NEW processing about a month ago, and I
362 had little hope of it getting accepted and shaping up in time for the
363 package freeze, but the Debian ftpmasters proved to be amazingly quick
364 at checking out the package and it was accepted into the archive about
365 week after the first upload. It is now team maintained under the Go
366 language team umbrella. A few fixes to the default setup is only in
367 Sid, and should migrate to Testing/Bookworm in a week.&lt;/p&gt;
368
369 &lt;p&gt;During testing I ran into an
370 &lt;a href=&quot;https://github.com/evilsocket/opensnitch/issues/813&quot;&gt;issue
371 with Minecraft server broadcasts disappearing&lt;/a&gt;, which was quickly
372 resolved by the developer with a patch and a proposed configuration
373 change. I&#39;ve been told this was caused by the Debian packages default
374 use if /proc/ information to track down kernel status, instead of the
375 newer eBPF module that can be used. The reason is simply that
376 upstream and I have failed to find a way to build the eBPF modules for
377 OpenSnitch without a complete configured Linux kernel source tree,
378 which as far as we can tell is unavailable as a build dependency in
379 Debian. We tried unsuccessfully so far to use the kernel-headers
380 package. It would be great if someone could provide some clues how to
381 build eBPF modules on build daemons in Debian, possibly without the full
382 kernel source.&lt;/p&gt;
383
384 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
385 activities, please send Bitcoin donations to my address
386 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
387 </description>
388 </item>
389
390 <item>
391 <title>Is the desktop recommending your program for opening its files?</title>
392 <link>https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html</link>
393 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html</guid>
394 <pubDate>Sun, 29 Jan 2023 11:00:00 +0100</pubDate>
395 <description>&lt;p&gt;Linux desktop systems
396 &lt;a href=&quot;https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html&quot;&gt;have
397 standardized&lt;/a&gt; how programs present themselves to the desktop
398 system. If a package include a .desktop file in
399 /usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
400 environments will pick up the file and use its content to generate the
401 menu of available programs in the system. A lesser known fact is that
402 a package can also explain to the desktop system how to recognize the
403 files created by the program in question, and use it to open these
404 files on request, for example via a GUI file browser.&lt;/p&gt;
405
406 &lt;p&gt;A while back I ran into a package that did not tell the desktop
407 system how to recognize its files and was not used to open its files
408 in the file browser and fixed it. In the process I wrote a simple
409 debian/tests/ script to ensure the setup keep working. It might be
410 useful for other packages too, to ensure any future version of the
411 package keep handling its own files.&lt;/p&gt;
412
413 &lt;p&gt;For this to work the file format need a useful MIME type that can
414 be used to identify the format. If the file format do not yet have a
415 MIME type, it should define one and preferably also
416 &lt;a href=&quot;https://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;register
417 it with IANA&lt;/a&gt; to ensure the MIME type string is reserved.&lt;/p&gt;
418
419 &lt;p&gt;The script uses the &lt;tt&gt;xdg-mime&lt;/tt&gt; program from xdg-utils to
420 query the database of standardized package information and ensure it
421 return sensible values. It also need the location of an example file
422 for xdg-mime to guess the format of.&lt;/p&gt;
423
424 &lt;pre&gt;
425 #!/bin/sh
426 #
427 # Author: Petter Reinholdtsen
428 # License: GPL v2 or later at your choice.
429 #
430 # Validate the MIME setup, making sure motor types have
431 # application/vnd.openmotor+yaml associated with them and is connected
432 # to the openmotor desktop file.
433
434 retval=0
435
436 mimetype=&quot;application/vnd.openmotor+yaml&quot;
437 testfile=&quot;test/data/real/o3100/motor.ric&quot;
438 mydesktopfile=&quot;openmotor.desktop&quot;
439
440 filemime=&quot;$(xdg-mime query filetype &quot;$testfile&quot;)&quot;
441
442 if [ &quot;$mimetype&quot; != &quot;$filemime&quot; ] ; then
443 retval=1
444 echo &quot;error: xdg-mime claim motor file MIME type is $filemine, not $mimetype&quot;
445 else
446 echo &quot;success: xdg-mime report correct mime type $mimetype for motor file&quot;
447 fi
448
449 desktop=$(xdg-mime query default &quot;$mimetype&quot;)
450
451 if [ &quot;$mydesktopfile&quot; != &quot;$desktop&quot; ]; then
452 retval=1
453 echo &quot;error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile&quot;
454 else
455 echo &quot;success: xdg-mime agree motor file should be handled by $mydesktopfile&quot;
456 fi
457
458 exit $retval
459 &lt;/pre&gt;
460
461 &lt;p&gt;It is a simple way to ensure your users are not very surprised when
462 they try to open one of your file formats in their file browser.&lt;/p&gt;
463
464 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
465 activities, please send Bitcoin donations to my address
466 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
467 </description>
468 </item>
469
470 <item>
471 <title>Opensnitch, the application level interactive firewall, heading into the Debian archive</title>
472 <link>https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html</link>
473 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html</guid>
474 <pubDate>Sun, 22 Jan 2023 23:55:00 +0100</pubDate>
475 <description>&lt;p&gt;While reading a
476 &lt;a href=&quot;https://sneak.berlin/20230115/macos-scans-your-local-files-now/&quot;&gt;blog
477 post claiming MacOS X recently started scanning local files and
478 reporting information about them to Apple&lt;/a&gt;, even on a machine where
479 all such callback features had been disabled, I came across a
480 description of the Little Snitch application for MacOS X. It seemed
481 like a very nice tool to have in the tool box, and I decided to see if
482 something similar was available for Linux.&lt;/p&gt;
483
484 &lt;p&gt;It did not take long to find
485 &lt;a href=&quot;https://github.com/evilsocket/opensnitch&quot;&gt;the OpenSnitch
486 package&lt;/a&gt;, which has been in development since 2017, and now is in
487 version 1.5.0. It has had a
488 &lt;a href=&quot;https://bugs.debian.org/909567&quot;&gt;request for Debian
489 packaging&lt;/a&gt; since 2018, but no-one completed the job so far. Just
490 for fun, I decided to see if I could help, and I was very happy to
491 discover that
492 &lt;a href=&quot;https://github.com/evilsocket/opensnitch/issues/304&quot;&gt;upstream
493 want a Debian package too&lt;/a&gt;.&lt;/p&gt;
494
495 &lt;p&gt;After struggling a bit with getting the program to run, figuring
496 out building Go programs (and a little failed detour to look at eBPF
497 builds too - help needed), I am very happy to report that I am
498 sponsoring upstream to maintain the package in Debian, and it has
499 since this morning been waiting in NEW for the ftpmasters to have a
500 look. Perhaps it can get into the archive in time for the Bookworm
501 release?&lt;/p&gt;
502
503 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
504 activities, please send Bitcoin donations to my address
505 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
506 </description>
507 </item>
508
509 <item>
510 <title>LinuxCNC MQTT publisher component</title>
511 <link>https://people.skolelinux.org/pere/blog/LinuxCNC_MQTT_publisher_component.html</link>
512 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/LinuxCNC_MQTT_publisher_component.html</guid>
513 <pubDate>Sun, 8 Jan 2023 19:30:00 +0100</pubDate>
514 <description>&lt;p&gt;I watched &lt;a href=&quot;https://yewtu.be/watch?v=jmKUV3aNLjk&quot;&gt;a 2015
515 video from Andreas Schiffler&lt;/a&gt; the other day, where he set up
516 &lt;a href=&quot;https://linuxcnc.org/&quot;&gt;LinuxCNC&lt;/a&gt; to send status
517 information to the MQTT broker IBM Bluemix. As I also use MQTT for
518 graphing, it occured to me that a generic MQTT LinuxCNC component
519 would be useful and I set out to implement it. Today I got the first
520 draft limping along and submitted as
521 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/pull/2253&quot;&gt;a patch to the
522 LinuxCNC project&lt;/a&gt;.&lt;/p&gt;
523
524 &lt;p&gt;The simple part was setting up the MQTT publishing code in Python.
525 I already have set up other parts submitting data to my Mosquito MQTT
526 broker, so I could reuse that code. Writing a LinuxCNC component in
527 Python as new to me, but using existing examples in the code
528 repository and the extensive documentation, this was fairly straight
529 forward. The hardest part was creating a automated test for the
530 component to ensure it was working. Testing it in a simulated
531 LinuxCNC machine proved very useful, as I discovered features I needed
532 that I had not thought of yet, and adjusted the code quite a bit to
533 make it easier to test without a operational MQTT broker
534 available.&lt;/p&gt;
535
536 &lt;p&gt;The draft is ready and working, but I am unsure which LinuxCNC HAL
537 pins I should collect and publish by default (in other words, the
538 default set of information pieces published), and how to get the
539 machine name from the LinuxCNC INI file. The latter is a minor
540 detail, but I expect it would be useful in a setup with several
541 machines available. I am hoping for feedback from the experienced
542 LinuxCNC developers and users, to make the component even better
543 before it can go into the mainland LinuxCNC code base.&lt;/p&gt;
544
545 &lt;p&gt;Since I started on the MQTT component, I came across
546 &lt;a href=&quot;https://yewtu.be/watch?v=Bqa2grG0XtA&quot;&gt;another video from Kent
547 VanderVelden&lt;/a&gt; where he combine LinuxCNC with a set of screen glasses
548 controlled by a Raspberry Pi, and it occured to me that it would
549 be useful for such use cases if LinuxCNC also provided a REST API for
550 querying its status. I hope to start on such component once the MQTT
551 component is working well.&lt;/p&gt;
552
553 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
554 activities, please send Bitcoin donations to my address
555 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
556 </description>
557 </item>
558
559 <item>
560 <title>ONVIF IP camera management tool finally in Debian</title>
561 <link>https://people.skolelinux.org/pere/blog/ONVIF_IP_camera_management_tool_finally_in_Debian.html</link>
562 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/ONVIF_IP_camera_management_tool_finally_in_Debian.html</guid>
563 <pubDate>Sat, 24 Dec 2022 08:00:00 +0100</pubDate>
564 <description>&lt;p&gt;Merry Christmas to you all. Here is a small gift to all those with
565 IP cameras following the &lt;a href=&quot;https://www.onvif.org/&quot;&gt;ONVIF
566 specification&lt;/a&gt;. There is finally a nice command line and GUI tool
567 in Debian to manage ONVIF IP cameras. After working with upstream for
568 a few months and sponsoring the upload, I am very happy to report that
569 the &lt;a href=&quot;https://tracker.debian.org/libonvif&quot;&gt;libonvif package&lt;/a&gt;
570 entered Debian Sid last night.&lt;/p&gt;
571
572 &lt;p&gt;The package provide a C library to communicate with such cameras, a
573 command line tool to locate and update settings of (like password) the
574 cameras and a GUI tool to configure and control the units as well as
575 preview the video from the camera. Libonvif is available on Both
576 Linux and Windows and the GUI tool uses the Qt library. The main
577 competitors are non-free software, while libonvif is GNU GPL licensed.
578 I am very glad Debian users in the future can control their cameras
579 using a free software system provided by Debian. But the ONVIF world
580 is full of slightly broken firmware, where the cameras pretend to
581 follow the ONVIF specification but fail to set some configuration
582 values or refuse to provide video to more than one recipient at the
583 time, and the onvif project is quite young and might take a while
584 before it completely work with your camera. Upstream seem eager to
585 improve the library, so handling any broken camera might be just &lt;a
586 href=&quot;https://github.com/sr99622/libonvif/&quot;&gt;a bug report away&lt;/a&gt;.&lt;/p&gt;
587
588 &lt;p&gt;The package just cleared NEW, and need a new source only upload
589 before it can enter testing. This will happen in the next few
590 days.&lt;/p&gt;
591
592 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
593 activities, please send Bitcoin donations to my address
594 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
595 </description>
596 </item>
597
598 <item>
599 <title>Managing and using ONVIF IP cameras with Linux</title>
600 <link>https://people.skolelinux.org/pere/blog/Managing_and_using_ONVIF_IP_cameras_with_Linux.html</link>
601 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Managing_and_using_ONVIF_IP_cameras_with_Linux.html</guid>
602 <pubDate>Wed, 19 Oct 2022 12:30:00 +0200</pubDate>
603 <description>&lt;p&gt;Recently I have been looking at how to control and collect data
604 from a handful IP cameras using Linux. I both wanted to change their
605 settings and to make their imagery available via a free software
606 service under my control. Here is a summary of the tools I found.&lt;/p&gt;
607
608 &lt;p&gt;First I had to identify the cameras and their protocols. As far as
609 I could tell, they were using some SOAP looking protocol and their
610 internal web server seem to only work with Microsoft Internet Explorer
611 with some proprietary binary plugin, which in these days of course is
612 a security disaster and also made it impossible for me to use the
613 camera web interface. Luckily I discovered that the SOAP looking
614 protocol is actually following &lt;a href=&quot;https://www.onvif.org/&quot;&gt;the
615 ONVIF specification&lt;/a&gt;, which seem to be supported by a lot of IP
616 cameras these days.&lt;/p&gt;
617
618 &lt;p&gt;Once the protocol was identified, I was able to find what appear to
619 be the most popular way to configure ONVIF cameras, the free software
620 Windows tool named
621 &lt;a href=&quot;https://sourceforge.net/projects/onvifdm/&quot;&gt;ONVIF Device
622 Manager&lt;/a&gt;. Lacking any other options at the time, I tried
623 unsuccessfully to get it running using Wine, but was missing a dotnet
624 40 library and I found no way around it to run it on Linux.&lt;/p&gt;
625
626 &lt;p&gt;The next tool I found to configure the cameras were a non-free Linux Qt
627 client &lt;a href=&quot;https://www.lingodigit.com/onvif_nvcdemo.html&quot;&gt;ONVIF
628 Device Tool&lt;/a&gt;. I did not like its terms of use, so did not spend
629 much time on it.&lt;/p&gt;
630
631 &lt;p&gt;To collect the video and make it available in a web interface, I
632 found the Zoneminder tool in Debian. A recent version was able to
633 automatically detect and configure ONVIF devices, so I could use it to
634 set up motion detection in and collection of the camera output. I had
635 initial problems getting the ONVIF autodetection to work, as both
636 Firefox and Chromium &lt;a href=&quot;https://bugs.debian.org/1001188&quot;&gt;refused
637 the inter-tab communication&lt;/a&gt; being used by the Zoneminder web
638 pages, but managed to get konqueror to work. Apparently the &quot;Enhanced
639 Tracking Protection&quot; in Firefox cause the problem. I ended up
640 upgrading to the Bookworm edition of Zoneminder in the process to try
641 to fix the issue, and believe the problem might be solved now.&lt;/p&gt;
642
643 &lt;p&gt;In the process I came across the nice Linux GUI tool
644 &lt;a href=&quot;https://gitlab.com/caspermeijn/onvifviewer/&quot;&gt;ONVIF Viewer&lt;/a&gt;
645 allowing me to preview the camera output and validate the login
646 passwords required. Sadly its author has grown tired of maintaining
647 the software, so it might not see any future updates. Which is sad,
648 as the viewer is sightly unstable and the picture tend to lock up.
649 Note, this lockup might be due to limitations in the cameras and not
650 the viewer implementation. I suspect the camera is only able to
651 provide pictures to one client at the time, and the Zoneminder feed
652 might interfere with the GUI viewer. I have
653 &lt;a href=&quot;https://bugs.debian.org/1000820&quot;&gt;asked for the tool to be
654 included in Debian&lt;/a&gt;.&lt;/p&gt;
655
656 &lt;p&gt;Finally, I found what appear to be very nice Linux free software
657 replacement for the Windows tool, named
658 &lt;a href=&quot;https://github.com/sr99622/libonvif/&quot;&gt;libonvif&lt;/a&gt;. It
659 provide a C library to talk to ONVIF devices as well as a command line
660 and GUI tool using the library. Using the GUI tool I was able to change
661 the admin passwords and update other settings of the cameras. I have
662 &lt;a href=&quot;https://bugs.debian.org/1021980&quot;&gt;asked for the package to be
663 included in Debian&lt;/a&gt;.&lt;/p&gt;
664
665 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
666 activities, please send Bitcoin donations to my address
667 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
668
669 &lt;p&gt;&lt;strong&gt;Update 2022-10-20&lt;/strong&gt;: Since my initial publication of
670 this text, I got several suggestions for more free software Linux
671 tools. There is &lt;a href=&quot;https://github.com/quatanium/python-onvif&quot;&gt;a
672 ONVIF python library&lt;/a&gt; (already
673 &lt;a href=&quot;https://bugs.debian.org/824240&quot;&gt;requested into Debian&lt;/a&gt;) and
674 &lt;a href=&quot;https://github.com/FalkTannhaeuser/python-onvif-zeep&quot;&gt;a python 3
675 fork&lt;/a&gt; using a different SOAP dependency. There is also
676 &lt;a href=&quot;https://www.home-assistant.io/integrations/onvif/&quot;&gt;support for
677 ONVIF in Home Assistant&lt;/a&gt;, and there is an alternative to Zoneminder
678 called &lt;a href=&quot;https://www.shinobi.video/&quot;&gt;Shinobi&lt;/a&gt;. The latter
679 two are not included in Debian either. I have not tested any of these
680 so far.&lt;/p&gt;
681 </description>
682 </item>
683
684 <item>
685 <title>Time to translate the Bullseye edition of the Debian Administrator&#39;s Handbook</title>
686 <link>https://people.skolelinux.org/pere/blog/Time_to_translate_the_Bullseye_edition_of_the_Debian_Administrator_s_Handbook.html</link>
687 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Time_to_translate_the_Bullseye_edition_of_the_Debian_Administrator_s_Handbook.html</guid>
688 <pubDate>Mon, 12 Sep 2022 15:45:00 +0200</pubDate>
689 <description>&lt;p align=&quot;center&quot;&gt;&lt;img align=&quot;center&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2020-10-20-debian-handbook-nb-testprint.jpeg&quot; width=&quot;60%&quot;/&gt;&lt;/p&gt;
690
691 &lt;p&gt;(The picture is of the previous edition.)&lt;/p&gt;
692
693 &lt;p&gt;Almost two years after the previous Norwegian Bokmål translation of
694 the &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
695 Handbook&lt;/a&gt;&quot; was published, a new edition is finally being prepared. The
696 english text is updated, and it is time to start working on the
697 translations. Around 37 percent of the strings have been updated, one
698 way or another, and the translations starting from a complete Debian Buster
699 edition now need to bring their translation up from 63% to 100%. The
700 complete book is licensed using a Creative Commons license, and has
701 been published in several languages over the years. The translations
702 are done by volunteers to bring Linux in their native tongue. The
703 last time I checked, it complete text was available in English,
704 Norwegian Bokmål, German, Indonesian, Brazil Portuguese and Spanish.
705 In addition, work has been started for Arabic (Morocco), Catalan,
706 Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish,
707 Dutch, French, Greek, Italian, Japanese, Korean, Persian, Polish,
708 Romanian, Russian, Swedish, Turkish and Vietnamese.&lt;/p&gt;
709
710 &lt;p&gt;The translation is conducted on
711 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
712 hosted weblate project page&lt;/a&gt;. Prospective translators are
713 recommeded to subscribe to
714 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
715 translators mailing list&lt;/a&gt; and should also check out
716 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
717 contributors&lt;/a&gt;.&lt;/p&gt;
718
719 &lt;p&gt;I am one of the Norwegian Bokmål translators of this book, and we
720 have just started. Your contribution is most welcome.&lt;/p&gt;
721
722 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
723 activities, please send Bitcoin donations to my address
724 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
725 </description>
726 </item>
727
728 <item>
729 <title>Automatic LinuxCNC servo PID tuning?</title>
730 <link>https://people.skolelinux.org/pere/blog/Automatic_LinuxCNC_servo_PID_tuning_.html</link>
731 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatic_LinuxCNC_servo_PID_tuning_.html</guid>
732 <pubDate>Sat, 16 Jul 2022 22:30:00 +0200</pubDate>
733 <description>&lt;p&gt;While working on a CNC with servo motors controlled by the
734 &lt;a href=&quot;https://en.wikipedia.org/wiki/LinuxCNC&quot;&gt;LinuxCNC&lt;/a&gt;
735 &lt;a href=&quot;https://en.wikipedia.org/wiki/PID_controller&quot;&gt;PID
736 controller&lt;/a&gt;, I recently had to learn how to tune the collection of values
737 that control such mathematical machinery that a PID controller is. It
738 proved to be a lot harder than I hoped, and I still have not succeeded
739 in getting the Z PID controller to successfully defy gravity, nor X
740 and Y to move accurately and reliably. But while climbing up this
741 rather steep learning curve, I discovered that some motor control
742 systems are able to tune their PID controllers. I got the impression
743 from the documentation that LinuxCNC were not. This proved to be not
744 true.&lt;/p&gt;
745
746 &lt;p&gt;The LinuxCNC
747 &lt;a href=&quot;http://linuxcnc.org/docs/html/man/man9/pid.9.html&quot;&gt;pid
748 component&lt;/a&gt; is the recommended PID controller to use. It uses eight
749 constants &lt;tt&gt;Pgain&lt;/tt&gt;, &lt;tt&gt;Igain&lt;/tt&gt;, &lt;tt&gt;Dgain&lt;/tt&gt;,
750 &lt;tt&gt;bias&lt;/tt&gt;, &lt;tt&gt;FF0&lt;/tt&gt;, &lt;tt&gt;FF1&lt;/tt&gt;, &lt;tt&gt;FF2&lt;/tt&gt; and
751 &lt;tt&gt;FF3&lt;/tt&gt; to calculate the output value based on current and wanted
752 state, and all of these need to have a sensible value for the
753 controller to behave properly. Note, there are even more values
754 involved, theser are just the most important ones. In my case I need
755 the X, Y and Z axes to follow the requested path with little error.
756 This has proved quite a challenge for someone who have never tuned a
757 PID controller before, but there is at least some help to be found.
758
759 &lt;p&gt;I discovered that included in LinuxCNC was this old PID component
760 at_pid claiming to have auto tuning capabilities. Sadly it had been
761 neglected since 2011, and could not be used as a plug in replacement
762 for the default pid component. One would have to rewriting the
763 LinuxCNC HAL setup to test at_pid. This was rather sad, when I wanted
764 to quickly test auto tuning to see if it did a better job than me at
765 figuring out good P, I and D values to use.&lt;/p&gt;
766
767 &lt;p&gt;I decided to have a look if the situation could be improved. This
768 involved trying to understand the code and history of the pid and
769 at_pid components. Apparently they had a common ancestor, as code
770 structure, comments and variable names were quite close to each other.
771 Sadly this was not reflected in the git history, making it hard to
772 figure out what really happened. My guess is that the author of
773 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/components/at_pid.c&quot;&gt;at_pid.c&lt;/a&gt;
774 took a version of
775 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/components/pid.c&quot;&gt;pid.c&lt;/a&gt;,
776 rewrote it to follow the structure he wished pid.c to have, then added
777 support for auto tuning and finally got it included into the LinuxCNC
778 repository. The restructuring and lack of early history made it
779 harder to figure out which part of the code were relevant to the auto
780 tuning, and which part of the code needed to be updated to work the
781 same way as the current pid.c implementation. I started by trying to
782 isolate relevant changes in pid.c, and applying them to at_pid.c. My
783 aim was to make sure the at_pid component could replace the pid
784 component with a simple change in the HAL setup loadrt line, without
785 having to &quot;rewire&quot; the rest of the HAL configuration. After a few
786 hours following this approach, I had learned quite a lot about the
787 code structure of both components, while concluding I was heading down
788 the wrong rabbit hole, and should get back to the surface and find a
789 different path.&lt;/p&gt;
790
791 &lt;p&gt;For the second attempt, I decided to throw away all the PID control
792 related part of the original at_pid.c, and instead isolate and lift
793 the auto tuning part of the code and inject it into a copy of pid.c.
794 This ensured compatibility with the current pid component, while
795 adding auto tuning as a run time option. To make it easier to identify
796 the relevant parts in the future, I wrapped all the auto tuning code
797 with &#39;#ifdef AUTO_TUNER&#39;. The end result behave just like the current
798 pid component by default, as that part of the code is identical. The
799 &lt;a href=&quot;https://github.com/LinuxCNC/linuxcnc/pull/1820&quot;&gt;end result
800 entered the LinuxCNC master branch&lt;/a&gt; a few days ago.&lt;/p&gt;
801
802 &lt;p&gt;To enable auto tuning, one need to set a few HAL pins in the PID
803 component. The most important ones are &lt;tt&gt;tune-effort&lt;/tt&gt;,
804 &lt;tt&gt;tune-mode&lt;/tt&gt; and &lt;tt&gt;tune-start&lt;/tt&gt;. But lets take a step
805 back, and see what the auto tuning code will do. I do not know the
806 mathematical foundation of the at_pid algorithm, but from observation
807 I can tell that the algorithm will, when enabled, produce a square
808 wave pattern centered around the &lt;tt&gt;bias&lt;/tt&gt; value on the output pin
809 of the PID controller. This can be seen using the HAL Scope provided
810 by LinuxCNC. In my case, this is translated into voltage (+-10V) sent
811 to the motor controller, which in turn is translated into motor speed.
812 So at_pid will ask the motor to move the axis back and forth. The
813 number of cycles in the pattern is controlled by the
814 &lt;tt&gt;tune-cycles&lt;/tt&gt; pin, and the extremes of the wave pattern is
815 controlled by the &lt;tt&gt;tune-effort&lt;/tt&gt; pin. Of course, trying to
816 change the direction of a physical object instantly (as in going
817 directly from a positive voltage to the equivalent negative voltage)
818 do not change velocity instantly, and it take some time for the object
819 to slow down and move in the opposite direction. This result in a
820 more smooth movement wave form, as the axis in question were vibrating
821 back and forth. When the axis reached the target speed in the
822 opposing direction, the auto tuner change direction again. After
823 several of these changes, the average time delay between the &#39;peaks&#39;
824 and &#39;valleys&#39; of this movement graph is then used to calculate
825 proposed values for Pgain, Igain and Dgain, and insert them into the
826 HAL model to use by the pid controller. The auto tuned settings are
827 not great, but htye work a lot better than the values I had been able
828 to cook up on my own, at least for the horizontal X and Y axis. But I
829 had to use very small &lt;tt&gt;tune-effort&lt;tt&gt; values, as my motor
830 controllers error out if the voltage change too quickly. I&#39;ve been
831 less lucky with the Z axis, which is moving a heavy object up and
832 down, and seem to confuse the algorithm. The Z axis movement became a
833 lot better when I introduced a &lt;tt&gt;bias&lt;/tt&gt; value to counter the
834 gravitational drag, but I will have to work a lot more on the Z axis
835 PID values.&lt;/p&gt;
836
837 &lt;p&gt;Armed with this knowledge, it is time to look at how to do the
838 tuning. Lets say the HAL configuration in question load the PID
839 component for X, Y and Z like this:&lt;/p&gt;
840
841 &lt;blockquote&gt;&lt;pre&gt;
842 loadrt pid names=pid.x,pid.y,pid.z
843 &lt;/pre&gt;&lt;/blockquote&gt;
844
845 &lt;p&gt;Armed with the new and improved at_pid component, the new line will
846 look like this:&lt;/p&gt;
847
848 &lt;blockquote&gt;&lt;pre&gt;
849 loadrt at_pid names=pid.x,pid.y,pid.z
850 &lt;/pre&gt;&lt;/blockquote&gt;
851
852 &lt;p&gt;The rest of the HAL setup can stay the same. This work because the
853 components are referenced by name. If the component had used count=3
854 instead, all use of pid.# had to be changed to at_pid.#.&lt;/p&gt;
855
856 &lt;p&gt;To start tuning the X axis, move the axis to the middle of its
857 range, to make sure it do not hit anything when it start moving back
858 and forth. Next, set the &lt;tt&gt;tune-effort&lt;/tt&gt; to a low number in the
859 output range. I used 0.1 as my initial value. Next, assign 1 to the
860 &lt;tt&gt;tune-mode&lt;/tt&gt; value. Note, this will disable the pid controlling
861 part and feed 0 to the output pin, which in my case initially caused a
862 lot of drift. In my case it proved to be a good idea with X and Y to
863 tune the motor driver to make sure 0 voltage stopped the motor
864 rotation. On the other hand, for the Z axis this proved to be a bad
865 idea, so it will depend on your setup. It might help to set the
866 &lt;tt&gt;bias&lt;/tt&gt; value to a output value that reduce or eliminate the
867 axis drift. Finally, after setting &lt;tt&gt;tune-mode&lt;/tt&gt;, set
868 &lt;tt&gt;tune-start&lt;/tt&gt; to 1 to activate the auto tuning. If all go well,
869 your axis will vibrate for a few seconds and when it is done, new
870 values for Pgain, Igain and Dgain will be active. To test them,
871 change &lt;tt&gt;tune-mode&lt;/tt&gt; back to 0. Note that this might cause the
872 machine to suddenly jerk as it bring the axis back to its commanded
873 position, which it might have drifted away from during tuning. To
874 summarize with some halcmd lines:&lt;/p&gt;
875
876 &lt;blockquote&gt;&lt;pre&gt;
877 setp pid.x.tune-effort 0.1
878 setp pid.x.tune-mode 1
879 setp pid.x.tune-start 1
880 # wait for the tuning to complete
881 setp pid.x.tune-mode 0
882 &lt;/pre&gt;&lt;/blockquote&gt;
883
884 &lt;p&gt;After doing this task quite a few times while trying to figure out
885 how to properly tune the PID controllers on the machine in, I decided
886 to figure out if this process could be automated, and wrote a script
887 to do the entire tuning process from power on. The end result will
888 ensure the machine is powered on and ready to run, home all axis if it
889 is not already done, check that the extra tuning pins are available,
890 move the axis to its mid point, run the auto tuning and re-enable the
891 pid controller when it is done. It can be run several times. Check
892 out the
893 &lt;a href=&quot;https://github.com/SebKuzminsky/MazakVQC1540/blob/bon-dev/scripts/run-auto-pid-tuner&quot;&gt;run-auto-pid-tuner&lt;/a&gt;
894 script on github if you want to learn how it is done.&lt;/p&gt;
895
896 &lt;p&gt;My hope is that this little adventure can inspire someone who know
897 more about motor PID controller tuning can implement even better
898 algorithms for automatic PID tuning in LinuxCNC, making life easier
899 for both me and all the others that want to use LinuxCNC but lack the
900 in depth knowledge needed to tune PID controllers well.&lt;/p&gt;
901
902 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
903 activities, please send Bitcoin donations to my address
904 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
905 </description>
906 </item>
907
908 <item>
909 <title>My free software activity of late (2022)</title>
910 <link>https://people.skolelinux.org/pere/blog/My_free_software_activity_of_late__2022_.html</link>
911 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/My_free_software_activity_of_late__2022_.html</guid>
912 <pubDate>Mon, 20 Jun 2022 14:30:00 +0200</pubDate>
913 <description>&lt;p&gt;I guess it is time to bring some light on the various free software
914 and open culture activities and projects I have worked on or been
915 involved in the last year and a half.&lt;/p&gt;
916
917 &lt;p&gt;First, lets mention the book
918 &lt;a href=&quot;http://www.hungry.com/~pere/publisher/&quot;&gt;releases I managed to
919 publish&lt;/a&gt;. The Cory Doctorow book &quot;Hvordan knuse
920 overvåkningskapitalismen&quot; argue that it is not the magic machine
921 learning of the big technology companies that causes the surveillance
922 capitalism to thrive, it is the lack of trust busting to enforce
923 existing anti-monopoly laws. I also published a family of
924 dictionaries for machinists, one sorted on the English words, one
925 sorted on the Norwegian and the last sorted on the North Sámi words.
926 A bit on the back burner but not forgotten is the Debian
927 Administrators Handbook, where a new edition is being worked on. I
928 have not spent as much time as I want to help bring it to completion,
929 but hope I will get more spare time to look at it before the end of
930 the year.&lt;/p&gt;
931
932 &lt;p&gt;With my Debian had I have spent time on several projects, both
933 updating existing packages, helping to bring in new packages and
934 working with upstream projects to try to get them ready to go into
935 Debian. The list is rather long, and I will only mention my own
936 isenkram, openmotor, vlc bittorrent plugin, xprintidle, norwegian
937 letter style for latex, bs1770gain, and recordmydesktop. In addition
938 to these I have sponsored several packages into Debian, like audmes.&lt;/p&gt;
939
940 &lt;p&gt;The last year I have looked at several infrastructure projects for
941 collecting meter data and video surveillance recordings. This include
942 several ONVIF related tools like onvifviewer and zoneminder as well as
943 rtl-433, wmbusmeters and rtl-wmbus.&lt;/p&gt;
944
945 &lt;p&gt;In parallel with this I have looked at fabrication related free
946 software solutions like pycam and LinuxCNC. The latter recently
947 gained improved translation support using po4a and weblate, which was
948 a harder nut to crack that I had anticipated when I started.&lt;/p&gt;
949
950 &lt;p&gt;Several hours have been spent translating free software to
951 Norwegian Bokmål on the Weblate hosted service. Do not have a
952 complete list, but you will find my contributions in at least gnucash,
953 minetest and po4a.&lt;/p&gt;
954
955 &lt;p&gt;I also spent quite some time on the Norwegian archiving specification
956 Noark 5, and its companion project Nikita implementing the API
957 specification for Noark 5.&lt;/p&gt;
958
959 &lt;p&gt;Recently I have been looking into free software tools to do company
960 accounting here in Norway., which present an interesting mix between
961 law, rules, regulations, format specifications and API interfaces.&lt;/p&gt;
962
963 &lt;p&gt;I guess I should also mention the Norwegian community driven
964 government interfacing projects Mimes Brønn and Fiksgatami, which have
965 ended up in a kind of limbo while the future of the projects is being
966 worked out.&lt;/p&gt;
967
968 &lt;p&gt;These are just a few of the projects I have been involved it, and
969 would like to give more visibility. I&#39;ll stop here to avoid delaying
970 this post.&lt;/p&gt;
971
972 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
973 activities, please send Bitcoin donations to my address
974 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
975 </description>
976 </item>
977
978 <item>
979 <title>LinuxCNC translators life just got a bit easier</title>
980 <link>https://people.skolelinux.org/pere/blog/LinuxCNC_translators_life_just_got_a_bit_easier.html</link>
981 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/LinuxCNC_translators_life_just_got_a_bit_easier.html</guid>
982 <pubDate>Fri, 3 Jun 2022 21:10:00 +0200</pubDate>
983 <description>&lt;p&gt;Back in oktober last year, when I started looking at the
984 &lt;a href=&quot;https://en.wikipedia.org/wiki/LinuxCNC&quot;&gt;LinuxCNC&lt;/a&gt; system, I
985 proposed to change the documentation build system make life easier for
986 translators. The original system consisted of independently written
987 documentation files for each language, with no automated way to track
988 changes done in other translations and no help for the translators to
989 know how much was left to translated. By using
990 &lt;a href=&quot;https://po4a.org/&quot;&gt;the po4a system&lt;/a&gt; to generate POT and PO
991 files from the English documentation, this can be improved. A small
992 team of LinuxCNC contributors got together and today our labour
993 finally payed off. Since a few hours ago, it is now possible to
994 translate &lt;a href=&quot;https://hosted.weblate.org/projects/linuxcnc/&quot;&gt;the
995 LinuxCNC documentation on Weblate&lt;/a&gt;, alongside the program itself.&lt;/p&gt;
996
997 &lt;p&gt;The effort to migrate the documentation to use po4a has been both
998 slow and frustrating. I am very happy we finally made it.&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>geteltorito make CD firmware upgrades a breeze</title>
1008 <link>https://people.skolelinux.org/pere/blog/geteltorito_make_CD_firmware_upgrades_a_breeze.html</link>
1009 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/geteltorito_make_CD_firmware_upgrades_a_breeze.html</guid>
1010 <pubDate>Wed, 20 Apr 2022 11:50:00 +0200</pubDate>
1011 <description>&lt;p&gt;Recently I wanted to upgrade the firmware of my thinkpad, and
1012 located the firmware download page from Lenovo (which annoyingly do
1013 not allow access via Tor, forcing me to hand them more personal
1014 information that I would like). The
1015 &lt;a href=&quot;https://support.lenovo.com/no/en/search?query=thinkpad firmware bios upgrade iso&amp;SearchType=Customer search&amp;searchLocation=Masthead&quot;&gt;download
1016 from Lenovo&lt;/a&gt; is a bootable ISO image, which is a bit of a problem
1017 when all I got available is a USB memory stick. I tried booting the
1018 ISO as a USB stick, but this did not work. But genisoimage came to
1019 the rescue.&lt;/p&gt;
1020
1021 &lt;P&gt;The geteltorito program in
1022 &lt;a href=&quot;http://tracker.debian.org/cdrkit&quot;&gt;the genisoimage binary
1023 package&lt;/a&gt; is able to convert the bootable ISO image to a bootable
1024 USB stick using a simple command line recipe, which I then can write
1025 to the most recently inserted USB stick:&lt;/p&gt;
1026
1027 &lt;blockquote&gt;&lt;pre&gt;
1028 geteltorito -o usbstick.img lenovo-firmware.iso
1029 sudo dd bs=10M if=usbstick.img of=$(ls -tr /dev/sd?|tail -1)
1030 &lt;/pre&gt;&lt;/blockquote&gt;
1031
1032 &lt;p&gt;This USB stick booted the firmware upgrader just fine, and in a few
1033 minutes my machine had the latest and greatest BIOS firmware in place.&lt;/p&gt;
1034 </description>
1035 </item>
1036
1037 <item>
1038 <title>Playing and encoding AV1 in Debian Bullseye</title>
1039 <link>https://people.skolelinux.org/pere/blog/Playing_and_encoding_AV1_in_Debian_Bullseye.html</link>
1040 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Playing_and_encoding_AV1_in_Debian_Bullseye.html</guid>
1041 <pubDate>Sat, 16 Apr 2022 08:40:00 +0200</pubDate>
1042 <description>&lt;p&gt;Inspired by the recent news of
1043 &lt;a href=&quot;https://slashdot.org/story/22/04/03/2039219/intel-beats-amd-and-nvidia-with-arc-gpus-full-av1-support&quot;&gt;AV1
1044 hardware encoding support from Intel&lt;/a&gt;, I decided to look into
1045 the state of AV1 on Linux today. AV1 is a
1046 &lt;a href=&quot;https://web.archive.org/web/20160618103850/http://www.digistan.org/open-standard:definition&quot;&gt;free
1047 and open standard&lt;/a&gt; as defined by Digistan without any royalty
1048 payment requirement, unlike its much used competitor encoding
1049 H.264. While looking, I came across an 5 year
1050 &lt;a href=&quot;https://askubuntu.com/questions/1061908/how-to-encode-and-playback-video-with-the-av1-codec-on-bionic-beaver-18-04&quot;&gt;old
1051 question on askubuntu.com&lt;/a&gt; which in turn inspired me to check out
1052 how things are in Debian Stable regarding AV1. The test file listed
1053 in the question (askubuntu_test_aom.mp4) did not exist any more, so I
1054 tracked down a different set of test files on
1055 &lt;a href=&quot;https://av1.webmfiles.org/&quot;&gt;av1.webmfiles.org&lt;/a&gt; to test them
1056 with the various video tools I had installed on my machine. I was
1057 happy to discover that AV1 decoding and playback worked with almost
1058 every tool I tested:
1059
1060 &lt;table align=&quot;center&quot;&gt;
1061 &lt;tr&gt;&lt;td&gt;mediainfo&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1062 &lt;tr&gt;&lt;td&gt;dragonplayer&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1063 &lt;tr&gt;&lt;td&gt;ffmpeg / ffplay&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1064 &lt;tr&gt;&lt;td&gt;gnome-mplayer&lt;/td&gt; &lt;td&gt;fail&lt;/td&gt;&lt;/tr&gt;
1065 &lt;tr&gt;&lt;td&gt;mplayer&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1066 &lt;tr&gt;&lt;td&gt;mpv&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1067 &lt;tr&gt;&lt;td&gt;parole&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1068 &lt;tr&gt;&lt;td&gt;vlc&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1069 &lt;tr&gt;&lt;td&gt;firefox&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1070 &lt;tr&gt;&lt;td&gt;chromium&lt;/td&gt; &lt;td&gt;ok&lt;/td&gt;&lt;/tr&gt;
1071 &lt;/table&gt;
1072
1073 &lt;p&gt;AV1 encoding is available in Debian Stable from the aom-tools
1074 version 1.0.0.errata1-3 package, using the aomenc tool. The encoding
1075 using the package in Debian Stable is quite slow, with the frame rate
1076 for my 10 second test video at around 0.25 fps. My 10 second video
1077 test took 16 minutes and 11 seconds on my test machine.&lt;/p&gt;
1078
1079 &lt;p&gt;I tested by first running ffmpeg and then aomenc using the recipe
1080 provided by the askubuntu recipe above. I had to remove the
1081 &#39;--row-mt=1&#39; option, as it was not supported in my 1.0.0 version. The
1082 encoding only used a single thread, according to &lt;tt&gt;top&lt;/tt&gt;.&lt;/p&gt;
1083
1084 &lt;blockquote&gt;&lt;pre&gt;
1085 ffmpeg -i some-old-video.ogv -t 10 -pix_fmt yuv420p video.y4m
1086 aomenc --fps=24/1 -u 0 --codec=av1 --target-bitrate=1000 \
1087 --lag-in-frames=25 --auto-alt-ref=1 -t 24 --cpu-used=8 \
1088 --tile-columns=2 --tile-rows=2 -o output.webm video.y4m
1089 &lt;/pre&gt;&lt;/blockquote&gt;
1090
1091 &lt;p&gt;As version 1.0.0 currently have several
1092 &lt;a href=&quot;https://security-tracker.debian.org/tracker/source-package/aom&quot;&gt;unsolved
1093 security issues in Debian Stable&lt;/a&gt;, and to see if the recent
1094 backport &lt;a href=&quot;https://tracker.debian.org/pkg/aom&quot;&gt;provided in
1095 Debian&lt;/a&gt; is any quicker, I ran &lt;tt&gt;apt -t bullseye-backports install
1096 aom-tools&lt;/tt&gt; to fetch the backported version and re-encoded the
1097 video using the latest version. This time the &#39;--row-mt=1&#39; option
1098 worked, and the encoding was done in 46 seconds with a frame rate of
1099 around 5.22 fps. This time it seem to be using all my four cores to
1100 encode. Encoding speed is still too low for streaming and real time,
1101 which would require frame rates above 25 fps, but might be good enough
1102 for offline encoding.&lt;/p&gt;
1103
1104 &lt;p&gt;I am very happy to see AV1 playback working so well with the
1105 default tools in Debian Stable. I hope the encoding situation improve
1106 too, allowing even a slow old computer like my 10 year old laptop to
1107 be used for encoding.&lt;/p&gt;
1108
1109 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1110 activities, please send Bitcoin donations to my address
1111 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1112 </description>
1113 </item>
1114
1115 <item>
1116 <title>Publish Hargassner wood chip boiler state to MQTT</title>
1117 <link>https://people.skolelinux.org/pere/blog/Publish_Hargassner_wood_chip_boiler_state_to_MQTT.html</link>
1118 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Publish_Hargassner_wood_chip_boiler_state_to_MQTT.html</guid>
1119 <pubDate>Sat, 12 Mar 2022 06:30:00 +0100</pubDate>
1120 <description>&lt;p&gt;Recently I had a look at a
1121 &lt;a href=&quot;https://www.hargassner.at/&quot;&gt;Hargassner&lt;/a&gt;
1122 &lt;a href=&quot;https://www.hargassner.at/en/products/wood-chip-boiler.html&quot;&gt;wood
1123 chip boiler&lt;/a&gt;, and what kind of free software can be used to monitor
1124 and control it. The boiler can be connected to some cloud service via
1125 what the producer call an Internet Gateway, which seem to be a
1126 computer connecting to the boiler and passing the information gathered
1127 to the cloud. I discovered the boiler controller got an IP address on
1128 the local network and listen on TCP port 23 to provide status
1129 information as a text line of numbers. It also provide a HTTP server
1130 listening on port 80, but I have not yet figured out what it can do
1131 beside return an error code.&lt;/p&gt;
1132
1133 &lt;p&gt;If I am to believe various free software implementations talking to
1134 such boiler, the interpretation of the line of numbers differ between
1135 type of boiler and software version on the boiler. By comparing the
1136 list of numbers on the front panel of the boiler with the numbers
1137 returned via TCP, I have been able to figure out several of the
1138 numbers, but there are a lot left to understand. I&#39;ve located several
1139 temperature measurements and hours running values, as well as oxygen
1140 measurements and counters.&lt;/p&gt;
1141
1142 I decided to write a simple parser in Python for the values I figured
1143 out so far, and a simple MQTT injector publishing both the interpreted
1144 and the unknown values on a MQTT bus to make collecting and graphing
1145 simpler. The end result is available from the
1146 &lt;a href=&quot;https://gitlab.com/petterreinholdtsen/hargassner2mqtt&quot;&gt;hargassner2mqtt
1147 project page&lt;/a&gt; on gitlab. I very much welcome patches extending the
1148 parser to understand more values, boiler types and software versions.
1149 I do not really expect very few free software developers got their
1150 hands on such unit to experiment, but it would be fun if others too find
1151 this project useful.&lt;/p&gt;
1152
1153 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1154 activities, please send Bitcoin donations to my address
1155 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1156 </description>
1157 </item>
1158
1159 <item>
1160 <title>Run your industrial metal working machine using Debian?</title>
1161 <link>https://people.skolelinux.org/pere/blog/Run_your_industrial_metal_working_machine_using_Debian_.html</link>
1162 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Run_your_industrial_metal_working_machine_using_Debian_.html</guid>
1163 <pubDate>Wed, 2 Mar 2022 18:40:00 +0100</pubDate>
1164 <description>&lt;p&gt;After many months of hard work by the good people involved in
1165 &lt;a href=&quot;https://en.wikipedia.org/wiki/LinuxCNC&quot;&gt;LinuxCNC&lt;/a&gt;, the
1166 system was accepted Sunday
1167 &lt;a href=&quot;https://tracker.debian.org/pkg/linuxcnc&quot;&gt;into Debian&lt;/a&gt;.
1168 Once it was available from Debian, I was surprised to discover from
1169 &lt;a href=&quot;https://qa.debian.org/popcon.php?package=linuxcnc&quot;&gt;its
1170 popularity-contest numbers&lt;/a&gt; that people have been reporting its use
1171 since 2012. &lt;a href=&quot;http://linuxcnc.org/&quot;&gt;Its project site&lt;/a&gt; might
1172 be a good place to check out, but sadly is not working when visiting
1173 via Tor.&lt;/p&gt;
1174
1175 &lt;p&gt;But what is LinuxCNC, you are probably wondering? Perhaps a
1176 Wikipedia quote is in place?&lt;/p&gt;
1177
1178 &lt;blockquote&gt;
1179 &quot;LinuxCNC is a software system for numerical control of
1180 machines such as milling machines, lathes, plasma cutters, routers,
1181 cutting machines, robots and hexapods. It can control up to 9 axes or
1182 joints of a CNC machine using G-code (RS-274NGC) as input. It has
1183 several GUIs suited to specific kinds of usage (touch screen,
1184 interactive development).&quot;
1185 &lt;/blockquote&gt;
1186
1187 &lt;p&gt;It can even control 3D printers. And even though the Wikipedia
1188 page indicate that it can only work with hard real time kernel
1189 features, it can also work with the user space soft real time features
1190 provided by the Debian kernel.
1191 &lt;a href=&quot;https://github.com/linuxcnc/linuxcnc&quot;&gt;The source code&lt;/a&gt; is
1192 available from Github. The last few months I&#39;ve been involved in the
1193 translation setup for the program and documentation. Translators are
1194 most welcome to
1195 &lt;a href=&quot;https://hosted.weblate.org/engage/linuxcnc/&quot;&gt;join the
1196 effort&lt;/a&gt; using Weblate.&lt;/p&gt;
1197
1198 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1199 activities, please send Bitcoin donations to my address
1200 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1201 </description>
1202 </item>
1203
1204 <item>
1205 <title>Updated vlc bittorrent plugin in Debian (version 2.14)</title>
1206 <link>https://people.skolelinux.org/pere/blog/Updated_vlc_bittorrent_plugin_in_Debian__version_2_14_.html</link>
1207 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Updated_vlc_bittorrent_plugin_in_Debian__version_2_14_.html</guid>
1208 <pubDate>Mon, 14 Feb 2022 08:00:00 +0100</pubDate>
1209 <description>&lt;p&gt;I am very happy to report that a new version of the
1210 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;VLC
1211 bittorrent plugin&lt;/a&gt; was just uploaded into debian. The changes
1212 since last time is mostly code clean in the download code. The package
1213 is currently in Debian unstable, but should be available in Debian
1214 testing son. To test it, simply install it like this:&lt;/p&gt;
1215
1216 &lt;p&gt;&lt;pre&gt;
1217 apt install vlc-plugin-bittorrent
1218 &lt;/pre&gt;&lt;/p&gt;
1219
1220 &lt;p&gt;After it is installed, you can try to use it to play a file
1221 downloaded live via bittorrent like this:
1222
1223 &lt;p&gt;&lt;pre&gt;
1224 vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
1225 &lt;/pre&gt;&lt;/p&gt;
1226
1227 &lt;p&gt;It can also use magnet links and local .torrent files like the ones
1228 provided by the Internet Archive. Another example is the &lt;a
1229 href=&quot;https://archive.org/details/LoveNest&quot;&gt;Love Nest&lt;/a&gt; Buster
1230 Keaton movie, where one can click on the &#39;Torrent&#39; link to get going.&lt;/p&gt;
1231
1232 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1233 activities, please send Bitcoin donations to my address
1234 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1235 </description>
1236 </item>
1237
1238 <item>
1239 <title>A Brazilian Portuguese translation of the book Made with Creative Commons</title>
1240 <link>https://people.skolelinux.org/pere/blog/A_Brazilian_Portuguese_translation_of_the_book_Made_with_Creative_Commons.html</link>
1241 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_Brazilian_Portuguese_translation_of_the_book_Made_with_Creative_Commons.html</guid>
1242 <pubDate>Fri, 3 Dec 2021 09:30:00 +0100</pubDate>
1243 <description>&lt;p&gt;A few days ago, a productive translator started working on a new
1244 translation of &lt;a href=&quot;https://madewith.cc&quot;&gt;the Made with Creative
1245 Commons book&lt;/a&gt; for Brazilian Portuguese. The translation take place on
1246 &lt;a href=&quot;https://hosted.weblate.org/projects/madewithcc/translation/&quot;&gt;the
1247 Weblate web based translation system&lt;/a&gt;. Once the translation is
1248 complete and proof read, we can publish it on paper as well as in PDF,
1249 ePub and HTML format. The translation is already 16% complete, and if
1250 more people get involved I am conviced it can very quickly reach 100%.
1251 If you are interested in helping out with this or other translations
1252 of the Made with Creative Commons book, start translating on
1253 Weblate. There are partial translations available in Azerbaijani,
1254 Bengali, Brazilian Portuguese, Dutch, French, German, Greek, Polish,
1255 Simplified Chinese, Swedish, Thai and Ukrainian.&lt;/p&gt;
1256
1257 &lt;p&gt;The &lt;a href=&quot;https://gitlab.com/gunnarwolf/madewithcc-es.git&quot;&gt;git
1258 repository for the book&lt;/a&gt; contain all source files needed to build
1259 the book for yourself.
1260 &lt;a href=&quot;https://gunnarwolf.gitlab.io/madewithcc-es/&quot;&gt;HTML editions&lt;/a&gt;
1261 to help with proof reading is also available.&lt;/p&gt;
1262
1263 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1264 activities, please send Bitcoin donations to my address
1265 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1266 </description>
1267 </item>
1268
1269 <item>
1270 <title>Debian still an excellent choice for Lego builders</title>
1271 <link>https://people.skolelinux.org/pere/blog/Debian_still_an_excellent_choice_for_Lego_builders.html</link>
1272 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_still_an_excellent_choice_for_Lego_builders.html</guid>
1273 <pubDate>Sun, 24 Oct 2021 07:10:00 +0200</pubDate>
1274 <description>&lt;p&gt;The Debian Lego team saw a lot of activity the last few weeks. All
1275 the packages under the team umbrella has been updated to fix
1276 packaging, lintian issues and BTS reports. In addition, a new and
1277 inspiring team member appeared on both the
1278 &lt;a href=&quot;https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-lego-team&quot;&gt;debian-lego-team
1279 Team mailing list&lt;/a&gt; and
1280 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;IRC channel
1281 #debian-lego&lt;/a&gt;. If you are interested in Lego CAD design and LEGO
1282 Mindstorms programming, check out the
1283 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;team wiki page&lt;/a&gt; to
1284 see what Debian can offer the Lego enthusiast.&lt;/p&gt;
1285
1286 &lt;p&gt;Patches has been sent upstream, causing new upstream releases, one
1287 even the first one in more than ten years, and old upstreams was
1288 released with new ones. There are still a lot of work left, and the
1289 team welcome more members to help us make sure Debian is the Linux
1290 distribution of choice for Lego builders. If you want to contribute,
1291 join us in the IRC channel and become part of
1292 &lt;a href=&quot;https://salsa.debian.org/debian-lego-team/&quot;&gt;the team on
1293 Salsa&lt;/a&gt;.&lt;/p&gt;
1294
1295 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1296 activities, please send Bitcoin donations to my address
1297 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1298 </description>
1299 </item>
1300
1301 <item>
1302 <title>Mechanic&#39;s words in five languages, English, Norwegian and Northern Sámi editions</title>
1303 <link>https://people.skolelinux.org/pere/blog/Mechanic_s_words_in_five_languages__English__Norwegian_and_Northern_S_mi_editions.html</link>
1304 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Mechanic_s_words_in_five_languages__English__Norwegian_and_Northern_S_mi_editions.html</guid>
1305 <pubDate>Wed, 4 Aug 2021 15:30:00 +0200</pubDate>
1306 <description>&lt;p&gt;Almost thirty years ago, some forward looking teachers at Samisk
1307 videregående skole og reindriftsskole teaching metal work and Northern
1308 Sámi, decided to create a list of words used in Northern Sámi metal
1309 work. After almost ten years this resulted in a dictionary database,
1310 published as the book
1311 &quot;&lt;a href=&quot;https://ovttas.no/nb/girji_mekanikerord&quot;&gt;Mekanihkkársánit :
1312 Mekanikerord = Mekaanisen alan sanasto = Mechanic&#39;s words&lt;/a&gt;&quot; in
1313 1999. The
1314 &lt;a href=&quot;http://www.skuvla.info/skolehist/sveinl-n.htm&quot;&gt;story of this
1315 work&lt;/a&gt; is available from the pen of Svein Lund, one of the leading
1316 actors behind this effort. They even got the dictionary approved by
1317 the Sámi Language Council as the recommended metal work words to use.&lt;/p&gt;
1318
1319 &lt;p&gt;Fast forward twenty years, I came across this work when I recently
1320 became interested in metal work, and started watching educational and
1321 funny videos on the topic, like the ones from
1322 &lt;a href=&quot;https://yewtu.be/channel/UCKLIIdKEpjAnn8E76KP7sQg&quot;&gt;mrpete222&lt;/a&gt;
1323 and &lt;a href=&quot;https://yewtu.be/channel/UC5NO8MgTQKHAWXp6z8Xl7yQ&quot;&gt;This
1324 Old Tony&lt;/a&gt;. But they all talk English, but I wanted to know what
1325 the tools and techniques they used were called in Norwegian. Trying
1326 to track down a good dictionary from English to Norwegian, after much
1327 searching, I came across the database of words created
1328 almost thirty years ago, with translations into English, Norwegian,
1329 Northern Sámi, Swedish and Finnish. This gave me a lot of the
1330 Norwegian phrases I had been looking for. To make it easier for the
1331 next person trying to track down a good Norwegian dictionary for the
1332 metal worker, and because I knew the person behind the database from
1333 my Skolelinux / Debian Edu days, I decided to ask if the database
1334 could be released to the public without any usage limitations, in
1335 other words as a Creative Commons licensed data set. And happily,
1336 after consulting with the Sámi Parliament of Norway, the database is
1337 now available with the Creative Commons Attribution 4.0 International
1338 license from
1339 &lt;a href=&quot;https://gitlab.com/petterreinholdtsen/mekanikerord&quot;&gt;my gitlab
1340 repository&lt;/a&gt;.&lt;/p&gt;
1341
1342 &lt;p&gt;The dictionary entries look slightly different, depending on the
1343 language in focus. This is the same entry in the different editions.
1344
1345 &lt;p&gt;&lt;em&gt;English&lt;/em&gt;&lt;/p&gt;
1346
1347 &lt;blockquote&gt;
1348 &lt;dl&gt;
1349 &lt;dt&gt;&lt;strong&gt;lathe&lt;/strong&gt;&lt;/dt&gt;
1350
1351 &lt;dd&gt;&lt;p&gt;dreiebenk (nb) várve, várvenbea&amp;#331;ka, jorahanbea&amp;#331;ka, vátnanbea&amp;#331;ka (se) svarv (sv) sorvi (fi) &lt;/p&gt;&lt;/dd&gt;
1352
1353 &lt;/dl&gt;
1354 &lt;/blockquote&gt;
1355
1356 &lt;p&gt;&lt;em&gt;Norwegian&lt;/em&gt;&lt;/p&gt;
1357
1358 &lt;blockquote&gt;
1359 &lt;dl&gt;
1360 &lt;dt&gt;&lt;strong&gt;dreiebenk&lt;/strong&gt;&lt;/dt&gt;
1361
1362 &lt;dd&gt;&lt;p&gt;lathe (en) várve, várvenbea&amp;#331;ka, jorahanbea&amp;#331;ka,
1363 vátnanbea&amp;#331;ka (se) svarv (sv) sorvi (fi) &lt;/p&gt;&lt;/dd&gt;
1364
1365 &lt;dd&gt;&lt;p&gt;(nb): sponskjærande bearbeidingsmaskin der ein med
1366 skjæreverktøy lausgjør spon frå eit roterande
1367 arbetsstykke&lt;/p&gt;&lt;/dd&gt;
1368
1369 &lt;/dl&gt;
1370 &lt;/blockquote&gt;
1371
1372 &lt;p&gt;&lt;em&gt;Northern Sámi&lt;/em&gt;&lt;/p&gt;
1373
1374 &lt;blockquote&gt;
1375 &lt;dl&gt;
1376 &lt;dt&gt;&lt;strong&gt;várve, várvenbea&amp;#331;ka, jorahanbea&amp;#331;ka, vátnanbea&amp;#331;ka&lt;/strong&gt;&lt;/dt&gt;
1377
1378 &lt;dd&gt;&lt;p&gt;dreiebenk (nb) lathe (en) svarv (sv) sorvi (fi) &lt;/p&gt;&lt;/dd&gt;
1379
1380 &lt;dd&gt;&lt;p&gt;(se): ma&amp;#353;iidna mainna &amp;#269;uohppá vuolahasaid jorri
1381 bargoávdnasis&lt;/p&gt;&lt;/dd&gt;
1382
1383 &lt;dd&gt;&lt;p&gt;(nb): sponskjærande bearbeidingsmaskin der ein med
1384 skjæreverktøy lausgjør spon frå eit roterande
1385 arbetsstykke&lt;/p&gt;&lt;/dd&gt;
1386
1387 &lt;dl&gt;
1388 &lt;/blockquote&gt;
1389
1390 &lt;p&gt;The database included term description in both Norwegian and
1391 Northern Sámi, but not English. Because of this, the Northern Sámi
1392 edition include both descriptions, the Norwegian edition include the
1393 Norwegian description and the English edition lack a descripiton.&lt;/p&gt;
1394
1395 &lt;p&gt;Once the database was available without any usage restrictions, and
1396 armed with my experience in publishing books, I decided to publish a
1397 Norwegian/English dictionary as a book using the database, to make the
1398 data set available also on paper and as an ebook. Further into the
1399 project, it occurred to me that I could just as easily make an English
1400 dictionary, and talking to Svein and concluding that it was within
1401 reach, I decided to make a Northern Sámi dictionary too.&lt;/p&gt;
1402
1403 &lt;p&gt;Thus I suddenly find myself publishing a Northern Sámi dictionary,
1404 even though I do not understand the language myself. I hope it will
1405 be well received, and can help revive the impressive work done almost
1406 thirty years ago to document the vocabulary of metal workers. If I
1407 get some help, I might even extend it with some of the words I find
1408 missing, like collet, rotary broach, carbide, knurler, arbor press and
1409 others. But the first edition build from a lightly edited version of
1410 the original database, with no new entries added. If you would like
1411 to check it out, visit
1412 &lt;a href=&quot;http://www.hungry.com/~pere/publisher/&quot;&gt;my list of published
1413 books&lt;/a&gt; and consider
1414 &lt;a href=&quot;https://www.lulu.com/search?contributor=Petter+Reinholdtsen&quot;&gt;buying
1415 a paper or ebook copy from lulu.com&lt;/a&gt;. The paper edition is only
1416 available in hardcover to increase its durability in the workshop.&lt;/p&gt;
1417
1418 &lt;p&gt;I am very happy to report that in the process, and thanks to help
1419 from both Svein Lund and Børre Gaup who understand the language, the
1420 docbook tools I use to create books, dblatex and docbook-xsl, now
1421 include support for Northern Sámi. Before I started, these lacked the
1422 needed locale settings for this language, but now the patches are
1423 included upstream.&lt;/p&gt;
1424
1425 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1426 activities, please send Bitcoin donations to my address
1427 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1428 </description>
1429 </item>
1430
1431 <item>
1432 <title>Six complete translations of The Debian Administrator&#39;s Handbook for Buster</title>
1433 <link>https://people.skolelinux.org/pere/blog/Six_complete_translations_of_The_Debian_Administrator_s_Handbook_for_Buster.html</link>
1434 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Six_complete_translations_of_The_Debian_Administrator_s_Handbook_for_Buster.html</guid>
1435 <pubDate>Mon, 5 Jul 2021 19:20:00 +0200</pubDate>
1436 <description>&lt;p&gt;I am happy observe that the &lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The
1437 Debian Administrator&#39;s Handbook&lt;/a&gt; is available in six languages now.
1438 I am not sure which one of these are completely proof read, but the
1439 complete book is available in these languages:
1440
1441 &lt;ul&gt;
1442
1443 &lt;li&gt;English&lt;/li&gt;
1444 &lt;li&gt;Norwegian Bokmål&lt;/li&gt;
1445 &lt;li&gt;German&lt;/li&gt;
1446 &lt;li&gt;Indonesian&lt;/li&gt;
1447 &lt;li&gt;Brazil Portuguese&lt;/li&gt;
1448 &lt;li&gt;Spanish&lt;/li&gt;
1449
1450 &lt;/ul&gt;
1451
1452 &lt;p&gt;This is the list of languages more than 70% complete, in other
1453 words with not too much left to do:&lt;/p&gt;
1454
1455 &lt;ul&gt;
1456
1457 &lt;li&gt;Chinese (Simplified) - 90%&lt;/li&gt;
1458 &lt;li&gt;French - 79%&lt;/li&gt;
1459 &lt;li&gt;Italian - 79%&lt;/li&gt;
1460 &lt;li&gt;Japanese - 77%&lt;/li&gt;
1461 &lt;li&gt;Arabic (Morocco) - 75%&lt;/li&gt;
1462 &lt;li&gt;Persian - 71%&lt;/li&gt;
1463
1464 &lt;/ul&gt;
1465
1466 &lt;p&gt;I wonder how long it will take to bring these to 100%.&lt;/p&gt;
1467
1468 &lt;p&gt;Then there is the list of languages about halfway done:&lt;/p&gt;
1469
1470 &lt;ul&gt;
1471
1472 &lt;li&gt;Russian - 63%&lt;/li&gt;
1473 &lt;li&gt;Swedish - 53%&lt;/li&gt;
1474 &lt;li&gt;Chinese (Traditional) - 46%&lt;/li&gt;
1475 &lt;li&gt;Catalan - 45%&lt;/li&gt;
1476
1477 &lt;/ul&gt;
1478
1479 &lt;p&gt;Several are on to a good start:&lt;/p&gt;
1480
1481 &lt;ul&gt;
1482
1483 &lt;li&gt;Dutch - 26%&lt;/li&gt;
1484 &lt;li&gt;Vietnamese - 25%&lt;/li&gt;
1485 &lt;li&gt;Polish - 23%&lt;/li&gt;
1486 &lt;li&gt;Czech - 22%&lt;/li&gt;
1487 &lt;li&gt;Turkish - 18%&lt;/li&gt;
1488
1489 &lt;/ul&gt;
1490
1491 &lt;p&gt;Finally, there are the ones just getting started:&lt;/p&gt;
1492
1493 &lt;ul&gt;
1494
1495 &lt;li&gt;Korean - 4%&lt;/li&gt;
1496 &lt;li&gt;Croatian - 2%&lt;/li&gt;
1497 &lt;li&gt;Greek - 2%&lt;/li&gt;
1498 &lt;li&gt;Danish - 1%&lt;/li&gt;
1499 &lt;li&gt;Romanian - 1%&lt;/li&gt;
1500
1501 &lt;/ul&gt;
1502
1503 &lt;p&gt;If you want to help provide a Debian instruction book in your own
1504 language, visit
1505 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/#languages&quot;&gt;Weblate&lt;/a&gt;
1506 to contribute to the translations.&lt;/p&gt;
1507
1508 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1509 activities, please send Bitcoin donations to my address
1510 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1511 </description>
1512 </item>
1513
1514 <item>
1515 <title>Nikita version 0.6 released - free software archive API server</title>
1516 <link>https://people.skolelinux.org/pere/blog/Nikita_version_0_6_released___free_software_archive_API_server.html</link>
1517 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nikita_version_0_6_released___free_software_archive_API_server.html</guid>
1518 <pubDate>Thu, 10 Jun 2021 17:10:00 +0200</pubDate>
1519 <description>&lt;p&gt;I am very pleased to be able to share with you
1520 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2021-June/000576.html&quot;&gt;the
1521 announcement of a new version of the archiving system Nikita&lt;/a&gt;
1522 published by its lead developer Thomas Sødring:&lt;/p&gt;
1523
1524 &lt;p&gt;&lt;blockquote&gt;
1525
1526 &lt;p&gt;It is with great pleasure that we can announce a new release of
1527 nikita. Version 0.6
1528 (&lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&lt;/a&gt;). This
1529 release makes new record keeping functionality available. This really
1530 is a maturity release. Both in terms of functionality but also code.
1531 Considerable effort has gone into refactoring the codebase and
1532 simplifying the code. Notable changes for this release include:&lt;/p&gt;
1533
1534 &lt;ul&gt;
1535
1536 &lt;li&gt;Significantly improved OData parsing&lt;/li&gt;
1537 &lt;li&gt;Support for business specific metadata and national identifiers&lt;/li&gt;
1538 &lt;li&gt;Continued implementation of domain model and endpoints&lt;/li&gt;
1539 &lt;li&gt;Improved testing&lt;/li&gt;
1540 &lt;li&gt;Ability to export and import from arkivstruktur.xml&lt;/li&gt;
1541
1542 &lt;/ul&gt;
1543
1544 &lt;p&gt;We are currently in the process of reaching an agreement with an
1545 archive institution to publish their picture archive using nikita with
1546 business specific metadata and we hope that we can share this with you
1547 soon. This is an interesting project as it allows the organisation to
1548 bring an older picture archive back to life while using the original
1549 metadata values stored as business specific metadata. Combined with
1550 OData means the scope and use of the archive is significantly
1551 increased and will showcase both the flexibility and power of
1552 Noark.&lt;/p&gt;
1553
1554 &lt;p&gt;I really think we are approaching a version 1.0 of nikita, even
1555 though there is still a lot of work to be done. The notable work at
1556 the moment is to implement access-control and full text indexing of
1557 documents.&lt;/p&gt;
1558
1559 &lt;p&gt;My sincere thanks to everyone who has contributed to this
1560 release!&lt;/p&gt;
1561
1562 &lt;p&gt;- Thomas&lt;/p&gt;
1563
1564 &lt;p&gt;&lt;strong&gt;Release 0.6 2021-06-10 (d1ba5fc7e8bad0cfdce45ac20354b19d10ebbc7b)&lt;/strong&gt;&lt;/p&gt;
1565
1566 &lt;ul&gt;
1567
1568 &lt;li&gt;Refactor metadata entity search&lt;/li&gt;
1569 &lt;li&gt;Remove redundant security configuration&lt;/li&gt;
1570 &lt;li&gt;Make OpenAPI documentation work&lt;/li&gt;
1571 &lt;li&gt;Change database structure / inheritance model to a more sensible approach&lt;/li&gt;
1572 &lt;li&gt;Make it possible to move entities around the fonds structure&lt;/li&gt;
1573 &lt;li&gt;Implemented a number of missing endpoints&lt;/li&gt;
1574 &lt;li&gt;Make sure yml files are in sync&lt;/li&gt;
1575 &lt;li&gt;Implemented/finalised storing and use of
1576 &lt;ul&gt;
1577     &lt;li&gt;Business Specific Metadata&lt;/li&gt;
1578     &lt;li&gt;Norwegian National Identifiers&lt;/li&gt;
1579     &lt;li&gt;Cross Reference&lt;/li&gt;
1580     &lt;li&gt;Keyword&lt;/li&gt;
1581     &lt;li&gt;StorageLocation&lt;/li&gt;
1582     &lt;li&gt;Author&lt;/li&gt;
1583     &lt;li&gt;Screening for relevant objects&lt;/li&gt;
1584     &lt;li&gt;ChangeLog&lt;/li&gt;
1585     &lt;li&gt;EventLog&lt;/li&gt;
1586 &lt;/ul&gt;&lt;/li&gt;
1587 &lt;li&gt;Make generation of updated docker image part of successful CI pipeline&lt;/li&gt;
1588 &lt;li&gt;Implement pagination for all list requests
1589 &lt;ul&gt;
1590     &lt;li&gt;Refactor code to support lists&lt;/li&gt;
1591     &lt;li&gt;Refactor code for readability&lt;/li&gt;
1592     &lt;li&gt;Standardise the controller/service code&lt;/li&gt;
1593 &lt;/ul&gt;&lt;/li&gt;
1594 &lt;li&gt;Finalise File-&gt;CaseFile expansion and Record-&gt;registryEntry/recordNote
1595 expansion&lt;/li&gt;
1596 &lt;li&gt;Improved Continuous Integration (CI) approach via gitlab&lt;/li&gt;
1597 &lt;li&gt;Changed conversion approach to generate tagged PDF documents&lt;/li&gt;
1598 &lt;li&gt;Updated dependencies
1599 &lt;ul&gt;
1600     &lt;li&gt;For security reasons&lt;/li&gt;
1601     &lt;li&gt;Brought codebase to spring-boot version 2.5.0&lt;/li&gt;
1602     &lt;li&gt;Remove import of necessary dependencies&lt;/li&gt;
1603     &lt;li&gt;Remove non-used metrics classes&lt;/li&gt;
1604 &lt;/ul&gt;&lt;/li&gt;
1605 &lt;li&gt;Added new analysis to CI including&lt;/li&gt;
1606 &lt;li&gt;Implemented storing of Keyword&lt;/li&gt;
1607 &lt;li&gt;Implemented storing of Screening and ScreeningMetadata&lt;/li&gt;
1608 &lt;li&gt;Improved OData support
1609 &lt;ul&gt;
1610     &lt;li&gt;Better support for inheritance in queries where applicable&lt;/li&gt;
1611     &lt;li&gt;Brought in more OData tests&lt;/li&gt;
1612     &lt;li&gt;Improved OData/hibernate understanding of queries&lt;/li&gt;
1613     &lt;li&gt;Implement $count, $orderby&lt;/li&gt;
1614     &lt;li&gt;Finalise $top and $skip&lt;/li&gt;
1615     &lt;li&gt;Make sure &amp; is used between query parameters&lt;/li&gt;
1616 &lt;/ul&gt;&lt;/li&gt;
1617 &lt;li&gt;Improved Testing in codebase
1618 &lt;ul&gt;
1619     &lt;li&gt;A new approach for integration tests to make test more readable&lt;/li&gt;
1620     &lt;li&gt;Introduce tests in parallel with code development for TDD approach&lt;/li&gt;
1621     &lt;li&gt;Remove test that required particular access to storage&lt;/li&gt;
1622 &lt;/ul&gt;&lt;/li&gt;
1623 &lt;li&gt;Implement case-handling process from received email to case-handler
1624 &lt;ul&gt;
1625     &lt;li&gt;Develop required GUI elements (digital postroom from email)&lt;/li&gt;
1626     &lt;li&gt;Introduced leader, quality control and postroom roles&lt;/li&gt;
1627 &lt;/ul&gt;&lt;/li&gt;
1628 &lt;li&gt;Make PUT requests return 200 OK not 201 CREATED&lt;/li&gt;
1629 &lt;li&gt;Make DELETE requests return 204 NO CONTENT not 200 OK&lt;/li&gt;
1630 &lt;li&gt;Replaced &#39;oppdatert*&#39; with &#39;endret*&#39; everywhere to match latest spec&lt;/li&gt;
1631 &lt;li&gt;Upgrade Gitlab CI to use python &gt; 3 for CI scripts&lt;/li&gt;
1632 &lt;li&gt;Bug fixes
1633 &lt;ul&gt;
1634     &lt;li&gt;Fix missing ALLOW&lt;/li&gt;
1635     &lt;li&gt;Fix reading of objects from jar file during start-up&lt;/li&gt;
1636     &lt;li&gt;Reduce the number of warnings in the codebase&lt;/li&gt;
1637     &lt;li&gt;Fix delete problems&lt;/li&gt;
1638     &lt;li&gt;Make better use of cascade for &quot;leaf&quot; objects&lt;/li&gt;
1639     &lt;li&gt;Add missing annotations where relevant&lt;/li&gt;
1640     &lt;li&gt;Remove the use of ETAG for delete&lt;/li&gt;
1641     &lt;li&gt;Fix missing/wrong/broken rels discovered by runtest&lt;/li&gt;
1642     &lt;li&gt;Drop unofficial convertFil (konverterFil) end point&lt;/li&gt;
1643     &lt;li&gt;Fix regex problem for dateTime&lt;/li&gt;
1644     &lt;li&gt;Fix multiple static analysis issues discovered by coverity&lt;/li&gt;
1645     &lt;li&gt;Fix proxy problem when looking for object class names&lt;/li&gt;
1646     &lt;li&gt;Add many missing translated Norwegian to English (internal)
1647 attribute/entity names&lt;/li&gt;
1648     &lt;li&gt;Change UUID generation approach to allow code also set a value&lt;/li&gt;
1649     &lt;li&gt;Fix problem with Part/PartParson&lt;/li&gt;
1650     &lt;li&gt;Fix problem with empty OData search results&lt;/li&gt;
1651     &lt;li&gt;Fix metadata entity domain problem&lt;/li&gt;
1652 &lt;/ul&gt;&lt;/li&gt;
1653 &lt;li&gt;General Improvements
1654 &lt;ul&gt;
1655     &lt;li&gt;Makes future refactoring easier as coupling is reduced&lt;/li&gt;
1656     &lt;li&gt;Allow some constant variables to be set from property file&lt;/li&gt;
1657     &lt;li&gt;Refactor code to make reflection work better across codebase&lt;/li&gt;
1658     &lt;li&gt;Reduce the number of @Service layer classes used in @Controller
1659 classes&lt;/li&gt;
1660     &lt;li&gt;Be more consistent on naming of similar variable types&lt;/li&gt;
1661     &lt;li&gt;Start printing rels/href if they are applicable&lt;/li&gt;
1662     &lt;li&gt;Cleaner / standardised approach to deleting objects&lt;/li&gt;
1663     &lt;li&gt;Avoid concatenation when using StringBuilder&lt;/li&gt;
1664     &lt;li&gt;Consolidate code to avoid duplication&lt;/li&gt;
1665     &lt;li&gt;Tidy formatting for a more consistent reading style across
1666 similar class files&lt;/li&gt;
1667     &lt;li&gt;Make throw a log.error message not an log.info message&lt;/li&gt;
1668     &lt;li&gt;Make throw print the log value rather than printing in multiple
1669 places&lt;/li&gt;
1670     &lt;li&gt;Add some missing pronom codes&lt;/li&gt;
1671     &lt;li&gt;Fix time formatting issue in Gitlab CI&lt;/li&gt;
1672     &lt;li&gt;Remove stale / unused code&lt;/li&gt;
1673     &lt;li&gt;Use only UUID datatype rather than combination String/UUID for systemID&lt;/li&gt;
1674     &lt;li&gt;Mark variables final and @NotNull where relevant to indicate
1675 intention&lt;/li&gt;
1676 &lt;/ul&gt;&lt;/li&gt;
1677 &lt;li&gt;Change Date values to DateTime to maintain compliance with Noark 5
1678 standard&lt;/li&gt;
1679 &lt;li&gt;Domain model improvements using Hypersistence Optimizer
1680 &lt;ul&gt;
1681     &lt;li&gt;Move @Transactional from class to methods to avoid borrowing the JDBC Connection unnecessarily&lt;/li&gt;
1682     &lt;li&gt;Fix OneToOne performance issues&lt;/li&gt;
1683     &lt;li&gt;Fix ManyToMany performance issues&lt;/li&gt;
1684     &lt;li&gt;Add missing bidirectional synchronization support&lt;/li&gt;
1685     &lt;li&gt;Fix ManyToMany performance issue&lt;/li&gt;
1686 &lt;/ul&gt;&lt;/li&gt;
1687 &lt;li&gt;Make List&lt;&gt; and Set&lt;&gt; use final-keyword to avoid potential problems
1688 during update operations&lt;/li&gt;
1689 &lt;li&gt;Changed internal URLs, replaced &quot;hateoas-api&quot; with &quot;api&quot;.&lt;/li&gt;
1690 &lt;li&gt;Implemented storing of Precedence.&lt;/li&gt;
1691 &lt;li&gt;Corrected handling of screening.&lt;/li&gt;
1692 &lt;li&gt;Corrected _links collection returned for list of mixed entity types
1693 to match the specific entity.&lt;/li&gt;
1694 &lt;li&gt;Improved several internal structures.&lt;/li&gt;
1695 &lt;/ul&gt;
1696
1697 &lt;/blockquote&gt;&lt;/p&gt;
1698
1699 &lt;p&gt;If free and open standardized archiving API sound interesting to
1700 you, please contact us on IRC
1701 (&lt;a href=&quot;irc://irc.oftc.net/%23nikita&quot;&gt;#nikita on
1702 irc.oftc.net&lt;/a&gt;) or email
1703 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
1704 mailing list&lt;/a&gt;).&lt;/p&gt;
1705
1706 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1707 activities, please send Bitcoin donations to my address
1708 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1709 </description>
1710 </item>
1711
1712 <item>
1713 <title>VLC bittorrent plugin in Bullseye, saved by the bell?</title>
1714 <link>https://people.skolelinux.org/pere/blog/VLC_bittorrent_plugin_in_Bullseye__saved_by_the_bell_.html</link>
1715 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/VLC_bittorrent_plugin_in_Bullseye__saved_by_the_bell_.html</guid>
1716 <pubDate>Sat, 1 May 2021 11:00:00 +0200</pubDate>
1717 <description>&lt;p&gt;Yesterday morning I got a warning call from the Debian quality
1718 control system that
1719 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;the VLC
1720 bittorrent plugin&lt;/a&gt; was due to be removed because of a release
1721 critical bug in one of its dependencies. As you might remember, this
1722 plugin make VLC able to stream videos directly from a bittorrent
1723 source using both torrent files and magnet links, similar to using a
1724 HTTP source. I believe such protocol support is a vital feature in
1725 VLC, allowing efficient streaming from sources such at the almost 7
1726 million movies in &lt;a href=&quot;https://archive.org/&quot;&gt;the Internet
1727 Archive&lt;/a&gt;.&lt;/p&gt;
1728
1729 &lt;p&gt;The dependency was the unmaintained
1730 &lt;a href=&quot;https://tracker.debian.org/pkg/libtorrent-rasterbar&quot;&gt;libtorrent-rasterbar&lt;/a&gt;
1731 package, and &lt;a href=&quot;https://bugs.debian.org/987306&quot;&gt;the bug in
1732 question&lt;/a&gt; blocked its python library from working properly. As I
1733 did not want Bullseye to release without bittorrent support in VLC, I
1734 set out to check out the status, and track down a fix for the problem.
1735 Luckily the issue had already been identified and fixed upstream,
1736 providing everything needed. All I needed to do was to fetch the
1737 Debian git repository, extract and trim the patch from upstream and
1738 apply it to the Debian package for upload.&lt;/p&gt;
1739
1740 &lt;p&gt;The fixed library was uploaded yesterday evening. But that is not
1741 enough to get it into Bullseye, as Debian is currently in package
1742 freeze to prepare for a new next stable release. Only non-critical
1743 packages with
1744 &lt;a href=&quot;https://wiki.debian.org/ContinuousIntegration/autopkgtest&quot;&gt;autopkgtest
1745 setup&lt;/a&gt; included, in other words able to validate automatically that
1746 the package is working, are allowed to migrate automatically into the
1747 next release at this stage. And the unmaintained libtorrent-rasterbar
1748 lack such testing, and thus needed a manual override. I am happy to
1749 report that such manual override was approved a few minutes ago, thus
1750 increasing significantly the chance of VLC bittorrent streaming being
1751 available out of the box also for Debian/Buster users. A bit too
1752 close shave for my liking, as the Bullseye release is most likely just
1753 a few days away, and this did feel like the package was saved by the
1754 bell. I am so glad the warning email showed up in time for me to
1755 handle the issue, and a big thanks go to the Debian Release team for
1756 the quick feedback on
1757 &lt;a href=&quot;irc://irc.debian.org/%23debian-release&quot;&gt;#debian-release&lt;/a&gt;
1758 and their &lt;a href=&quot;https://bugs.debian.org/987865&quot;&gt;swift
1759 unblocking&lt;/a&gt;.&lt;/p&gt;
1760
1761 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1762 activities, please send Bitcoin donations to my address
1763 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1764 </description>
1765 </item>
1766
1767 <item>
1768 <title>Updated Valutakrambod, now also with information from NBX</title>
1769 <link>https://people.skolelinux.org/pere/blog/Updated_Valutakrambod__now_also_with_information_from_NBX.html</link>
1770 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Updated_Valutakrambod__now_also_with_information_from_NBX.html</guid>
1771 <pubDate>Sat, 27 Feb 2021 13:30:00 +0100</pubDate>
1772 <description>&lt;p&gt;I have neglected the Valutakrambod library for a while, but decided
1773 this weekend to give it a face lift. I fixed a few minor glitches in
1774 several of the service drivers, where the API had changed since I last
1775 looked at the code. I also added support for fetching the order book
1776 from the newcomer Norwegian Bitcoin Exchange.&lt;/p&gt;
1777
1778 &lt;p&gt;I also decided to migrate the project from github to gitlab in the
1779 process. If you want a python library for talking to various currency
1780 exchanges, check out
1781 &lt;a href=&quot;https://gitlab.com/petterreinholdtsen/valutakrambod&quot;&gt;code for
1782 valutakrambod&lt;/a&gt;.&lt;/p&gt;
1783
1784 &lt;p&gt;This is what the output from &#39;&lt;tt&gt;bin/btc-rates-curses -c&lt;/tt&gt;&#39;
1785 looked like a few minutes ago:&lt;/p&gt;
1786
1787 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
1788 Name Pair Bid Ask Spread Ftcd Age Freq
1789 Bitfinex BTCEUR 39229.0000 39246.0000 0.0% 44 44 nan
1790 Bitmynt BTCEUR 39071.0000 41048.9000 4.8% 43 74 nan
1791 Bitpay BTCEUR 39326.7000 nan nan% 39 nan nan
1792 Bitstamp BTCEUR 39398.7900 39417.3200 0.0% 0 0 1
1793 Bl3p BTCEUR 39158.7800 39581.9000 1.1% 0 nan 3
1794 Coinbase BTCEUR 39197.3100 39621.9300 1.1% 38 nan nan
1795 Kraken+BTCEUR 39432.9000 39433.0000 0.0% 0 0 0
1796 Paymium BTCEUR 39437.2100 39499.9300 0.2% 0 2264 nan
1797 Bitmynt BTCNOK 409750.9600 420516.8500 2.6% 43 74 nan
1798 Bitpay BTCNOK 410332.4000 nan nan% 39 nan nan
1799 Coinbase BTCNOK 408675.7300 412813.7900 1.0% 38 nan nan
1800 MiraiEx BTCNOK 412174.1800 418396.1500 1.5% 34 nan nan
1801 NBX BTCNOK 405835.9000 408921.4300 0.8% 33 nan nan
1802 Bitfinex BTCUSD 47341.0000 47355.0000 0.0% 44 53 nan
1803 Bitpay BTCUSD 47388.5100 nan nan% 39 nan nan
1804 Coinbase BTCUSD 47153.6500 47651.3700 1.0% 37 nan nan
1805 Gemini BTCUSD 47416.0900 47439.0500 0.0% 36 336 nan
1806 Hitbtc BTCUSD 47429.9900 47386.7400 -0.1% 0 0 0
1807 Kraken+BTCUSD 47401.7000 47401.8000 0.0% 0 0 0
1808 Exchangerates EURNOK 10.4012 10.4012 0.0% 38 76236 nan
1809 Norgesbank EURNOK 10.4012 10.4012 0.0% 31 76236 nan
1810 Bitstamp EURUSD 1.2030 1.2045 0.1% 2 2 1
1811 Exchangerates EURUSD 1.2121 1.2121 0.0% 38 76236 nan
1812 Norgesbank USDNOK 8.5811 8.5811 0.0% 31 76236 nan
1813 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
1814
1815 &lt;p&gt;Yes, I notice the negative spread on Hitbtc. Either I fail to
1816 understand their Websocket API or they are sending bogus data. I&#39;ve
1817 seen the same with Kraken, and suspect there is something wrong with
1818 the data they send.&lt;/p&gt;
1819
1820 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1821 activities, please send Bitcoin donations to my address
1822 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1823 </description>
1824 </item>
1825
1826 <item>
1827 <title>Latest Jami back in Debian Testing, and scriptable using dbus</title>
1828 <link>https://people.skolelinux.org/pere/blog/Latest_Jami_back_in_Debian_Testing__and_scriptable_using_dbus.html</link>
1829 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Latest_Jami_back_in_Debian_Testing__and_scriptable_using_dbus.html</guid>
1830 <pubDate>Tue, 12 Jan 2021 17:00:00 +0100</pubDate>
1831 <description>&lt;p&gt;After a lot of hard work by its maintainer Alexandre Viau and
1832 others, the decentralized communication platform
1833 &lt;a href=&quot;https://en.wikipedia.org/wiki/Jami_(software)&quot;&gt;Jami&lt;/a&gt;
1834 (earlier known as Ring), managed to get
1835 &lt;a href=&quot;https://tracker.debian.org/pkg/ring&quot;&gt;its latest version&lt;/a&gt;
1836 into Debian Testing. Several of its dependencies has caused build and
1837 propagation problems, which all seem to be solved now.&lt;/p&gt;
1838
1839 &lt;p&gt;In addition to the fact that Jami is decentralized, similar to how
1840 bittorrent is decentralized, I first of all like how it is not
1841 connected to external IDs like phone numbers. This allow me to set up
1842 computers to send me notifications using Jami without having to find
1843 get a phone number for each computer. Automatic notification via Jami
1844 is also made trivial thanks to the provided client side API (as a DBus
1845 service). Here is my bourne shell script demonstrating how to let any
1846 system send a message to any Jami address. It will create a new
1847 identity before sending the message, if no Jami identity exist
1848 already:&lt;/p&gt;
1849
1850 &lt;p&gt;&lt;pre&gt;
1851 #!/bin/sh
1852 #
1853 # Usage: $0 &lt;jami-address&gt; &lt;message&gt;
1854 #
1855 # Send &lt;message&gt; to &lt;jami-address&gt;, create local jami account if
1856 # missing.
1857 #
1858 # License: GPL v2 or later at your choice
1859 # Author: Petter Reinholdtsen
1860
1861
1862 if [ -z &quot;$HOME&quot; ] ; then
1863 echo &quot;error: missing \$HOME, required for dbus to work&quot;
1864 exit 1
1865 fi
1866
1867 # First, get dbus running if not already running
1868 DBUSLAUNCH=/usr/bin/dbus-launch
1869 PIDFILE=/run/asterisk/dbus-session.pid
1870 if [ -e $PIDFILE ] ; then
1871 . $PIDFILE
1872 if ! kill -0 $DBUS_SESSION_BUS_PID 2&gt;/dev/null ; then
1873 unset DBUS_SESSION_BUS_ADDRESS
1874 fi
1875 fi
1876 if [ -z &quot;$DBUS_SESSION_BUS_ADDRESS&quot; ] &amp;&amp; [ -x &quot;$DBUSLAUNCH&quot; ]; then
1877 DBUS_SESSION_BUS_ADDRESS=&quot;unix:path=$HOME/.dbus&quot;
1878 dbus-daemon --session --address=&quot;$DBUS_SESSION_BUS_ADDRESS&quot; --nofork --nopidfile --syslog-only &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 3&gt;&amp;1 &amp;
1879 DBUS_SESSION_BUS_PID=$!
1880 (
1881 echo DBUS_SESSION_BUS_PID=$DBUS_SESSION_BUS_PID
1882 echo DBUS_SESSION_BUS_ADDRESS=\&quot;&quot;$DBUS_SESSION_BUS_ADDRESS&quot;\&quot;
1883 echo export DBUS_SESSION_BUS_ADDRESS
1884 ) &gt; $PIDFILE
1885 . $PIDFILE
1886 fi &amp;
1887
1888 dringop() {
1889 part=&quot;$1&quot;; shift
1890 op=&quot;$1&quot;; shift
1891 dbus-send --session \
1892 --dest=&quot;cx.ring.Ring&quot; /cx/ring/Ring/$part cx.ring.Ring.$part.$op $*
1893 }
1894
1895 dringopreply() {
1896 part=&quot;$1&quot;; shift
1897 op=&quot;$1&quot;; shift
1898 dbus-send --session --print-reply \
1899 --dest=&quot;cx.ring.Ring&quot; /cx/ring/Ring/$part cx.ring.Ring.$part.$op $*
1900 }
1901
1902 firstaccount() {
1903 dringopreply ConfigurationManager getAccountList | \
1904 grep string | awk -F&#39;&quot;&#39; &#39;{print $2}&#39; | head -n 1
1905 }
1906
1907 account=$(firstaccount)
1908
1909 if [ -z &quot;$account&quot; ] ; then
1910 echo &quot;Missing local account, trying to create it&quot;
1911 dringop ConfigurationManager addAccount \
1912 dict:string:string:&quot;Account.type&quot;,&quot;RING&quot;,&quot;Account.videoEnabled&quot;,&quot;false&quot;
1913 account=$(firstaccount)
1914 if [ -z &quot;$account&quot; ] ; then
1915 echo &quot;unable to create local account&quot;
1916 exit 1
1917 fi
1918 fi
1919
1920 # Not using dringopreply to ensure $2 can contain spaces
1921 dbus-send --print-reply --session \
1922 --dest=cx.ring.Ring \
1923 /cx/ring/Ring/ConfigurationManager \
1924 cx.ring.Ring.ConfigurationManager.sendTextMessage \
1925 string:&quot;$account&quot; string:&quot;$1&quot; \
1926 dict:string:string:&quot;text/plain&quot;,&quot;$2&quot;
1927 &lt;/pre&gt;&lt;/p&gt;
1928
1929 &lt;p&gt;If you want to check it out yourself, visit the
1930 &lt;a href=&quot;https://jami.net/&quot;&gt;the Jami system project page&lt;/a&gt; to learn
1931 more, and install the latest Jami client from Debian Unstable or
1932 Testing.&lt;/p&gt;
1933
1934 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1935 activities, please send Bitcoin donations to my address
1936 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1937 </description>
1938 </item>
1939
1940 <item>
1941 <title>Buster based Bokmål edition of Debian Administrator&#39;s Handbook</title>
1942 <link>https://people.skolelinux.org/pere/blog/Buster_based_Bokm_l_edition_of_Debian_Administrator_s_Handbook.html</link>
1943 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Buster_based_Bokm_l_edition_of_Debian_Administrator_s_Handbook.html</guid>
1944 <pubDate>Tue, 20 Oct 2020 18:35:00 +0200</pubDate>
1945 <description>&lt;p align=&quot;center&quot;&gt;&lt;img align=&quot;center&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2020-10-20-debian-handbook-nb-testprint.jpeg&quot; width=&quot;60%&quot;/&gt;&lt;/p&gt;
1946
1947 &lt;p&gt;I am happy to report that we finally made it! Norwegian Bokmål
1948 became the first translation published on paper of the new Buster
1949 based edition of &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian
1950 Administrator&#39;s Handbook&lt;/a&gt;&quot;. The print proof reading copy arrived
1951 some days ago, and it looked good, so now the book is approved for
1952 general distribution. This updated paperback edition &lt;a
1953 href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;is available from
1954 lulu.com&lt;/a&gt;. The book is also available for download in electronic
1955 form as PDF, EPUB and Mobipocket, and can also be
1956 &lt;a href=&quot;https://debian-handbook.info/browse/nb-NO/stable/&quot;&gt;read online&lt;/a&gt;.&lt;/p&gt;
1957
1958 &lt;p&gt;I am very happy to wrap up this Creative Common licensed project,
1959 which concludes several months of work by several volunteers. The
1960 number of Linux related books published in Norwegian are few, and I
1961 really hope this one will gain many readers, as it is packed with deep
1962 knowledge on Linux and the Debian ecosystem. The book will be
1963 available for various Internet book stores like Amazon and Barnes &amp;
1964 Noble soon, but I recommend buying
1965 &quot;&lt;a href=&quot;https://www.lulu.com/en/us/shop/roland-mas-and-rapha%C3%ABl-hertzog/h%C3%A5ndbok-for-debian-administratoren/paperback/product-9j7qwq.html&quot;&gt;Håndbok
1966 for Debian-administratoren&lt;/a&gt;&quot; directly from the source at Lulu.
1967
1968 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1969 activities, please send Bitcoin donations to my address
1970 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1971 </description>
1972 </item>
1973
1974 <item>
1975 <title>Buster update of Norwegian Bokmål edition of Debian Administrator&#39;s Handbook almost done</title>
1976 <link>https://people.skolelinux.org/pere/blog/Buster_update_of_Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_almost_done.html</link>
1977 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Buster_update_of_Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_almost_done.html</guid>
1978 <pubDate>Fri, 11 Sep 2020 09:45:00 +0200</pubDate>
1979 <description>&lt;p&gt;Thanks to the good work of several volunteers, the updated edition
1980 of the Norwegian translation for
1981 &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
1982 Handbook&lt;/a&gt;&quot; is now almost completed. After many months of proof
1983 reading, I consider the proof reading complete enough for us to move
1984 to the next step, and have asked for the print version to be prepared
1985 and sent of to the print on demand service lulu.com. While it is
1986 still not to late if you find any incorrect translations on
1987 &lt;a href=&quot;https://hosted.weblate.org/languages/nb_NO/debian-handbook/&quot;&gt;the
1988 hosted Weblate service&lt;/a&gt;, but it will be soon. :) You can check out
1989 &lt;a href=&quot; https://debian-handbook.info/browse/nb-NO/stable/&quot;&gt;the Buster
1990 edition on the web&lt;/a&gt; until the print edition is ready.&lt;/p&gt;
1991
1992 &lt;p&gt;The book will be for sale on lulu.com and various web book stores,
1993 with links available from the web site for the book linked to above.
1994 I hope a lot of readers find it useful.&lt;/p&gt;
1995
1996 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
1997 activities, please send Bitcoin donations to my address
1998 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
1999 </description>
2000 </item>
2001
2002 <item>
2003 <title>Working on updated Norwegian Bokmål edition of Debian Administrator&#39;s Handbook</title>
2004 <link>https://people.skolelinux.org/pere/blog/Working_on_updated_Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook.html</link>
2005 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Working_on_updated_Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook.html</guid>
2006 <pubDate>Sat, 4 Jul 2020 23:55:00 +0200</pubDate>
2007 <description>&lt;p&gt;Three years ago, the first Norwegian Bokmål edition of
2008 &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
2009 Handbook&lt;/a&gt;&quot; was published. This was based on Debian Jessie. Now a
2010 new and updated version based on Buster is getting ready. Work on the
2011 updated Norwegian Bokmål edition has been going on for a few months
2012 now, and yesterday, we reached the first mile stone, with 100% of the
2013 texts being translated. A lot of proof reading remains, of course,
2014 but a major step towards a new edition has been taken.&lt;/p&gt;
2015
2016 &lt;p&gt;The book is translated by volunteers, and we would love to get some
2017 help with the proof reading. The translation uses
2018 &lt;a href=&quot;https://hosted.weblate.org/languages/nb_NO/debian-handbook/&quot;&gt;the
2019 hosted Weblate service&lt;/a&gt;, and we welcome everyone to have a look and
2020 submit improvements and suggestions. There is also a proof readers
2021 PDF available on request, get in touch if you want to help out that
2022 way.&lt;/p&gt;
2023
2024 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2025 activities, please send Bitcoin donations to my address
2026 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2027 </description>
2028 </item>
2029
2030 <item>
2031 <title>Secure Socket API - a simple and powerful approach for TLS support in software</title>
2032 <link>https://people.skolelinux.org/pere/blog/Secure_Socket_API___a_simple_and_powerful_approach_for_TLS_support_in_software.html</link>
2033 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Secure_Socket_API___a_simple_and_powerful_approach_for_TLS_support_in_software.html</guid>
2034 <pubDate>Sat, 6 Jun 2020 12:40:00 +0200</pubDate>
2035 <description>&lt;p&gt;As a member of the &lt;a href=&quot;https://www.nuug.no/&quot;&gt;Norwegian Unix
2036 User Group&lt;/a&gt;, I have the pleasure of receiving the
2037 &lt;a href=&quot;https://www.usenix.org/&quot;&gt;USENIX&lt;/a&gt; magazine
2038 &lt;a href=&quot;https://www.usenix.org/publications/login/&quot;&gt;;login:&lt;/a&gt;
2039 several times a year. I rarely have time to read all the articles,
2040 but try to at least skim through them all as there is a lot of nice
2041 knowledge passed on there. I even carry the latest issue with me most
2042 of the time to try to get through all the articles when I have a few
2043 spare minutes.&lt;/p&gt;
2044
2045 &lt;p&gt;The other day I came across a nice article titled
2046 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/winter2018/oneill&quot;&gt;The
2047 Secure Socket API: TLS as an Operating System Service&lt;/a&gt;&quot; with a
2048 marvellous idea I hope can make it all the way into the POSIX standard.
2049 The idea is as simple as it is powerful. By introducing a new
2050 socket() option IPPROTO_TLS to use TLS, and a system wide service to
2051 handle setting up TLS connections, one both make it trivial to add TLS
2052 support to any program currently using the POSIX socket API, and gain
2053 system wide control over certificates, TLS versions and encryption
2054 systems used. Instead of doing this:&lt;/p&gt;
2055
2056 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2057 int socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
2058 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2059
2060 &lt;p&gt;the program code would be doing this:&lt;p&gt;
2061
2062 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2063 int socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TLS);
2064 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2065
2066 &lt;p&gt;According to the ;login: article, converting a C program to use TLS
2067 would normally modify only 5-10 lines in the code, which is amazing
2068 when compared to using for example the OpenSSL API.&lt;/p&gt;
2069
2070 &lt;p&gt;The project has set up the
2071 &lt;a href=&quot;https://securesocketapi.org/&quot;&gt;https://securesocketapi.org/&lt;/a&gt;
2072 web site to spread the idea, and the code for a kernel module and the
2073 associated system daemon is available from two github repositories:
2074 &lt;a href=&quot;https://github.com/markoneill/ssa&quot;&gt;ssa&lt;/a&gt; and
2075 &lt;a href=&quot;https://github.com/markoneill/ssa-daemon&quot;&gt;ssa-daemon&lt;/a&gt;.
2076 Unfortunately there is no explicit license information with the code,
2077 so its copyright status is unclear. A
2078 &lt;a href=&quot;https://github.com/markoneill/ssa/issues/2&quot;&gt;request to solve
2079 this&lt;/a&gt; about it has been unsolved since 2018-08-17.&lt;/p&gt;
2080
2081 &lt;p&gt;I love the idea of extending socket() to gain TLS support, and
2082 understand why it is an advantage to implement this as a kernel module
2083 and system wide service daemon, but can not help to think that it
2084 would be a lot easier to get projects to move to this way of setting
2085 up TLS if it was done with a user space approach where programs
2086 wanting to use this API approach could just link with a wrapper
2087 library.&lt;/p&gt;
2088
2089 &lt;p&gt;I recommend you check out this simple and powerful approach to more
2090 secure network connections. :)&lt;/p&gt;
2091
2092 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2093 activities, please send Bitcoin donations to my address
2094 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2095 </description>
2096 </item>
2097
2098 <item>
2099 <title>More reliable vlc bittorrent plugin in Debian (version 2.9)</title>
2100 <link>https://people.skolelinux.org/pere/blog/More_reliable_vlc_bittorrent_plugin_in_Debian__version_2_9_.html</link>
2101 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/More_reliable_vlc_bittorrent_plugin_in_Debian__version_2_9_.html</guid>
2102 <pubDate>Sun, 24 May 2020 17:00:00 +0200</pubDate>
2103 <description>&lt;p&gt;I am very happy to report that a more reliable
2104 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;VLC
2105 bittorrent plugin&lt;/a&gt; was just uploaded into debian. This fixes a
2106 couple of crash bugs in the plugin, hopefully making the VLC
2107 experience even better when streaming directly from a bittorrent
2108 source. The package is currently in Debian unstable, but should be
2109 available in Debian testing in two days. To test it, simply install
2110 it like this:&lt;/p&gt;
2111
2112 &lt;p&gt;&lt;pre&gt;
2113 apt install vlc-plugin-bittorrent
2114 &lt;/pre&gt;&lt;/p&gt;
2115
2116 &lt;p&gt;After it is installed, you can try to use it to play a file
2117 downloaded live via bittorrent like this:
2118
2119 &lt;p&gt;&lt;pre&gt;
2120 vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
2121 &lt;/pre&gt;&lt;/p&gt;
2122
2123 &lt;p&gt;It also support magnet links and local .torrent files.&lt;/p&gt;
2124
2125 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2126 activities, please send Bitcoin donations to my address
2127 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2128 </description>
2129 </item>
2130
2131 <item>
2132 <title>Debian Edu interview: Yvan Masson</title>
2133 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Yvan_Masson.html</link>
2134 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Yvan_Masson.html</guid>
2135 <pubDate>Tue, 12 May 2020 06:30:00 +0200</pubDate>
2136 <description>&lt;p&gt;It has been way too long since my last interview, but as the
2137 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
2138 community is still active, and new people keep showing up on the IRC
2139 channel &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt; and
2140 &lt;a href=&quot;https://lists.debian.org/debian-edu/&quot;&gt;the debian-edu mailing
2141 list&lt;/a&gt;, I decided to give it another go. I was hoping someone else
2142 might pick up the idea and run with it, but this has not happened as
2143 far as I can tell, so here we are… This time the announcement of a new
2144 free software tool to
2145 &lt;a href=&quot;https://framagit.org/Yvan-Masson/WhosWho&quot;&gt;create a school year
2146 book&lt;/a&gt; triggered my interest, and I decided to learn more about its
2147 author.&lt;/p&gt;
2148
2149 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2150
2151 &lt;p&gt;My name is Yvan MASSON, I live in France. I have my own one person
2152 business in computer services. The work consist of visiting my
2153 customers (person&#39;s home, local authority, small business) to give
2154 advise, install computers and software, fix issues, and provide
2155 computing usage training. I spend the rest of my time enjoying my
2156 family and promoting free software.&lt;/p&gt;
2157
2158 &lt;p&gt;&lt;strong&gt;What is your approach for promoting free
2159 software?&lt;/strong&gt;&lt;/p&gt;
2160
2161 &lt;p&gt;When I think that free software could be suitable for someone, I
2162 explain what it is, with simple words, give a few known examples, and
2163 explain that while there is no fee it is a viable alternative in many
2164 situations. Most people are receptive when you explain how it is
2165 better (I simplify arguments here, I know that it is not so simple):
2166 Linux works on older hardware, there are no viruses, and the software
2167 can be audited to ensure user is not spied upon. I think the most
2168 important is to keep a clear but moderated speech: when you try to
2169 convince too much, people feel attacked and stop listening.&lt;/p&gt;
2170
2171 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
2172 project?&lt;/strong&gt;&lt;/p&gt;
2173
2174 &lt;p&gt;I can not remember how I first heard of Skolelinux / Debian Edu,
2175 but probably on planet.debian.org. As I have been working for a
2176 school, I have interest in this type of project.
2177
2178 &lt;p&gt;The school I am involved in is a school for &quot;children&quot; between 14
2179 and 18 years old. The French government has recommended free software
2180 since 2012, but they do not always use free software themselves. The
2181 school computers are still using the Windows operating system, but all
2182 of them have the classic set of free software: Firefox ESR,
2183 LibreOffice (with the excellent extension Grammalecte that indicates
2184 French grammatical errors), SumatraPDF, Audacity, 7zip, KeePass2, VLC,
2185 GIMP, Inkscape…
2186
2187 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
2188 Edu?&lt;/strong&gt;&lt;/p&gt;
2189
2190 &lt;p&gt;It is free software! Built on Debian, I am sure that users are not
2191 spied upon, and that it can run on low end hardware. This last point
2192 is very important, because we really need to improve &quot;green IT&quot;. I do
2193 not know enough about Skolelinux / Debian Edu to tell how it is better
2194 than another free software solution, but what I like is the &quot;all in
2195 one&quot; solution: everything has been thought of and prepared to ease
2196 installation and usage.&lt;/p&gt;
2197
2198 &lt;p&gt;I like Free Software because I hate using something that I can not
2199 understand. I do not say that I can understand everything nor that I
2200 want to understand everything, but knowing that someone / some company
2201 intentionally prevents me from understanding how things work is really
2202 unacceptable to me.&lt;/p&gt;
2203
2204 &lt;p&gt;Secondly, and more importantly, free software is a requirement to
2205 prevent abuses regarding human rights and environmental care.
2206 Humanity can not rely on tools that are in the hands of small group of
2207 people.&lt;/p&gt;
2208
2209 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
2210 Edu?&lt;/strong&gt;&lt;/p&gt;
2211
2212 &lt;p&gt;Again, I don&#39;t know this project enough. Maybe a dedicated website?
2213 Debian wiki works well for documentation, but is not very appealing to
2214 someone discovering the project. Also, as Skolelinux / Debian Edu uses
2215 OpenLDAP, it probably means that Windows workstations cannot use
2216 centralized authentication. Maybe the project could use Samba as an
2217 Active Directory domain controller instead, allowing Windows desktop
2218 usage when necessary.&lt;/p&gt;
2219
2220 &lt;p&gt;(Editors note: In fact Windows workstations can
2221 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Buster/HowTo/Samba&quot;&gt;use
2222 the centralized authentication in a Debian Edu setup&lt;/a&gt;, at least for
2223 some versions of Windows, but the fact that this is not well known can
2224 be seen as an indication of the need for better documentation and
2225 marketing. :)&lt;/p&gt;
2226
2227 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2228
2229 &lt;p&gt;Nothing original: Debian testing/sid with Gnome desktop, Firefox,
2230 Thunderbird, LibreOffice…&lt;/p&gt;
2231
2232 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2233 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2234
2235 &lt;p&gt;Every effort to spread free software into schools is important,
2236 whatever it is. But I think, at least where I live, that IT
2237 professionals maintaining schools networks are still very &quot;Microsoft
2238 centric&quot;. Schools will use any working solution, but they need people
2239 to install and maintain it. How to make these professionals sensitive
2240 about free software and train them with solutions like Debian Edu /
2241 Skolelinux is a really good question :-)&lt;/p&gt;
2242 </description>
2243 </item>
2244
2245 <item>
2246 <title>Jami as a Zoom client, a trick for password protected rooms...</title>
2247 <link>https://people.skolelinux.org/pere/blog/Jami_as_a_Zoom_client__a_trick_for_password_protected_rooms___.html</link>
2248 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Jami_as_a_Zoom_client__a_trick_for_password_protected_rooms___.html</guid>
2249 <pubDate>Fri, 8 May 2020 13:30:00 +0200</pubDate>
2250 <description>&lt;p&gt;Half a year ago,
2251 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html&quot;&gt;I
2252 wrote&lt;/a&gt; about &lt;a href=&quot;https://jami.net/&quot;&gt;the Jami communication
2253 client&lt;/a&gt;, capable of peer-to-peer encrypted communication. It
2254 handle both messages, audio and video. It uses distributed hash
2255 tables instead of central infrastructure to connect its users to each
2256 other, which in my book is a plus. I mentioned briefly that it could
2257 also work as a SIP client, which came in handy when the higher
2258 educational sector in Norway started to promote Zoom as its video
2259 conferencing solution. I am reluctant to use the official Zoom client
2260 software, due to their &lt;a href=&quot;https://zoom.us/terms&quot;&gt;copyright
2261 license clauses&lt;/a&gt; prohibiting users to reverse engineer (for example
2262 to check the security) and benchmark it, and thus prefer to connect to
2263 Zoom meetings with free software clients.&lt;/p&gt;
2264
2265 &lt;p&gt;Jami worked OK as a SIP client to Zoom as long as there was no
2266 password set on the room. The Jami daemon leak memory like crazy
2267 (approximately 1 GiB a minute) when I am connected to the video
2268 conference, so I had to restart the client every 7-10 minutes, which
2269 is not great. I tried to get other SIP Linux clients to work
2270 without success, so I decided I would have to live with this wart
2271 until someone managed to fix the leak in the dring code base. But
2272 another problem showed up once the rooms were password protected. I
2273 could not get my dial tone signaling through from Jami to Zoom, and
2274 dial tone signaling is used to enter the password when connecting to
2275 Zoom. I tried a lot of different permutations with my Jami and
2276 Asterisk setup to try to figure out why the signaling did not get
2277 through, only to finally discover that the fundamental problem seem to
2278 be that Zoom is simply not able to receive dial tone signaling when
2279 connecting via SIP. There seem to be nothing wrong with the Jami and
2280 Asterisk end, it is simply broken in the Zoom end. I got help from a
2281 very skilled VoIP engineer figuring out this last part. And being a
2282 very skilled engineer, he was also able to locate a solution for me.
2283 Or to be exact, a workaround that solve my initial problem of
2284 connecting to password protected Zoom rooms using Jami.&lt;/p&gt;
2285
2286 &lt;p&gt;So, how do you do this, I am sure you are wondering by now. The
2287 trick is already
2288 &lt;a href=&quot;https://support.zoom.us/hc/en-us/articles/202405539-H-323-SIP-Room-Connector-Dial-Strings#sip&quot;&gt;documented
2289 from Zoom&lt;/a&gt;, and it is to modify the SIP address to include the room
2290 password. What is most surprising about this is that the
2291 automatically generated email from Zoom with instructions on how to
2292 connect via SIP do not mention this. The SIP address to use normally
2293 consist of the room ID (a number), an @ character and the IP address
2294 of the Zoom SIP gateway. But Zoom understand a lot more than just the
2295 room ID in front of the at sign. The format is &quot;&lt;tt&gt;[Meeting
2296 ID].[Password].[Layout].[Host Key]&lt;/tt&gt;&quot;, and you can here see how you
2297 can both enter password, control the layout (full screen, active
2298 presence and gallery) and specify the host key to start the meeting.
2299 The full SIP address entered into Jami to provide the password will
2300 then look like this (all using made up numbers):&lt;/p&gt;
2301
2302 &lt;p&gt;&lt;blockquote&gt;
2303 &lt;tt&gt;sip:657837644.522827@192.168.169.170&lt;/tt&gt;
2304 &lt;/blockquote&gt;&lt;/p&gt;
2305
2306 &lt;p&gt;Now if only jami would reduce its memory usage, I could even
2307 recommend this setup to others. :)&lt;/p&gt;
2308
2309 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2310 activities, please send Bitcoin donations to my address
2311 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2312 </description>
2313 </item>
2314
2315 <item>
2316 <title>GnuCOBOL, a free platform to learn and use COBOL - nice free software</title>
2317 <link>https://people.skolelinux.org/pere/blog/GnuCOBOL__a_free_platform_to_learn_and_use_COBOL___nice_free_software.html</link>
2318 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/GnuCOBOL__a_free_platform_to_learn_and_use_COBOL___nice_free_software.html</guid>
2319 <pubDate>Wed, 29 Apr 2020 13:10:00 +0200</pubDate>
2320 <description>&lt;p&gt;The curiosity got the better of me when
2321 &lt;a href=&quot;https://developers.slashdot.org/story/20/04/06/1424246/new-jersey-desperately-needs-cobol-programmers&quot;&gt;Slashdot
2322 reported&lt;/a&gt; that New Jersey was desperately looking for
2323 &lt;a href=&quot;https://en.wikipedia.org/wiki/COBOL&quot;&gt;COBOL&lt;/a&gt; programmers,
2324 and a few days later it was reported that
2325 &lt;a href=&quot;https://onezero.medium.com/ibm-rallies-cobol-engineers-to-save-overloaded-unemployment-systems-eeadf13eddce&quot;&gt;IBM
2326 tried to locate COBOL programmers&lt;/a&gt;.&lt;/p&gt;
2327
2328 &lt;p&gt;I thus decided to have a look at free software alternatives to
2329 learn COBOL, and had the pleasure to find
2330 &lt;a href=&quot;https://sourceforge.net/projects/open-cobol/&quot;&gt;GnuCOBOL&lt;/a&gt; was
2331 already &lt;a href=&quot;https://tracker.debian.org/pkg/gnucobol&quot;&gt;in
2332 Debian&lt;/a&gt;. It used to be called Open Cobol, and is a &quot;compiler&quot;
2333 transforming COBOL code to C or C++ before giving it to GCC or Visual
2334 Studio to build binaries.&lt;/p&gt;
2335
2336 &lt;p&gt;I managed to get in touch with upstream, and was impressed with the
2337 quick response, and also was happy to see a new Debian maintainer
2338 taking over when the original one recently asked to be replaced. A
2339 new Debian upload was done as recently as yesterday.&lt;/p&gt;
2340
2341 &lt;p&gt;Using the Debian package, I was able to follow a simple COBOL
2342 introduction and make and run simple COBOL programs. It was fun to
2343 learn a new programming language. If you want to test for yourself,
2344 &lt;a href=&quot;https://en.wikipedia.org/wiki/GnuCOBOL&quot;&gt;the GnuCOBOL Wikipedia
2345 page&lt;/a&gt; have a few simple examples to get you startet.&lt;/p&gt;
2346
2347 &lt;p&gt;As I do not have much experience with COBOL, I do not know how
2348 standard compliant it is, but it claim to pass most tests from COBOL
2349 test suite, which sound good to me. It is nice to know it is possible
2350 to learn COBOL using software without any usage restrictions, and I am
2351 very happy such nice free software project as this is available. If
2352 you as me is curious about COBOL, check it out.&lt;/p&gt;
2353
2354 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2355 activities, please send Bitcoin donations to my address
2356 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2357 </description>
2358 </item>
2359
2360 <item>
2361 <title>Nikita version 0.5 released - updated free software archive API server</title>
2362 <link>https://people.skolelinux.org/pere/blog/Nikita_version_0_5_released___updated_free_software_archive_API_server.html</link>
2363 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nikita_version_0_5_released___updated_free_software_archive_API_server.html</guid>
2364 <pubDate>Mon, 2 Mar 2020 19:00:00 +0100</pubDate>
2365 <description>&lt;p&gt;Today, after many months of development, a new release of
2366 &lt;ahref=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
2367 Noark 5 core project&lt;/a&gt; was finally
2368 &lt;ahref=&quot;https://lists.nuug.no/pipermail/nikita-noark/2020-March/000519.html&quot;&gt;announced
2369 on the project mailing list&lt;/a&gt;. The Nikita free software solution is
2370 an implementation of the Norwegian archive standard Noark 5 used by
2371 government offices in Norway. These were the changes in version 0.5
2372 since version 0.4, see the email link above for links to a demo
2373 site:&lt;/p&gt;
2374
2375 &lt;ul&gt;
2376
2377 &lt;li&gt;Updated to Noark 5 versjon 5.0 API specification.
2378 &lt;ul&gt;
2379 &lt;li&gt;Changed formatting of _links from [] to {} to match IETF draft
2380 on JSON HAL.&lt;/li&gt;
2381 &lt;li&gt;Merged Registrering og Basisregistrering in version 4 to
2382 combined Registrering.&lt;/li&gt;
2383 &lt;li&gt;DokumentObjekt is now subtype of ArkivEnhet.&lt;/li&gt;
2384 &lt;li&gt;Introducing new entity Arkivnotat.&lt;/li&gt;
2385 &lt;li&gt;Changed all relation keys to use /v5/ instead of /v4/.&lt;/li&gt;
2386 &lt;li&gt;Corrected to use new official relation keys when possible.&lt;/li&gt;
2387 &lt;li&gt;Renamed Sakspart to Part and connect it to Mappe, Registrering
2388 and Dokumentbeskrivelse instead of only Saksmappe.&lt;/li&gt;
2389 &lt;li&gt;Moved Korrespondansepart connection from Journalpost to
2390 Registrering.&lt;/li&gt;
2391 &lt;li&gt;Moved Part and Korrespondansepart from package sakarkiv to
2392 arkivstruktur.&lt;/li&gt;
2393 &lt;li&gt;Renamed presedensstatus to presedensStatus.&lt;/li&gt;
2394 &lt;li&gt;Use new JSON content-type &quot;application/vnd.noark5+json&quot;.&lt;/li&gt;
2395 &lt;li&gt;Updated prepopulated format list to use PRONOM codes.&lt;/li&gt;
2396 &lt;li&gt;Implemented endpoint for system information.&lt;/li&gt;
2397 &lt;li&gt;Implemented national identifiers for both file and record.&lt;/li&gt;
2398 &lt;li&gt;Implemented comments.&lt;/li&gt;
2399 &lt;li&gt;implemented sign off.&lt;/li&gt;
2400 &lt;li&gt;implemented conversion.&lt;/li&gt;
2401 &lt;/ul&gt;&lt;/li&gt;
2402 &lt;li&gt;Improved/implemented OData search and paging support for more entities.&lt;/li&gt;
2403 &lt;li&gt;No longer exposes attribute Dokumentobjekt.referanseDokumentfil,
2404 one should use the relation in _links instead.&lt;/li&gt;
2405 &lt;li&gt;Corrected relation keys under
2406 https://rel.arkivverket.no/noark5/v5/api/administrasjon/, replacing
2407 &#39;administrasjon&#39; with &#39;admin&#39;.&lt;/li&gt;
2408 &lt;li&gt;Fixed several security and stability issues discovered by Coverity.&lt;/li&gt;
2409 &lt;li&gt;Corrected handling ETag errors, now return code 409.&lt;/li&gt;
2410 &lt;li&gt;Improved handling of Kryssreferanse.&lt;/li&gt;
2411 &lt;li&gt;Changed internal database model to use UUID/SystemID as primary keys
2412 in tables.&lt;/li&gt;
2413 &lt;li&gt;Changed internal database table names to use package prefix.&lt;/li&gt;
2414 &lt;li&gt;Changed time zone handling for date and datetime attributes, to be
2415 more according to the new definition in the API specification.&lt;/li&gt;
2416 &lt;li&gt;Change revoke-token to only drop token on POST requests, not GET.&lt;/li&gt;
2417 &lt;li&gt;Updated to newer Spring version.&lt;/li&gt;
2418 &lt;li&gt;Changed primary key and URL component for metadata code lists to
2419 use the &#39;kode&#39; value instead of a SystemID.&lt;/li&gt;
2420 &lt;li&gt;Corrected implementation of Part and Sakspart.&lt;/li&gt;
2421 &lt;li&gt;Changed instance lists with subtypes (like .../registrering/ and
2422 .../mappe/) to include the attributes and _links entries for the
2423 subtype in the supertype lists.&lt;/li&gt;
2424 &lt;li&gt;Adjusted _links relations to make it possible to figure out the
2425 entity of an instance using the self-&gt;href-&gt;relation key lookup
2426 method.&lt;/li&gt;
2427 &lt;li&gt;Fixed several end points to make sure GET, PUT, POST and DELETE
2428 match each other.&lt;/li&gt;
2429 &lt;li&gt;Updated DELETE endpoints to work with UUID based entity
2430 identifiers.&lt;/li&gt;
2431 &lt;li&gt;Restructured code to use more common URL related constants in entry
2432 point values and replace @RequestMapping with method specific
2433 annotations.&lt;/li&gt;
2434 &lt;li&gt;Added first unit test code.&lt;/li&gt;
2435 &lt;li&gt;Updated web GUI to work with the updated API.&lt;/li&gt;
2436 &lt;li&gt;Changed integer fields, enforce them as numeric.&lt;/li&gt;
2437 &lt;li&gt;Rewrote and simplify metadata handling to use common service and
2438 controller code instead of duplicating for each type.&lt;/li&gt;
2439 &lt;li&gt;Implemented the remaining metadata types.&lt;/li&gt;
2440 &lt;li&gt;Changed Country list source from Wikipedia to Debian iso-codes and
2441 updated the list of Countries.&lt;/li&gt;
2442 &lt;li&gt;Many many corrections and improvements.&lt;/li&gt;
2443
2444 &lt;/ul&gt;
2445
2446 &lt;p&gt;If free and open standardized archiving API sound interesting to
2447 you, please contact us on IRC
2448 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
2449 irc.freenode.net&lt;/a&gt;) or email
2450 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
2451 mailing list&lt;/a&gt;).&lt;/p&gt;
2452
2453 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2454 activities, please send Bitcoin donations to my address
2455 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2456 </description>
2457 </item>
2458
2459 <item>
2460 <title>Blockchain and IoT articles accepted into Records Management Journal</title>
2461 <link>https://people.skolelinux.org/pere/blog/Blockchain_and_IoT_articles_accepted_into_Records_Management_Journal.html</link>
2462 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Blockchain_and_IoT_articles_accepted_into_Records_Management_Journal.html</guid>
2463 <pubDate>Thu, 27 Feb 2020 09:05:00 +0100</pubDate>
2464 <description>&lt;p&gt;On Tuesday, two scietific articles we have been working on for a
2465 while, was finally accepted for publication into
2466 &lt;a href=&quot;https://www.emerald.com/insight/publication/issn/0956-5698&quot;&gt;Records
2467 Management Journal&lt;/a&gt;. Still waiting for the assigned DOI urls to
2468 start working, but you can have a look at the LaTeX originals here.&lt;/p&gt;
2469
2470 &lt;p&gt;The first article is
2471 &quot;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2020-02-25-rmj-iot-record-keeping.pdf&quot;&gt;A
2472 record-keeping approach to managing IoT-data for government
2473 agencies&lt;/a&gt;&quot; (&lt;a href=&quot;https://doi.org/10.1108/RMJ-09-2019-0050&quot;&gt;DOI
2474 10.1108/RMJ-09-2019-0050&lt;a/&gt;) by Thomas Sødring, Petter Reinholdtsen
2475 and David Massey, and sketches some approaches for storing measurement
2476 data (aka Internet of Things sensor data) in a archive, thus providing
2477 a well defined mechanism for screening and deletion of the information &lt;/p&gt;
2478
2479 &lt;p&gt;The second article is
2480 &quot;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2020-02-25-rmj-block-chain-record-keeping.pdf&quot;&gt;Publishing
2481 and using record-keeping structural information in a blockchain&lt;/a&gt;&quot;
2482 (&lt;a href=&quot;https://doi.org/10.1108/RMJ-09-2019-0056&quot;&gt;DOI
2483 10.1108/RMJ-09-2019-0056&lt;/a&gt;) by Thomas Sødring, Petter Reinholdtsen
2484 and Svein Ølnes, where we describe a way for third parties to validate
2485 authenticity and thus improve trust in the records kept in a
2486 archive.&lt;/p&gt;
2487
2488 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2489 activities, please send Bitcoin donations to my address
2490 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2491
2492 &lt;p&gt;&lt;strong&gt;Update 2020-04-26&lt;/strong&gt;: Initially managed to swap the
2493 DOI numbers. Fixed it.&lt;/p&gt;
2494 </description>
2495 </item>
2496
2497 <item>
2498 <title>When terms and policy turn users away</title>
2499 <link>https://people.skolelinux.org/pere/blog/When_terms_and_policy_turn_users_away.html</link>
2500 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/When_terms_and_policy_turn_users_away.html</guid>
2501 <pubDate>Sat, 7 Dec 2019 21:15:00 +0100</pubDate>
2502 <description>&lt;p&gt;When asked to accept terms of use and privacy policies that state
2503 it will to remove rights I otherwise had or accept unreasonable terms
2504 undermining my privacy, I choose away the service. I simply do not
2505 have the conscience to accept terms I have no indention of upholding.
2506 But how are the system and service providers to know how many people
2507 they scared away? Normally I just quietly walk away. But today, I
2508 tried a new approach. I sent the following email (removing the
2509 specifics, as I am not out to take the specific service in question)
2510 to the service provider I decided to not use, to at least give them
2511 one data point on how many users are unhappy with their terms:&lt;/p&gt;
2512
2513 &lt;blockquote&gt;
2514 From: Petter Reinholdtsen
2515 &lt;br&gt;Subject: When terms of use turn users away
2516 &lt;br&gt;To: [contact@some.site]
2517 &lt;br&gt;Date: Sat, 07 Dec 2019 16:30:56 +0100
2518
2519 &lt;p&gt;Dear [Site Owner],&lt;/p&gt;
2520
2521 &lt;p&gt;I was eager to test the system, as it seemed like a fun and
2522 interesting application of [some] technology, but after reading the
2523 terms of use and privacy policy on &amp;lt;URL:
2524 https://www.[some.site]/terms-of-use &amp;gt; and &amp;lt;URL:
2525 https://www.[some.site]/privacy-policy &amp;gt; I want you to know that I
2526 decided to turn away. There were several provisions in the terms and
2527 policy turning me off, but the final term that convinced me was being
2528 asked to sign away my right to reverse engineer.&lt;/p&gt;
2529
2530 &lt;p&gt;--
2531 &lt;br&gt;Happy hacking
2532 &lt;br&gt;Petter Reinholdtsen&lt;/p&gt;
2533 &lt;/blockquote&gt;
2534
2535 &lt;p&gt;I do not expect much to come out of it, but sharing it here in case
2536 others want to give something similar a try too. If companies
2537 discover their terms scare away enough people, perhaps they will be
2538 improved...&lt;/p&gt;
2539
2540 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2541 activities, please send Bitcoin donations to my address
2542 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2543 </description>
2544 </item>
2545
2546 <item>
2547 <title>What would it cost to store all 2018 phone calls in Norway?</title>
2548 <link>https://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_2018_phone_calls_in_Norway_.html</link>
2549 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_2018_phone_calls_in_Norway_.html</guid>
2550 <pubDate>Mon, 25 Nov 2019 20:15:00 +0100</pubDate>
2551 <description>&lt;p&gt;Four years ago, I did a back of the envelope calculation on
2552 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html&quot;&gt;how
2553 much it would cost to store audio recordings of all the phone calls in
2554 Norway&lt;/a&gt;, and came up with NOK 2.1 million / EUR 250 000 for the
2555 year 2013. It is time to repeat the calculation using updated
2556 numbers. The calculation is based on how much data storage is needed
2557 for each minute of audio, how many minutes all the calls in Norway
2558 sums up to, multiplied by the cost of data storage.&lt;/p&gt;
2559
2560 &lt;p&gt;The number of phone call minutes for 2018 was fetched from
2561 &lt;a href=&quot;https://ekomstatistikken.nkom.no/&quot;&gt;the NKOM statistics
2562 site&lt;/a&gt;, and for 2018, land line calls are listed as 434 238 000
2563 minutes, while mobile phone calls are listed with 7 542 006 000
2564 minutes. The total number of minutes is thus 7 976 244 000. For
2565 simplicity, I decided to ignore any advantages in audio compression the
2566 last four years, and continue to assume 60 Kbytes/min as the last
2567 time.&lt;/p&gt;
2568
2569 &lt;p&gt;Storage prices still varies a lot, but as last time, I decide to
2570 take a reasonable big and cheap hard drive, and double its price to
2571 include the surrounding costs into account. A 10 TB disk cost less
2572 than 4500 NOK / 450 EUR these days, and doubling it give 9000 NOK per
2573 10 TB.&lt;/p&gt;
2574
2575 &lt;p&gt;So, with the parameters in place, lets update the old table
2576 estimating cost for calls in a given year:&lt;/p&gt;
2577
2578 &lt;table border=&quot;1&quot;&gt;
2579 &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;
2580 &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;1 170 000 / 117 000&lt;/td&gt;&lt;/tr&gt;
2581
2582 &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;900 000 / 90 000&lt;/td&gt;&lt;/tr&gt;
2583
2584 &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;855 000 / 85 500&lt;/td&gt;&lt;/tr&gt;
2585
2586 &lt;tr&gt;&lt;td&gt;2018&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;7 976 244 000&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;445 TiB&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;401 100 / 40 110&lt;/td&gt;&lt;/tr&gt;
2587 &lt;/table&gt;
2588
2589 &lt;p&gt;Both the cost of storage and the number of phone call minutes have
2590 dropped since the last time, bringing the cost down to a level where I
2591 guess even small organizations can afford to store the audio recording
2592 from every phone call taken in a year in Norway. Of course, this is
2593 just the cost of buying the storage equipment. Maintenance, need to
2594 be included as well, but the volume of a single year is about a single
2595 rack of hard drives, so it is not much more than I could fit in my own
2596 home. Wonder how much the electricity bill would raise if I had that
2597 kind of storage? I doubt it would be more than a few tens of thousand
2598 NOK per year.&lt;/p&gt;
2599 </description>
2600 </item>
2601
2602 <item>
2603 <title>Norwegian movies that might be legal to share on the Internet</title>
2604 <link>https://people.skolelinux.org/pere/blog/Norwegian_movies_that_might_be_legal_to_share_on_the_Internet.html</link>
2605 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Norwegian_movies_that_might_be_legal_to_share_on_the_Internet.html</guid>
2606 <pubDate>Sun, 1 Sep 2019 11:10:00 +0200</pubDate>
2607 <description>&lt;p&gt;While working on identifying and counting movies that can be
2608 legally shared on the Internet, I also looked at the Norwegian movies
2609 listed in IMDb. So far I have identified 54 candidates published
2610 before 1940 that might no longer be protected by norwegian copyright
2611 law. Of these, only 29 are available at least in part from the
2612 Norwegian National Library. It can be assumed that the remaining 25
2613 movies are lost. It seem most useful to identify the copyright status
2614 of movies that are not lost. To verify that the movie is really no
2615 longer protected, one need to verify the list of copyright holders and
2616 figure out if and when they died. I&#39;ve been able to identify some of
2617 them, but for some it is hard to figure out when they died.&lt;/p&gt;
2618
2619 &lt;/p&gt;This is the list of 29 movies both available from the library and
2620 possibly no longer protected by copyright law. The year range
2621 (1909-1979 on the first line) is year of publication and last year
2622 with copyright protection.&lt;/p&gt;
2623
2624 &lt;pre&gt;
2625 1909-1979 ( 70 year) NSB Bergensbanen 1909 - http://www.imdb.com/title/tt0347601/
2626 1910-1980 ( 70 year) Bjørnstjerne Bjørnsons likfærd - http://www.imdb.com/title/tt9299304/
2627 1910-1980 ( 70 year) Bjørnstjerne Bjørnsons begravelse - http://www.imdb.com/title/tt9299300/
2628 1912-1998 ( 86 year) Roald Amundsens Sydpolsferd (1910-1912) - http://www.imdb.com/title/tt9237500/
2629 1913-2006 ( 93 year) Roald Amundsen på sydpolen - http://www.imdb.com/title/tt0347886/
2630 1917-1987 ( 70 year) Fanden i nøtten - http://www.imdb.com/title/tt0346964/
2631 1919-2018 ( 99 year) Historien om en gut - http://www.imdb.com/title/tt0010259/
2632 1920-1990 ( 70 year) Kaksen på Øverland - http://www.imdb.com/title/tt0011361/
2633 1923-1993 ( 70 year) Norge - en skildring i 6 akter - http://www.imdb.com/title/tt0014319/
2634 1925-1997 ( 72 year) Roald Amundsen - Ellsworths flyveekspedition 1925 - http://www.imdb.com/title/tt0016295/
2635 1925-1995 ( 70 year) En verdensreise, eller Da knold og tott vaskede negrene hvite med 13 sæpen - http://www.imdb.com/title/tt1018948/
2636 1926-1996 ( 70 year) Luftskibet &#39;Norge&#39;s flugt over polhavet - http://www.imdb.com/title/tt0017090/
2637 1926-1996 ( 70 year) Med &#39;Maud&#39; over Polhavet - http://www.imdb.com/title/tt0017129/
2638 1927-1997 ( 70 year) Den store sultan - http://www.imdb.com/title/tt1017997/
2639 1928-1998 ( 70 year) Noahs ark - http://www.imdb.com/title/tt1018917/
2640 1928-1998 ( 70 year) Skjæbnen - http://www.imdb.com/title/tt1002652/
2641 1928-1998 ( 70 year) Chefens cigarett - http://www.imdb.com/title/tt1019896/
2642 1929-1999 ( 70 year) Se Norge - http://www.imdb.com/title/tt0020378/
2643 1929-1999 ( 70 year) Fra Chr. Michelsen til Kronprins Olav og Prinsesse Martha - http://www.imdb.com/title/tt0019899/
2644 1930-2000 ( 70 year) Mot ukjent land - http://www.imdb.com/title/tt0021158/
2645 1930-2000 ( 70 year) Det er natt - http://www.imdb.com/title/tt1017904/
2646 1930-2000 ( 70 year) Over Besseggen på motorcykel - http://www.imdb.com/title/tt0347721/
2647 1931-2001 ( 70 year) Glimt fra New York og den Norske koloni - http://www.imdb.com/title/tt0021913/
2648 1932-2007 ( 75 year) En glad gutt - http://www.imdb.com/title/tt0022946/
2649 1934-2004 ( 70 year) Den lystige radio-trio - http://www.imdb.com/title/tt1002628/
2650 1935-2005 ( 70 year) Kronprinsparets reise i Nord Norge - http://www.imdb.com/title/tt0268411/
2651 1935-2005 ( 70 year) Stormangrep - http://www.imdb.com/title/tt1017998/
2652 1936-2006 ( 70 year) En fargesymfoni i blått - http://www.imdb.com/title/tt1002762/
2653 1939-2009 ( 70 year) Til Vesterheimen - http://www.imdb.com/title/tt0032036/
2654 &lt;/pre&gt;
2655
2656 To be sure which one of these can be legally shared on the Internet,
2657 in addition to verifying the right holders list is complete, one need
2658 to verify the death year of these persons:
2659
2660 &lt;pre&gt;
2661 Bjørnstjerne Bjørnson (dead 1910) - http://www.imdb.com/name/nm0085085/
2662 Gustav Adolf Olsen (missing death year) - http://www.imdb.com/name/nm0647652/
2663 Gustav Lund (missing death year) - http://www.imdb.com/name/nm0526168/
2664 John W. Brunius (dead 1937) - http://www.imdb.com/name/nm0116307/
2665 Ola Cornelius (missing death year) - http://www.imdb.com/name/nm1227236/
2666 Oskar Omdal (dead 1927) - http://www.imdb.com/name/nm3116241/
2667 Paul Berge (missing death year) - http://www.imdb.com/name/nm0074006/
2668 Peter Lykke-Seest (dead 1948) - http://www.imdb.com/name/nm0528064/
2669 Roald Amundsen (dead 1928) - https://www.imdb.com/name/nm0025468/
2670 Sverre Halvorsen (dead 1936) - http://www.imdb.com/name/nm1299757/
2671 Thomas W. Schwartz (missing death year) - http://www.imdb.com/name/nm2616250/
2672 &lt;/pre&gt;
2673
2674 &lt;p&gt;Perhaps you can help me figuring death year of those missing it, or
2675 right holders if some are missing in IMDb? It would be nice to have a
2676 definite list of Norwegian movies that are legal to share on the
2677 Internet.&lt;/p&gt;
2678
2679 &lt;/p&gt;This is the list of 25 movies not available from the library and
2680 possibly no longer protected by copyright law:&lt;/p&gt;
2681
2682 &lt;pre&gt;
2683 1907-2009 (102 year) Fiskerlivets farer - http://www.imdb.com/title/tt0121288/
2684 1912-2018 (106 year) Historien omen moder - http://www.imdb.com/title/tt0382852/
2685 1912-2002 ( 90 year) Anny - en gatepiges roman - http://www.imdb.com/title/tt0002026/
2686 1916-1986 ( 70 year) The Mother Who Paid - http://www.imdb.com/title/tt3619226/
2687 1917-2018 (101 year) En vinternat - http://www.imdb.com/title/tt0008740/
2688 1917-2018 (101 year) Unge hjerter - http://www.imdb.com/title/tt0008719/
2689 1917-2018 (101 year) De forældreløse - http://www.imdb.com/title/tt0007972/
2690 1918-2018 (100 year) Vor tids helte - http://www.imdb.com/title/tt0009769/
2691 1918-2018 (100 year) Lodsens datter - http://www.imdb.com/title/tt0009314/
2692 1919-2018 ( 99 year) Æresgjesten - http://www.imdb.com/title/tt0010939/
2693 1921-2006 ( 85 year) Det nye year? - http://www.imdb.com/title/tt0347686/
2694 1921-1991 ( 70 year) Under Polarkredsens himmel - http://www.imdb.com/title/tt0012789/
2695 1923-1993 ( 70 year) Nordenfor polarcirkelen - http://www.imdb.com/title/tt0014318/
2696 1925-1995 ( 70 year) Med &#39;Stavangerfjord&#39; til Nordkap - http://www.imdb.com/title/tt0016098/
2697 1926-1996 ( 70 year) Over Atlanterhavet og gjennem Amerika - http://www.imdb.com/title/tt0017241/
2698 1926-1996 ( 70 year) Hallo! Amerika! - http://www.imdb.com/title/tt0016945/
2699 1926-1996 ( 70 year) Tigeren Teodors triumf - http://www.imdb.com/title/tt1008052/
2700 1927-1997 ( 70 year) Rød sultan - http://www.imdb.com/title/tt1017979/
2701 1927-1997 ( 70 year) Søndagsfiskeren Flag - http://www.imdb.com/title/tt1018002/
2702 1930-2000 ( 70 year) Ro-ro til fiskeskjær - http://www.imdb.com/title/tt1017973/
2703 1933-2003 ( 70 year) I kongens klær - http://www.imdb.com/title/tt0024164/
2704 1934-2004 ( 70 year) Eventyret om de tre bukkene bruse - http://www.imdb.com/title/tt1007963/
2705 1934-2004 ( 70 year) Pål sine høner - http://www.imdb.com/title/tt1017966/
2706 1937-2007 ( 70 year) Et mesterverk - http://www.imdb.com/title/tt1019937/
2707 1938-2008 ( 70 year) En Harmony - http://www.imdb.com/title/tt1007975/
2708 &lt;/pre&gt;
2709
2710 &lt;p&gt;Several of these movies completely lack right holder information in
2711 IMDb and elsewhere. Without access to a copy of the movie, it is
2712 often impossible to get the list of people involved in making the
2713 movie, making it impossible to figure out the correct copyright
2714 status.&lt;/p&gt;
2715
2716 &lt;p&gt;Not listed here are the movies still protected by copyright law.
2717 Their copyright terms varies from 79 to 144 years, according to the
2718 information I have available so far. One of the non-lost movies might
2719 change status next year,
2720 &lt;a href=&quot;https://www.imdb.com/title/tt1008007/&quot;&gt;Mustads Mono from 1920&lt;/a&gt;.
2721 The next one might be
2722 &lt;a href=&quot;https://www.imdb.com/title/tt0347215/&quot;&gt;Hvor isbjørnen ferdes
2723 from 1935&lt;/a&gt; in 2024.&lt;/p&gt;
2724
2725 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2726 activities, please send Bitcoin donations to my address
2727 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2728 </description>
2729 </item>
2730
2731 <item>
2732 <title>Legal to share more than 16,000 movies listed on IMDB?</title>
2733 <link>https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_16_000_movies_listed_on_IMDB_.html</link>
2734 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_16_000_movies_listed_on_IMDB_.html</guid>
2735 <pubDate>Sat, 10 Aug 2019 12:00:00 +0200</pubDate>
2736 <description>&lt;p&gt;The recent announcement of from the New York Public Library on its
2737 results in
2738 &lt;a href=&quot;https://www.vice.com/en_us/article/kz4e3e/millions-of-books-are-secretly-in-the-public-domain-you-can-download-them-free&quot;&gt;identifying
2739 books published in the USA that are now in the public domain&lt;/a&gt;,
2740 inspired me to update the scripts I use to track down movies that are
2741 in the public domain. This involved updating the script used to
2742 extract lists of movies believed to be in the public domain, to work
2743 with the latest version of the source web sites. In particular the
2744 new edition of the &lt;a href=&quot;https://retrofilmvault.com/&quot;&gt;Retro Film
2745 Vault&lt;/a&gt; web site now seem to list all the films available from that
2746 distributor, bringing the films identified there to more than 12.000
2747 movies, and I was able to connect 46% of these to IMDB titles.&lt;/p&gt;
2748
2749 &lt;p&gt;The new total is 16307 IMDB IDs (aka films) in the public domain or
2750 creative commons licensed, and unknown status for 31460 movies
2751 (possibly duplicates of the 16307).&lt;/p&gt;
2752
2753 &lt;p&gt;The complete data set is available from
2754 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
2755 public git repository&lt;/a&gt;, including the scripts used to create it.&lt;/p&gt;
2756
2757 &lt;p&gt;Anyway, this is the summary of the 28 collected data sources so
2758 far:&lt;/p&gt;
2759
2760 &lt;p&gt;&lt;pre&gt;
2761 2361 entries ( 50 unique) with and 22472 without IMDB title ID in free-movies-archive-org-search.json
2762 2363 entries ( 146 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
2763 299 entries ( 32 unique) with and 93 without IMDB title ID in free-movies-cinemovies.json
2764 88 entries ( 52 unique) with and 36 without IMDB title ID in free-movies-creative-commons.json
2765 3190 entries ( 1532 unique) with and 13 without IMDB title ID in free-movies-fesfilm-xls.json
2766 620 entries ( 24 unique) with and 283 without IMDB title ID in free-movies-fesfilm.json
2767 1080 entries ( 165 unique) with and 651 without IMDB title ID in free-movies-filmchest-com.json
2768 830 entries ( 13 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
2769 19 entries ( 19 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-gb.json
2770 7410 entries ( 7101 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-us.json
2771 1205 entries ( 41 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
2772 163 entries ( 22 unique) with and 88 without IMDB title ID in free-movies-infodigi-pd.json
2773 158 entries ( 103 unique) with and 0 without IMDB title ID in free-movies-letterboxd-looney-tunes.json
2774 113 entries ( 4 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
2775 182 entries ( 71 unique) with and 0 without IMDB title ID in free-movies-letterboxd-silent.json
2776 248 entries ( 85 unique) with and 0 without IMDB title ID in free-movies-manual.json
2777 158 entries ( 4 unique) with and 64 without IMDB title ID in free-movies-mubi.json
2778 85 entries ( 1 unique) with and 23 without IMDB title ID in free-movies-openflix.json
2779 520 entries ( 22 unique) with and 244 without IMDB title ID in free-movies-profilms-pd.json
2780 343 entries ( 14 unique) with and 10 without IMDB title ID in free-movies-publicdomainmovies-info.json
2781 701 entries ( 16 unique) with and 560 without IMDB title ID in free-movies-publicdomainmovies-net.json
2782 74 entries ( 13 unique) with and 60 without IMDB title ID in free-movies-publicdomainreview.json
2783 698 entries ( 16 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
2784 5506 entries ( 2941 unique) with and 6585 without IMDB title ID in free-movies-retrofilmvault.json
2785 16 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-thehillproductions.json
2786 110 entries ( 2 unique) with and 29 without IMDB title ID in free-movies-two-movies-net.json
2787 73 entries ( 20 unique) with and 131 without IMDB title ID in free-movies-vodo.json
2788 16307 unique IMDB title IDs in total, 12509 only in one list, 31460 without IMDB title ID
2789 &lt;/pre&gt;&lt;/p&gt;
2790
2791 &lt;p&gt;New this time is a list of all the identified IMDB titles, with
2792 title, year and running time, provided in free-complete.json. this
2793 file also indiciate which source is used to conclude the video is free
2794 to distribute.&lt;/p&gt;
2795
2796 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2797 activities, please send Bitcoin donations to my address
2798 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2799 </description>
2800 </item>
2801
2802 <item>
2803 <title>Teach kids to protect their privacy - the EDRi way</title>
2804 <link>https://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html</link>
2805 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Teach_kids_to_protect_their_privacy___the_EDRi_way.html</guid>
2806 <pubDate>Thu, 4 Jul 2019 19:10:00 +0200</pubDate>
2807 <description>&lt;p&gt;Childs need to learn how to guard their privacy too. To help them,
2808 &lt;a href=&quot;https://edri.org/&quot;&gt;European Digital Rights (EDRi)&lt;/a&gt; created
2809 a colorful booklet providing information on several privacy related topics,
2810 and tips on how to protect ones privacy in the digital age.&lt;/p&gt;
2811
2812 &lt;p&gt;The 24 page booklet titled Digital Defenders is
2813 &lt;a href=&quot;https://edri.org/digital-defenders-help-kids-defend-their-privacy-around-europe&quot;&gt;available
2814 in several languages&lt;/a&gt;. Thanks to the valuable contributions from
2815 members of &lt;a href=&quot;https://efn.no/&quot;&gt;the Electronic Foundation Norway
2816 (EFN)&lt;/a&gt; and others, it is also available in Norwegian Bokmål.
2817 If you would like to have it available in your language too,
2818 &lt;a href=&quot;https://hosted.weblate.org/projects/efn/privacy4kids/&quot;&gt;contribute
2819 via Weblate&lt;/a&gt; and get in touch.&lt;/p&gt;
2820
2821 &lt;p&gt;But a funny, well written and good looking PDF do not have much
2822 impact, unless it is read by the right audience. To increase the
2823 chance of kids reading it, I am currently assisting EFN in getting
2824 copies printed on paper to distribute on the street and in class
2825 rooms. Print the booklet was made possible thanks to a small et of
2826 great sponsors. Thank you very much to each and every one of them! I
2827 hope to have the printed booklet ready to hand out on Tuesday, when
2828 &lt;a href=&quot;https://www.nuug.no/&gt;&quot;&gt;the Norwegian Unix Users Group&lt;/a&gt; is
2829 organizing &lt;a href=&quot;https://wiki.nuug.no/sommerfest2019&quot;&gt;its yearly
2830 barbecue for geeks and free software zealots in the Oslo area&lt;/a&gt;. If
2831 you are nearby, feel free to come by and check out the party and the
2832 booklet.&lt;/p&gt;
2833
2834 &lt;p&gt;If the booklet prove to be a success, it would be great to get
2835 more sponsoring and distribute it to every kid in the country. :)&lt;/p&gt;
2836
2837 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2838 activities, please send Bitcoin donations to my address
2839 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2840 </description>
2841 </item>
2842
2843 <item>
2844 <title>Jami/Ring, finally functioning peer to peer communication client</title>
2845 <link>https://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</link>
2846 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</guid>
2847 <pubDate>Wed, 19 Jun 2019 08:50:00 +0200</pubDate>
2848 <description>&lt;p&gt;Some years ago, in 2016, I
2849 &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;wrote
2850 for the first time about&lt;/a&gt; the Ring peer to peer messaging system.
2851 It would provide messaging without any central server coordinating the
2852 system and without requiring all users to register a phone number or
2853 own a mobile phone. Back then, I could not get it to work, and put it
2854 aside until it had seen more development. A few days ago I decided to
2855 give it another try, and am happy to report that this time I am able
2856 to not only send and receive messages, but also place audio and video
2857 calls. But only if UDP is not blocked into your network.&lt;/p&gt;
2858
2859 &lt;p&gt;The Ring system changed name earlier this year to
2860 &lt;a href=&quot;https://en.wikipedia.org/wiki/Jami_(software)&quot;&gt;Jami&lt;/a&gt;. I
2861 tried doing web search for &#39;ring&#39; when I discovered it for the first
2862 time, and can only applaud this change as it is impossible to find
2863 something called Ring among the noise of other uses of that word. Now
2864 you can search for &#39;jami&#39; and this client and
2865 &lt;a href=&quot;https://jami.net/&quot;&gt;the Jami system&lt;/a&gt; is the first hit at
2866 least on duckduckgo.&lt;/p&gt;
2867
2868 &lt;p&gt;Jami will by default encrypt messages as well as audio and video
2869 calls, and try to send them directly between the communicating parties
2870 if possible. If this proves impossible (for example if both ends are
2871 behind NAT), it will use a central SIP TURN server maintained by the
2872 Jami project. Jami can also be a normal SIP client. If the SIP
2873 server is unencrypted, the audio and video calls will also be
2874 unencrypted. This is as far as I know the only case where Jami will
2875 do anything without encryption.&lt;/p&gt;
2876
2877 &lt;p&gt;Jami is available for several platforms: Linux, Windows, MacOSX,
2878 Android, iOS, and Android TV. It is included in Debian already. Jami
2879 also work for those using F-Droid without any Google connections,
2880 while Signal do not.
2881 &lt;a href=&quot;https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol&quot;&gt;The
2882 protocol&lt;/a&gt; is described in the Ring project wiki. The system uses a
2883 distributed hash table (DHT) system (similar to BitTorrent) running
2884 over UDP. On one of the networks I use, I discovered Jami failed to
2885 work. I tracked this down to the fact that incoming UDP packages
2886 going to ports 1-49999 were blocked, and the DHT would pick a random
2887 port and end up in the low range most of the time. After talking to
2888 the developers, I solved this by enabling the dhtproxy in the
2889 settings, thus using TCP to talk to a central DHT proxy instead of
2890
2891 peering directly with others. I&#39;ve been told the developers are
2892 working on allowing DHT to use TCP to avoid this problem. I also ran
2893 into a problem when trying to talk to the version of Ring included in
2894 Debian Stable (Stretch). Apparently the protocol changed between
2895 beta2 and the current version, making these clients incompatible.
2896 Hopefully the protocol will not be made incompatible in the
2897 future.&lt;/p&gt;
2898
2899 &lt;p&gt;It is worth noting that while looking at Jami and its features, I
2900 came across another communication platform I have not tested yet. The
2901 &lt;a href=&quot;https://en.wikipedia.org/wiki/Tox_(protocol)&quot;&gt;Tox protocol&lt;/a&gt;
2902 and &lt;a href=&quot;https://tox.chat/&quot;&gt;family of Tox clients&lt;/a&gt;. It might
2903 become the topic of a future blog post.&lt;/p&gt;
2904
2905 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
2906 activities, please send Bitcoin donations to my address
2907 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
2908 </description>
2909 </item>
2910
2911 <item>
2912 <title>More sales number for my Free Culture paper editions (2019-edition)</title>
2913 <link>https://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</link>
2914 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</guid>
2915 <pubDate>Tue, 11 Jun 2019 16:05:00 +0200</pubDate>
2916 <description>&lt;p&gt;The first book I published,
2917 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture by Lawrence
2918 Lessig&lt;/a&gt;, is still selling a few copies. Not a lot, but enough to
2919 have contributed slightly over $500 to the &lt;a
2920 href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons Corporation&lt;/a&gt;
2921 so far. All the profit is sent there. Most books are still sold via
2922 Amazon (83 copies), with Ingram second (49) and Lulu (12) and Machette (7) as
2923 minor channels. Bying directly from Lulu bring the largest cut to
2924 Creative Commons. The English Edition sold 80 copies so far, the
2925 French 59 copies, and Norwegian only 8 copies. Nothing impressive,
2926 but nice to see the work we put down is still being appreciated. The
2927 ebook edition is available for free from
2928 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
2929
2930 &lt;table border=&quot;0&quot;&gt;
2931 &lt;tr&gt;&lt;th rowspan=&quot;2&quot; valign=&quot;bottom&quot;&gt;Title / language&lt;/th&gt;
2932 &lt;th colspan=&quot;7&quot;&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
2933 &lt;tr&gt;
2934 &lt;th&gt;2016 jan-jun&lt;/th&gt;
2935 &lt;th&gt;2016 jul-dec&lt;/th&gt;
2936 &lt;th&gt;2017 jan-jun&lt;/th&gt;
2937 &lt;th&gt;2017 jul-dec&lt;/th&gt;
2938 &lt;th&gt;2018 jan-jun&lt;/th&gt;
2939 &lt;th&gt;2018 jul-dec&lt;/th&gt;
2940 &lt;th&gt;2019 jan-may&lt;/th&gt;
2941 &lt;/tr&gt;
2942
2943 &lt;tr&gt;
2944 &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;
2945 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
2946 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
2947 &lt;td align=&quot;right&quot;&gt;19&lt;/td&gt;
2948 &lt;td align=&quot;right&quot;&gt;11&lt;/td&gt;
2949 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
2950 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
2951 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
2952 &lt;/tr&gt;
2953
2954 &lt;tr&gt;
2955 &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;
2956 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
2957 &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
2958 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2959 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2960 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2961 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2962 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
2963 &lt;/tr&gt;
2964
2965 &lt;tr&gt;
2966 &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;
2967 &lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;
2968 &lt;td align=&quot;right&quot;&gt;27&lt;/td&gt;
2969 &lt;td align=&quot;right&quot;&gt;16&lt;/td&gt;
2970 &lt;td align=&quot;right&quot;&gt;9&lt;/td&gt;
2971 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
2972 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
2973 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
2974 &lt;/tr&gt;
2975
2976 &lt;tr&gt;
2977 &lt;td&gt;Total&lt;/td&gt;
2978 &lt;td align=&quot;right&quot;&gt;24&lt;/td&gt;
2979 &lt;td align=&quot;right&quot;&gt;34&lt;/td&gt;
2980 &lt;td align=&quot;right&quot;&gt;35&lt;/td&gt;
2981 &lt;td align=&quot;right&quot;&gt;20&lt;/td&gt;
2982 &lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
2983 &lt;td align=&quot;right&quot;&gt;13&lt;/td&gt;
2984 &lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
2985 &lt;/tr&gt;
2986
2987 &lt;/table&gt;
2988
2989 &lt;p&gt;It is fun to see the French edition being more popular than the
2990 English one.&lt;/p&gt;
2991
2992 &lt;p&gt;If you would like to translate and publish the book in your native
2993 language, I would be happy to help make it happen. Please get in
2994 touch.&lt;/p&gt;
2995 </description>
2996 </item>
2997
2998 <item>
2999 <title>Official MIME type &quot;text/vnd.sosi&quot; for SOSI map data</title>
3000 <link>https://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
3001 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
3002 <pubDate>Tue, 4 Jun 2019 09:20:00 +0200</pubDate>
3003 <description>&lt;p&gt;Just 15 days ago,
3004 &lt;ahref=&quot;http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html&quot;&gt;I
3005 mentioned&lt;/a&gt; my submission to IANA to register an official MIME type
3006 for the SOSI vector map format. This morning, just an hour ago, I was
3007 notified that
3008 &lt;a href=&quot;https://www.iana.org/assignments/media-types/text/vnd.sosi&quot;&gt;the
3009 MIME type &quot;text/vnd.sosi&quot;&lt;/a&gt; is registered for this format. In
3010 addition to this registration, my
3011 &lt;a href=&quot;https://github.com/file/file/blob/master/magic/Magdir/sosi&quot;&gt;file(1)
3012 patch for a pattern matching rule for SOSI files&lt;/a&gt; has been accepted
3013 into the official source of that program (pending a new release), and
3014 I&#39;ve been told by the team behind
3015 &lt;a href=&quot;https://www.nationalarchives.gov.uk/PRONOM/&quot;&gt;PRONOM&lt;/a&gt; that
3016 the SOSI format will be included in the next release of PRONOM, which
3017 they plan to release this summer around July.&lt;/p&gt;
3018
3019 &lt;p&gt;I am very happy to see all of this fall into place, for use by
3020 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;the
3021 Noark 5 Tjenestegrensesnitt&lt;/a&gt; implementations.&lt;/p&gt;
3022
3023 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3024 activities, please send Bitcoin donations to my address
3025 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3026 </description>
3027 </item>
3028
3029 <item>
3030 <title>The space rover coquine, or how I ended up on the dark side of the moon</title>
3031 <link>https://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</link>
3032 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</guid>
3033 <pubDate>Sun, 2 Jun 2019 23:55:00 +0200</pubDate>
3034 <description>&lt;p&gt;A while back a college and friend from Debian and the Skolelinux /
3035 Debian Edu project approached me, asking if I knew someone that might
3036 be interested in helping out with a technology project he was running
3037 as a teacher at &lt;a href=&quot;https://www.ecolefrancodanoise.dk/&quot;&gt;L&#39;école
3038 franco-danoise&lt;/a&gt; - the Danish-French school and kindergarden. The
3039 kids were building robots, rovers. The story behind it is to build a
3040 rover for use
3041 &lt;a href=&quot;http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side&quot;&gt;on
3042 the dark side of the moon&lt;/a&gt;, and remote control it. As travel cost
3043 was a bit high for the final destination, and they wanted to test the
3044 concept first, he was looking for volunteers to host a rover for the
3045 kids to control in a foreign country. I ended up volunteering as a
3046 host, and last week the rover arrived. It took a while to arrive
3047 after &lt;a href=&quot;http://blog.ecolefrancodanoise.dk/model-moms&quot;&gt;it was
3048 built and shipped&lt;/a&gt;, because of customs confusion. Luckily we were
3049 able fix it quickly with help from my colleges at work.&lt;/p&gt;
3050
3051 &lt;p&gt;This is what it looked like when the rover arrived. Note the cute
3052 eyes looking up on me from the wrapping&lt;/p&gt;
3053
3054 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-esken-med-det-rare-i.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
3055 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-den-ser-meg.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
3056 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-en-skrue-loes.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
3057
3058 &lt;p style=&quot;text-align:left&quot;&gt;Once the robot arrived, we needed to track
3059 down batteries and figure out how to build custom firmware for it with
3060 the appropriate wifi settings. I asked a friend if I could get two
3061 18650 batteries from his pile of Tesla batteries (he had them from the
3062 wrack of a crashed Tesla), so now the rover is running on Tesla
3063 batteries.&lt;/p&gt;
3064
3065 &lt;p&gt;Building
3066 &lt;a href=&quot;https://gitlab.com/ecolefrancodanoise/arduino-efd/&quot;&gt;the rover
3067 firmware&lt;/a&gt; proved a bit harder, as the code did not work out of the
3068 box with the Arduino IDE package in Debian Buster. I suspect this is
3069 due to a unsolved
3070 &lt;a href=&quot;https://github.com/arduino/Arduino/pull/2703&quot;&gt; license problem
3071 with arduino&lt;/a&gt; blocking Debian from upgrading to the latest version.
3072 In the end we gave up debugging why the IDE failed to find the
3073 required libraries, and ended up using the Arduino Makefile from the
3074 &lt;a href=&quot;https://tracker.debian.org/pkg/arduino-mk&quot;&gt;arduino-mk Debian
3075 package&lt;/a&gt; instead. Unfortunately the camera library is missing from
3076 the Arduino environment in Debian, so we disabled the camera support
3077 for the first firmware build, to get something up and running. With
3078 this reduced firmware, the robot could be controlled via the
3079 controller server, driving around and measuring distance using its
3080 internal acoustic sensor.&lt;/p&gt;
3081
3082 &lt;p&gt;Next, With some help from my friend in Denmark, which checked in the
3083 camera library into the gitlab repository for me to use, we were able
3084 to build a new and more complete version of the firmware, and the
3085 robot is now up and running. This is what the &quot;commander&quot; web page
3086 look like after taking a measurement and a snapshot:&lt;/p&gt;
3087
3088 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-commander.png&quot; width=&quot;40%&quot; border=&quot;1&quot; align=&quot;center&quot;/&gt;
3089
3090 &lt;p&gt;If you want to learn more about this project, you can check out the
3091 &lt;a href=&quot;https://hackaday.io/project/164082-the-dark-side-challenge&quot;&gt;The
3092 Dark Side Challenge&lt;/a&gt; Hackaday web pages.&lt;/p&gt;
3093
3094 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3095 activities, please send Bitcoin donations to my address
3096 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3097 </description>
3098 </item>
3099
3100 <item>
3101 <title>Nikita version 0.4 released - free software archive API server</title>
3102 <link>https://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</link>
3103 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</guid>
3104 <pubDate>Wed, 22 May 2019 11:30:00 +0200</pubDate>
3105 <description>&lt;p&gt;This morning, a new release of
3106 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
3107 Noark 5 core project&lt;/a&gt; was
3108 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html&quot;&gt;announced
3109 on the project mailing list&lt;/a&gt;. The Nikita free software solution is
3110 an implementation of the Norwegian archive standard Noark 5 used by
3111 government offices in Norway. These were the changes in version 0.4
3112 since version 0.3, see the email link above for links to a demo site:&lt;/p&gt;
3113
3114 &lt;ul&gt;
3115
3116 &lt;li&gt;Roll out OData handling to all endpoints where applicable&lt;/li&gt;
3117 &lt;li&gt;Changed the relation key for &quot;ny-journalpost&quot; to the official one.&lt;/li&gt;
3118 &lt;li&gt;Better link generation on outgoing links.&lt;/li&gt;
3119 &lt;li&gt;Tidy up code and make code and approaches more consistent throughout
3120 the codebase&lt;/li&gt;
3121 &lt;li&gt;Update rels to be in compliance with updated version in the
3122 interface standard&lt;/li&gt;
3123 &lt;li&gt;Avoid printing links on empty objects as they can&#39;t have links&lt;/li&gt;
3124 &lt;li&gt;Small bug fixes and improvements&lt;/li&gt;
3125 &lt;li&gt;Start moving generation of outgoing links to @Service layer so access
3126 control can be used when generating links&lt;/li&gt;
3127 &lt;li&gt;Log exception that was being swallowed so it&#39;s traceable&lt;/li&gt;
3128 &lt;li&gt;Fix name mapping problem&lt;/li&gt;
3129 &lt;li&gt;Update templated printing so templated should only be printed if it
3130 is set true. Requires more work to roll out across entire
3131 application.&lt;/li&gt;
3132 &lt;li&gt;Remove Record-&gt;DocumentObject as per domain model of n5v4&lt;/li&gt;
3133 &lt;li&gt;Add ability to delete lists filtered with OData&lt;/li&gt;
3134 &lt;li&gt;Return NO_CONTENT (204) on delete as per interface standard&lt;/li&gt;
3135 &lt;li&gt;Introduce support for ConstraintViolationException exception&lt;/li&gt;
3136 &lt;li&gt;Make Service classes extend NoarkService&lt;/li&gt;
3137 &lt;li&gt;Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
3138 X-Forwarded-Port&lt;/li&gt;
3139 &lt;li&gt;Update CorrespondencePart* code to be more in line with Single
3140 Responsibility Principle&lt;/li&gt;
3141 &lt;li&gt;Make package name follow directory structure&lt;/li&gt;
3142 &lt;li&gt;Make sure Document number starts at 1, not 0&lt;/li&gt;
3143 &lt;li&gt;Fix isues discovered by FindBugs&lt;/li&gt;
3144 &lt;li&gt;Update from Date to ZonedDateTime&lt;/li&gt;
3145 &lt;li&gt;Fix wrong tablename&lt;/li&gt;
3146 &lt;li&gt;Introduce Service layer tests&lt;/li&gt;
3147 &lt;li&gt;Improvements to CorrespondencePart&lt;/li&gt;
3148 &lt;li&gt;Continued work on Class / Classificationsystem&lt;/li&gt;
3149 &lt;li&gt;Fix feature where authors were stored as storageLocations&lt;/li&gt;
3150 &lt;li&gt;Update HQL builder for OData&lt;/li&gt;
3151 &lt;li&gt;Update OData search capability from webpage&lt;/li&gt;
3152
3153 &lt;/ul&gt;
3154
3155 &lt;p&gt;If free and open standardized archiving API sound interesting to
3156 you, please contact us on IRC
3157 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
3158 irc.freenode.net&lt;/a&gt;) or email
3159 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
3160 mailing list&lt;/a&gt;).&lt;/p&gt;
3161
3162 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3163 activities, please send Bitcoin donations to my address
3164 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3165 </description>
3166 </item>
3167
3168 <item>
3169 <title>MIME type &quot;text/vnd.sosi&quot; for SOSI map data</title>
3170 <link>https://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
3171 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
3172 <pubDate>Mon, 20 May 2019 08:35:00 +0200</pubDate>
3173 <description>&lt;p&gt;As part of my involvement in the work to
3174 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard&quot;&gt;standardise
3175 a REST based API for Noark 5&lt;/a&gt;, the Norwegian archiving standard, I
3176 spent some time the last few months to try to register a
3177 &lt;a href=&quot;https://www.iana.org/assignments/media-types/&quot;&gt;MIME type&lt;/a&gt;
3178 and &lt;a href=&quot;https://www.nationalarchives.gov.uk/PRONOM/&quot;&gt;PRONOM
3179 code&lt;/a&gt; for the SOSI file format. The background is that there is a
3180 set of formats approved for long term storage and archiving in Norway,
3181 and among these formats, SOSI is the only format missing a MIME type
3182 and PRONOM code.&lt;/p&gt;
3183
3184 &lt;p&gt;What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
3185 Samordnet Opplegg for Stedfestet Informasjon (literally &quot;Coordinated
3186 Approach for Spatial Information&quot;, but more commonly expanded in
3187 English to Systematic Organization of Spatial Information). It is a
3188 text based file format for geo-spatial vector information used in
3189 Norway. Information about the SOSI format can be found in English
3190 from &lt;a href=&quot;https://en.wikipedia.org/wiki/SOSI&quot;&gt;Wikipedia&lt;/a&gt;. The
3191 specification is available in Norwegian from
3192 &lt;a href=&quot;https://www.kartverket.no/geodataarbeid/Standarder/SOSI/&quot;&gt;the
3193 Norwegian mapping authority&lt;/a&gt;. The SOSI standard, which originated
3194 in the beginning of nineteen eighties, was the inspiration and formed the
3195 basis for the XML based
3196 &lt;a href=&quot;https://en.wikipedia.org/wiki/Geography_Markup_Language&quot;&gt;Geography
3197 Markup Language&lt;/a&gt;.&lt;/p&gt;
3198
3199 &lt;p&gt;I have so far written
3200 &lt;a href=&quot;https://github.com/file/file/pull/67&quot;&gt;a pattern matching
3201 rule&lt;/a&gt; for the file(1) unix tool to recognize SOSI files, submitted
3202 a request to the PRONOM project to have a PRONOM ID assigned to the
3203 format (reference TNA1555078202S60), and today send a request to IANA
3204 to register the &quot;text/vnd.sosi&quot; MIME type for this format (referanse
3205 &lt;a href=&quot;https://tools.iana.org/public-view/viewticket/1143144&quot;&gt;IANA
3206 #1143144&lt;/a&gt;). If all goes well, in a few months, anyone implementing
3207 the Noark 5 Tjenestegrensesnitt API spesification should be able to
3208 use an official MIME type and PRONOM code for SOSI files. In
3209 addition, anyone using SOSI files on Linux should be able to
3210 automatically recognise the format and web sites handing out SOSI
3211 files can begin providing a more specific MIME type. So far, SOSI
3212 files has been handed out from web sites using the
3213 &quot;application/octet-stream&quot; MIME type, which is just a nice way of
3214 stating &quot;I do not know&quot;. Soon, we will know. :)&lt;/p&gt;
3215
3216 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3217 activities, please send Bitcoin donations to my address
3218 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3219 </description>
3220 </item>
3221
3222 <item>
3223 <title>PlantUML for text based UML diagram modelling - nice free software</title>
3224 <link>https://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</link>
3225 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</guid>
3226 <pubDate>Mon, 25 Mar 2019 09:35:00 +0100</pubDate>
3227 <description>&lt;p&gt;As part of my involvement with the
3228 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
3229 Noark 5 core project&lt;/a&gt;, I have been proposing improvements to the
3230 API specification created by &lt;a href=&quot;https://www.arkivverket.no/&quot;&gt;The
3231 National Archives of Norway&lt;/a&gt; and helped migrating the text from a
3232 version control system unfriendly binary format (docx) to Markdown in
3233 git. Combined with the migration to a public git repository (on
3234 github), this has made it possible for anyone to suggest improvement
3235 to the text.&lt;/p&gt;
3236
3237 &lt;p&gt;The specification is filled with UML diagrams. I believe the
3238 original diagrams were modelled using Sparx Systems Enterprise
3239 Architect, and exported as EMF files for import into docx. This
3240 approach make it very hard to track changes using a version control
3241 system. To improve the situation I have been looking for a good text
3242 based UML format with associated command line free software tools on
3243 Linux and Windows, to allow anyone to send in corrections to the UML
3244 diagrams in the specification. The tool must be text based to work
3245 with git, and command line to be able to run it automatically to
3246 generate the diagram images. Finally, it must be free software to
3247 allow anyone, even those that can not accept a non-free software
3248 license, to contribute.&lt;/p&gt;
3249
3250 &lt;p&gt;I did not know much about free software UML modelling tools when I
3251 started. I have used dia and inkscape for simple modelling in the
3252 past, but neither are available on Windows, as far as I could tell. I
3253 came across a nice
3254 &lt;a href=&quot;https://modeling-languages.com/text-uml-tools-complete-list/&quot;&gt;list
3255 of text mode uml tools&lt;/a&gt;, and tested out a few of the tools listed
3256 there. &lt;a href=&quot;http://plantuml.com/&quot;&gt;The PlantUML tool&lt;/a&gt; seemed
3257 most promising. After verifying that the packages
3258 &lt;a href=&quot;https://tracker.debian.org/pkg/plantuml&quot;&gt;is available in
3259 Debian&lt;/a&gt; and found &lt;a href=&quot;https://github.com/plantuml/plantuml&quot;&gt;its
3260 Java source&lt;/a&gt; under a GPL license on github, I set out to test if it
3261 could represent the diagrams we needed, ie the ones currently in
3262 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;the
3263 Noark 5 Tjenestegrensesnitt specification&lt;/a&gt;. I am happy to report
3264 that it could represent them, even thought it have a few warts here
3265 and there.&lt;/p&gt;
3266
3267 &lt;p&gt;After a few days of modelling I completed the task this weekend. A
3268 temporary link to the complete set of diagrams (original and from
3269 PlantUML) is available in
3270 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76&quot;&gt;the
3271 github issue discussing the need for a text based UML format&lt;/a&gt;, but
3272 please note I lack a sensible tool to convert EMF files to PNGs, so
3273 the &quot;original&quot; rendering is not as good as the original was in the
3274 publised PDF.&lt;/p&gt;
3275
3276 &lt;p&gt;Here is an example UML diagram, showing the core classes for
3277 keeping metadata about archived documents:&lt;/p&gt;
3278
3279 &lt;pre&gt;
3280 @startuml
3281 skinparam classAttributeIconSize 0
3282
3283 !include media/uml-class-arkivskaper.iuml
3284 !include media/uml-class-arkiv.iuml
3285 !include media/uml-class-klassifikasjonssystem.iuml
3286 !include media/uml-class-klasse.iuml
3287 !include media/uml-class-arkivdel.iuml
3288 !include media/uml-class-mappe.iuml
3289 !include media/uml-class-merknad.iuml
3290 !include media/uml-class-registrering.iuml
3291 !include media/uml-class-basisregistrering.iuml
3292 !include media/uml-class-dokumentbeskrivelse.iuml
3293 !include media/uml-class-dokumentobjekt.iuml
3294 !include media/uml-class-konvertering.iuml
3295 !include media/uml-datatype-elektronisksignatur.iuml
3296
3297 Arkivstruktur.Arkivskaper &quot;+arkivskaper 1..*&quot; &lt;-o &quot;+arkiv 0..*&quot; Arkivstruktur.Arkiv
3298 Arkivstruktur.Arkiv o--&gt; &quot;+underarkiv 0..*&quot; Arkivstruktur.Arkiv
3299 Arkivstruktur.Arkiv &quot;+arkiv 1&quot; o--&gt; &quot;+arkivdel 0..*&quot; Arkivstruktur.Arkivdel
3300 Arkivstruktur.Klassifikasjonssystem &quot;+klassifikasjonssystem [0..1]&quot; &lt;--o &quot;+arkivdel 1..*&quot; Arkivstruktur.Arkivdel
3301 Arkivstruktur.Klassifikasjonssystem &quot;+klassifikasjonssystem [0..1]&quot; o--&gt; &quot;+klasse 0..*&quot; Arkivstruktur.Klasse
3302 Arkivstruktur.Arkivdel &quot;+arkivdel 0..1&quot; o--&gt; &quot;+mappe 0..*&quot; Arkivstruktur.Mappe
3303 Arkivstruktur.Arkivdel &quot;+arkivdel 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
3304 Arkivstruktur.Klasse &quot;+klasse 0..1&quot; o--&gt; &quot;+mappe 0..*&quot; Arkivstruktur.Mappe
3305 Arkivstruktur.Klasse &quot;+klasse 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
3306 Arkivstruktur.Mappe --&gt; &quot;+undermappe 0..*&quot; Arkivstruktur.Mappe
3307 Arkivstruktur.Mappe &quot;+mappe 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
3308 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Mappe
3309 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Dokumentbeskrivelse
3310 Arkivstruktur.Basisregistrering -|&gt; Arkivstruktur.Registrering
3311 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Basisregistrering
3312 Arkivstruktur.Registrering &quot;+registrering 1..*&quot; o--&gt; &quot;+dokumentbeskrivelse 0..*&quot; Arkivstruktur.Dokumentbeskrivelse
3313 Arkivstruktur.Dokumentbeskrivelse &quot;+dokumentbeskrivelse 1&quot; o-&gt; &quot;+dokumentobjekt 0..*&quot; Arkivstruktur.Dokumentobjekt
3314 Arkivstruktur.Dokumentobjekt *-&gt; &quot;+konvertering 0..*&quot; Arkivstruktur.Konvertering
3315 Arkivstruktur.ElektroniskSignatur -[hidden]-&gt; Arkivstruktur.Dokumentobjekt
3316 @enduml
3317 &lt;/pre&gt;
3318
3319 &lt;p&gt;&lt;a href=&quot;http://plantuml.com/class-diagram&quot;&gt;The format&lt;/a&gt; is quite
3320 compact, with little redundant information. The text expresses
3321 entities and relations, and there is little layout related fluff. One
3322 can reuse content by using include files, allowing for consistent
3323 naming across several diagrams. The include files can be standalone
3324 PlantUML too. Here is the content of
3325 &lt;tt&gt;media/uml-class-arkivskaper.iuml&lt;/tt&gt;:&lt;/p&gt;
3326
3327 &lt;pre&gt;
3328 @startuml
3329 class Arkivstruktur.Arkivskaper &lt;Arkivenhet&gt; {
3330 +arkivskaperID : string
3331 +arkivskaperNavn : string
3332 +beskrivelse : string [0..1]
3333 }
3334 @enduml
3335 &lt;/pre&gt;
3336
3337 &lt;p&gt;This is what the complete diagram for the PlantUML notation above
3338 look like:&lt;/p&gt;
3339
3340 &lt;p&gt;&lt;img width=&quot;80%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png&quot;&gt;&lt;/p&gt;
3341
3342 &lt;p&gt;A cool feature of PlantUML is that the generated PNG files include
3343 the entire original source diagram as text. The source (with include
3344 statements expanded) can be extracted using for example
3345 &lt;tt&gt;exiftool&lt;/tt&gt;. Another cool feature is that parts of the entities
3346 can be hidden after inclusion. This allow to use include files with
3347 all attributes listed, even for UML diagrams that should not list any
3348 attributes.&lt;/p&gt;
3349
3350 &lt;p&gt;The diagram also show some of the warts. Some times the layout
3351 engine place text labels on top of each other, and some times it place
3352 the class boxes too close to each other, not leaving room for the
3353 labels on the relationship arrows. The former can be worked around by
3354 placing extra newlines in the labes (ie &quot;\n&quot;). I did not do it here
3355 to be able to demonstrate the issue. I have not found a good way
3356 around the latter, so I normally try to reduce the problem by changing
3357 from vertical to horizontal links to improve the layout.&lt;/p&gt;
3358
3359 &lt;p&gt;All in all, I am quite happy with PlantUML, and very impressed with
3360 how quickly its lead developer responds to questions. So far I got an
3361 answer to my questions in a few hours when I send an email. I
3362 definitely recommend looking at PlantUML if you need to make UML
3363 diagrams. Note, PlantUML can draw a lot more than class relations.
3364 Check out the documention for a complete list. :)&lt;/p&gt;
3365
3366 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3367 activities, please send Bitcoin donations to my address
3368 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3369 </description>
3370 </item>
3371
3372 <item>
3373 <title>Release 0.3 of free software archive API system Nikita announced</title>
3374 <link>https://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html</link>
3375 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html</guid>
3376 <pubDate>Sun, 24 Mar 2019 14:30:00 +0100</pubDate>
3377 <description>&lt;p&gt;Yesterday, a new release of
3378 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
3379 Noark 5 core project&lt;/a&gt; was
3380 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html&quot;&gt;announced
3381 on the project mailing list&lt;/a&gt;. The free software solution is an
3382 implementation of the Norwegian archive standard Noark 5 used by
3383 government offices in Norway. These were the changes in version 0.3
3384 since version 0.2.1 (from NEWS.md):&lt;/p&gt;
3385
3386 &lt;ul&gt;
3387 &lt;li&gt;Improved ClassificationSystem and Class behaviour.&lt;/li&gt;
3388 &lt;li&gt;Tidied up known inconsistencies between domain model and hateaos links.&lt;/li&gt;
3389 &lt;li&gt;Added experimental code for blockchain integration. &lt;/li&gt;
3390 &lt;li&gt;Make token expiry time configurable at upstart from properties file.&lt;/li&gt;
3391 &lt;li&gt;Continued work on OData search syntax.&lt;/li&gt;
3392 &lt;li&gt;Started work on pagination for entities, partly implemented for Saksmappe.&lt;/li&gt;
3393 &lt;li&gt;Finalise ClassifiedCode Metadata entity.&lt;/li&gt;
3394 &lt;li&gt;Implement mechanism to check if authentication token is still
3395 valid. This allow the GUI to return a more sensible message to the
3396 user if the token is expired.&lt;/li&gt;
3397 &lt;li&gt;Reintroduce browse.html page to allow user to browse JSON API using
3398 hateoas links.&lt;/li&gt;
3399 &lt;li&gt;Fix bug in handling file/mappe sequence number. Year change was
3400 not properly handled.&lt;/li&gt;
3401 &lt;li&gt;Update application yml files to be in sync with current development.&lt;/li&gt;
3402 &lt;li&gt;Stop &#39;converting&#39; everything to PDF using libreoffice. Only
3403 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
3404 and ods.&lt;/li&gt;
3405 &lt;li&gt;Continued code style fixing, making code more readable.&lt;/li&gt;
3406 &lt;li&gt;Minor bug fixes.&lt;/li&gt;
3407
3408 &lt;/ul&gt;
3409
3410 &lt;p&gt;If free and open standardized archiving API sound interesting to
3411 you, please contact us on IRC
3412 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
3413 irc.freenode.net&lt;/a&gt;) or email
3414 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
3415 mailing list&lt;/a&gt;).&lt;/p&gt;
3416
3417 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3418 activities, please send Bitcoin donations to my address
3419 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3420 </description>
3421 </item>
3422
3423 <item>
3424 <title>Websocket from Kraken in Valutakrambod</title>
3425 <link>https://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html</link>
3426 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html</guid>
3427 <pubDate>Fri, 1 Feb 2019 22:25:00 +0100</pubDate>
3428 <description>&lt;p&gt;Yesterday, the Kraken virtual currency exchange announced
3429 &lt;a href=&quot;https://blog.kraken.com/post/2019/websockets-public-api-launching-soon/&quot;&gt;their
3430 Websocket service&lt;/a&gt;, providing a stream of exchange updates to its
3431 clients. Getting updated rates quickly is a good idea, so I used
3432 their &lt;a href=&quot;https://www.kraken.com/en-us/help/websocket-api&quot;&gt;API
3433 documentation&lt;/a&gt; and added Websocket support to the Kraken service in
3434 Valutakrambod today. The python library can now get updates
3435 from Kraken several times per second, instead of every time the
3436 information is polled from the REST API.&lt;/p&gt;
3437
3438 &lt;p&gt;If this sound interesting to you, the code for valutakrambod is
3439 available from
3440 &lt;a href=&quot;http://github.com/petterreinholdtsen/valutakrambod&quot;&gt;github&lt;/a&gt;.
3441 Here is example output from the example client displaying rates in a
3442 curses view:&lt;/p&gt;
3443
3444 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
3445 Name Pair Bid Ask Spr Ftcd Age
3446 BitcoinsNorway BTCEUR 2959.2800 3021.0500 2.0% 36 nan nan
3447 Bitfinex BTCEUR 3087.9000 3088.0000 0.0% 36 37 nan
3448 Bitmynt BTCEUR 3001.8700 3135.4600 4.3% 36 52 nan
3449 Bitpay BTCEUR 3003.8659 nan nan% 35 nan nan
3450 Bitstamp BTCEUR 3008.0000 3010.2300 0.1% 0 1 1
3451 Bl3p BTCEUR 3000.6700 3010.9300 0.3% 1 nan nan
3452 Coinbase BTCEUR 2992.1800 3023.2500 1.0% 34 nan nan
3453 Kraken+BTCEUR 3005.7000 3006.6000 0.0% 0 1 0
3454 Paymium BTCEUR 2940.0100 2993.4400 1.8% 0 2688 nan
3455 BitcoinsNorway BTCNOK 29000.0000 29360.7400 1.2% 36 nan nan
3456 Bitmynt BTCNOK 29115.6400 29720.7500 2.0% 36 52 nan
3457 Bitpay BTCNOK 29029.2512 nan nan% 36 nan nan
3458 Coinbase BTCNOK 28927.6000 29218.5900 1.0% 35 nan nan
3459 MiraiEx BTCNOK 29097.7000 29741.4200 2.2% 36 nan nan
3460 BitcoinsNorway BTCUSD 3385.4200 3456.0900 2.0% 36 nan nan
3461 Bitfinex BTCUSD 3538.5000 3538.6000 0.0% 36 45 nan
3462 Bitpay BTCUSD 3443.4600 nan nan% 34 nan nan
3463 Bitstamp BTCUSD 3443.0100 3445.0500 0.1% 0 2 1
3464 Coinbase BTCUSD 3428.1600 3462.6300 1.0% 33 nan nan
3465 Gemini BTCUSD 3445.8800 3445.8900 0.0% 36 326 nan
3466 Hitbtc BTCUSD 3473.4700 3473.0700 -0.0% 0 0 0
3467 Kraken+BTCUSD 3444.4000 3445.6000 0.0% 0 1 0
3468 Exchangerates EURNOK 9.6685 9.6685 0.0% 36 22226 nan
3469 Norgesbank EURNOK 9.6685 9.6685 0.0% 36 22226 nan
3470 Bitstamp EURUSD 1.1440 1.1462 0.2% 0 1 2
3471 Exchangerates EURUSD 1.1471 1.1471 0.0% 36 22226 nan
3472 BitcoinsNorway LTCEUR 1.0009 22.6538 95.6% 35 nan nan
3473 BitcoinsNorway LTCNOK 259.0900 264.9300 2.2% 35 nan nan
3474 BitcoinsNorway LTCUSD 0.0000 29.0000 100.0% 35 nan nan
3475 Norgesbank USDNOK 8.4286 8.4286 0.0% 36 22226 nan
3476 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
3477
3478 &lt;p&gt;Yes, I notice the strange negative spread on Hitbtc. I&#39;ve seen the
3479 same on Kraken. Another strange observation is that Kraken some times
3480 announce trade orders a fraction of a second in the future. I really
3481 wonder what is going on there.&lt;/p&gt;
3482
3483 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3484 activities, please send Bitcoin donations to my address
3485 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3486 </description>
3487 </item>
3488
3489 <item>
3490 <title>Debian now got everything you need to program Micro:bit</title>
3491 <link>https://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html</link>
3492 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html</guid>
3493 <pubDate>Tue, 22 Jan 2019 17:20:00 +0100</pubDate>
3494 <description>&lt;p&gt;I am amazed and very pleased to discover that since a few days ago,
3495 everything you need to program the &lt;a href=&quot;https://microbit.org/&quot;&gt;BBC
3496 micro:bit&lt;/a&gt; is available from the Debian archive. All this is
3497 thanks to the hard work of Nick Morrott and the Debian python
3498 packaging team. The micro:bit project recommend the mu-editor to
3499 program the microcomputer, as this editor will take care of all the
3500 machinery required to injekt/flash micropython alongside the program
3501 into the micro:bit, as long as the pieces are available.&lt;/p&gt;
3502
3503 &lt;p&gt;There are three main pieces involved. The first to enter Debian
3504 was
3505 &lt;a href=&quot;https://tracker.debian.org/pkg/python-uflash&quot;&gt;python-uflash&lt;/a&gt;,
3506 which was accepted into the archive 2019-01-12. The next one was
3507 &lt;a href=&quot;https://tracker.debian.org/pkg/mu-editor&quot;&gt;mu-editor&lt;/a&gt;, which
3508 showed up 2019-01-13. The final and hardest part to to into the
3509 archive was
3510 &lt;a href=&quot;https://tracker.debian.org/pkg/firmware-microbit-micropython&quot;&gt;firmware-microbit-micropython&lt;/a&gt;,
3511 which needed to get its build system and dependencies into Debian
3512 before it was accepted 2019-01-20. The last one is already in Debian
3513 Unstable and should enter Debian Testing / Buster in three days. This
3514 all allow any user of the micro:bit to get going by simply running
3515 &#39;apt install mu-editor&#39; when using Testing or Unstable, and once
3516 Buster is released as stable, all the users of Debian stable will be
3517 catered for.&lt;/p&gt;
3518
3519 &lt;p&gt;As a minor final touch, I added rules to
3520 &lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;the isenkram
3521 package&lt;/a&gt; for recognizing micro:bit and recommend the mu-editor
3522 package. This make sure any user of the isenkram desktop daemon will
3523 get a popup suggesting to install mu-editor then the USB cable from
3524 the micro:bit is inserted for the first time.&lt;/p&gt;
3525
3526 &lt;p&gt;This should make it easier to have fun.&lt;/p&gt;
3527
3528 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3529 activities, please send Bitcoin donations to my address
3530 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3531 </description>
3532 </item>
3533
3534 <item>
3535 <title>CasparCG Server for TV broadcast playout in Debian</title>
3536 <link>https://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html</link>
3537 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/CasparCG_Server_for_TV_broadcast_playout_in_Debian.html</guid>
3538 <pubDate>Tue, 15 Jan 2019 00:10:00 +0100</pubDate>
3539 <description>&lt;p&gt;The layered video playout server created by Sveriges Television,
3540 &lt;a href=&quot;https://casparcg.com/&quot;&gt;CasparCG Server&lt;/a&gt;, entered Debian
3541 today. This completes many months of work to get the source ready to
3542 go into Debian. The first upload to the Debian NEW queue happened a
3543 month ago, but the work upstream to prepare it for Debian started more
3544 than two and a half month ago. So far
3545 &lt;a href=&quot;https://tracker.debian.org/pkg/casparcg-server&quot;&gt;the
3546 casparcg-server package&lt;/a&gt; is only available for amd64, but I hope
3547 this can be improved. The package is in contrib because it depend on
3548 the &lt;a href=&quot;https://tracker.debian.org/pkg/fdk-aac&quot;&gt;non-free fdk-aac
3549 library&lt;/a&gt;. The Debian package lack support for streaming web pages
3550 because Debian is missing CEF, Chromium Embedded Framework. CEF is
3551 wanted by several packages in Debian. But because the Chromium source
3552 is &lt;a href=&quot;https://bugs.debian.org/893448&quot;&gt;not available as a build
3553 dependency&lt;/a&gt;, it is not yet possible to upload CEF to Debian. I
3554 hope this will change in the future.&lt;/p&gt;
3555
3556 &lt;p&gt;The reason I got involved is that
3557 &lt;a href=&quot;https://frikanalen.no/&quot;&gt;the Norwegian open channel
3558 Frikanalen&lt;/a&gt; is starting to use CasparCG for our HD playout, and I
3559 would like to have all the free software tools we use to run the TV
3560 channel available as packages from the Debian project. The last
3561 remaining piece in the puzzle is Open Broadcast Encoder, but it depend
3562 on quite a lot of patched libraries which would have to be included in
3563 Debian first.&lt;/p&gt;
3564
3565 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3566 activities, please send Bitcoin donations to my address
3567 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3568 </description>
3569 </item>
3570
3571 <item>
3572 <title>Learn to program with Minetest on Debian</title>
3573 <link>https://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html</link>
3574 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html</guid>
3575 <pubDate>Sat, 15 Dec 2018 15:30:00 +0100</pubDate>
3576 <description>&lt;p&gt;A fun way to learn how to program
3577 &lt;a href=&quot;https://www.python.org/&quot;&gt;Python&lt;/a&gt; is to follow the
3578 instructions in the book
3579 &quot;&lt;a href=&quot;https://nostarch.com/programwithminecraft&quot;&gt;Learn to program
3580 with Minecraft&lt;/a&gt;&quot;, which introduces programming in Python to people
3581 who like to play with Minecraft. The book uses a Python library to
3582 talk to a TCP/IP socket with an API accepting build instructions and
3583 providing information about the current players in a Minecraft world.
3584 The TCP/IP API was first created for the Minecraft implementation for
3585 Raspberry Pi, and has since been ported to some server versions of
3586 Minecraft. The book contain recipes for those using Windows, MacOSX
3587 and Raspian. But a little known fact is that you can follow the same
3588 recipes using the free software construction game
3589 &lt;a href=&quot;https://minetest.net/&quot;&gt;Minetest&lt;/a&gt;.&lt;/p&gt;
3590
3591 &lt;p&gt;There is &lt;a href=&quot;https://github.com/sprintingkiwi/pycraft_mod&quot;&gt;a
3592 Minetest module implementing the same API&lt;/a&gt;, making it possible to
3593 use the Python programs coded to talk to Minecraft with Minetest too.
3594 I
3595 &lt;a href=&quot;https://ftp-master.debian.org/new/minetest-mod-pycraft_0.20%2Bgit20180331.0376a0a%2Bdfsg-1.html&quot;&gt;uploaded
3596 this module&lt;/a&gt; to Debian two weeks ago, and as soon as it clears the
3597 FTP masters NEW queue, learning to program Python with Minetest on
3598 Debian will be a simple &#39;apt install&#39; away. The Debian package is
3599 maintained as part of the Debian Games team, and
3600 &lt;a href=&quot;https://salsa.debian.org/games-team/unfinished/minetest-mod-pycraft&quot;&gt;the
3601 packaging rules&lt;/a&gt; are currently located under &#39;unfinished&#39; on
3602 Salsa.&lt;/p&gt;
3603
3604 &lt;p&gt;You will most likely need to install several of the Minetest
3605 modules in Debian for the examples included with the library to work
3606 well, as there are several blocks used by the example scripts that are
3607 provided via modules in Minetest. Without the required blocks, a
3608 simple stone block is used instead. My initial testing with a analog
3609 clock did not get gold arms as instructed in the python library, but
3610 instead used stone arms.&lt;/p&gt;
3611
3612 &lt;p&gt;I tried to find a way to add the API to the desktop version of
3613 Minecraft, but were unable to find any working recipes. The
3614 &lt;a href=&quot;https://www.epiphanydigest.com/tag/minecraft-python-api/&quot;&gt;recipes&lt;/a&gt;
3615 I &lt;a href=&quot;https://github.com/kbsriram/mcpiapi&quot;&gt;found&lt;/a&gt; are only
3616 working with a standalone Minecraft server setup. Are there any
3617 options to use with the normal desktop version?&lt;/p&gt;
3618
3619 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3620 activities, please send Bitcoin donations to my address
3621 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3622 </description>
3623 </item>
3624
3625 <item>
3626 <title>Non-blocking bittorrent plugin for vlc</title>
3627 <link>https://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html</link>
3628 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html</guid>
3629 <pubDate>Wed, 12 Dec 2018 07:20:00 +0100</pubDate>
3630 <description>&lt;p&gt;A few hours ago, a new and improved version (2.4) of
3631 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;the VLC
3632 bittorrent plugin&lt;/a&gt; was uploaded to Debian. This new version
3633 include a complete rewrite of the bittorrent related code, which seem
3634 to make the plugin non-blocking. This mean you can actually exit VLC
3635 even when the plugin seem to be unable to get the bittorrent streaming
3636 started. The new version also include support for filtering playlist
3637 by file extension using command line options, if you want to avoid
3638 processing audio, video or images. The package is currently in Debian
3639 unstable, but should be available in Debian testing in two days. To
3640 test it, simply install it like this:&lt;/p&gt;
3641
3642 &lt;p&gt;&lt;pre&gt;
3643 apt install vlc-plugin-bittorrent
3644 &lt;/pre&gt;&lt;/p&gt;
3645
3646 &lt;p&gt;After it is installed, you can try to use it to play a file
3647 downloaded live via bittorrent like this:
3648
3649 &lt;p&gt;&lt;pre&gt;
3650 vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
3651 &lt;/pre&gt;&lt;/p&gt;
3652
3653 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3654 activities, please send Bitcoin donations to my address
3655 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3656 </description>
3657 </item>
3658
3659 <item>
3660 <title>Why is your site not using Content Security Policy / CSP?</title>
3661 <link>https://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</link>
3662 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</guid>
3663 <pubDate>Sun, 9 Dec 2018 15:00:00 +0100</pubDate>
3664 <description>&lt;p&gt;Yesterday, I had the pleasure of watching on Frikanalen the OWASP
3665 talk by Scott Helme titled
3666 &quot;&lt;a href=&quot;https://frikanalen.no/video/626080/&quot;&gt;What We’ve Learned From
3667 Billions of Security Reports&lt;/a&gt;&quot;. I had not heard of the
3668 &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_Security_Policy&quot;&gt;Content
3669 Security Policy standard&lt;/a&gt; nor its ability to &quot;call home&quot; when a
3670 browser detect a policy breach (I do not follow web page design
3671 development much these days), and found the talk very illuminating.&lt;/p&gt;
3672
3673 &lt;p&gt;The mechanism allow a web site owner to use HTTP headers to tell
3674 visitors web browser which sources (internal and external) are allowed to
3675 be used on the web site. Thus it become possible to enforce a &quot;only
3676 local content&quot; policy despite web designers urge to fetch programs
3677 from random sites on the Internet, like the one
3678 &lt;a href=&quot;https://securityaffairs.co/wordpress/68966/hacking/browsealoud-plugin-hack.html&quot;&gt;enabling
3679 the attack&lt;/a&gt; reported by Scott Helme earlier this year.&lt;/p&gt;
3680
3681 &lt;p&gt;Using CSP seem like an obvious thing for a site admin to implement
3682 to take some control over the information leak that occur when
3683 external sources are used to render web pages, it is a mystery more
3684 sites are not using CSP? It is being
3685 &lt;a href=&quot;https://www.w3.org/TR/CSP/&quot;&gt;standardized under W3C&lt;/a&gt; these
3686 days, and is supposed by most web browsers&lt;/p&gt;
3687
3688 &lt;p&gt;I managed to find &lt;a href=&quot;https://github.com/mozilla/django-csp&quot;&gt;a
3689 Django middleware for implementing CSP&lt;/a&gt; and was happy to discover
3690 it was already in Debian. I plan to use it to add CSP support to the
3691 Frikanalen web site soon.&lt;/p&gt;
3692
3693 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3694 activities, please send Bitcoin donations to my address
3695 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3696 </description>
3697 </item>
3698
3699 <item>
3700 <title>New and improved Frikanalen Kodi addon version 0.0.3</title>
3701 <link>https://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</link>
3702 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</guid>
3703 <pubDate>Thu, 8 Nov 2018 10:30:00 +0100</pubDate>
3704 <description>&lt;p&gt;If you read my blog regularly, you probably know I am involved in
3705 running and developing the &lt;a href=&quot;https://frikanalen.no/&quot;&gt;Norwegian
3706 TV channel Frikanalen&lt;/a&gt;. It is an open channel, allowing everyone
3707 in Norway to publish videos on a TV channel with national coverage.
3708 You can think of it as Youtube for national television.
3709 In addition to distribution on RiksTV and Uninett, Frikanalen is also
3710 available as a Kodi addon. The last few days I have updated the code
3711 to add more features. A
3712 &lt;a href=&quot;https://kodi.tv/addon/plugins-video-add-ons/frikanalen-nett-tv&quot;&gt;new
3713 and improved version 0.0.3 Frikanalen addon&lt;/a&gt; was just made
3714 available via the Kodi repositories. This new version include a
3715 option to browse videos by category, as well as free text search
3716 in the video archive. It will now also show the video duration in the
3717 video lists, which were missing earlier. A new and experimental
3718 link to the HD video stream currently being worked on is provided, for
3719 those that want to see what the &lt;a href=&quot;https://casparcg.com/&quot;&gt;CasparCG&lt;/a&gt;
3720 output look like. The alternative is the SD video stream, generated
3721 using MLT. CasparCG is controlled by our
3722 &lt;a href=&quot;https://github.com/Frikanalen/mltplayout/&quot;&gt;mltplayout
3723 server&lt;/a&gt; which instead of talking to mlt is giving PLAY instructions
3724 to the CasparCG server when it is time to start a new program.&lt;/p&gt;
3725
3726 &lt;p&gt;By now, you are probably wondering what kind of content is being
3727 played on the channel. These days, it is filled with technical
3728 presentations like those from &lt;a href=&quot;https://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;,
3729 &lt;a href=&quot;https://www.debconf.org/&quot;&gt;Debconf&lt;/a&gt;, Makercon, and TED,
3730 but there are also some periods with
3731 &lt;a href=&quot;https://www.empo.no/&quot;&gt;EMPT TV&lt;/a&gt; and
3732 &lt;a href=&quot;https://www.p7.no/&quot;&gt;P7&lt;/a&gt;.
3733
3734 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3735 activities, please send Bitcoin donations to my address
3736 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3737 </description>
3738 </item>
3739
3740 <item>
3741 <title>Time for an official MIME type for patches?</title>
3742 <link>https://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</link>
3743 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</guid>
3744 <pubDate>Thu, 1 Nov 2018 08:15:00 +0100</pubDate>
3745 <description>&lt;p&gt;As part of my involvement in
3746 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;the Nikita
3747 archive API project&lt;/a&gt;, I&#39;ve been importing a fairly large lump of
3748 emails into a test instance of the archive to see how well this would
3749 go. I picked a subset of &lt;a href=&quot;https://notmuchmail.org/&quot;&gt;my
3750 notmuch email database&lt;/a&gt;, all public emails sent to me via
3751 @lists.debian.org, giving me a set of around 216 000 emails to import.
3752 In the process, I had a look at the various attachments included in
3753 these emails, to figure out what to do with attachments, and noticed
3754 that one of the most common attachment formats do not have
3755 &lt;a href=&quot;https://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;an
3756 official MIME type&lt;/a&gt; registered with IANA/IETF. The output from
3757 diff, ie the input for patch, is on the top 10 list of formats
3758 included in these emails. At the moment people seem to use either
3759 text/x-patch or text/x-diff, but neither is officially registered. It
3760 would be better if one official MIME type were registered and used
3761 everywhere.&lt;/p&gt;
3762
3763 &lt;p&gt;To try to get one official MIME type for these files, I&#39;ve brought
3764 up the topic on
3765 &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/media-types&quot;&gt;the
3766 media-types mailing list&lt;/a&gt;. If you are interested in discussion
3767 which MIME type to use as the official for patch files, or involved in
3768 making software using a MIME type for patches, perhaps you would like
3769 to join the discussion?&lt;/p&gt;
3770
3771 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3772 activities, please send Bitcoin donations to my address
3773 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3774 </description>
3775 </item>
3776
3777 <item>
3778 <title>Measuring the speaker frequency response using the AUDMES free software GUI - nice free software</title>
3779 <link>https://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</link>
3780 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</guid>
3781 <pubDate>Mon, 22 Oct 2018 08:40:00 +0200</pubDate>
3782 <description>&lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png&quot; align=&quot;right&quot; width=&quot;40%&quot;/&gt;&lt;/p&gt;
3783
3784 &lt;p&gt;My current home stereo is a patchwork of various pieces I got on
3785 flee markeds over the years. It is amazing what kind of equipment
3786 show up there. I&#39;ve been wondering for a while if it was possible to
3787 measure how well this equipment is working together, and decided to
3788 see how far I could get using free software. After trawling the web I
3789 came across an article from DIY Audio and Video on
3790 &lt;a href=&quot;https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/&quot;&gt;Speaker
3791 Testing and Analysis&lt;/a&gt; describing how to test speakers, and it listing
3792 several software options, among them
3793 &lt;a href=&quot;https://sourceforge.net/projects/audmes/&quot;&gt;AUDio MEasurement
3794 System (AUDMES)&lt;/a&gt;. It is the only free software system I could find
3795 focusing on measuring speakers and audio frequency response. In the
3796 process I also found an interesting article from NOVO on
3797 &lt;a href=&quot;http://novo.press/understanding-speaker-specifications-and-frequency-response/&quot;&gt;Understanding
3798 Speaker Specifications and Frequency Response&lt;/a&gt; and an article from
3799 ecoustics on
3800 &lt;a href=&quot;https://www.ecoustics.com/articles/understanding-speaker-frequency-response/&quot;&gt;Understanding
3801 Speaker Frequency Response&lt;/a&gt;, with a lot of information on what to
3802 look for and how to interpret the graphs. Armed with this knowledge,
3803 I set out to measure the state of my speakers.&lt;/p&gt;
3804
3805 &lt;p&gt;The first hurdle was that AUDMES hadn&#39;t seen a commit for 10 years
3806 and did not build with current compilers and libraries. I got in
3807 touch with its author, who no longer was spending time on the program
3808 but gave me write access to the subversion repository on Sourceforge.
3809 The end result is that now the code build on Linux and is capable of
3810 saving and loading the collected frequency response data in CSV
3811 format. The application is quite nice and flexible, and I was able to
3812 select the input and output audio interfaces independently. This made
3813 it possible to use a USB mixer as the input source, while sending
3814 output via my laptop headphone connection. I lacked the hardware and
3815 cabling to figure out a different way to get independent cabling to
3816 speakers and microphone.&lt;/p&gt;
3817
3818 &lt;p&gt;Using this setup I could see how a large range of high frequencies
3819 apparently were not making it out of my speakers. The picture show
3820 the frequency response measurement of one of the speakers. Note the
3821 frequency lines seem to be slightly misaligned, compared to the CSV
3822 output from the program. I can not hear several of these are high
3823 frequencies, according to measurement from
3824 &lt;a href=&quot;http://freehearingtestsoftware.com&quot;&gt;Free Hearing Test
3825 Software&lt;/a&gt;, an freeware system to measure your hearing (still
3826 looking for a free software alternative), so I do not know if they are
3827 coming out out the speakers. I thus do not quite know how to figure
3828 out if the missing frequencies is a problem with the microphone, the
3829 amplifier or the speakers, but I managed to rule out the audio card in my
3830 PC by measuring my Bose noise canceling headset using its own
3831 microphone. This setup was able to see the high frequency tones, so
3832 the problem with my stereo had to be in the amplifier or speakers.&lt;/p&gt;
3833
3834 &lt;p&gt;Anyway, to try to role out one factor I ended up picking up a new
3835 set of speakers at a flee marked, and these work a lot better than the
3836 old speakers, so I guess the microphone and amplifier is OK. If you
3837 need to measure your own speakers, check out AUDMES. If more people
3838 get involved, perhaps the project could become good enough to
3839 &lt;a href=&quot;https://bugs.debian.org/910876&quot;&gt;include in Debian&lt;/a&gt;? And if
3840 you know of some other free software to measure speakers and amplifier
3841 performance, please let me know. I am aware of the freeware option
3842 &lt;a href=&quot;https://www.roomeqwizard.com/&quot;&gt;REW&lt;/a&gt;, but I want something
3843 that can be developed also when the vendor looses interest.&lt;/p&gt;
3844
3845 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3846 activities, please send Bitcoin donations to my address
3847 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3848 </description>
3849 </item>
3850
3851 <item>
3852 <title>Web browser integration of VLC with Bittorrent support</title>
3853 <link>https://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</link>
3854 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</guid>
3855 <pubDate>Sun, 21 Oct 2018 09:50:00 +0200</pubDate>
3856 <description>&lt;p&gt;Bittorrent is as far as I know, currently the most efficient way to
3857 distribute content on the Internet. It is used all by all sorts of
3858 content providers, from national TV stations like
3859 &lt;a href=&quot;https://www.nrk.no/&quot;&gt;NRK&lt;/a&gt;, Linux distributors like
3860 &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; and
3861 &lt;a href=&quot;https://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;, and of course the
3862 &lt;a href=&quot;https://archive.org/&quot;&gt;Internet archive&lt;/A&gt;.
3863
3864 &lt;p&gt;Almost a month ago
3865 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;a new
3866 package adding Bittorrent support to VLC&lt;/a&gt; became available in
3867 Debian testing and unstable. To test it, simply install it like
3868 this:&lt;/p&gt;
3869
3870 &lt;p&gt;&lt;pre&gt;
3871 apt install vlc-plugin-bittorrent
3872 &lt;/pre&gt;&lt;/p&gt;
3873
3874 &lt;p&gt;Since the plugin was made available for the first time in Debian,
3875 several improvements have been made to it. In version 2.2-4, now
3876 available in both testing and unstable, a desktop file is provided to
3877 teach browsers to start VLC when the user click on torrent files or
3878 magnet links. The last part is thanks to me finally understanding
3879 what the strange x-scheme-handler style MIME types in desktop files
3880 are used for. By adding x-scheme-handler/magnet to the MimeType entry
3881 in the desktop file, at least the browsers Firefox and Chromium will
3882 suggest to start VLC when selecting a magnet URI on a web page. The
3883 end result is that now, with the plugin installed in Buster and Sid,
3884 one can visit any
3885 &lt;a href=&quot;https://archive.org/details/CopyingIsNotTheft1080p&quot;&gt;Internet
3886 Archive page with movies&lt;/a&gt; using a web browser and click on the
3887 torrent link to start streaming the movie.&lt;/p&gt;
3888
3889 &lt;p&gt;Note, there is still some misfeatures in the plugin. One is the
3890 fact that it will hang and
3891 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/13&quot;&gt;block VLC
3892 from exiting until the torrent streaming starts&lt;/a&gt;. Another is the
3893 fact that it
3894 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/9&quot;&gt;will pick
3895 and play a random file in a multi file torrent&lt;/a&gt;. This is not
3896 always the video file you want. Combined with the first it can be a
3897 bit hard to get the video streaming going. But when it work, it seem
3898 to do a good job.&lt;/p&gt;
3899
3900 &lt;p&gt;For the Debian packaging, I would love to find a good way to test
3901 if the plugin work with VLC using autopkgtest. I tried, but do not
3902 know enough of the inner workings of VLC to get it working. For now
3903 the autopkgtest script is only checking if the .so file was
3904 successfully loaded by VLC. If you have any suggestions, please
3905 submit a patch to the Debian bug tracking system.&lt;/p&gt;
3906
3907 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3908 activities, please send Bitcoin donations to my address
3909 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3910 </description>
3911 </item>
3912
3913 <item>
3914 <title>Release 0.2 of free software archive system Nikita announced</title>
3915 <link>https://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</link>
3916 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</guid>
3917 <pubDate>Thu, 18 Oct 2018 14:40:00 +0200</pubDate>
3918 <description>&lt;p&gt;This morning, the new release of the
3919 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
3920 Noark 5 core project&lt;/a&gt; was
3921 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html&quot;&gt;announced
3922 on the project mailing list&lt;/a&gt;. The free software solution is an
3923 implementation of the Norwegian archive standard Noark 5 used by
3924 government offices in Norway. These were the changes in version 0.2
3925 since version 0.1.1 (from NEWS.md):
3926
3927 &lt;ul&gt;
3928 &lt;li&gt;Fix typos in REL names&lt;/li&gt;
3929 &lt;li&gt;Tidy up error message reporting&lt;/li&gt;
3930 &lt;li&gt;Fix issue where we used Integer.valueOf(), not Integer.getInteger()&lt;/li&gt;
3931 &lt;li&gt;Change some String handling to StringBuffer&lt;/li&gt;
3932 &lt;li&gt;Fix error reporting&lt;/li&gt;
3933 &lt;li&gt;Code tidy-up&lt;/li&gt;
3934 &lt;li&gt;Fix issue using static non-synchronized SimpleDateFormat to avoid
3935 race conditions&lt;/li&gt;
3936 &lt;li&gt;Fix problem where deserialisers were treating integers as strings&lt;/li&gt;
3937 &lt;li&gt;Update methods to make them null-safe&lt;/li&gt;
3938 &lt;li&gt;Fix many issues reported by coverity&lt;/li&gt;
3939 &lt;li&gt;Improve equals(), compareTo() and hash() in domain model&lt;/li&gt;
3940 &lt;li&gt;Improvements to the domain model for metadata classes&lt;/li&gt;
3941 &lt;li&gt;Fix CORS issues when downloading document&lt;/li&gt;
3942 &lt;li&gt;Implementation of case-handling with registryEntry and document upload&lt;/li&gt;
3943 &lt;li&gt;Better support in Javascript for OPTIONS&lt;/li&gt;
3944 &lt;li&gt;Adding concept description of mail integration&lt;/li&gt;
3945 &lt;li&gt;Improve setting of default values for GET on ny-journalpost&lt;/li&gt;
3946 &lt;li&gt;Better handling of required values during deserialisation &lt;/li&gt;
3947 &lt;li&gt;Changed tilknyttetDato (M620) from date to dateTime&lt;/li&gt;
3948 &lt;li&gt;Corrected some opprettetDato (M600) (de)serialisation errors.&lt;/li&gt;
3949 &lt;li&gt;Improve parse error reporting.&lt;/li&gt;
3950 &lt;li&gt;Started on OData search and filtering.&lt;/li&gt;
3951 &lt;li&gt;Added Contributor Covenant Code of Conduct to project.&lt;/li&gt;
3952 &lt;li&gt;Moved repository and project from Github to Gitlab.&lt;/li&gt;
3953 &lt;li&gt;Restructured repository, moved code into src/ and web/.&lt;/li&gt;
3954 &lt;li&gt;Updated code to use Spring Boot version 2.&lt;/li&gt;
3955 &lt;li&gt;Added support for OAuth2 authentication.&lt;/li&gt;
3956 &lt;li&gt;Fixed several bugs discovered by Coverity.&lt;/li&gt;
3957 &lt;li&gt;Corrected handling of date/datetime fields.&lt;/li&gt;
3958 &lt;li&gt;Improved error reporting when rejecting during deserializatoin.&lt;/li&gt;
3959 &lt;li&gt;Adjusted default values provided for ny-arkivdel, ny-mappe,
3960 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.&lt;/li&gt;
3961 &lt;li&gt;Several fixes for korrespondansepart*.&lt;/li&gt;
3962 &lt;li&gt;Updated web GUI:
3963 &lt;ul&gt;
3964 &lt;li&gt;Now handle both file upload and download.&lt;/li&gt;
3965 &lt;li&gt;Uses new OAuth2 authentication for login.&lt;/li&gt;
3966 &lt;li&gt;Forms now fetches default values from API using GET.&lt;/li&gt;
3967 &lt;li&gt;Added RFC 822 (email), TIFF and JPEG to list of possible file formats.&lt;/li&gt;
3968 &lt;/ul&gt;&lt;/li&gt;
3969 &lt;/ul&gt;
3970
3971 &lt;p&gt;The changes and improvements are extensive. Running diffstat on
3972 the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
3973 108666 insertions(+), 54066 deletions(-).&lt;/p&gt;
3974
3975 &lt;p&gt;If free and open standardized archiving API sound interesting to
3976 you, please contact us on IRC
3977 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
3978 irc.freenode.net&lt;/a&gt;) or email
3979 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
3980 mailing list&lt;/a&gt;).&lt;/p&gt;
3981
3982 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
3983 activities, please send Bitcoin donations to my address
3984 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
3985 </description>
3986 </item>
3987
3988 <item>
3989 <title>Fetching trusted timestamps using the rfc3161ng python module</title>
3990 <link>https://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</link>
3991 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</guid>
3992 <pubDate>Mon, 8 Oct 2018 12:30:00 +0200</pubDate>
3993 <description>&lt;p&gt;I have earlier covered the basics of trusted timestamping using the
3994 &#39;openssl ts&#39; client. See blog post for
3995 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html&quot;&gt;2014&lt;/a&gt;,
3996 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html&quot;&gt;2016&lt;/a&gt;
3997 and
3998 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html&quot;&gt;2017&lt;/a&gt;
3999 for those stories. But some times I want to integrate the timestamping
4000 in other code, and recently I needed to integrate it into Python.
4001 After searching a bit, I found
4002 &lt;a href=&quot;https://dev.entrouvert.org/projects/python-rfc3161&quot;&gt;the
4003 rfc3161 library&lt;/a&gt; which seemed like a good fit, but I soon
4004 discovered it only worked for python version 2, and I needed something
4005 that work with python version 3. Luckily I next came across
4006 &lt;a href=&quot;https://github.com/trbs/rfc3161ng/&quot;&gt;the rfc3161ng library&lt;/a&gt;,
4007 a fork of the original rfc3161 library. Not only is it working with
4008 python 3, it have fixed a few of the bugs in the original library, and
4009 it has an active maintainer. I decided to wrap it up and make it
4010 &lt;a href=&quot;https://tracker.debian.org/pkg/python-rfc3161ng&quot;&gt;available in
4011 Debian&lt;/a&gt;, and a few days ago it entered Debian unstable and testing.&lt;/p&gt;
4012
4013 &lt;p&gt;Using the library is fairly straight forward. The only slightly
4014 problematic step is to fetch the required certificates to verify the
4015 timestamp. For some services it is straight forward, while for others
4016 I have not yet figured out how to do it. Here is a small standalone
4017 code example based on of the integration tests in the library code:&lt;/p&gt;
4018
4019 &lt;pre&gt;
4020 #!/usr/bin/python3
4021
4022 &quot;&quot;&quot;
4023
4024 Python 3 script demonstrating how to use the rfc3161ng module to
4025 get trusted timestamps.
4026
4027 The license of this code is the same as the license of the rfc3161ng
4028 library, ie MIT/BSD.
4029
4030 &quot;&quot;&quot;
4031
4032 import os
4033 import pyasn1.codec.der
4034 import rfc3161ng
4035 import subprocess
4036 import tempfile
4037 import urllib.request
4038
4039 def store(f, data):
4040 f.write(data)
4041 f.flush()
4042 f.seek(0)
4043
4044 def fetch(url, f=None):
4045 response = urllib.request.urlopen(url)
4046 data = response.read()
4047 if f:
4048 store(f, data)
4049 return data
4050
4051 def main():
4052 with tempfile.NamedTemporaryFile() as cert_f,\
4053 tempfile.NamedTemporaryFile() as ca_f,\
4054 tempfile.NamedTemporaryFile() as msg_f,\
4055 tempfile.NamedTemporaryFile() as tsr_f:
4056
4057 # First fetch certificates used by service
4058 certificate_data = fetch(&#39;https://freetsa.org/files/tsa.crt&#39;, cert_f)
4059 ca_data_data = fetch(&#39;https://freetsa.org/files/cacert.pem&#39;, ca_f)
4060
4061 # Then timestamp the message
4062 timestamper = \
4063 rfc3161ng.RemoteTimestamper(&#39;http://freetsa.org/tsr&#39;,
4064 certificate=certificate_data)
4065 data = b&quot;Python forever!\n&quot;
4066 tsr = timestamper(data=data, return_tsr=True)
4067
4068 # Finally, convert message and response to something &#39;openssl ts&#39; can verify
4069 store(msg_f, data)
4070 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
4071 args = [&quot;openssl&quot;, &quot;ts&quot;, &quot;-verify&quot;,
4072 &quot;-data&quot;, msg_f.name,
4073 &quot;-in&quot;, tsr_f.name,
4074 &quot;-CAfile&quot;, ca_f.name,
4075 &quot;-untrusted&quot;, cert_f.name]
4076 subprocess.check_call(args)
4077
4078 if &#39;__main__&#39; == __name__:
4079 main()
4080 &lt;/pre&gt;
4081
4082 &lt;p&gt;The code fetches the required certificates, store them as temporary
4083 files, timestamp a simple message, store the message and timestamp to
4084 disk and ask &#39;openssl ts&#39; to verify the timestamp. A timestamp is
4085 around 1.5 kiB in size, and should be fairly easy to store for future
4086 use.&lt;/p&gt;
4087
4088 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4089 activities, please send Bitcoin donations to my address
4090 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4091 </description>
4092 </item>
4093
4094 <item>
4095 <title>Automatic Google Drive sync using grive in Debian</title>
4096 <link>https://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</link>
4097 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</guid>
4098 <pubDate>Thu, 4 Oct 2018 15:20:00 +0200</pubDate>
4099 <description>&lt;p&gt;A few days, I rescued a Windows victim over to Debian. To try to
4100 rescue the remains, I helped set up automatic sync with Google Drive.
4101 I did not find any sensible Debian package handling this
4102 automatically, so I rebuild the grive2 source from
4103 &lt;a href=&quot;http://www.webupd8.org/&quot;&gt;the Ubuntu UPD8 PPA&lt;/a&gt; to do the
4104 task and added a autostart desktop entry and a small shell script to
4105 run in the background while the user is logged in to do the sync.
4106 Here is a sketch of the setup for future reference.&lt;/p&gt;
4107
4108 &lt;p&gt;I first created &lt;tt&gt;~/googledrive&lt;/tt&gt;, entered the directory and
4109 ran &#39;&lt;tt&gt;grive -a&lt;/tt&gt;&#39; to authenticate the machine/user. Next, I
4110 created a autostart hook in &lt;tt&gt;~/.config/autostart/grive.desktop&lt;/tt&gt;
4111 to start the sync when the user log in:&lt;/p&gt;
4112
4113 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4114 [Desktop Entry]
4115 Name=Google drive autosync
4116 Type=Application
4117 Exec=/home/user/bin/grive-sync
4118 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4119
4120 &lt;p&gt;Finally, I wrote the &lt;tt&gt;~/bin/grive-sync&lt;/tt&gt; script to sync
4121 ~/googledrive/ with the files in Google Drive.&lt;/p&gt;
4122
4123 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4124 #!/bin/sh
4125 set -e
4126 cd ~/
4127 cleanup() {
4128 if [ &quot;$syncpid&quot; ] ; then
4129 kill $syncpid
4130 fi
4131 }
4132 trap cleanup EXIT INT QUIT
4133 /usr/lib/grive/grive-sync.sh listen googledrive 2&gt;&amp;1 | sed &quot;s%^%$0:%&quot; &amp;
4134 syncpdi=$!
4135 while true; do
4136 if ! xhost &gt;/dev/null 2&gt;&amp;1 ; then
4137 echo &quot;no DISPLAY, exiting as the user probably logged out&quot;
4138 exit 1
4139 fi
4140 if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then
4141 /usr/lib/grive/grive-sync.sh sync googledrive
4142 fi
4143 sleep 300
4144 done 2&gt;&amp;1 | sed &quot;s%^%$0:%&quot;
4145 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4146
4147 &lt;p&gt;Feel free to use the setup if you want. It can be assumed to be
4148 GNU GPL v2 licensed (or any later version, at your leisure), but I
4149 doubt this code is possible to claim copyright on.&lt;/p&gt;
4150
4151 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4152 activities, please send Bitcoin donations to my address
4153 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4154 </description>
4155 </item>
4156
4157 <item>
4158 <title>Valutakrambod - A python and bitcoin love story</title>
4159 <link>https://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</link>
4160 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</guid>
4161 <pubDate>Sat, 29 Sep 2018 22:20:00 +0200</pubDate>
4162 <description>&lt;p&gt;It would come as no surprise to anyone that I am interested in
4163 bitcoins and virtual currencies. I&#39;ve been keeping an eye on virtual
4164 currencies for many years, and it is part of the reason a few months
4165 ago, I started writing a python library for collecting currency
4166 exchange rates and trade on virtual currency exchanges. I decided to
4167 name the end result valutakrambod, which perhaps can be translated to
4168 small currency shop.&lt;/p&gt;
4169
4170 &lt;p&gt;The library uses the tornado python library to handle HTTP and
4171 websocket connections, and provide a asynchronous system for
4172 connecting to and tracking several services. The code is available
4173 from
4174 &lt;a href=&quot;http://github.com/petterreinholdtsen/valutakrambod&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
4175
4176 &lt;/p&gt;There are two example clients of the library. One is very simple and
4177 list every updated buy/sell price received from the various services.
4178 This code is started by running bin/btc-rates and call the client code
4179 in valutakrambod/client.py. The simple client look like this:&lt;/p&gt;
4180
4181 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4182 import functools
4183 import tornado.ioloop
4184 import valutakrambod
4185 class SimpleClient(object):
4186 def __init__(self):
4187 self.services = []
4188 self.streams = []
4189 pass
4190 def newdata(self, service, pair, changed):
4191 print(&quot;%-15s %s-%s: %8.3f %8.3f&quot; % (
4192 service.servicename(),
4193 pair[0],
4194 pair[1],
4195 service.rates[pair][&#39;ask&#39;],
4196 service.rates[pair][&#39;bid&#39;])
4197 )
4198 async def refresh(self, service):
4199 await service.fetchRates(service.wantedpairs)
4200 def run(self):
4201 self.ioloop = tornado.ioloop.IOLoop.current()
4202 self.services = valutakrambod.service.knownServices()
4203 for e in self.services:
4204 service = e()
4205 service.subscribe(self.newdata)
4206 stream = service.websocket()
4207 if stream:
4208 self.streams.append(stream)
4209 else:
4210 # Fetch information from non-streaming services immediately
4211 self.ioloop.call_later(len(self.services),
4212 functools.partial(self.refresh, service))
4213 # as well as regularly
4214 service.periodicUpdate(60)
4215 for stream in self.streams:
4216 stream.connect()
4217 try:
4218 self.ioloop.start()
4219 except KeyboardInterrupt:
4220 print(&quot;Interrupted by keyboard, closing all connections.&quot;)
4221 pass
4222 for stream in self.streams:
4223 stream.close()
4224 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4225
4226 &lt;p&gt;The library client loops over all known &quot;public&quot; services,
4227 initialises it, subscribes to any updates from the service, checks and
4228 activates websocket streaming if the service provide it, and if no
4229 streaming is supported, fetches information from the service and sets
4230 up a periodic update every 60 seconds. The output from this client
4231 can look like this:&lt;/p&gt;
4232
4233 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4234 Bl3p BTC-EUR: 5687.110 5653.690
4235 Bl3p BTC-EUR: 5687.110 5653.690
4236 Bl3p BTC-EUR: 5687.110 5653.690
4237 Hitbtc BTC-USD: 6594.560 6593.690
4238 Hitbtc BTC-USD: 6594.560 6593.690
4239 Bl3p BTC-EUR: 5687.110 5653.690
4240 Hitbtc BTC-USD: 6594.570 6593.690
4241 Bitstamp EUR-USD: 1.159 1.154
4242 Hitbtc BTC-USD: 6594.570 6593.690
4243 Hitbtc BTC-USD: 6594.580 6593.690
4244 Hitbtc BTC-USD: 6594.580 6593.690
4245 Hitbtc BTC-USD: 6594.580 6593.690
4246 Bl3p BTC-EUR: 5687.110 5653.690
4247 Paymium BTC-EUR: 5680.000 5620.240
4248 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4249
4250 &lt;p&gt;The exchange order book is tracked in addition to the best buy/sell
4251 price, for those that need to know the details.&lt;/p&gt;
4252
4253 &lt;p&gt;The other example client is focusing on providing a curses view
4254 with updated buy/sell prices as soon as they are received from the
4255 services. This code is located in bin/btc-rates-curses and activated
4256 by using the &#39;-c&#39; argument. Without the argument the &quot;curses&quot; output
4257 is printed without using curses, which is useful for debugging. The
4258 curses view look like this:&lt;/p&gt;
4259
4260 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4261 Name Pair Bid Ask Spr Ftcd Age
4262 BitcoinsNorway BTCEUR 5591.8400 5711.0800 2.1% 16 nan 60
4263 Bitfinex BTCEUR 5671.0000 5671.2000 0.0% 16 22 59
4264 Bitmynt BTCEUR 5580.8000 5807.5200 3.9% 16 41 60
4265 Bitpay BTCEUR 5663.2700 nan nan% 15 nan 60
4266 Bitstamp BTCEUR 5664.8400 5676.5300 0.2% 0 1 1
4267 Bl3p BTCEUR 5653.6900 5684.9400 0.5% 0 nan 19
4268 Coinbase BTCEUR 5600.8200 5714.9000 2.0% 15 nan nan
4269 Kraken BTCEUR 5670.1000 5670.2000 0.0% 14 17 60
4270 Paymium BTCEUR 5620.0600 5680.0000 1.1% 1 7515 nan
4271 BitcoinsNorway BTCNOK 52898.9700 54034.6100 2.1% 16 nan 60
4272 Bitmynt BTCNOK 52960.3200 54031.1900 2.0% 16 41 60
4273 Bitpay BTCNOK 53477.7833 nan nan% 16 nan 60
4274 Coinbase BTCNOK 52990.3500 54063.0600 2.0% 15 nan nan
4275 MiraiEx BTCNOK 52856.5300 54100.6000 2.3% 16 nan nan
4276 BitcoinsNorway BTCUSD 6495.5300 6631.5400 2.1% 16 nan 60
4277 Bitfinex BTCUSD 6590.6000 6590.7000 0.0% 16 23 57
4278 Bitpay BTCUSD 6564.1300 nan nan% 15 nan 60
4279 Bitstamp BTCUSD 6561.1400 6565.6200 0.1% 0 2 1
4280 Coinbase BTCUSD 6504.0600 6635.9700 2.0% 14 nan 117
4281 Gemini BTCUSD 6567.1300 6573.0700 0.1% 16 89 nan
4282 Hitbtc+BTCUSD 6592.6200 6594.2100 0.0% 0 0 0
4283 Kraken BTCUSD 6565.2000 6570.9000 0.1% 15 17 58
4284 Exchangerates EURNOK 9.4665 9.4665 0.0% 16 107789 nan
4285 Norgesbank EURNOK 9.4665 9.4665 0.0% 16 107789 nan
4286 Bitstamp EURUSD 1.1537 1.1593 0.5% 4 5 1
4287 Exchangerates EURUSD 1.1576 1.1576 0.0% 16 107789 nan
4288 BitcoinsNorway LTCEUR 1.0000 49.0000 98.0% 16 nan nan
4289 BitcoinsNorway LTCNOK 492.4800 503.7500 2.2% 16 nan 60
4290 BitcoinsNorway LTCUSD 1.0221 49.0000 97.9% 15 nan nan
4291 Norgesbank USDNOK 8.1777 8.1777 0.0% 16 107789 nan
4292 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4293
4294 &lt;p&gt;The code for this client is too complex for a simple blog post, so
4295 you will have to check out the git repository to figure out how it
4296 work. What I can tell is how the three last numbers on each line
4297 should be interpreted. The first is how many seconds ago information
4298 was received from the service. The second is how long ago, according
4299 to the service, the provided information was updated. The last is an
4300 estimate on how often the buy/sell values change.&lt;/p&gt;
4301
4302 &lt;p&gt;If you find this library useful, or would like to improve it, I
4303 would love to hear from you. Note that for some of the services I&#39;ve
4304 implemented a trading API. It might be the topic of a future blog
4305 post.&lt;/p&gt;
4306
4307 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4308 activities, please send Bitcoin donations to my address
4309 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4310 </description>
4311 </item>
4312
4313 <item>
4314 <title>VLC in Debian now can do bittorrent streaming</title>
4315 <link>https://people.skolelinux.org/pere/blog/VLC_in_Debian_now_can_do_bittorrent_streaming.html</link>
4316 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/VLC_in_Debian_now_can_do_bittorrent_streaming.html</guid>
4317 <pubDate>Mon, 24 Sep 2018 21:20:00 +0200</pubDate>
4318 <description>&lt;p&gt;Back in February, I got curious to see
4319 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html&quot;&gt;if
4320 VLC now supported Bittorrent streaming&lt;/a&gt;. It did not, despite the
4321 fact that the idea and code to handle such streaming had been floating
4322 around for years. I did however find
4323 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent&quot;&gt;a standalone plugin
4324 for VLC&lt;/a&gt; to do it, and half a year later I decided to wrap up the
4325 plugin and get it into Debian. I uploaded it to NEW a few days ago,
4326 and am very happy to report that it
4327 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;entered
4328 Debian&lt;/a&gt; a few hours ago, and should be available in Debian/Unstable
4329 tomorrow, and Debian/Testing in a few days.&lt;/p&gt;
4330
4331 &lt;p&gt;With the vlc-plugin-bittorrent package installed you should be able
4332 to stream videos using a simple call to&lt;/p&gt;
4333
4334 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4335 vlc https://archive.org/download/TheGoat/TheGoat_archive.torrent
4336 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4337
4338 &lt;/p&gt;It can handle magnet links too. Now if only native vlc had
4339 bittorrent support. Then a lot more would be helping each other to
4340 share public domain and creative commons movies. The plugin need some
4341 stability work with seeking and picking the right file in a torrent
4342 with many files, but is already usable. Please note that the plugin
4343 is not removing downloaded files when vlc is stopped, so it can fill
4344 up your disk if you are not careful. Have fun. :)&lt;/p&gt;
4345
4346 &lt;p&gt;I would love to get help maintaining this package. Get in touch if
4347 you are interested.&lt;/p&gt;
4348
4349 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4350 activities, please send Bitcoin donations to my address
4351 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4352 </description>
4353 </item>
4354
4355 <item>
4356 <title>Using the Kodi API to play Youtube videos</title>
4357 <link>https://people.skolelinux.org/pere/blog/Using_the_Kodi_API_to_play_Youtube_videos.html</link>
4358 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_the_Kodi_API_to_play_Youtube_videos.html</guid>
4359 <pubDate>Sun, 2 Sep 2018 23:40:00 +0200</pubDate>
4360 <description>&lt;p&gt;I continue to explore my Kodi installation, and today I wanted to
4361 tell it to play a youtube URL I received in a chat, without having to
4362 insert search terms using the on-screen keyboard. After searching the
4363 web for API access to the Youtube plugin and testing a bit, I managed
4364 to find a recipe that worked. If you got a kodi instance with its API
4365 available from http://kodihost/jsonrpc, you can try the following to
4366 have check out a nice cover band.&lt;/p&gt;
4367
4368 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;curl --silent --header &#39;Content-Type: application/json&#39; \
4369 --data-binary &#39;{ &quot;id&quot;: 1, &quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;Player.Open&quot;,
4370 &quot;params&quot;: {&quot;item&quot;: { &quot;file&quot;:
4371 &quot;plugin://plugin.video.youtube/play/?video_id=LuRGVM9O0qg&quot; } } }&#39; \
4372 http://projector.local/jsonrpc&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4373
4374 &lt;p&gt;I&#39;ve extended kodi-stream program to take a video source as its
4375 first argument. It can now handle direct video links, youtube links
4376 and &#39;desktop&#39; to stream my desktop to Kodi. It is almost like a
4377 Chromecast. :)&lt;/p&gt;
4378
4379 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4380 activities, please send Bitcoin donations to my address
4381 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4382 </description>
4383 </item>
4384
4385 <item>
4386 <title>Software created using taxpayers’ money should be Free Software</title>
4387 <link>https://people.skolelinux.org/pere/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html</link>
4388 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Software_created_using_taxpayers__money_should_be_Free_Software.html</guid>
4389 <pubDate>Thu, 30 Aug 2018 13:50:00 +0200</pubDate>
4390 <description>&lt;p&gt;It might seem obvious that software created using tax money should
4391 be available for everyone to use and improve. Free Software
4392 Foundation Europe recentlystarted a campaign to help get more people
4393 to understand this, and I just signed the petition on
4394 &lt;a href=&quot;https://publiccode.eu/&quot;&gt;Public Money, Public Code&lt;/a&gt; to help
4395 them. I hope you too will do the same.&lt;/p&gt;
4396 </description>
4397 </item>
4398
4399 <item>
4400 <title>A bit more on privacy respecting health monitor / fitness tracker</title>
4401 <link>https://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</link>
4402 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_bit_more_on_privacy_respecting_health_monitor___fitness_tracker.html</guid>
4403 <pubDate>Mon, 13 Aug 2018 09:00:00 +0200</pubDate>
4404 <description>&lt;p&gt;A few days ago, I wondered if there are any privacy respecting
4405 health monitors and/or fitness trackers available for sale these days.
4406 I would like to buy one, but do not want to share my personal data
4407 with strangers, nor be forced to have a mobile phone to get data out
4408 of the unit. I&#39;ve received some ideas, and would like to share them
4409 with you.
4410
4411 One interesting data point was a pointer to a Free Software app for
4412 Android named
4413 &lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/&quot;&gt;Gadgetbridge&lt;/a&gt;.
4414 It provide cloudless collection and storing of data from a variety of
4415 trackers. Its
4416 &lt;a href=&quot;https://github.com/Freeyourgadget/Gadgetbridge/#supported-devices&quot;&gt;list
4417 of supported devices&lt;/a&gt; is a good indicator for units where the
4418 protocol is fairly open, as it is obviously being handled by Free
4419 Software. Other units are reportedly encrypting the collected
4420 information with their own public key, making sure only the vendor
4421 cloud service is able to extract data from the unit. The people
4422 contacting me about Gadgetbirde said they were using
4423 &lt;a href=&quot;https://us.amazfit.com/shop/bip?variant=336750&quot;&gt;Amazfit
4424 Bip&lt;/a&gt; and
4425 &lt;a href=&quot;http://www.xiaomimi6phone.com/xiaomi-mi-band-3-features-release-date-rumors/&quot;&gt;Xiaomi
4426 Band 3&lt;/a&gt;.&lt;/p&gt;
4427
4428 &lt;p&gt;I also got a suggestion to look at some of the units from Garmin.
4429 I was told their GPS watches can be connected via USB and show up as a
4430 USB storage device with
4431 &lt;a href=&quot;https://www.gpsbabel.org/htmldoc-development/fmt_garmin_fit.html&quot;&gt;Garmin
4432 FIT files&lt;/a&gt; containing the collected measurements. While
4433 proprietary, FIT files apparently can be read at least by
4434 &lt;a href=&quot;https://www.gpsbabel.org&quot;&gt;GPSBabel&lt;/a&gt; and the
4435 &lt;a href=&quot;https://apps.nextcloud.com/apps/gpxpod&quot;&gt;GpxPod&lt;/a&gt; Nextcloud
4436 app. It is unclear to me if they can read step count and heart rate
4437 data. The person I talked to was using a
4438 &lt;a href=&quot;https://buy.garmin.com/en-US/US/p/564291&quot;&gt;Garmin Forerunner
4439 935&lt;/a&gt;, which is a fairly expensive unit. I doubt it is worth it for
4440 a unit where the vendor clearly is trying its best to move from open
4441 to closed systems. I still remember when Garmin dropped NMEA support
4442 in its GPSes.&lt;/p&gt;
4443
4444 &lt;p&gt;A final idea was to build ones own unit, perhaps by basing it on a
4445 wearable hardware platforms like
4446 &lt;a href=&quot;https://learn.adafruit.com/flora-geo-watch&quot;&gt;the Flora Geo
4447 Watch&lt;/a&gt;. Sound like fun, but I had more money than time to spend on
4448 the topic, so I suspect it will have to wait for another time.&lt;/p&gt;
4449
4450 &lt;p&gt;While I was working on tracking down links, I came across an
4451 inspiring TED talk by Dave Debronkart about
4452 &lt;a href=&quot;https://archive.org/details/DavedeBronkart_2010X&quot;&gt;being a
4453 e-patient&lt;/a&gt;, and discovered the web site
4454 &lt;a href=&quot;https://participatorymedicine.org/epatients/&quot;&gt;Participatory
4455 Medicine&lt;/a&gt;. If you too want to track your own health and fitness
4456 without having information about your private life floating around on
4457 computers owned by others, I recommend checking it out.&lt;/p&gt;
4458
4459 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4460 activities, please send Bitcoin donations to my address
4461 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4462 </description>
4463 </item>
4464
4465 <item>
4466 <title>Privacy respecting health monitor / fitness tracker?</title>
4467 <link>https://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</link>
4468 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Privacy_respecting_health_monitor___fitness_tracker_.html</guid>
4469 <pubDate>Tue, 7 Aug 2018 16:00:00 +0200</pubDate>
4470 <description>&lt;p&gt;Dear lazyweb,&lt;/p&gt;
4471
4472 &lt;p&gt;I wonder, is there a fitness tracker / health monitor available for
4473 sale today that respect the users privacy? With this I mean a
4474 watch/bracelet capable of measuring pulse rate and other
4475 fitness/health related values (and by all means, also the correct time
4476 and location if possible), which is &lt;strong&gt;only&lt;/strong&gt; provided for
4477 me to extract/read from the unit with computer without a radio beacon
4478 and Internet connection. In other words, it do not depend on a cell
4479 phone app, and do make the measurements available via other peoples
4480 computer (aka &quot;the cloud&quot;). The collected data should be available
4481 using only free software. I&#39;m not interested in depending on some
4482 non-free software that will leave me high and dry some time in the
4483 future. I&#39;ve been unable to find any such unit. I would like to buy
4484 it. The ones I have seen for sale here in Norway are proud to report
4485 that they share my health data with strangers (aka &quot;cloud enabled&quot;).
4486 Is there an alternative? I&#39;m not interested in giving money to people
4487 requiring me to accept &quot;privacy terms&quot; to allow myself to measure my
4488 own health.&lt;/p&gt;
4489
4490 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4491 activities, please send Bitcoin donations to my address
4492 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4493 </description>
4494 </item>
4495
4496 <item>
4497 <title>Sharing images with friends and family using RSS and EXIF/XMP metadata</title>
4498 <link>https://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</link>
4499 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Sharing_images_with_friends_and_family_using_RSS_and_EXIF_XMP_metadata.html</guid>
4500 <pubDate>Tue, 31 Jul 2018 23:30:00 +0200</pubDate>
4501 <description>&lt;p&gt;For a while now, I have looked for a sensible way to share images
4502 with my family using a self hosted solution, as it is unacceptable to
4503 place images from my personal life under the control of strangers
4504 working for data hoarders like Google or Dropbox. The last few days I
4505 have drafted an approach that might work out, and I would like to
4506 share it with you. I would like to publish images on a server under
4507 my control, and point some Internet connected display units using some
4508 free and open standard to the images I published. As my primary
4509 language is not limited to ASCII, I need to store metadata using
4510 UTF-8. Many years ago, I hoped to find a digital photo frame capable
4511 of reading a RSS feed with image references (aka using the
4512 &amp;lt;enclosure&amp;gt; RSS tag), but was unable to find a current supplier
4513 of such frames. In the end I gave up that approach.&lt;/p&gt;
4514
4515 &lt;p&gt;Some months ago, I discovered that
4516 &lt;a href=&quot;https://www.jwz.org/xscreensaver/&quot;&gt;XScreensaver&lt;/a&gt; is able to
4517 read images from a RSS feed, and used it to set up a screen saver on
4518 my home info screen, showing images from the Daily images feed from
4519 NASA. This proved to work well. More recently I discovered that
4520 &lt;a href=&quot;https://kodi.tv&quot;&gt;Kodi&lt;/a&gt; (both using
4521 &lt;a href=&quot;https://www.openelec.tv/&quot;&gt;OpenELEC&lt;/a&gt; and
4522 &lt;a href=&quot;https://libreelec.tv&quot;&gt;LibreELEC&lt;/a&gt;) provide the
4523 &lt;a href=&quot;https://github.com/grinsted/script.screensaver.feedreader&quot;&gt;Feedreader&lt;/a&gt;
4524 screen saver capable of reading a RSS feed with images and news. For
4525 fun, I used it this summer to test Kodi on my parents TV by hooking up
4526 a Raspberry PI unit with LibreELEC, and wanted to provide them with a
4527 screen saver showing selected pictures from my selection.&lt;/p&gt;
4528
4529 &lt;p&gt;Armed with motivation and a test photo frame, I set out to generate
4530 a RSS feed for the Kodi instance. I adjusted my &lt;a
4531 href=&quot;https://freedombox.org/&quot;&gt;Freedombox&lt;/a&gt; instance, created
4532 /var/www/html/privatepictures/, wrote a small Perl script to extract
4533 title and description metadata from the photo files and generate the
4534 RSS file. I ended up using Perl instead of python, as the
4535 libimage-exiftool-perl Debian package seemed to handle the EXIF/XMP
4536 tags I ended up using, while python3-exif did not. The relevant EXIF
4537 tags only support ASCII, so I had to find better alternatives. XMP
4538 seem to have the support I need.&lt;/p&gt;
4539
4540 &lt;p&gt;I am a bit unsure which EXIF/XMP tags to use, as I would like to
4541 use tags that can be easily added/updated using normal free software
4542 photo managing software. I ended up using the tags set using this
4543 exiftool command, as these tags can also be set using digiKam:&lt;/p&gt;
4544
4545 &lt;blockquote&gt;&lt;pre&gt;
4546 exiftool -headline=&#39;The RSS image title&#39; \
4547 -description=&#39;The RSS image description.&#39; \
4548 -subject+=for-family photo.jpeg
4549 &lt;/pre&gt;&lt;/blockquote&gt;
4550
4551 &lt;p&gt;I initially tried the &quot;-title&quot; and &quot;keyword&quot; tags, but they were
4552 invisible in digiKam, so I changed to &quot;-headline&quot; and &quot;-subject&quot;. I
4553 use the keyword/subject &#39;for-family&#39; to flag that the photo should be
4554 shared with my family. Images with this keyword set are located and
4555 copied into my Freedombox for the RSS generating script to find.&lt;/p&gt;
4556
4557 &lt;p&gt;Are there better ways to do this? Get in touch if you have better
4558 suggestions.&lt;/p&gt;
4559
4560 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4561 activities, please send Bitcoin donations to my address
4562 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4563 </description>
4564 </item>
4565
4566 <item>
4567 <title>Simple streaming the Linux desktop to Kodi using GStreamer and RTP</title>
4568 <link>https://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</link>
4569 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html</guid>
4570 <pubDate>Thu, 12 Jul 2018 17:55:00 +0200</pubDate>
4571 <description>&lt;p&gt;Last night, I wrote
4572 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html&quot;&gt;a
4573 recipe to stream a Linux desktop using VLC to a instance of Kodi&lt;/a&gt;.
4574 During the day I received valuable feedback, and thanks to the
4575 suggestions I have been able to rewrite the recipe into a much simpler
4576 approach requiring no setup at all. It is a single script that take
4577 care of it all.&lt;/p&gt;
4578
4579 &lt;p&gt;This new script uses GStreamer instead of VLC to capture the
4580 desktop and stream it to Kodi. This fixed the video quality issue I
4581 saw initially. It further removes the need to add a m3u file on the
4582 Kodi machine, as it instead connects to
4583 &lt;a href=&quot;https://kodi.wiki/view/JSON-RPC_API/v8&quot;&gt;the JSON-RPC API in
4584 Kodi&lt;/a&gt; and simply ask Kodi to play from the stream created using
4585 GStreamer. Streaming the desktop to Kodi now become trivial. Copy
4586 the script below, run it with the DNS name or IP address of the kodi
4587 server to stream to as the only argument, and watch your screen show
4588 up on the Kodi screen. Note, it depend on multicast on the local
4589 network, so if you need to stream outside the local network, the
4590 script must be modified. Also note, I have no idea if audio work, as
4591 I only care about the picture part.&lt;/p&gt;
4592
4593 &lt;blockquote&gt;&lt;pre&gt;
4594 #!/bin/sh
4595 #
4596 # Stream the Linux desktop view to Kodi. See
4597 # http://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html
4598 # for backgorund information.
4599
4600 # Make sure the stream is stopped in Kodi and the gstreamer process is
4601 # killed if something go wrong (for example if curl is unable to find the
4602 # kodi server). Do the same when interrupting this script.
4603 kodicmd() {
4604 host=&quot;$1&quot;
4605 cmd=&quot;$2&quot;
4606 params=&quot;$3&quot;
4607 curl --silent --header &#39;Content-Type: application/json&#39; \
4608 --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; \
4609 &quot;http://$host/jsonrpc&quot;
4610 }
4611 cleanup() {
4612 if [ -n &quot;$kodihost&quot; ] ; then
4613 # Stop the playing when we end
4614 playerid=$(kodicmd &quot;$kodihost&quot; Player.GetActivePlayers &quot;{}&quot; |
4615 jq .result[].playerid)
4616 kodicmd &quot;$kodihost&quot; Player.Stop &quot;{ \&quot;playerid\&quot; : $playerid }&quot; &gt; /dev/null
4617 fi
4618 if [ &quot;$gstpid&quot; ] &amp;&amp; kill -0 &quot;$gstpid&quot; &gt;/dev/null 2&gt;&amp;1; then
4619 kill &quot;$gstpid&quot;
4620 fi
4621 }
4622 trap cleanup EXIT INT
4623
4624 if [ -n &quot;$1&quot; ]; then
4625 kodihost=$1
4626 shift
4627 else
4628 kodihost=kodi.local
4629 fi
4630
4631 mcast=239.255.0.1
4632 mcastport=1234
4633 mcastttl=1
4634
4635 pasrc=$(pactl list | grep -A2 &#39;Source #&#39; | grep &#39;Name: .*\.monitor$&#39; | \
4636 cut -d&quot; &quot; -f2|head -1)
4637 gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
4638 videoconvert ! queue2 ! \
4639 x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
4640 key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
4641 mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
4642 udpsink host=$mcast port=$mcastport ttl-mc=$mcastttl auto-multicast=1 sync=0 \
4643 pulsesrc device=$pasrc ! audioconvert ! queue2 ! avenc_aac ! queue2 ! mux. \
4644 &gt; /dev/null 2&gt;&amp;1 &amp;
4645 gstpid=$!
4646
4647 # Give stream a second to get going
4648 sleep 1
4649
4650 # Ask kodi to start streaming using its JSON-RPC API
4651 kodicmd &quot;$kodihost&quot; Player.Open \
4652 &quot;{\&quot;item\&quot;: { \&quot;file\&quot;: \&quot;udp://@$mcast:$mcastport\&quot; } }&quot; &gt; /dev/null
4653
4654 # wait for gst to end
4655 wait &quot;$gstpid&quot;
4656 &lt;/pre&gt;&lt;/blockquote&gt;
4657
4658 &lt;p&gt;I hope you find the approach useful. I know I do.&lt;/p&gt;
4659
4660 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4661 activities, please send Bitcoin donations to my address
4662 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4663 </description>
4664 </item>
4665
4666 <item>
4667 <title>Streaming the Linux desktop to Kodi using VLC and RTSP</title>
4668 <link>https://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</link>
4669 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Streaming_the_Linux_desktop_to_Kodi_using_VLC_and_RTSP.html</guid>
4670 <pubDate>Thu, 12 Jul 2018 02:00:00 +0200</pubDate>
4671 <description>&lt;p&gt;PS: See
4672 &lt;ahref=&quot;http://people.skolelinux.org/pere/blog/Simple_streaming_the_Linux_desktop_to_Kodi_using_GStreamer_and_RTP.html&quot;&gt;the
4673 followup post&lt;/a&gt; for a even better approach.&lt;/p&gt;
4674
4675 &lt;p&gt;A while back, I was asked by a friend how to stream the desktop to
4676 my projector connected to Kodi. I sadly had to admit that I had no
4677 idea, as it was a task I never had tried. Since then, I have been
4678 looking for a way to do so, preferable without much extra software to
4679 install on either side. Today I found a way that seem to kind of
4680 work. Not great, but it is a start.&lt;/p&gt;
4681
4682 &lt;p&gt;I had a look at several approaches, for example
4683 &lt;a href=&quot;https://github.com/mfoetsch/dlna_live_streaming&quot;&gt;using uPnP
4684 DLNA as described in 2011&lt;/a&gt;, but it required a uPnP server, fuse and
4685 local storage enough to store the stream locally. This is not going
4686 to work well for me, lacking enough free space, and it would
4687 impossible for my friend to get working.&lt;/p&gt;
4688
4689 &lt;p&gt;Next, it occurred to me that perhaps I could use VLC to create a
4690 video stream that Kodi could play. Preferably using
4691 broadcast/multicast, to avoid having to change any setup on the Kodi
4692 side when starting such stream. Unfortunately, the only recipe I
4693 could find using multicast used the rtp protocol, and this protocol
4694 seem to not be supported by Kodi.&lt;/p&gt;
4695
4696 &lt;p&gt;On the other hand, the rtsp protocol is working! Unfortunately I
4697 have to specify the IP address of the streaming machine in both the
4698 sending command and the file on the Kodi server. But it is showing my
4699 desktop, and thus allow us to have a shared look on the big screen at
4700 the programs I work on.&lt;/p&gt;
4701
4702 &lt;p&gt;I did not spend much time investigating codeces. I combined the
4703 rtp and rtsp recipes from
4704 &lt;a href=&quot;https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/&quot;&gt;the
4705 VLC Streaming HowTo/Command Line Examples&lt;/a&gt;, and was able to get
4706 this working on the desktop/streaming end.&lt;/p&gt;
4707
4708 &lt;blockquote&gt;&lt;pre&gt;
4709 vlc screen:// --sout \
4710 &#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;
4711 &lt;/pre&gt;&lt;/blockquote&gt;
4712
4713 &lt;p&gt;I ssh-ed into my Kodi box and created a file like this with the
4714 same IP address:&lt;/p&gt;
4715
4716 &lt;blockquote&gt;&lt;pre&gt;
4717 echo rtsp://192.168.11.4:8080/test.sdp \
4718 &gt; /storage/videos/screenstream.m3u
4719 &lt;/pre&gt;&lt;/blockquote&gt;
4720
4721 &lt;p&gt;Note the 192.168.11.4 IP address is my desktops IP address. As far
4722 as I can tell the IP must be hardcoded for this to work. In other
4723 words, if someone elses machine is going to do the steaming, you have
4724 to update screenstream.m3u on the Kodi machine and adjust the vlc
4725 recipe. To get started, locate the file in Kodi and select the m3u
4726 file while the VLC stream is running. The desktop then show up in my
4727 big screen. :)&lt;/p&gt;
4728
4729 &lt;p&gt;When using the same technique to stream a video file with audio,
4730 the audio quality is really bad. No idea if the problem is package
4731 loss or bad parameters for the transcode. I do not know VLC nor Kodi
4732 enough to tell.&lt;/p&gt;
4733
4734 &lt;p&gt;&lt;strong&gt;Update 2018-07-12&lt;/strong&gt;: Johannes Schauer send me a few
4735 succestions and reminded me about an important step. The &quot;screen:&quot;
4736 input source is only available once the vlc-plugin-access-extra
4737 package is installed on Debian. Without it, you will see this error
4738 message: &quot;VLC is unable to open the MRL &#39;screen://&#39;. Check the log
4739 for details.&quot; He further found that it is possible to drop some parts
4740 of the VLC command line to reduce the amount of hardcoded information.
4741 It is also useful to consider using cvlc to avoid having the VLC
4742 window in the desktop view. In sum, this give us this command line on
4743 the source end
4744
4745 &lt;blockquote&gt;&lt;pre&gt;
4746 cvlc screen:// --sout \
4747 &#39;#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{sdp=rtsp://:8080/}&#39;
4748 &lt;/pre&gt;&lt;/blockquote&gt;
4749
4750 &lt;p&gt;and this on the Kodi end&lt;p&gt;
4751
4752 &lt;blockquote&gt;&lt;pre&gt;
4753 echo rtsp://192.168.11.4:8080/ \
4754 &gt; /storage/videos/screenstream.m3u
4755 &lt;/pre&gt;&lt;/blockquote&gt;
4756
4757 &lt;p&gt;Still bad image quality, though. But I did discover that streaming
4758 a DVD using dvdsimple:///dev/dvd as the source had excellent video and
4759 audio quality, so I guess the issue is in the input or transcoding
4760 parts, not the rtsp part. I&#39;ve tried to change the vb and ab
4761 parameters to use more bandwidth, but it did not make a
4762 difference.&lt;/p&gt;
4763
4764 &lt;p&gt;I further received a suggestion from Einar Haraldseid to try using
4765 gstreamer instead of VLC, and this proved to work great! He also
4766 provided me with the trick to get Kodi to use a multicast stream as
4767 its source. By using this monstrous oneliner, I can stream my desktop
4768 with good video quality in reasonable framerate to the 239.255.0.1
4769 multicast address on port 1234:
4770
4771 &lt;blockquote&gt;&lt;pre&gt;
4772 gst-launch-1.0 ximagesrc use-damage=0 ! video/x-raw,framerate=30/1 ! \
4773 videoconvert ! queue2 ! \
4774 x264enc bitrate=8000 speed-preset=superfast tune=zerolatency qp-min=30 \
4775 key-int-max=15 bframes=2 ! video/x-h264,profile=high ! queue2 ! \
4776 mpegtsmux alignment=7 name=mux ! rndbuffersize max=1316 min=1316 ! \
4777 udpsink host=239.255.0.1 port=1234 ttl-mc=1 auto-multicast=1 sync=0 \
4778 pulsesrc device=$(pactl list | grep -A2 &#39;Source #&#39; | \
4779 grep &#39;Name: .*\.monitor$&#39; | cut -d&quot; &quot; -f2|head -1) ! \
4780 audioconvert ! queue2 ! avenc_aac ! queue2 ! mux.
4781 &lt;/pre&gt;&lt;/blockquote&gt;
4782
4783 &lt;p&gt;and this on the Kodi end&lt;p&gt;
4784
4785 &lt;blockquote&gt;&lt;pre&gt;
4786 echo udp://@239.255.0.1:1234 \
4787 &gt; /storage/videos/screenstream.m3u
4788 &lt;/pre&gt;&lt;/blockquote&gt;
4789
4790 &lt;p&gt;Note the trick to pick a valid pulseaudio source. It might not
4791 pick the one you need. This approach will of course lead to trouble
4792 if more than one source uses the same multicast port and address.
4793 Note the ttl-mc=1 setting, which limit the multicast packages to the
4794 local network. If the value is increased, your screen will be
4795 broadcasted further, one network &quot;hop&quot; for each increase (read up on
4796 multicast to learn more. :)!&lt;/p&gt;
4797
4798 &lt;p&gt;Having cracked how to get Kodi to receive multicast streams, I
4799 could use this VLC command to stream to the same multicast address.
4800 The image quality is way better than the rtsp approach, but gstreamer
4801 seem to be doing a better job.&lt;/p&gt;
4802
4803 &lt;blockquote&gt;&lt;pre&gt;
4804 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;
4805 &lt;/pre&gt;&lt;/blockquote&gt;
4806
4807 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4808 activities, please send Bitcoin donations to my address
4809 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4810 </description>
4811 </item>
4812
4813 <item>
4814 <title>What is the most supported MIME type in Debian in 2018?</title>
4815 <link>https://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</link>
4816 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html</guid>
4817 <pubDate>Mon, 9 Jul 2018 08:05:00 +0200</pubDate>
4818 <description>&lt;p&gt;Five years ago,
4819 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html&quot;&gt;I
4820 measured what the most supported MIME type in Debian was&lt;/a&gt;, by
4821 analysing the desktop files in all packages in the archive. Since
4822 then, the DEP-11 AppStream system has been put into production, making
4823 the task a lot easier. This made me want to repeat the measurement,
4824 to see how much things changed. Here are the new numbers, for
4825 unstable only this time:
4826
4827 &lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
4828
4829 &lt;pre&gt;
4830 count MIME type
4831 ----- -----------------------
4832 56 image/jpeg
4833 55 image/png
4834 49 image/tiff
4835 48 image/gif
4836 39 image/bmp
4837 38 text/plain
4838 37 audio/mpeg
4839 34 application/ogg
4840 33 audio/x-flac
4841 32 audio/x-mp3
4842 30 audio/x-wav
4843 30 audio/x-vorbis+ogg
4844 29 image/x-portable-pixmap
4845 27 inode/directory
4846 27 image/x-portable-bitmap
4847 27 audio/x-mpeg
4848 26 application/x-ogg
4849 25 audio/x-mpegurl
4850 25 audio/ogg
4851 24 text/html
4852 &lt;/pre&gt;
4853
4854 &lt;p&gt;The list was created like this using a sid chroot: &quot;cat
4855 /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz| zcat | awk &#39;/^
4856 - \S+\/\S+$/ {print $2 }&#39; | sort | uniq -c | sort -nr | head -20&quot;&lt;/p&gt;
4857
4858 &lt;p&gt;It is interesting to see how image formats have passed text/plain
4859 as the most announced supported MIME type. These days, thanks to the
4860 AppStream system, if you run into a file format you do not know, and
4861 want to figure out which packages support the format, you can find the
4862 MIME type of the file using &quot;file --mime &amp;lt;filename&amp;gt;&quot;, and then
4863 look up all packages announcing support for this format in their
4864 AppStream metadata (XML or .desktop file) using &quot;appstreamcli
4865 what-provides mimetype &amp;lt;mime-type&amp;gt;. For example if you, like
4866 me, want to know which packages support inode/directory, you can get a
4867 list like this:&lt;/p&gt;
4868
4869 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4870 % appstreamcli what-provides mimetype inode/directory | grep Package: | sort
4871 Package: anjuta
4872 Package: audacious
4873 Package: baobab
4874 Package: cervisia
4875 Package: chirp
4876 Package: dolphin
4877 Package: doublecmd-common
4878 Package: easytag
4879 Package: enlightenment
4880 Package: ephoto
4881 Package: filelight
4882 Package: gwenview
4883 Package: k4dirstat
4884 Package: kaffeine
4885 Package: kdesvn
4886 Package: kid3
4887 Package: kid3-qt
4888 Package: nautilus
4889 Package: nemo
4890 Package: pcmanfm
4891 Package: pcmanfm-qt
4892 Package: qweborf
4893 Package: ranger
4894 Package: sirikali
4895 Package: spacefm
4896 Package: spacefm
4897 Package: vifm
4898 %
4899 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4900
4901 &lt;p&gt;Using the same method, I can quickly discover that the Sketchup file
4902 format is not yet supported by any package in Debian:&lt;/p&gt;
4903
4904 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4905 % appstreamcli what-provides mimetype application/vnd.sketchup.skp
4906 Could not find component providing &#39;mimetype::application/vnd.sketchup.skp&#39;.
4907 %
4908 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4909
4910 &lt;p&gt;Yesterday I used it to figure out which packages support the STL 3D
4911 format:&lt;/p&gt;
4912
4913 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4914 % appstreamcli what-provides mimetype application/sla|grep Package
4915 Package: cura
4916 Package: meshlab
4917 Package: printrun
4918 %
4919 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4920
4921 &lt;p&gt;PS: A new version of Cura was uploaded to Debian yesterday.&lt;/p&gt;
4922
4923 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
4924 activities, please send Bitcoin donations to my address
4925 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
4926 </description>
4927 </item>
4928
4929 <item>
4930 <title>Debian APT upgrade without enough free space on the disk...</title>
4931 <link>https://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</link>
4932 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</guid>
4933 <pubDate>Sun, 8 Jul 2018 12:10:00 +0200</pubDate>
4934 <description>&lt;p&gt;Quite regularly, I let my Debian Sid/Unstable chroot stay untouch
4935 for a while, and when I need to update it there is not enough free
4936 space on the disk for apt to do a normal &#39;apt upgrade&#39;. I normally
4937 would resolve the issue by doing &#39;apt install &amp;lt;somepackages&amp;gt;&#39; to
4938 upgrade only some of the packages in one batch, until the amount of
4939 packages to download fall below the amount of free space available.
4940 Today, I had about 500 packages to upgrade, and after a while I got
4941 tired of trying to install chunks of packages manually. I concluded
4942 that I did not have the spare hours required to complete the task, and
4943 decided to see if I could automate it. I came up with this small
4944 script which I call &#39;apt-in-chunks&#39;:&lt;/p&gt;
4945
4946 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
4947 #!/bin/sh
4948 #
4949 # Upgrade packages when the disk is too full to upgrade every
4950 # upgradable package in one lump. Fetching packages to upgrade using
4951 # apt, and then installing using dpkg, to avoid changing the package
4952 # flag for manual/automatic.
4953
4954 set -e
4955
4956 ignore() {
4957 if [ &quot;$1&quot; ]; then
4958 grep -v &quot;$1&quot;
4959 else
4960 cat
4961 fi
4962 }
4963
4964 for p in $(apt list --upgradable | ignore &quot;$@&quot; |cut -d/ -f1 | grep -v &#39;^Listing...&#39;); do
4965 echo &quot;Upgrading $p&quot;
4966 apt clean
4967 apt install --download-only -y $p
4968 for f in /var/cache/apt/archives/*.deb; do
4969 if [ -e &quot;$f&quot; ]; then
4970 dpkg -i /var/cache/apt/archives/*.deb
4971 break
4972 fi
4973 done
4974 done
4975 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
4976
4977 &lt;p&gt;The script will extract the list of packages to upgrade, try to
4978 download the packages needed to upgrade one package, install the
4979 downloaded packages using dpkg. The idea is to upgrade packages
4980 without changing the APT mark for the package (ie the one recording of
4981 the package was manually requested or pulled in as a dependency). To
4982 use it, simply run it as root from the command line. If it fail, try
4983 &#39;apt install -f&#39; to clean up the mess and run the script again. This
4984 might happen if the new packages conflict with one of the old
4985 packages. dpkg is unable to remove, while apt can do this.&lt;/p&gt;
4986
4987 &lt;p&gt;It take one option, a package to ignore in the list of packages to
4988 upgrade. The option to ignore a package is there to be able to skip
4989 the packages that are simply too large to unpack. Today this was
4990 &#39;ghc&#39;, but I have run into other large packages causing similar
4991 problems earlier (like TeX).&lt;/p&gt;
4992
4993 &lt;p&gt;Update 2018-07-08: Thanks to Paul Wise, I am aware of two
4994 alternative ways to handle this. The &quot;unattended-upgrades
4995 --minimal-upgrade-steps&quot; option will try to calculate upgrade sets for
4996 each package to upgrade, and then upgrade them in order, smallest set
4997 first. It might be a better option than my above mentioned script.
4998 Also, &quot;aptutude upgrade&quot; can upgrade single packages, thus avoiding
4999 the need for using &quot;dpkg -i&quot; in the script above.&lt;/p&gt;
5000
5001 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5002 activities, please send Bitcoin donations to my address
5003 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5004 </description>
5005 </item>
5006
5007 <item>
5008 <title>The worlds only stone power plant?</title>
5009 <link>https://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</link>
5010 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_worlds_only_stone_power_plant_.html</guid>
5011 <pubDate>Sat, 30 Jun 2018 10:35:00 +0200</pubDate>
5012 <description>&lt;p&gt;So far, at least hydro-electric power, coal power, wind power,
5013 solar power, and wood power are well known. Until a few days ago, I
5014 had never heard of stone power. Then I learn about a quarry in a
5015 mountain in
5016 &lt;a href=&quot;https://en.wikipedia.org/wiki/Bremanger&quot;&gt;Bremanger&lt;/a&gt; i
5017 Norway, where
5018 &lt;a href=&quot;https://www.bontrup.com/en/activities/raw-materials/bremanger-quarry/&quot;&gt;the
5019 Bremanger Quarry&lt;/a&gt; company is extracting stone and dumping the stone
5020 into a shaft leading to its shipping harbour. This downward movement
5021 in this shaft is used to produce electricity. In short, it is using
5022 falling rocks instead of falling water to produce electricity, and
5023 according to its own statements it is producing more power than it is
5024 using, and selling the surplus electricity to the Norwegian power
5025 grid. I find the concept truly amazing. Is this the worlds only
5026 stone power plant?&lt;/p&gt;
5027
5028 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5029 activities, please send Bitcoin donations to my address
5030 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5031 </description>
5032 </item>
5033
5034 <item>
5035 <title>Add-on to control the projector from within Kodi</title>
5036 <link>https://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</link>
5037 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html</guid>
5038 <pubDate>Tue, 26 Jun 2018 23:55:00 +0200</pubDate>
5039 <description>&lt;p&gt;My movie playing setup involve &lt;a href=&quot;https://kodi.tv/&quot;&gt;Kodi&lt;/a&gt;,
5040 &lt;a href=&quot;https://openelec.tv&quot;&gt;OpenELEC&lt;/a&gt; (probably soon to be
5041 replaced with &lt;a href=&quot;https://libreelec.tv/&quot;&gt;LibreELEC&lt;/a&gt;) and an
5042 Infocus IN76 video projector. My projector can be controlled via both
5043 a infrared remote controller, and a RS-232 serial line. The vendor of
5044 my projector, &lt;a href=&quot;https://www.infocus.com/&quot;&gt;InFocus&lt;/a&gt;, had been
5045 sensible enough to document the serial protocol in its user manual, so
5046 it is easily available, and I used it some years ago to write
5047 &lt;a href=&quot;https://github.com/petterreinholdtsen/infocus-projector-control&quot;&gt;a
5048 small script to control the projector&lt;/a&gt;. For a while now, I longed
5049 for a setup where the projector was controlled by Kodi, for example in
5050 such a way that when the screen saver went on, the projector was
5051 turned off, and when the screen saver exited, the projector was turned
5052 on again.&lt;/p&gt;
5053
5054 &lt;p&gt;A few days ago, with very good help from parts of my family, I
5055 managed to find a Kodi Add-on for controlling a Epson projector, and
5056 got in touch with its author to see if we could join forces and make a
5057 Add-on with support for several projectors. To my pleasure, he was
5058 positive to the idea, and we set out to add InFocus support to his
5059 add-on, and make the add-on suitable for the official Kodi add-on
5060 repository.&lt;/p&gt;
5061
5062 &lt;p&gt;The Add-on is now working (for me, at least), with a few minor
5063 adjustments. The most important change I do relative to the master
5064 branch in the github repository is embedding the
5065 &lt;a href=&quot;https://github.com/pyserial/pyserial&quot;&gt;pyserial module&lt;/a&gt; in
5066 the add-on. The long term solution is to make a &quot;script&quot; type
5067 pyserial module for Kodi, that can be pulled in as a dependency in
5068 Kodi. But until that in place, I embed it.&lt;/p&gt;
5069
5070 &lt;p&gt;The add-on can be configured to turn on the projector when Kodi
5071 starts, off when Kodi stops as well as turn the projector off when the
5072 screensaver start and on when the screesaver stops. It can also be
5073 told to set the projector source when turning on the projector.
5074
5075 &lt;p&gt;If this sound interesting to you, check out
5076 &lt;a href=&quot;https://github.com/fredrik-eriksson/kodi_projcontrol&quot;&gt;the
5077 project github repository&lt;/a&gt;. Perhaps you can send patches to
5078 support your projector too? As soon as we find time to wrap up the
5079 latest changes, it should be available for easy installation using any
5080 Kodi instance.&lt;/p&gt;
5081
5082 &lt;p&gt;For future improvements, I would like to add projector model
5083 detection and the ability to adjust the brightness level of the
5084 projector from within Kodi. We also need to figure out how to handle
5085 the cooling period of the projector. My projector refuses to turn on
5086 for 60 seconds after it was turned off. This is not handled well by
5087 the add-on at the moment.&lt;/p&gt;
5088
5089 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5090 activities, please send Bitcoin donations to my address
5091 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5092 </description>
5093 </item>
5094
5095 <item>
5096 <title>Self-appointed leaders of the Free World</title>
5097 <link>https://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</link>
5098 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Self_appointed_leaders_of_the_Free_World.html</guid>
5099 <pubDate>Thu, 22 Mar 2018 11:00:00 +0100</pubDate>
5100 <description>&lt;p&gt;The leaders of the worlds have started to congratulate the
5101 re-elected Russian head of state, and this causes some criticism. I
5102 am though a little fascinated by a comment from USA senator John McCain,
5103 &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
5104 by The Hill and others&lt;/a&gt;:
5105
5106 &lt;p&gt;&lt;blockquote&gt;
5107 &lt;p&gt;&quot;An American president does not lead the Free World by
5108 congratulating dictators on winning sham elections.&quot;&lt;/p&gt;
5109 &lt;/blockquote&gt;&lt;/p&gt;
5110
5111 &lt;p&gt;While I totally agree with the senator here, the way the quote is
5112 phrased make me suspect that he is unaware of the simple fact that USA
5113 have not lead the Free World since at least before its government
5114 &lt;a href=&quot;https://en.wikipedia.org/wiki/Maher_Arar&quot;&gt;kidnapped a
5115 completely innocent Canadian citizen in transit on his way home to
5116 Canada via John F. Kennedy International Airport in September 2002 and
5117 sent him to be tortured in Syria for a year&lt;/a&gt;.&lt;/p&gt;
5118
5119 &lt;p&gt;USA might be running ahead, but the path they are taking is not the
5120 one taken by any Free World.&lt;/p&gt;
5121 </description>
5122 </item>
5123
5124 <item>
5125 <title>Facebooks ability to sell your personal information is the real Cambridge Analytica scandal</title>
5126 <link>https://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</link>
5127 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Facebooks_ability_to_sell_your_personal_information_is_the_real_Cambridge_Analytica_scandal.html</guid>
5128 <pubDate>Wed, 21 Mar 2018 16:30:00 +0100</pubDate>
5129 <description>&lt;p&gt;So, Cambridge Analytica is getting some well deserved criticism for
5130 (mis)using information it got from Facebook about 50 million people,
5131 mostly in the USA. What I find a bit surprising, is how little
5132 criticism Facebook is getting for handing the information over to
5133 Cambridge Analytica and others in the first place. And what about the
5134 people handing their private and personal information to Facebook?
5135 And last, but not least, what about the government offices who are
5136 handing information about the visitors of their web pages to Facebook?
5137 No-one who looked at the terms of use of Facebook should be surprised
5138 that information about peoples interests, political views, personal
5139 lifes and whereabouts would be sold by Facebook.&lt;/p&gt;
5140
5141 &lt;p&gt;What I find to be the real scandal is the fact that Facebook is
5142 selling your personal information, not that one of the buyers used it
5143 in a way Facebook did not approve when exposed. It is well known that
5144 Facebook is selling out their users privacy, but a scandal
5145 nevertheless. Of course the information provided to them by Facebook
5146 would be misused by one of the parties given access to personal
5147 information about the millions of Facebook users. Collected
5148 information will be misused sooner or later. The only way to avoid
5149 such misuse, is to not collect the information in the first place. If
5150 you do not want Facebook to hand out information about yourself for
5151 the use and misuse of its customers, do not give Facebook the
5152 information.&lt;/p&gt;
5153
5154 &lt;p&gt;Personally, I would recommend to completely remove your Facebook
5155 account, and take back some control of your personal information.
5156 &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
5157 to The Guardian&lt;/a&gt;, it is a bit hard to find out how to request
5158 account removal (and not just &#39;disabling&#39;). You need to
5159 &lt;a href=&quot;https://www.facebook.com/help/224562897555674?helpref=faq_content&quot;&gt;visit
5160 a specific Facebook page&lt;/a&gt; and click on &#39;let us know&#39; on that page
5161 to get to &lt;a href=&quot;https://www.facebook.com/help/delete_account&quot;&gt;the
5162 real account deletion screen&lt;/a&gt;. Perhaps something to consider? I
5163 would not trust the information to really be deleted (who knows,
5164 perhaps NSA, GCHQ and FRA already got a copy), but it might reduce the
5165 exposure a bit.&lt;/p&gt;
5166
5167 &lt;p&gt;If you want to learn more about the capabilities of Cambridge
5168 Analytica, I recommend to see the video recording of the one hour talk
5169 Paul-Olivier Dehaye gave to &lt;a href=&quot;&quot;&gt;NUUG&lt;/a&gt; last april about
5170 &lt;a href=&quot;https://www.nuug.no/aktiviteter/20170404-big-data-psychometric/&quot;&gt;
5171 Data collection, psychometric profiling and their impact on
5172 politics&lt;/a&gt;.&lt;/p&gt;
5173
5174 &lt;p&gt;And if you want to communicate with your friends and loved ones,
5175 use some end-to-end encrypted method like
5176 &lt;a href=&quot;https://www.signal.org/&quot;&gt;Signal&lt;/a&gt; or
5177 &lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;, and stop sharing your private
5178 messages with strangers like Facebook and Google.&lt;/p&gt;
5179 </description>
5180 </item>
5181
5182 <item>
5183 <title>First rough draft Norwegian and Spanish edition of the book Made with Creative Commons</title>
5184 <link>https://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</link>
5185 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_rough_draft_Norwegian_and_Spanish_edition_of_the_book_Made_with_Creative_Commons.html</guid>
5186 <pubDate>Tue, 13 Mar 2018 13:00:00 +0100</pubDate>
5187 <description>&lt;p&gt;I am working on publishing yet another book related to Creative
5188 Commons. This time it is a book filled with interviews and histories
5189 from those around the globe making a living using Creative
5190 Commons.&lt;/p&gt;
5191
5192 &lt;p&gt;Yesterday, after many months of hard work by several volunteer
5193 translators, the first draft of a Norwegian Bokmål edition of the book
5194 &lt;a href=&quot;https://madewith.cc&quot;&gt;Made with Creative Commons from 2017&lt;/a&gt;
5195 was complete. The Spanish translation is also complete, while the
5196 Dutch, Polish, German and Ukraine edition need a lot of work. Get in
5197 touch if you want to help make those happen, or would like to
5198 translate into your mother tongue.&lt;/p&gt;
5199
5200 &lt;p&gt;The whole book project started when
5201 &lt;a href=&quot;http://gwolf.org/node/4102&quot;&gt;Gunnar Wolf announced&lt;/a&gt; that he
5202 was going to make a Spanish edition of the book. I noticed, and
5203 offered some input on how to make a book, based on my experience with
5204 translating the
5205 &lt;a href=&quot;https://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Free
5206 Culture&lt;/a&gt; and
5207 &lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;The Debian
5208 Administrator&#39;s Handbook&lt;/a&gt; books to Norwegian Bokmål. To make a
5209 long story short, we ended up working on a Bokmål edition, and now the
5210 first rough translation is complete, thanks to the hard work of
5211 Ole-Erik Yrvin, Ingrid Yrvin, Allan Nordhøy and myself. The first
5212 proof reading is almost done, and only the second and third proof
5213 reading remains. We will also need to translate the 14 figures and
5214 create a book cover. Once it is done we will publish the book on
5215 paper, as well as in PDF, ePub and possibly Mobi formats.&lt;/p&gt;
5216
5217 &lt;p&gt;The book itself originates as a manuscript on Google Docs, is
5218 downloaded as ODT from there and converted to Markdown using pandoc.
5219 The Markdown is modified by a script before is converted to DocBook
5220 using pandoc. The DocBook is modified again using a script before it
5221 is used to create a Gettext POT file for translators. The translated
5222 PO file is then combined with the earlier mentioned DocBook file to
5223 create a translated DocBook file, which finally is given to dblatex to
5224 create the final PDF. The end result is a set of editions of the
5225 manuscript, one English and one for each of the translations.&lt;/p&gt;
5226
5227 &lt;p&gt;The translation is conducted using
5228 &lt;a href=&quot;https://hosted.weblate.org/projects/madewithcc/translation/&quot;&gt;the
5229 Weblate web based translation system&lt;/a&gt;. Please have a look there
5230 and get in touch if you would like to help out with proof
5231 reading. :)&lt;/p&gt;
5232
5233 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5234 activities, please send Bitcoin donations to my address
5235 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5236 </description>
5237 </item>
5238
5239 <item>
5240 <title>Debian used in the subway info screens in Oslo, Norway</title>
5241 <link>https://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</link>
5242 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_used_in_the_subway_info_screens_in_Oslo__Norway.html</guid>
5243 <pubDate>Fri, 2 Mar 2018 13:10:00 +0100</pubDate>
5244 <description>&lt;p&gt;Today I was pleasantly surprised to discover my operating system of
5245 choice, Debian, was used in the info screens on the subway stations.
5246 While passing Nydalen subway station in Oslo, Norway, I discovered the
5247 info screen booting with some text scrolling. I was not quick enough
5248 with my camera to be able to record a video of the scrolling boot
5249 screen, but I did get a photo from when the boot got stuck with a
5250 corrupt file system:
5251
5252 &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;
5253
5254 &lt;p&gt;While I am happy to see Debian used more places, some details of the
5255 content on the screen worries me.&lt;/p&gt;
5256
5257 &lt;p&gt;The image show the version booting is &#39;Debian GNU/Linux lenny/sid&#39;,
5258 indicating that this is based on code taken from Debian Unstable/Sid
5259 after Debian Etch (version 4) was released 2007-04-08 and before
5260 Debian Lenny (version 5) was released 2009-02-14. Since Lenny Debian
5261 has released version 6 (Squeeze) 2011-02-06, 7 (Wheezy) 2013-05-04, 8
5262 (Jessie) 2015-04-25 and 9 (Stretch) 2017-06-15, according to
5263 &lt;a href=&quot;https://en.wikipedia.org/wiki/Debian_version_history&quot;&gt;a Debian
5264 version history on Wikpedia&lt;/a&gt;. This mean the system is running
5265 around 10 year old code, with no security fixes from the vendor for
5266 many years.&lt;/p&gt;
5267
5268 &lt;p&gt;This is not the first time I discover the Oslo subway company,
5269 Ruter, running outdated software. In 2012,
5270 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html&quot;&gt;I
5271 discovered the ticket vending machines were running Windows 2000&lt;/a&gt;,
5272 and this was
5273 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html&quot;&gt;still
5274 the case in 2016&lt;/a&gt;. Given the response from the responsible people
5275 in 2016, I would assume the machines are still running unpatched
5276 Windows 2000. Thus, an unpatched Debian setup come as no surprise.&lt;/p&gt;
5277
5278 &lt;p&gt;The photo is made available under the license terms
5279 &lt;a href=&quot;http://creativecommons.org/licenses/by/4.0/&quot;&gt;Creative Commons
5280 4.0 Attribution International (CC BY 4.0)&lt;/a&gt;.&lt;/p&gt;
5281
5282 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5283 activities, please send Bitcoin donations to my address
5284 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5285 </description>
5286 </item>
5287
5288 <item>
5289 <title>The SysVinit upstream project just migrated to git</title>
5290 <link>https://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</link>
5291 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_SysVinit_upstream_project_just_migrated_to_git.html</guid>
5292 <pubDate>Sun, 18 Feb 2018 09:20:00 +0100</pubDate>
5293 <description>&lt;p&gt;Surprising as it might sound, there are still computers using the
5294 traditional Sys V init system, and there probably will be until
5295 systemd start working on Hurd and FreeBSD.
5296 &lt;a href=&quot;https://savannah.nongnu.org/projects/sysvinit&quot;&gt;The upstream
5297 project still exist&lt;/a&gt;, though, and up until today, the upstream
5298 source was available from Savannah via subversion. I am happy to
5299 report that this just changed.&lt;/p&gt;
5300
5301 &lt;p&gt;The upstream source is now in Git, and consist of three
5302 repositories:&lt;/p&gt;
5303
5304 &lt;ul&gt;
5305
5306 &lt;li&gt;&lt;a href=&quot;http://git.savannah.nongnu.org/cgit/sysvinit.git&quot;&gt;sysvinit&lt;/a&gt;&lt;/li&gt;
5307 &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;
5308 &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;
5309
5310 &lt;/ul&gt;
5311
5312 &lt;p&gt;I do not really spend much time on the project these days, and I
5313 has mostly retired, but found it best to migrate the source to a good
5314 version control system to help those willing to move it forward.&lt;/p&gt;
5315
5316 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5317 activities, please send Bitcoin donations to my address
5318 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5319 </description>
5320 </item>
5321
5322 <item>
5323 <title>Using VLC to stream bittorrent sources</title>
5324 <link>https://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</link>
5325 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_VLC_to_stream_bittorrent_sources.html</guid>
5326 <pubDate>Wed, 14 Feb 2018 08:00:00 +0100</pubDate>
5327 <description>&lt;p&gt;A few days ago, a new major version of
5328 &lt;a href=&quot;https://www.videolan.org/&quot;&gt;VLC&lt;/a&gt; was announced, and I
5329 decided to check out if it now supported streaming over
5330 &lt;a href=&quot;http://bittorrent.org/&quot;&gt;bittorrent&lt;/a&gt; and
5331 &lt;a href=&quot;https://webtorrent.io&quot;&gt;webtorrent&lt;/a&gt;. Bittorrent is one of
5332 the most efficient ways to distribute large files on the Internet, and
5333 Webtorrent is a variant of Bittorrent using
5334 &lt;a href=&quot;https://webrtc.org&quot;&gt;WebRTC&lt;/a&gt; as its transport channel,
5335 allowing web pages to stream and share files using the same technique.
5336 The network protocols are similar but not identical, so a client
5337 supporting one of them can not talk to a client supporting the other.
5338 I was a bit surprised with what I discovered when I started to look.
5339 Looking at
5340 &lt;a href=&quot;https://www.videolan.org/vlc/releases/3.0.0.html&quot;&gt;the release
5341 notes&lt;/a&gt; did not help answering this question, so I started searching
5342 the web. I found several news articles from 2013, most of them
5343 tracing the news from Torrentfreak
5344 (&quot;&lt;a href=https://torrentfreak.com/open-source-giant-vlc-mulls-bittorrent-support-130211/&quot;&gt;Open
5345 Source Giant VLC Mulls BitTorrent Streaming Support&lt;/a&gt;&quot;), about a
5346 initiative to pay someone to create a VLC patch for bittorrent
5347 support. To figure out what happend with this initiative, I headed
5348 over to the #videolan IRC channel and asked if there were some bug or
5349 feature request tickets tracking such feature. I got an answer from
5350 lead developer Jean-Babtiste Kempf, telling me that there was a patch
5351 but neither he nor anyone else knew where it was. So I searched a bit
5352 more, and came across an independent
5353 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent&quot;&gt;VLC plugin to add
5354 bittorrent support&lt;/a&gt;, created by Johan Gunnarsson in 2016/2017.
5355 Again according to Jean-Babtiste, this is not the patch he was talking
5356 about.&lt;/p&gt;
5357
5358 &lt;p&gt;Anyway, to test the plugin, I made a working Debian package from
5359 the git repository, with some modifications. After installing this
5360 package, I could stream videos from
5361 &lt;a href=&quot;https://www.archive.org/&quot;&gt;The Internet Archive&lt;/a&gt; using VLC
5362 commands like this:&lt;/p&gt;
5363
5364 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
5365 vlc https://archive.org/download/LoveNest/LoveNest_archive.torrent
5366 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
5367
5368 &lt;p&gt;The plugin is supposed to handle magnet links too, but since The
5369 Internet Archive do not have magnet links and I did not want to spend
5370 time tracking down another source, I have not tested it. It can take
5371 quite a while before the video start playing without any indication of
5372 what is going on from VLC. It took 10-20 seconds when I measured it.
5373 Some times the plugin seem unable to find the correct video file to
5374 play, and show the metadata XML file name in the VLC status line. I
5375 have no idea why.&lt;/p&gt;
5376
5377 &lt;p&gt;I have created a &lt;a href=&quot;https://bugs.debian.org/890360&quot;&gt;request for
5378 a new package in Debian (RFP)&lt;/a&gt; and
5379 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/1&quot;&gt;asked if
5380 the upstream author is willing to help make this happen&lt;/a&gt;. Now we
5381 wait to see what come out of this. I do not want to maintain a
5382 package that is not maintained upstream, nor do I really have time to
5383 maintain more packages myself, so I might leave it at this. But I
5384 really hope someone step up to do the packaging, and hope upstream is
5385 still maintaining the source. If you want to help, please update the
5386 RFP request or the upstream issue.&lt;/p&gt;
5387
5388 &lt;p&gt;I have not found any traces of webtorrent support for VLC.&lt;/p&gt;
5389
5390 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5391 activities, please send Bitcoin donations to my address
5392 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5393 </description>
5394 </item>
5395
5396 <item>
5397 <title>Version 3.1 of Cura, the 3D print slicer, is now in Debian</title>
5398 <link>https://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</link>
5399 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Version_3_1_of_Cura__the_3D_print_slicer__is_now_in_Debian.html</guid>
5400 <pubDate>Tue, 13 Feb 2018 06:20:00 +0100</pubDate>
5401 <description>&lt;p&gt;A new version of the
5402 &lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;3D printer slicer
5403 software Cura&lt;/a&gt;, version 3.1.0, is now available in Debian Testing
5404 (aka Buster) and Debian Unstable (aka Sid). I hope you find it
5405 useful. It was uploaded the last few days, and the last update will
5406 enter testing tomorrow. See the
5407 &lt;a href=&quot;https://ultimaker.com/en/products/cura-software/release-notes&quot;&gt;release
5408 notes&lt;/a&gt; for the list of bug fixes and new features. Version 3.2
5409 was announced 6 days ago. We will try to get it into Debian as
5410 well.&lt;/p&gt;
5411
5412 &lt;p&gt;More information related to 3D printing is available on the
5413 &lt;a href=&quot;https://wiki.debian.org/3DPrinting&quot;&gt;3D printing&lt;/a&gt; and
5414 &lt;a href=&quot;https://wiki.debian.org/3D-printer&quot;&gt;3D printer&lt;/a&gt; wiki pages
5415 in Debian.&lt;/p&gt;
5416
5417 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5418 activities, please send Bitcoin donations to my address
5419 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5420 </description>
5421 </item>
5422
5423 <item>
5424 <title>How hard can æ, ø and å be?</title>
5425 <link>https://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</link>
5426 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_hard_can______and___be_.html</guid>
5427 <pubDate>Sun, 11 Feb 2018 17:10:00 +0100</pubDate>
5428 <description>&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-02-11-peppes-unicode.jpeg&quot; align=&quot;right&quot;/&gt;
5429
5430 &lt;p&gt;We write 2018, and it is 30 years since Unicode was introduced.
5431 Most of us in Norway have come to expect the use of our alphabet to
5432 just work with any computer system. But it is apparently beyond reach
5433 of the computers printing recites at a restaurant. Recently I visited
5434 a Peppes pizza resturant, and noticed a few details on the recite.
5435 Notice how &#39;ø&#39; and &#39;å&#39; are replaced with strange symbols in
5436 &#39;Servitør&#39;, &#39;Å BETALE&#39;, &#39;Beløp pr. gjest&#39;, &#39;Takk for besøket.&#39; and &#39;Vi
5437 gleder oss til å se deg igjen&#39;.&lt;/p&gt;
5438
5439 &lt;p&gt;I would say that this state is passed sad and over in embarrassing.&lt;/p&gt;
5440
5441 &lt;p&gt;I removed personal and private information to be nice.&lt;/p&gt;
5442
5443 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5444 activities, please send Bitcoin donations to my address
5445 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5446 </description>
5447 </item>
5448
5449 <item>
5450 <title>Legal to share more than 11,000 movies listed on IMDB?</title>
5451 <link>https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</link>
5452 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_11_000_movies_listed_on_IMDB_.html</guid>
5453 <pubDate>Sun, 7 Jan 2018 23:30:00 +0100</pubDate>
5454 <description>&lt;p&gt;I&#39;ve continued to track down list of movies that are legal to
5455 distribute on the Internet, and identified more than 11,000 title IDs
5456 in The Internet Movie Database (IMDB) so far. Most of them (57%) are
5457 feature films from USA published before 1923. I&#39;ve also tracked down
5458 more than 24,000 movies I have not yet been able to map to IMDB title
5459 ID, so the real number could be a lot higher. According to the front
5460 web page for &lt;a href=&quot;https://retrofilmvault.com/&quot;&gt;Retro Film
5461 Vault&lt;/A&gt;, there are 44,000 public domain films, so I guess there are
5462 still some left to identify.&lt;/p&gt;
5463
5464 &lt;p&gt;The complete data set is available from
5465 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
5466 public git repository&lt;/a&gt;, including the scripts used to create it.
5467 Most of the data is collected using web scraping, for example from the
5468 &quot;product catalog&quot; of companies selling copies of public domain movies,
5469 but any source I find believable is used. I&#39;ve so far had to throw
5470 out three sources because I did not trust the public domain status of
5471 the movies listed.&lt;/p&gt;
5472
5473 &lt;p&gt;Anyway, this is the summary of the 28 collected data sources so
5474 far:&lt;/p&gt;
5475
5476 &lt;p&gt;&lt;pre&gt;
5477 2352 entries ( 66 unique) with and 15983 without IMDB title ID in free-movies-archive-org-search.json
5478 2302 entries ( 120 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
5479 195 entries ( 63 unique) with and 200 without IMDB title ID in free-movies-cinemovies.json
5480 89 entries ( 52 unique) with and 38 without IMDB title ID in free-movies-creative-commons.json
5481 344 entries ( 28 unique) with and 655 without IMDB title ID in free-movies-fesfilm.json
5482 668 entries ( 209 unique) with and 1064 without IMDB title ID in free-movies-filmchest-com.json
5483 830 entries ( 21 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
5484 19 entries ( 19 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-gb.json
5485 6822 entries ( 6669 unique) with and 0 without IMDB title ID in free-movies-imdb-c-expired-us.json
5486 137 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-imdb-externlist.json
5487 1205 entries ( 57 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
5488 84 entries ( 20 unique) with and 167 without IMDB title ID in free-movies-infodigi-pd.json
5489 158 entries ( 135 unique) with and 0 without IMDB title ID in free-movies-letterboxd-looney-tunes.json
5490 113 entries ( 4 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
5491 182 entries ( 100 unique) with and 0 without IMDB title ID in free-movies-letterboxd-silent.json
5492 229 entries ( 87 unique) with and 1 without IMDB title ID in free-movies-manual.json
5493 44 entries ( 2 unique) with and 64 without IMDB title ID in free-movies-openflix.json
5494 291 entries ( 33 unique) with and 474 without IMDB title ID in free-movies-profilms-pd.json
5495 211 entries ( 7 unique) with and 0 without IMDB title ID in free-movies-publicdomainmovies-info.json
5496 1232 entries ( 57 unique) with and 1875 without IMDB title ID in free-movies-publicdomainmovies-net.json
5497 46 entries ( 13 unique) with and 81 without IMDB title ID in free-movies-publicdomainreview.json
5498 698 entries ( 64 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
5499 1758 entries ( 882 unique) with and 3786 without IMDB title ID in free-movies-retrofilmvault.json
5500 16 entries ( 0 unique) with and 0 without IMDB title ID in free-movies-thehillproductions.json
5501 63 entries ( 16 unique) with and 141 without IMDB title ID in free-movies-vodo.json
5502 11583 unique IMDB title IDs in total, 8724 only in one list, 24647 without IMDB title ID
5503 &lt;/pre&gt;&lt;/p&gt;
5504
5505 &lt;p&gt; I keep finding more data sources. I found the cinemovies source
5506 just a few days ago, and as you can see from the summary, it extended
5507 my list with 63 movies. Check out the mklist-* scripts in the git
5508 repository if you are curious how the lists are created. Many of the
5509 titles are extracted using searches on IMDB, where I look for the
5510 title and year, and accept search results with only one movie listed
5511 if the year matches. This allow me to automatically use many lists of
5512 movies without IMDB title ID references at the cost of increasing the
5513 risk of wrongly identify a IMDB title ID as public domain. So far my
5514 random manual checks have indicated that the method is solid, but I
5515 really wish all lists of public domain movies would include unique
5516 movie identifier like the IMDB title ID. It would make the job of
5517 counting movies in the public domain a lot easier.&lt;/p&gt;
5518
5519 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5520 activities, please send Bitcoin donations to my address
5521 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5522 </description>
5523 </item>
5524
5525 <item>
5526 <title>Cura, the nice 3D print slicer, is now in Debian Unstable</title>
5527 <link>https://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</link>
5528 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html</guid>
5529 <pubDate>Sun, 17 Dec 2017 07:00:00 +0100</pubDate>
5530 <description>&lt;p&gt;After several months of working and waiting, I am happy to report
5531 that the nice and user friendly 3D printer slicer software Cura just
5532 entered Debian Unstable. It consist of five packages,
5533 &lt;a href=&quot;https://tracker.debian.org/pkg/cura&quot;&gt;cura&lt;/a&gt;,
5534 &lt;a href=&quot;https://tracker.debian.org/pkg/cura-engine&quot;&gt;cura-engine&lt;/a&gt;,
5535 &lt;a href=&quot;https://tracker.debian.org/pkg/libarcus&quot;&gt;libarcus&lt;/a&gt;,
5536 &lt;a href=&quot;https://tracker.debian.org/pkg/fdm-materials&quot;&gt;fdm-materials&lt;/a&gt;,
5537 &lt;a href=&quot;https://tracker.debian.org/pkg/libsavitar&quot;&gt;libsavitar&lt;/a&gt; and
5538 &lt;a href=&quot;https://tracker.debian.org/pkg/uranium&quot;&gt;uranium&lt;/a&gt;. The last
5539 two, uranium and cura, entered Unstable yesterday. This should make
5540 it easier for Debian users to print on at least the Ultimaker class of
5541 3D printers. My nearest 3D printer is an Ultimaker 2+, so it will
5542 make life easier for at least me. :)&lt;/p&gt;
5543
5544 &lt;p&gt;The work to make this happen was done by Gregor Riepl, and I was
5545 happy to assist him in sponsoring the packages. With the introduction
5546 of Cura, Debian is up to three 3D printer slicers at your service,
5547 Cura, Slic3r and Slic3r Prusa. If you own or have access to a 3D
5548 printer, give it a go. :)&lt;/p&gt;
5549
5550 &lt;p&gt;The 3D printer software is maintained by the 3D printer Debian
5551 team, flocking together on the
5552 &lt;a href=&quot;http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/3dprinter-general&quot;&gt;3dprinter-general&lt;/a&gt;
5553 mailing list and the
5554 &lt;a href=&quot;irc://irc.debian.org/#debian-3dprinting&quot;&gt;#debian-3dprinting&lt;/a&gt;
5555 IRC channel.&lt;/p&gt;
5556
5557 &lt;p&gt;The next step for Cura in Debian is to update the cura package to
5558 version 3.0.3 and then update the entire set of packages to version
5559 3.1.0 which showed up the last few days.&lt;/p&gt;
5560 </description>
5561 </item>
5562
5563 <item>
5564 <title>Idea for finding all public domain movies in the USA</title>
5565 <link>https://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html</link>
5566 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html</guid>
5567 <pubDate>Wed, 13 Dec 2017 10:15:00 +0100</pubDate>
5568 <description>&lt;p&gt;While looking at
5569 &lt;a href=&quot;http://onlinebooks.library.upenn.edu/cce/&quot;&gt;the scanned copies
5570 for the copyright renewal entries for movies published in the USA&lt;/a&gt;,
5571 an idea occurred to me. The number of renewals are so few per year, it
5572 should be fairly quick to transcribe them all and add references to
5573 the corresponding IMDB title ID. This would give the (presumably)
5574 complete list of movies published 28 years earlier that did _not_
5575 enter the public domain for the transcribed year. By fetching the
5576 list of USA movies published 28 years earlier and subtract the movies
5577 with renewals, we should be left with movies registered in IMDB that
5578 are now in the public domain. For the year 1955 (which is the one I
5579 have looked at the most), the total number of pages to transcribe is
5580 21. For the 28 years from 1950 to 1978, it should be in the range
5581 500-600 pages. It is just a few days of work, and spread among a
5582 small group of people it should be doable in a few weeks of spare
5583 time.&lt;/p&gt;
5584
5585 &lt;p&gt;A typical copyright renewal entry look like this (the first one
5586 listed for 1955):&lt;/p&gt;
5587
5588 &lt;p&gt;&lt;blockquote&gt;
5589 ADAM AND EVIL, a photoplay in seven reels by Metro-Goldwyn-Mayer
5590 Distribution Corp. (c) 17Aug27; L24293. Loew&#39;s Incorporated (PWH);
5591 10Jun55; R151558.
5592 &lt;/blockquote&gt;&lt;/p&gt;
5593
5594 &lt;p&gt;The movie title as well as registration and renewal dates are easy
5595 enough to locate by a program (split on first comma and look for
5596 DDmmmYY). The rest of the text is not required to find the movie in
5597 IMDB, but is useful to confirm the correct movie is found. I am not
5598 quite sure what the L and R numbers mean, but suspect they are
5599 reference numbers into the archive of the US Copyright Office.&lt;/p&gt;
5600
5601 &lt;p&gt;Tracking down the equivalent IMDB title ID is probably going to be
5602 a manual task, but given the year it is fairly easy to search for the
5603 movie title using for example
5604 &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;.
5605 Using this search, I find that the equivalent IMDB title ID for the
5606 first renewal entry from 1955 is
5607 &lt;a href=&quot;http://www.imdb.com/title/tt0017588/&quot;&gt;http://www.imdb.com/title/tt0017588/&lt;/a&gt;.&lt;/p&gt;
5608
5609 &lt;p&gt;I suspect the best way to do this would be to make a specialised
5610 web service to make it easy for contributors to transcribe and track
5611 down IMDB title IDs. In the web service, once a entry is transcribed,
5612 the title and year could be extracted from the text, a search in IMDB
5613 conducted for the user to pick the equivalent IMDB title ID right
5614 away. By spreading out the work among volunteers, it would also be
5615 possible to make at least two persons transcribe the same entries to
5616 be able to discover any typos introduced. But I will need help to
5617 make this happen, as I lack the spare time to do all of this on my
5618 own. If you would like to help, please get in touch. Perhaps you can
5619 draft a web service for crowd sourcing the task?&lt;/p&gt;
5620
5621 &lt;p&gt;Note, Project Gutenberg already have some
5622 &lt;a href=&quot;http://www.gutenberg.org/ebooks/search/?query=copyright+office+renewals&quot;&gt;transcribed
5623 copies of the US Copyright Office renewal protocols&lt;/a&gt;, but I have
5624 not been able to find any film renewals there, so I suspect they only
5625 have copies of renewal for written works. I have not been able to find
5626 any transcribed versions of movie renewals so far. Perhaps they exist
5627 somewhere?&lt;/p&gt;
5628
5629 &lt;p&gt;I would love to figure out methods for finding all the public
5630 domain works in other countries too, but it is a lot harder. At least
5631 for Norway and Great Britain, such work involve tracking down the
5632 people involved in making the movie and figuring out when they died.
5633 It is hard enough to figure out who was part of making a movie, but I
5634 do not know how to automate such procedure without a registry of every
5635 person involved in making movies and their death year.&lt;/p&gt;
5636
5637 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5638 activities, please send Bitcoin donations to my address
5639 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5640 </description>
5641 </item>
5642
5643 <item>
5644 <title>Is the short movie «Empty Socks» from 1927 in the public domain or not?</title>
5645 <link>https://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html</link>
5646 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html</guid>
5647 <pubDate>Tue, 5 Dec 2017 12:30:00 +0100</pubDate>
5648 <description>&lt;p&gt;Three years ago, a presumed lost animation film,
5649 &lt;a href=&quot;https://en.wikipedia.org/wiki/Empty_Socks&quot;&gt;Empty Socks from
5650 1927&lt;/a&gt;, was discovered in the Norwegian National Library. At the
5651 time it was discovered, it was generally assumed to be copyrighted by
5652 The Walt Disney Company, and I blogged about
5653 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Opphavsretts_status_for__Empty_Socks__fra_1927_.html&quot;&gt;my
5654 reasoning to conclude&lt;/a&gt; that it would would enter the Norwegian
5655 equivalent of the public domain in 2053, based on my understanding of
5656 Norwegian Copyright Law. But a few days ago, I came across
5657 &lt;a href=&quot;http://www.toonzone.net/forums/threads/exposed-disneys-repurchase-of-oswald-the-rabbit-a-sham.4792291/&quot;&gt;a
5658 blog post claiming the movie was already in the public domain&lt;/a&gt;, at
5659 least in USA. The reasoning is as follows: The film was released in
5660 November or Desember 1927 (sources disagree), and presumably
5661 registered its copyright that year. At that time, right holders of
5662 movies registered by the copyright office received government
5663 protection for there work for 28 years. After 28 years, the copyright
5664 had to be renewed if the wanted the government to protect it further.
5665 The blog post I found claim such renewal did not happen for this
5666 movie, and thus it entered the public domain in 1956. Yet someone
5667 claim the copyright was renewed and the movie is still copyright
5668 protected. Can anyone help me to figure out which claim is correct?
5669 I have not been able to find Empty Socks in Catalog of copyright
5670 entries. Ser.3 pt.12-13 v.9-12 1955-1958 Motion Pictures
5671 &lt;a href=&quot;http://onlinebooks.library.upenn.edu/cce/1955r.html#film&quot;&gt;available
5672 from the University of Pennsylvania&lt;/a&gt;, neither in
5673 &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
5674 45 for the first half of 1955&lt;/a&gt;, nor in
5675 &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
5676 119 for the second half of 1955&lt;/a&gt;. It is of course possible that
5677 the renewal entry was left out of the printed catalog by mistake. Is
5678 there some way to rule out this possibility? Please help, and update
5679 the wikipedia page with your findings.
5680
5681 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5682 activities, please send Bitcoin donations to my address
5683 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5684 </description>
5685 </item>
5686
5687 <item>
5688 <title>Metadata proposal for movies on the Internet Archive</title>
5689 <link>https://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html</link>
5690 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html</guid>
5691 <pubDate>Tue, 28 Nov 2017 12:00:00 +0100</pubDate>
5692 <description>&lt;p&gt;It would be easier to locate the movie you want to watch in
5693 &lt;a href=&quot;https://www.archive.org/&quot;&gt;the Internet Archive&lt;/a&gt;, if the
5694 metadata about each movie was more complete and accurate. In the
5695 archiving community, a well known saying state that good metadata is a
5696 love letter to the future. The metadata in the Internet Archive could
5697 use a face lift for the future to love us back. Here is a proposal
5698 for a small improvement that would make the metadata more useful
5699 today. I&#39;ve been unable to find any document describing the various
5700 standard fields available when uploading videos to the archive, so
5701 this proposal is based on my best quess and searching through several
5702 of the existing movies.&lt;/p&gt;
5703
5704 &lt;p&gt;I have a few use cases in mind. First of all, I would like to be
5705 able to count the number of distinct movies in the Internet Archive,
5706 without duplicates. I would further like to identify the IMDB title
5707 ID of the movies in the Internet Archive, to be able to look up a IMDB
5708 title ID and know if I can fetch the video from there and share it
5709 with my friends.&lt;/p&gt;
5710
5711 &lt;p&gt;Second, I would like the Butter data provider for The Internet
5712 archive
5713 (&lt;a href=&quot;https://github.com/butterproviders/butter-provider-archive&quot;&gt;available
5714 from github&lt;/a&gt;), to list as many of the good movies as possible. The
5715 plugin currently do a search in the archive with the following
5716 parameters:&lt;/p&gt;
5717
5718 &lt;p&gt;&lt;pre&gt;
5719 collection:moviesandfilms
5720 AND NOT collection:movie_trailers
5721 AND -mediatype:collection
5722 AND format:&quot;Archive BitTorrent&quot;
5723 AND year
5724 &lt;/pre&gt;&lt;/p&gt;
5725
5726 &lt;p&gt;Most of the cool movies that fail to show up in Butter do so
5727 because the &#39;year&#39; field is missing. The &#39;year&#39; field is populated by
5728 the year part from the &#39;date&#39; field, and should be when the movie was
5729 released (date or year). Two such examples are
5730 &lt;a href=&quot;https://archive.org/details/SidneyOlcottsBen-hur1905&quot;&gt;Ben Hur
5731 from 1905&lt;/a&gt; and
5732 &lt;a href=&quot;https://archive.org/details/Caminandes2GranDillama&quot;&gt;Caminandes
5733 2: Gran Dillama from 2013&lt;/a&gt;, where the year metadata field is
5734 missing.&lt;/p&gt;
5735
5736 So, my proposal is simply, for every movie in The Internet Archive
5737 where an IMDB title ID exist, please fill in these metadata fields
5738 (note, they can be updated also long after the video was uploaded, but
5739 as far as I can tell, only by the uploader):
5740
5741 &lt;dl&gt;
5742
5743 &lt;dt&gt;mediatype&lt;/dt&gt;
5744 &lt;dd&gt;Should be &#39;movie&#39; for movies.&lt;/dd&gt;
5745
5746 &lt;dt&gt;collection&lt;/dt&gt;
5747 &lt;dd&gt;Should contain &#39;moviesandfilms&#39;.&lt;/dd&gt;
5748
5749 &lt;dt&gt;title&lt;/dt&gt;
5750 &lt;dd&gt;The title of the movie, without the publication year.&lt;/dd&gt;
5751
5752 &lt;dt&gt;date&lt;/dt&gt;
5753 &lt;dd&gt;The data or year the movie was released. This make the movie show
5754 up in Butter, as well as make it possible to know the age of the
5755 movie and is useful to figure out copyright status.&lt;/dd&gt;
5756
5757 &lt;dt&gt;director&lt;/dt&gt;
5758 &lt;dd&gt;The director of the movie. This make it easier to know if the
5759 correct movie is found in movie databases.&lt;/dd&gt;
5760
5761 &lt;dt&gt;publisher&lt;/dt&gt;
5762 &lt;dd&gt;The production company making the movie. Also useful for
5763 identifying the correct movie.&lt;/dd&gt;
5764
5765 &lt;dt&gt;links&lt;/dt&gt;
5766
5767 &lt;dd&gt;Add a link to the IMDB title page, for example like this: &amp;lt;a
5768 href=&quot;http://www.imdb.com/title/tt0028496/&quot;&amp;gt;Movie in
5769 IMDB&amp;lt;/a&amp;gt;. This make it easier to find duplicates and allow for
5770 counting of number of unique movies in the Archive. Other external
5771 references, like to TMDB, could be added like this too.&lt;/dd&gt;
5772
5773 &lt;/dl&gt;
5774
5775 &lt;p&gt;I did consider proposing a Custom field for the IMDB title ID (for
5776 example &#39;imdb_title_url&#39;, &#39;imdb_code&#39; or simply &#39;imdb&#39;, but suspect it
5777 will be easier to simply place it in the links free text field.&lt;/p&gt;
5778
5779 &lt;p&gt;I created
5780 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
5781 list of IMDB title IDs for several thousand movies in the Internet
5782 Archive&lt;/a&gt;, but I also got a list of several thousand movies without
5783 such IMDB title ID (and quite a few duplicates). It would be great if
5784 this data set could be integrated into the Internet Archive metadata
5785 to be available for everyone in the future, but with the current
5786 policy of leaving metadata editing to the uploaders, it will take a
5787 while before this happen. If you have uploaded movies into the
5788 Internet Archive, you can help. Please consider following my proposal
5789 above for your movies, to ensure that movie is properly
5790 counted. :)&lt;/p&gt;
5791
5792 &lt;p&gt;The list is mostly generated using wikidata, which based on
5793 Wikipedia articles make it possible to link between IMDB and movies in
5794 the Internet Archive. But there are lots of movies without a
5795 Wikipedia article, and some movies where only a collection page exist
5796 (like for &lt;a href=&quot;https://en.wikipedia.org/wiki/Caminandes&quot;&gt;the
5797 Caminandes example above&lt;/a&gt;, where there are three movies but only
5798 one Wikidata entry).&lt;/p&gt;
5799
5800 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5801 activities, please send Bitcoin donations to my address
5802 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5803 </description>
5804 </item>
5805
5806 <item>
5807 <title>Legal to share more than 3000 movies listed on IMDB?</title>
5808 <link>https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html</link>
5809 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html</guid>
5810 <pubDate>Sat, 18 Nov 2017 21:20:00 +0100</pubDate>
5811 <description>&lt;p&gt;A month ago, I blogged about my work to
5812 &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
5813 check the copyright status of IMDB entries&lt;/a&gt;, and try to count the
5814 number of movies listed in IMDB that is legal to distribute on the
5815 Internet. I have continued to look for good data sources, and
5816 identified a few more. The code used to extract information from
5817 various data sources is available in
5818 &lt;a href=&quot;https://github.com/petterreinholdtsen/public-domain-free-imdb&quot;&gt;a
5819 git repository&lt;/a&gt;, currently available from github.&lt;/p&gt;
5820
5821 &lt;p&gt;So far I have identified 3186 unique IMDB title IDs. To gain
5822 better understanding of the structure of the data set, I created a
5823 histogram of the year associated with each movie (typically release
5824 year). It is interesting to notice where the peaks and dips in the
5825 graph are located. I wonder why they are placed there. I suspect
5826 World War II caused the dip around 1940, but what caused the peak
5827 around 2010?&lt;/p&gt;
5828
5829 &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;
5830
5831 &lt;p&gt;I&#39;ve so far identified ten sources for IMDB title IDs for movies in
5832 the public domain or with a free license. This is the statistics
5833 reported when running &#39;make stats&#39; in the git repository:&lt;/p&gt;
5834
5835 &lt;pre&gt;
5836 249 entries ( 6 unique) with and 288 without IMDB title ID in free-movies-archive-org-butter.json
5837 2301 entries ( 540 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json
5838 830 entries ( 29 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
5839 2109 entries ( 377 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json
5840 291 entries ( 122 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json
5841 144 entries ( 135 unique) with and 0 without IMDB title ID in free-movies-manual.json
5842 350 entries ( 1 unique) with and 801 without IMDB title ID in free-movies-publicdomainmovies.json
5843 4 entries ( 0 unique) with and 124 without IMDB title ID in free-movies-publicdomainreview.json
5844 698 entries ( 119 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json
5845 8 entries ( 8 unique) with and 196 without IMDB title ID in free-movies-vodo.json
5846 3186 unique IMDB title IDs in total
5847 &lt;/pre&gt;
5848
5849 &lt;p&gt;The entries without IMDB title ID are candidates to increase the
5850 data set, but might equally well be duplicates of entries already
5851 listed with IMDB title ID in one of the other sources, or represent
5852 movies that lack a IMDB title ID. I&#39;ve seen examples of all these
5853 situations when peeking at the entries without IMDB title ID. Based
5854 on these data sources, the lower bound for movies listed in IMDB that
5855 are legal to distribute on the Internet is between 3186 and 4713.
5856
5857 &lt;p&gt;It would be great for improving the accuracy of this measurement,
5858 if the various sources added IMDB title ID to their metadata. I have
5859 tried to reach the people behind the various sources to ask if they
5860 are interested in doing this, without any replies so far. Perhaps you
5861 can help me get in touch with the people behind VODO, Public Domain
5862 Torrents, Public Domain Movies and Public Domain Review to try to
5863 convince them to add more metadata to their movie entries?&lt;/p&gt;
5864
5865 &lt;p&gt;Another way you could help is by adding pages to Wikipedia about
5866 movies that are legal to distribute on the Internet. If such page
5867 exist and include a link to both IMDB and The Internet Archive, the
5868 script used to generate free-movies-archive-org-wikidata.json should
5869 pick up the mapping as soon as wikidata is updates.&lt;/p&gt;
5870
5871 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5872 activities, please send Bitcoin donations to my address
5873 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5874 </description>
5875 </item>
5876
5877 <item>
5878 <title>Some notes on fault tolerant storage systems</title>
5879 <link>https://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html</link>
5880 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html</guid>
5881 <pubDate>Wed, 1 Nov 2017 15:35:00 +0100</pubDate>
5882 <description>&lt;p&gt;If you care about how fault tolerant your storage is, you might
5883 find these articles and papers interesting. They have formed how I
5884 think of when designing a storage system.&lt;/p&gt;
5885
5886 &lt;ul&gt;
5887
5888 &lt;li&gt;USENIX :login; &lt;a
5889 href=&quot;https://www.usenix.org/publications/login/summer2017/ganesan&quot;&gt;Redundancy
5890 Does Not Imply Fault Tolerance. Analysis of Distributed Storage
5891 Reactions to Single Errors and Corruptions&lt;/a&gt; by Aishwarya Ganesan,
5892 Ramnatthan Alagappan, Andrea C. Arpaci-Dusseau, and Remzi
5893 H. Arpaci-Dusseau&lt;/li&gt;
5894
5895 &lt;li&gt;ZDNet
5896 &lt;a href=&quot;http://www.zdnet.com/article/why-raid-5-stops-working-in-2009/&quot;&gt;Why
5897 RAID 5 stops working in 2009&lt;/a&gt; by Robin Harris&lt;/li&gt;
5898
5899 &lt;li&gt;ZDNet
5900 &lt;a href=&quot;http://www.zdnet.com/article/why-raid-6-stops-working-in-2019/&quot;&gt;Why
5901 RAID 6 stops working in 2019&lt;/a&gt; by Robin Harris&lt;/li&gt;
5902
5903 &lt;li&gt;USENIX FAST&#39;07
5904 &lt;a href=&quot;http://research.google.com/archive/disk_failures.pdf&quot;&gt;Failure
5905 Trends in a Large Disk Drive Population&lt;/a&gt; by Eduardo Pinheiro,
5906 Wolf-Dietrich Weber and Luiz André Barroso&lt;/li&gt;
5907
5908 &lt;li&gt;USENIX ;login: &lt;a
5909 href=&quot;https://www.usenix.org/system/files/login/articles/hughes12-04.pdf&quot;&gt;Data
5910 Integrity. Finding Truth in a World of Guesses and Lies&lt;/a&gt; by Doug
5911 Hughes&lt;/li&gt;
5912
5913 &lt;li&gt;USENIX FAST&#39;08
5914 &lt;a href=&quot;https://www.usenix.org/events/fast08/tech/full_papers/bairavasundaram/bairavasundaram_html/&quot;&gt;An
5915 Analysis of Data Corruption in the Storage Stack&lt;/a&gt; by
5916 L. N. Bairavasundaram, G. R. Goodson, B. Schroeder, A. C.
5917 Arpaci-Dusseau, and R. H. Arpaci-Dusseau&lt;/li&gt;
5918
5919 &lt;li&gt;USENIX FAST&#39;07 &lt;a
5920 href=&quot;https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/&quot;&gt;Disk
5921 failures in the real world: what does an MTTF of 1,000,000 hours mean
5922 to you?&lt;/a&gt; by B. Schroeder and G. A. Gibson.&lt;/li&gt;
5923
5924 &lt;li&gt;USENIX ;login: &lt;a
5925 href=&quot;https://www.usenix.org/events/fast08/tech/full_papers/jiang/jiang_html/&quot;&gt;Are
5926 Disks the Dominant Contributor for Storage Failures? A Comprehensive
5927 Study of Storage Subsystem Failure Characteristics&lt;/a&gt; by Weihang
5928 Jiang, Chongfeng Hu, Yuanyuan Zhou, and Arkady Kanevsky&lt;/li&gt;
5929
5930 &lt;li&gt;SIGMETRICS 2007
5931 &lt;a href=&quot;http://research.cs.wisc.edu/adsl/Publications/latent-sigmetrics07.pdf&quot;&gt;An
5932 analysis of latent sector errors in disk drives&lt;/a&gt; by
5933 L. N. Bairavasundaram, G. R. Goodson, S. Pasupathy, and J. Schindler&lt;/li&gt;
5934
5935 &lt;/ul&gt;
5936
5937 &lt;p&gt;Several of these research papers are based on data collected from
5938 hundred thousands or millions of disk, and their findings are eye
5939 opening. The short story is simply do not implicitly trust RAID or
5940 redundant storage systems. Details matter. And unfortunately there
5941 are few options on Linux addressing all the identified issues. Both
5942 ZFS and Btrfs are doing a fairly good job, but have legal and
5943 practical issues on their own. I wonder how cluster file systems like
5944 Ceph do in this regard. After all, there is an old saying, you know
5945 you have a distributed system when the crash of a computer you have
5946 never heard of stops you from getting any work done. The same holds
5947 true if fault tolerance do not work.&lt;/p&gt;
5948
5949 &lt;p&gt;Just remember, in the end, it do not matter how redundant, or how
5950 fault tolerant your storage is, if you do not continuously monitor its
5951 status to detect and replace failed disks.&lt;/p&gt;
5952
5953 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5954 activities, please send Bitcoin donations to my address
5955 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
5956 </description>
5957 </item>
5958
5959 <item>
5960 <title>Web services for writing academic LaTeX papers as a team</title>
5961 <link>https://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html</link>
5962 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html</guid>
5963 <pubDate>Tue, 31 Oct 2017 21:00:00 +0100</pubDate>
5964 <description>&lt;p&gt;I was surprised today to learn that a friend in academia did not
5965 know there are easily available web services available for writing
5966 LaTeX documents as a team. I thought it was common knowledge, but to
5967 make sure at least my readers are aware of it, I would like to mention
5968 these useful services for writing LaTeX documents. Some of them even
5969 provide a WYSIWYG editor to ease writing even further.&lt;/p&gt;
5970
5971 &lt;p&gt;There are two commercial services available,
5972 &lt;a href=&quot;https://sharelatex.com&quot;&gt;ShareLaTeX&lt;/a&gt; and
5973 &lt;a href=&quot;https://overleaf.com&quot;&gt;Overleaf&lt;/a&gt;. They are very easy to
5974 use. Just start a new document, select which publisher to write for
5975 (ie which LaTeX style to use), and start writing. Note, these two
5976 have announced their intention to join forces, so soon it will only be
5977 one joint service. I&#39;ve used both for different documents, and they
5978 work just fine. While
5979 &lt;a href=&quot;https://github.com/sharelatex/sharelatex&quot;&gt;ShareLaTeX is free
5980 software&lt;/a&gt;, while the latter is not. According to &lt;a
5981 href=&quot;https://www.overleaf.com/help/17-is-overleaf-open-source&quot;&gt;a
5982 announcement from Overleaf&lt;/a&gt;, they plan to keep the ShareLaTeX code
5983 base maintained as free software.&lt;/p&gt;
5984
5985 But these two are not the only alternatives.
5986 &lt;a href=&quot;https://app.fiduswriter.org/&quot;&gt;Fidus Writer&lt;/a&gt; is another free
5987 software solution with &lt;a href=&quot;https://github.com/fiduswriter&quot;&gt;the
5988 source available on github&lt;/a&gt;. I have not used it myself. Several
5989 others can be found on the nice
5990 &lt;a href=&quot;https://alternativeto.net/software/sharelatex/&quot;&gt;alterntiveTo
5991 web service&lt;/a&gt;.
5992
5993 &lt;p&gt;If you like Google Docs or Etherpad, but would like to write
5994 documents in LaTeX, you should check out these services. You can even
5995 host your own, if you want to. :)&lt;/p&gt;
5996
5997 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
5998 activities, please send Bitcoin donations to my address
5999 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
6000 </description>
6001 </item>
6002
6003 <item>
6004 <title>Locating IMDB IDs of movies in the Internet Archive using Wikidata</title>
6005 <link>https://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html</link>
6006 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html</guid>
6007 <pubDate>Wed, 25 Oct 2017 12:20:00 +0200</pubDate>
6008 <description>&lt;p&gt;Recently, I needed to automatically check the copyright status of a
6009 set of &lt;a href=&quot;http://www.imdb.com/&quot;&gt;The Internet Movie database
6010 (IMDB)&lt;/a&gt; entries, to figure out which one of the movies they refer
6011 to can be freely distributed on the Internet. This proved to be
6012 harder than it sounds. IMDB for sure list movies without any
6013 copyright protection, where the copyright protection has expired or
6014 where the movie is lisenced using a permissive license like one from
6015 Creative Commons. These are mixed with copyright protected movies,
6016 and there seem to be no way to separate these classes of movies using
6017 the information in IMDB.&lt;/p&gt;
6018
6019 &lt;p&gt;First I tried to look up entries manually in IMDB,
6020 &lt;a href=&quot;https://www.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt; and
6021 &lt;a href=&quot;https://www.archive.org/&quot;&gt;The Internet Archive&lt;/a&gt;, to get a
6022 feel how to do this. It is hard to know for sure using these sources,
6023 but it should be possible to be reasonable confident a movie is &quot;out
6024 of copyright&quot; with a few hours work per movie. As I needed to check
6025 almost 20,000 entries, this approach was not sustainable. I simply
6026 can not work around the clock for about 6 years to check this data
6027 set.&lt;/p&gt;
6028
6029 &lt;p&gt;I asked the people behind The Internet Archive if they could
6030 introduce a new metadata field in their metadata XML for IMDB ID, but
6031 was told that they leave it completely to the uploaders to update the
6032 metadata. Some of the metadata entries had IMDB links in the
6033 description, but I found no way to download all metadata files in bulk
6034 to locate those ones and put that approach aside.&lt;/p&gt;
6035
6036 &lt;p&gt;In the process I noticed several Wikipedia articles about movies
6037 had links to both IMDB and The Internet Archive, and it occured to me
6038 that I could use the Wikipedia RDF data set to locate entries with
6039 both, to at least get a lower bound on the number of movies on The
6040 Internet Archive with a IMDB ID. This is useful based on the
6041 assumption that movies distributed by The Internet Archive can be
6042 legally distributed on the Internet. With some help from the RDF
6043 community (thank you DanC), I was able to come up with this query to
6044 pass to &lt;a href=&quot;https://query.wikidata.org/&quot;&gt;the SPARQL interface on
6045 Wikidata&lt;/a&gt;:
6046
6047 &lt;p&gt;&lt;pre&gt;
6048 SELECT ?work ?imdb ?ia ?when ?label
6049 WHERE
6050 {
6051 ?work wdt:P31/wdt:P279* wd:Q11424.
6052 ?work wdt:P345 ?imdb.
6053 ?work wdt:P724 ?ia.
6054 OPTIONAL {
6055 ?work wdt:P577 ?when.
6056 ?work rdfs:label ?label.
6057 FILTER(LANG(?label) = &quot;en&quot;).
6058 }
6059 }
6060 &lt;/pre&gt;&lt;/p&gt;
6061
6062 &lt;p&gt;If I understand the query right, for every film entry anywhere in
6063 Wikpedia, it will return the IMDB ID and The Internet Archive ID, and
6064 when the movie was released and its English title, if either or both
6065 of the latter two are available. At the moment the result set contain
6066 2338 entries. Of course, it depend on volunteers including both
6067 correct IMDB and The Internet Archive IDs in the wikipedia articles
6068 for the movie. It should be noted that the result will include
6069 duplicates if the movie have entries in several languages. There are
6070 some bogus entries, either because The Internet Archive ID contain a
6071 typo or because the movie is not available from The Internet Archive.
6072 I did not verify the IMDB IDs, as I am unsure how to do that
6073 automatically.&lt;/p&gt;
6074
6075 &lt;p&gt;I wrote a small python script to extract the data set from Wikidata
6076 and check if the XML metadata for the movie is available from The
6077 Internet Archive, and after around 1.5 hour it produced a list of 2097
6078 free movies and their IMDB ID. In total, 171 entries in Wikidata lack
6079 the refered Internet Archive entry. I assume the 70 &quot;disappearing&quot;
6080 entries (ie 2338-2097-171) are duplicate entries.&lt;/p&gt;
6081
6082 &lt;p&gt;This is not too bad, given that The Internet Archive report to
6083 contain &lt;a href=&quot;https://archive.org/details/feature_films&quot;&gt;5331
6084 feature films&lt;/a&gt; at the moment, but it also mean more than 3000
6085 movies are missing on Wikipedia or are missing the pair of references
6086 on Wikipedia.&lt;/p&gt;
6087
6088 &lt;p&gt;I was curious about the distribution by release year, and made a
6089 little graph to show how the amount of free movies is spread over the
6090 years:&lt;p&gt;
6091
6092 &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;
6093
6094 &lt;p&gt;I expect the relative distribution of the remaining 3000 movies to
6095 be similar.&lt;/p&gt;
6096
6097 &lt;p&gt;If you want to help, and want to ensure Wikipedia can be used to
6098 cross reference The Internet Archive and The Internet Movie Database,
6099 please make sure entries like this are listed under the &quot;External
6100 links&quot; heading on the Wikipedia article for the movie:&lt;/p&gt;
6101
6102 &lt;p&gt;&lt;pre&gt;
6103 * {{Internet Archive film|id=FightingLady}}
6104 * {{IMDb title|id=0036823|title=The Fighting Lady}}
6105 &lt;/pre&gt;&lt;/p&gt;
6106
6107 &lt;p&gt;Please verify the links on the final page, to make sure you did not
6108 introduce a typo.&lt;/p&gt;
6109
6110 &lt;p&gt;Here is the complete list, if you want to correct the 171
6111 identified Wikipedia entries with broken links to The Internet
6112 Archive: &lt;a href=&quot;http://www.wikidata.org/entity/Q1140317&quot;&gt;Q1140317&lt;/a&gt;,
6113 &lt;a href=&quot;http://www.wikidata.org/entity/Q458656&quot;&gt;Q458656&lt;/a&gt;,
6114 &lt;a href=&quot;http://www.wikidata.org/entity/Q458656&quot;&gt;Q458656&lt;/a&gt;,
6115 &lt;a href=&quot;http://www.wikidata.org/entity/Q470560&quot;&gt;Q470560&lt;/a&gt;,
6116 &lt;a href=&quot;http://www.wikidata.org/entity/Q743340&quot;&gt;Q743340&lt;/a&gt;,
6117 &lt;a href=&quot;http://www.wikidata.org/entity/Q822580&quot;&gt;Q822580&lt;/a&gt;,
6118 &lt;a href=&quot;http://www.wikidata.org/entity/Q480696&quot;&gt;Q480696&lt;/a&gt;,
6119 &lt;a href=&quot;http://www.wikidata.org/entity/Q128761&quot;&gt;Q128761&lt;/a&gt;,
6120 &lt;a href=&quot;http://www.wikidata.org/entity/Q1307059&quot;&gt;Q1307059&lt;/a&gt;,
6121 &lt;a href=&quot;http://www.wikidata.org/entity/Q1335091&quot;&gt;Q1335091&lt;/a&gt;,
6122 &lt;a href=&quot;http://www.wikidata.org/entity/Q1537166&quot;&gt;Q1537166&lt;/a&gt;,
6123 &lt;a href=&quot;http://www.wikidata.org/entity/Q1438334&quot;&gt;Q1438334&lt;/a&gt;,
6124 &lt;a href=&quot;http://www.wikidata.org/entity/Q1479751&quot;&gt;Q1479751&lt;/a&gt;,
6125 &lt;a href=&quot;http://www.wikidata.org/entity/Q1497200&quot;&gt;Q1497200&lt;/a&gt;,
6126 &lt;a href=&quot;http://www.wikidata.org/entity/Q1498122&quot;&gt;Q1498122&lt;/a&gt;,
6127 &lt;a href=&quot;http://www.wikidata.org/entity/Q865973&quot;&gt;Q865973&lt;/a&gt;,
6128 &lt;a href=&quot;http://www.wikidata.org/entity/Q834269&quot;&gt;Q834269&lt;/a&gt;,
6129 &lt;a href=&quot;http://www.wikidata.org/entity/Q841781&quot;&gt;Q841781&lt;/a&gt;,
6130 &lt;a href=&quot;http://www.wikidata.org/entity/Q841781&quot;&gt;Q841781&lt;/a&gt;,
6131 &lt;a href=&quot;http://www.wikidata.org/entity/Q1548193&quot;&gt;Q1548193&lt;/a&gt;,
6132 &lt;a href=&quot;http://www.wikidata.org/entity/Q499031&quot;&gt;Q499031&lt;/a&gt;,
6133 &lt;a href=&quot;http://www.wikidata.org/entity/Q1564769&quot;&gt;Q1564769&lt;/a&gt;,
6134 &lt;a href=&quot;http://www.wikidata.org/entity/Q1585239&quot;&gt;Q1585239&lt;/a&gt;,
6135 &lt;a href=&quot;http://www.wikidata.org/entity/Q1585569&quot;&gt;Q1585569&lt;/a&gt;,
6136 &lt;a href=&quot;http://www.wikidata.org/entity/Q1624236&quot;&gt;Q1624236&lt;/a&gt;,
6137 &lt;a href=&quot;http://www.wikidata.org/entity/Q4796595&quot;&gt;Q4796595&lt;/a&gt;,
6138 &lt;a href=&quot;http://www.wikidata.org/entity/Q4853469&quot;&gt;Q4853469&lt;/a&gt;,
6139 &lt;a href=&quot;http://www.wikidata.org/entity/Q4873046&quot;&gt;Q4873046&lt;/a&gt;,
6140 &lt;a href=&quot;http://www.wikidata.org/entity/Q915016&quot;&gt;Q915016&lt;/a&gt;,
6141 &lt;a href=&quot;http://www.wikidata.org/entity/Q4660396&quot;&gt;Q4660396&lt;/a&gt;,
6142 &lt;a href=&quot;http://www.wikidata.org/entity/Q4677708&quot;&gt;Q4677708&lt;/a&gt;,
6143 &lt;a href=&quot;http://www.wikidata.org/entity/Q4738449&quot;&gt;Q4738449&lt;/a&gt;,
6144 &lt;a href=&quot;http://www.wikidata.org/entity/Q4756096&quot;&gt;Q4756096&lt;/a&gt;,
6145 &lt;a href=&quot;http://www.wikidata.org/entity/Q4766785&quot;&gt;Q4766785&lt;/a&gt;,
6146 &lt;a href=&quot;http://www.wikidata.org/entity/Q880357&quot;&gt;Q880357&lt;/a&gt;,
6147 &lt;a href=&quot;http://www.wikidata.org/entity/Q882066&quot;&gt;Q882066&lt;/a&gt;,
6148 &lt;a href=&quot;http://www.wikidata.org/entity/Q882066&quot;&gt;Q882066&lt;/a&gt;,
6149 &lt;a href=&quot;http://www.wikidata.org/entity/Q204191&quot;&gt;Q204191&lt;/a&gt;,
6150 &lt;a href=&quot;http://www.wikidata.org/entity/Q204191&quot;&gt;Q204191&lt;/a&gt;,
6151 &lt;a href=&quot;http://www.wikidata.org/entity/Q1194170&quot;&gt;Q1194170&lt;/a&gt;,
6152 &lt;a href=&quot;http://www.wikidata.org/entity/Q940014&quot;&gt;Q940014&lt;/a&gt;,
6153 &lt;a href=&quot;http://www.wikidata.org/entity/Q946863&quot;&gt;Q946863&lt;/a&gt;,
6154 &lt;a href=&quot;http://www.wikidata.org/entity/Q172837&quot;&gt;Q172837&lt;/a&gt;,
6155 &lt;a href=&quot;http://www.wikidata.org/entity/Q573077&quot;&gt;Q573077&lt;/a&gt;,
6156 &lt;a href=&quot;http://www.wikidata.org/entity/Q1219005&quot;&gt;Q1219005&lt;/a&gt;,
6157 &lt;a href=&quot;http://www.wikidata.org/entity/Q1219599&quot;&gt;Q1219599&lt;/a&gt;,
6158 &lt;a href=&quot;http://www.wikidata.org/entity/Q1643798&quot;&gt;Q1643798&lt;/a&gt;,
6159 &lt;a href=&quot;http://www.wikidata.org/entity/Q1656352&quot;&gt;Q1656352&lt;/a&gt;,
6160 &lt;a href=&quot;http://www.wikidata.org/entity/Q1659549&quot;&gt;Q1659549&lt;/a&gt;,
6161 &lt;a href=&quot;http://www.wikidata.org/entity/Q1660007&quot;&gt;Q1660007&lt;/a&gt;,
6162 &lt;a href=&quot;http://www.wikidata.org/entity/Q1698154&quot;&gt;Q1698154&lt;/a&gt;,
6163 &lt;a href=&quot;http://www.wikidata.org/entity/Q1737980&quot;&gt;Q1737980&lt;/a&gt;,
6164 &lt;a href=&quot;http://www.wikidata.org/entity/Q1877284&quot;&gt;Q1877284&lt;/a&gt;,
6165 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199354&quot;&gt;Q1199354&lt;/a&gt;,
6166 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199354&quot;&gt;Q1199354&lt;/a&gt;,
6167 &lt;a href=&quot;http://www.wikidata.org/entity/Q1199451&quot;&gt;Q1199451&lt;/a&gt;,
6168 &lt;a href=&quot;http://www.wikidata.org/entity/Q1211871&quot;&gt;Q1211871&lt;/a&gt;,
6169 &lt;a href=&quot;http://www.wikidata.org/entity/Q1212179&quot;&gt;Q1212179&lt;/a&gt;,
6170 &lt;a href=&quot;http://www.wikidata.org/entity/Q1238382&quot;&gt;Q1238382&lt;/a&gt;,
6171 &lt;a href=&quot;http://www.wikidata.org/entity/Q4906454&quot;&gt;Q4906454&lt;/a&gt;,
6172 &lt;a href=&quot;http://www.wikidata.org/entity/Q320219&quot;&gt;Q320219&lt;/a&gt;,
6173 &lt;a href=&quot;http://www.wikidata.org/entity/Q1148649&quot;&gt;Q1148649&lt;/a&gt;,
6174 &lt;a href=&quot;http://www.wikidata.org/entity/Q645094&quot;&gt;Q645094&lt;/a&gt;,
6175 &lt;a href=&quot;http://www.wikidata.org/entity/Q5050350&quot;&gt;Q5050350&lt;/a&gt;,
6176 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166548&quot;&gt;Q5166548&lt;/a&gt;,
6177 &lt;a href=&quot;http://www.wikidata.org/entity/Q2677926&quot;&gt;Q2677926&lt;/a&gt;,
6178 &lt;a href=&quot;http://www.wikidata.org/entity/Q2698139&quot;&gt;Q2698139&lt;/a&gt;,
6179 &lt;a href=&quot;http://www.wikidata.org/entity/Q2707305&quot;&gt;Q2707305&lt;/a&gt;,
6180 &lt;a href=&quot;http://www.wikidata.org/entity/Q2740725&quot;&gt;Q2740725&lt;/a&gt;,
6181 &lt;a href=&quot;http://www.wikidata.org/entity/Q2024780&quot;&gt;Q2024780&lt;/a&gt;,
6182 &lt;a href=&quot;http://www.wikidata.org/entity/Q2117418&quot;&gt;Q2117418&lt;/a&gt;,
6183 &lt;a href=&quot;http://www.wikidata.org/entity/Q2138984&quot;&gt;Q2138984&lt;/a&gt;,
6184 &lt;a href=&quot;http://www.wikidata.org/entity/Q1127992&quot;&gt;Q1127992&lt;/a&gt;,
6185 &lt;a href=&quot;http://www.wikidata.org/entity/Q1058087&quot;&gt;Q1058087&lt;/a&gt;,
6186 &lt;a href=&quot;http://www.wikidata.org/entity/Q1070484&quot;&gt;Q1070484&lt;/a&gt;,
6187 &lt;a href=&quot;http://www.wikidata.org/entity/Q1080080&quot;&gt;Q1080080&lt;/a&gt;,
6188 &lt;a href=&quot;http://www.wikidata.org/entity/Q1090813&quot;&gt;Q1090813&lt;/a&gt;,
6189 &lt;a href=&quot;http://www.wikidata.org/entity/Q1251918&quot;&gt;Q1251918&lt;/a&gt;,
6190 &lt;a href=&quot;http://www.wikidata.org/entity/Q1254110&quot;&gt;Q1254110&lt;/a&gt;,
6191 &lt;a href=&quot;http://www.wikidata.org/entity/Q1257070&quot;&gt;Q1257070&lt;/a&gt;,
6192 &lt;a href=&quot;http://www.wikidata.org/entity/Q1257079&quot;&gt;Q1257079&lt;/a&gt;,
6193 &lt;a href=&quot;http://www.wikidata.org/entity/Q1197410&quot;&gt;Q1197410&lt;/a&gt;,
6194 &lt;a href=&quot;http://www.wikidata.org/entity/Q1198423&quot;&gt;Q1198423&lt;/a&gt;,
6195 &lt;a href=&quot;http://www.wikidata.org/entity/Q706951&quot;&gt;Q706951&lt;/a&gt;,
6196 &lt;a href=&quot;http://www.wikidata.org/entity/Q723239&quot;&gt;Q723239&lt;/a&gt;,
6197 &lt;a href=&quot;http://www.wikidata.org/entity/Q2079261&quot;&gt;Q2079261&lt;/a&gt;,
6198 &lt;a href=&quot;http://www.wikidata.org/entity/Q1171364&quot;&gt;Q1171364&lt;/a&gt;,
6199 &lt;a href=&quot;http://www.wikidata.org/entity/Q617858&quot;&gt;Q617858&lt;/a&gt;,
6200 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166611&quot;&gt;Q5166611&lt;/a&gt;,
6201 &lt;a href=&quot;http://www.wikidata.org/entity/Q5166611&quot;&gt;Q5166611&lt;/a&gt;,
6202 &lt;a href=&quot;http://www.wikidata.org/entity/Q324513&quot;&gt;Q324513&lt;/a&gt;,
6203 &lt;a href=&quot;http://www.wikidata.org/entity/Q374172&quot;&gt;Q374172&lt;/a&gt;,
6204 &lt;a href=&quot;http://www.wikidata.org/entity/Q7533269&quot;&gt;Q7533269&lt;/a&gt;,
6205 &lt;a href=&quot;http://www.wikidata.org/entity/Q970386&quot;&gt;Q970386&lt;/a&gt;,
6206 &lt;a href=&quot;http://www.wikidata.org/entity/Q976849&quot;&gt;Q976849&lt;/a&gt;,
6207 &lt;a href=&quot;http://www.wikidata.org/entity/Q7458614&quot;&gt;Q7458614&lt;/a&gt;,
6208 &lt;a href=&quot;http://www.wikidata.org/entity/Q5347416&quot;&gt;Q5347416&lt;/a&gt;,
6209 &lt;a href=&quot;http://www.wikidata.org/entity/Q5460005&quot;&gt;Q5460005&lt;/a&gt;,
6210 &lt;a href=&quot;http://www.wikidata.org/entity/Q5463392&quot;&gt;Q5463392&lt;/a&gt;,
6211 &lt;a href=&quot;http://www.wikidata.org/entity/Q3038555&quot;&gt;Q3038555&lt;/a&gt;,
6212 &lt;a href=&quot;http://www.wikidata.org/entity/Q5288458&quot;&gt;Q5288458&lt;/a&gt;,
6213 &lt;a href=&quot;http://www.wikidata.org/entity/Q2346516&quot;&gt;Q2346516&lt;/a&gt;,
6214 &lt;a href=&quot;http://www.wikidata.org/entity/Q5183645&quot;&gt;Q5183645&lt;/a&gt;,
6215 &lt;a href=&quot;http://www.wikidata.org/entity/Q5185497&quot;&gt;Q5185497&lt;/a&gt;,
6216 &lt;a href=&quot;http://www.wikidata.org/entity/Q5216127&quot;&gt;Q5216127&lt;/a&gt;,
6217 &lt;a href=&quot;http://www.wikidata.org/entity/Q5223127&quot;&gt;Q5223127&lt;/a&gt;,
6218 &lt;a href=&quot;http://www.wikidata.org/entity/Q5261159&quot;&gt;Q5261159&lt;/a&gt;,
6219 &lt;a href=&quot;http://www.wikidata.org/entity/Q1300759&quot;&gt;Q1300759&lt;/a&gt;,
6220 &lt;a href=&quot;http://www.wikidata.org/entity/Q5521241&quot;&gt;Q5521241&lt;/a&gt;,
6221 &lt;a href=&quot;http://www.wikidata.org/entity/Q7733434&quot;&gt;Q7733434&lt;/a&gt;,
6222 &lt;a href=&quot;http://www.wikidata.org/entity/Q7736264&quot;&gt;Q7736264&lt;/a&gt;,
6223 &lt;a href=&quot;http://www.wikidata.org/entity/Q7737032&quot;&gt;Q7737032&lt;/a&gt;,
6224 &lt;a href=&quot;http://www.wikidata.org/entity/Q7882671&quot;&gt;Q7882671&lt;/a&gt;,
6225 &lt;a href=&quot;http://www.wikidata.org/entity/Q7719427&quot;&gt;Q7719427&lt;/a&gt;,
6226 &lt;a href=&quot;http://www.wikidata.org/entity/Q7719444&quot;&gt;Q7719444&lt;/a&gt;,
6227 &lt;a href=&quot;http://www.wikidata.org/entity/Q7722575&quot;&gt;Q7722575&lt;/a&gt;,
6228 &lt;a href=&quot;http://www.wikidata.org/entity/Q2629763&quot;&gt;Q2629763&lt;/a&gt;,
6229 &lt;a href=&quot;http://www.wikidata.org/entity/Q2640346&quot;&gt;Q2640346&lt;/a&gt;,
6230 &lt;a href=&quot;http://www.wikidata.org/entity/Q2649671&quot;&gt;Q2649671&lt;/a&gt;,
6231 &lt;a href=&quot;http://www.wikidata.org/entity/Q7703851&quot;&gt;Q7703851&lt;/a&gt;,
6232 &lt;a href=&quot;http://www.wikidata.org/entity/Q7747041&quot;&gt;Q7747041&lt;/a&gt;,
6233 &lt;a href=&quot;http://www.wikidata.org/entity/Q6544949&quot;&gt;Q6544949&lt;/a&gt;,
6234 &lt;a href=&quot;http://www.wikidata.org/entity/Q6672759&quot;&gt;Q6672759&lt;/a&gt;,
6235 &lt;a href=&quot;http://www.wikidata.org/entity/Q2445896&quot;&gt;Q2445896&lt;/a&gt;,
6236 &lt;a href=&quot;http://www.wikidata.org/entity/Q12124891&quot;&gt;Q12124891&lt;/a&gt;,
6237 &lt;a href=&quot;http://www.wikidata.org/entity/Q3127044&quot;&gt;Q3127044&lt;/a&gt;,
6238 &lt;a href=&quot;http://www.wikidata.org/entity/Q2511262&quot;&gt;Q2511262&lt;/a&gt;,
6239 &lt;a href=&quot;http://www.wikidata.org/entity/Q2517672&quot;&gt;Q2517672&lt;/a&gt;,
6240 &lt;a href=&quot;http://www.wikidata.org/entity/Q2543165&quot;&gt;Q2543165&lt;/a&gt;,
6241 &lt;a href=&quot;http://www.wikidata.org/entity/Q426628&quot;&gt;Q426628&lt;/a&gt;,
6242 &lt;a href=&quot;http://www.wikidata.org/entity/Q426628&quot;&gt;Q426628&lt;/a&gt;,
6243 &lt;a href=&quot;http://www.wikidata.org/entity/Q12126890&quot;&gt;Q12126890&lt;/a&gt;,
6244 &lt;a href=&quot;http://www.wikidata.org/entity/Q13359969&quot;&gt;Q13359969&lt;/a&gt;,
6245 &lt;a href=&quot;http://www.wikidata.org/entity/Q13359969&quot;&gt;Q13359969&lt;/a&gt;,
6246 &lt;a href=&quot;http://www.wikidata.org/entity/Q2294295&quot;&gt;Q2294295&lt;/a&gt;,
6247 &lt;a href=&quot;http://www.wikidata.org/entity/Q2294295&quot;&gt;Q2294295&lt;/a&gt;,
6248 &lt;a href=&quot;http://www.wikidata.org/entity/Q2559509&quot;&gt;Q2559509&lt;/a&gt;,
6249 &lt;a href=&quot;http://www.wikidata.org/entity/Q2559912&quot;&gt;Q2559912&lt;/a&gt;,
6250 &lt;a href=&quot;http://www.wikidata.org/entity/Q7760469&quot;&gt;Q7760469&lt;/a&gt;,
6251 &lt;a href=&quot;http://www.wikidata.org/entity/Q6703974&quot;&gt;Q6703974&lt;/a&gt;,
6252 &lt;a href=&quot;http://www.wikidata.org/entity/Q4744&quot;&gt;Q4744&lt;/a&gt;,
6253 &lt;a href=&quot;http://www.wikidata.org/entity/Q7766962&quot;&gt;Q7766962&lt;/a&gt;,
6254 &lt;a href=&quot;http://www.wikidata.org/entity/Q7768516&quot;&gt;Q7768516&lt;/a&gt;,
6255 &lt;a href=&quot;http://www.wikidata.org/entity/Q7769205&quot;&gt;Q7769205&lt;/a&gt;,
6256 &lt;a href=&quot;http://www.wikidata.org/entity/Q7769988&quot;&gt;Q7769988&lt;/a&gt;,
6257 &lt;a href=&quot;http://www.wikidata.org/entity/Q2946945&quot;&gt;Q2946945&lt;/a&gt;,
6258 &lt;a href=&quot;http://www.wikidata.org/entity/Q3212086&quot;&gt;Q3212086&lt;/a&gt;,
6259 &lt;a href=&quot;http://www.wikidata.org/entity/Q3212086&quot;&gt;Q3212086&lt;/a&gt;,
6260 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
6261 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
6262 &lt;a href=&quot;http://www.wikidata.org/entity/Q18218448&quot;&gt;Q18218448&lt;/a&gt;,
6263 &lt;a href=&quot;http://www.wikidata.org/entity/Q6909175&quot;&gt;Q6909175&lt;/a&gt;,
6264 &lt;a href=&quot;http://www.wikidata.org/entity/Q7405709&quot;&gt;Q7405709&lt;/a&gt;,
6265 &lt;a href=&quot;http://www.wikidata.org/entity/Q7416149&quot;&gt;Q7416149&lt;/a&gt;,
6266 &lt;a href=&quot;http://www.wikidata.org/entity/Q7239952&quot;&gt;Q7239952&lt;/a&gt;,
6267 &lt;a href=&quot;http://www.wikidata.org/entity/Q7317332&quot;&gt;Q7317332&lt;/a&gt;,
6268 &lt;a href=&quot;http://www.wikidata.org/entity/Q7783674&quot;&gt;Q7783674&lt;/a&gt;,
6269 &lt;a href=&quot;http://www.wikidata.org/entity/Q7783704&quot;&gt;Q7783704&lt;/a&gt;,
6270 &lt;a href=&quot;http://www.wikidata.org/entity/Q7857590&quot;&gt;Q7857590&lt;/a&gt;,
6271 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372526&quot;&gt;Q3372526&lt;/a&gt;,
6272 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372642&quot;&gt;Q3372642&lt;/a&gt;,
6273 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372816&quot;&gt;Q3372816&lt;/a&gt;,
6274 &lt;a href=&quot;http://www.wikidata.org/entity/Q3372909&quot;&gt;Q3372909&lt;/a&gt;,
6275 &lt;a href=&quot;http://www.wikidata.org/entity/Q7959649&quot;&gt;Q7959649&lt;/a&gt;,
6276 &lt;a href=&quot;http://www.wikidata.org/entity/Q7977485&quot;&gt;Q7977485&lt;/a&gt;,
6277 &lt;a href=&quot;http://www.wikidata.org/entity/Q7992684&quot;&gt;Q7992684&lt;/a&gt;,
6278 &lt;a href=&quot;http://www.wikidata.org/entity/Q3817966&quot;&gt;Q3817966&lt;/a&gt;,
6279 &lt;a href=&quot;http://www.wikidata.org/entity/Q3821852&quot;&gt;Q3821852&lt;/a&gt;,
6280 &lt;a href=&quot;http://www.wikidata.org/entity/Q3420907&quot;&gt;Q3420907&lt;/a&gt;,
6281 &lt;a href=&quot;http://www.wikidata.org/entity/Q3429733&quot;&gt;Q3429733&lt;/a&gt;,
6282 &lt;a href=&quot;http://www.wikidata.org/entity/Q774474&quot;&gt;Q774474&lt;/a&gt;&lt;/p&gt;
6283
6284 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
6285 activities, please send Bitcoin donations to my address
6286 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
6287 </description>
6288 </item>
6289
6290 <item>
6291 <title>A one-way wall on the border?</title>
6292 <link>https://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html</link>
6293 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html</guid>
6294 <pubDate>Sat, 14 Oct 2017 22:10:00 +0200</pubDate>
6295 <description>&lt;p&gt;I find it fascinating how many of the people being locked inside
6296 the proposed border wall between USA and Mexico support the idea. The
6297 proposal to keep Mexicans out reminds me of
6298 &lt;a href=&quot;http://www.history.com/news/10-things-you-may-not-know-about-the-berlin-wall&quot;&gt;the
6299 propaganda twist from the East Germany government&lt;/a&gt; calling the wall
6300 the “Antifascist Bulwark” after erecting the Berlin Wall, claiming
6301 that the wall was erected to keep enemies from creeping into East
6302 Germany, while it was obvious to the people locked inside it that it
6303 was erected to keep the people from escaping.&lt;/p&gt;
6304
6305 &lt;p&gt;Do the people in USA supporting this wall really believe it is a
6306 one way wall, only keeping people on the outside from getting in,
6307 while not keeping people in the inside from getting out?&lt;/p&gt;
6308
6309 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
6310 activities, please send Bitcoin donations to my address
6311 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
6312 </description>
6313 </item>
6314
6315 <item>
6316 <title>Generating 3D prints in Debian using Cura and Slic3r(-prusa)</title>
6317 <link>https://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html</link>
6318 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html</guid>
6319 <pubDate>Mon, 9 Oct 2017 10:50:00 +0200</pubDate>
6320 <description>&lt;p&gt;At my nearby maker space,
6321 &lt;a href=&quot;http://sonen.ifi.uio.no/&quot;&gt;Sonen&lt;/a&gt;, I heard the story that it
6322 was easier to generate gcode files for theyr 3D printers (Ultimake 2+)
6323 on Windows and MacOS X than Linux, because the software involved had
6324 to be manually compiled and set up on Linux while premade packages
6325 worked out of the box on Windows and MacOS X. I found this annoying,
6326 as the software involved,
6327 &lt;a href=&quot;https://github.com/Ultimaker/Cura&quot;&gt;Cura&lt;/a&gt;, is free software
6328 and should be trivial to get up and running on Linux if someone took
6329 the time to package it for the relevant distributions. I even found
6330 &lt;a href=&quot;https://bugs.debian.org/706656&quot;&gt;a request for adding into
6331 Debian&lt;/a&gt; from 2013, which had seem some activity over the years but
6332 never resulted in the software showing up in Debian. So a few days
6333 ago I offered my help to try to improve the situation.&lt;/p&gt;
6334
6335 &lt;p&gt;Now I am very happy to see that all the packages required by a
6336 working Cura in Debian are uploaded into Debian and waiting in the NEW
6337 queue for the ftpmasters to have a look. You can track the progress
6338 on
6339 &lt;a href=&quot;https://qa.debian.org/developer.php?email=3dprinter-general%40lists.alioth.debian.org&quot;&gt;the
6340 status page for the 3D printer team&lt;/a&gt;.&lt;/p&gt;
6341
6342 &lt;p&gt;The uploaded packages are a bit behind upstream, and was uploaded
6343 now to get slots in &lt;a href=&quot;https://ftp-master.debian.org/new.html&quot;&gt;the NEW
6344 queue&lt;/a&gt; while we work up updating the packages to the latest
6345 upstream version.&lt;/p&gt;
6346
6347 &lt;p&gt;On a related note, two competitors for Cura, which I found harder
6348 to use and was unable to configure correctly for Ultimaker 2+ in the
6349 short time I spent on it, are already in Debian. If you are looking
6350 for 3D printer &quot;slicers&quot; and want something already available in
6351 Debian, check out
6352 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r&quot;&gt;slic3r&lt;/a&gt; and
6353 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r-prusa&quot;&gt;slic3r-prusa&lt;/a&gt;.
6354 The latter is a fork of the former.&lt;/p&gt;
6355
6356 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
6357 activities, please send Bitcoin donations to my address
6358 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
6359 </description>
6360 </item>
6361
6362 <item>
6363 <title>Visualizing GSM radio chatter using gr-gsm and Hopglass</title>
6364 <link>https://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html</link>
6365 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html</guid>
6366 <pubDate>Fri, 29 Sep 2017 10:30:00 +0200</pubDate>
6367 <description>&lt;p&gt;Every mobile phone announce its existence over radio to the nearby
6368 mobile cell towers. And this radio chatter is available for anyone
6369 with a radio receiver capable of receiving them. Details about the
6370 mobile phones with very good accuracy is of course collected by the
6371 phone companies, but this is not the topic of this blog post. The
6372 mobile phone radio chatter make it possible to figure out when a cell
6373 phone is nearby, as it include the SIM card ID (IMSI). By paying
6374 attention over time, one can see when a phone arrive and when it leave
6375 an area. I believe it would be nice to make this information more
6376 available to the general public, to make more people aware of how
6377 their phones are announcing their whereabouts to anyone that care to
6378 listen.&lt;/p&gt;
6379
6380 &lt;p&gt;I am very happy to report that we managed to get something
6381 visualizing this information up and running for
6382 &lt;a href=&quot;http://norwaymakers.org/osf17&quot;&gt;Oslo Skaperfestival 2017&lt;/a&gt;
6383 (Oslo Makers Festival) taking place today and tomorrow at Deichmanske
6384 library. The solution is based on the
6385 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html&quot;&gt;simple
6386 recipe for listening to GSM chatter&lt;/a&gt; I posted a few days ago, and
6387 will show up at the stand of &lt;a href=&quot;http://sonen.ifi.uio.no/&quot;&gt;Åpen
6388 Sone from the Computer Science department of the University of
6389 Oslo&lt;/a&gt;. The presentation will show the nearby mobile phones (aka
6390 IMSIs) as dots in a web browser graph, with lines to the dot
6391 representing mobile base station it is talking to. It was working in
6392 the lab yesterday, and was moved into place this morning.&lt;/p&gt;
6393
6394 &lt;p&gt;We set up a fairly powerful desktop machine using Debian
6395 Buster/Testing with several (five, I believe) RTL2838 DVB-T receivers
6396 connected and visualize the visible cell phone towers using an
6397 &lt;a href=&quot;https://github.com/marlow925/hopglass&quot;&gt;English version of
6398 Hopglass&lt;/a&gt;. A fairly powerfull machine is needed as the
6399 grgsm_livemon_headless processes from
6400 &lt;a href=&quot;https://tracker.debian.org/pkg/gr-gsm&quot;&gt;gr-gsm&lt;/a&gt; converting
6401 the radio signal to data packages is quite CPU intensive.&lt;/p&gt;
6402
6403 &lt;p&gt;The frequencies to listen to, are identified using a slightly
6404 patched scan-and-livemon (to set the --args values for each receiver),
6405 and the Hopglass data is generated using the
6406 &lt;a href=&quot;https://github.com/petterreinholdtsen/IMSI-catcher/tree/meshviewer-output&quot;&gt;patches
6407 in my meshviewer-output branch&lt;/a&gt;. For some reason we could not get
6408 more than four SDRs working. There is also a geographical map trying
6409 to show the location of the base stations, but I believe their
6410 coordinates are hardcoded to some random location in Germany, I
6411 believe. The code should be replaced with code to look up location in
6412 a text file, a sqlite database or one of the online databases
6413 mentioned in
6414 &lt;a href=&quot;https://github.com/Oros42/IMSI-catcher/issues/14&quot;&gt;the github
6415 issue for the topic&lt;/a&gt;.
6416
6417 &lt;p&gt;If this sound interesting, visit the stand at the festival!&lt;/p&gt;
6418 </description>
6419 </item>
6420
6421 <item>
6422 <title>Easier recipe to observe the cell phones around you</title>
6423 <link>https://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html</link>
6424 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html</guid>
6425 <pubDate>Sun, 24 Sep 2017 08:30:00 +0200</pubDate>
6426 <description>&lt;p&gt;A little more than a month ago I wrote
6427 &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
6428 to observe the SIM card ID (aka IMSI number) of mobile phones talking
6429 to nearby mobile phone base stations using Debian GNU/Linux and a
6430 cheap USB software defined radio&lt;/a&gt;, and thus being able to pinpoint
6431 the location of people and equipment (like cars and trains) with an
6432 accuracy of a few kilometer. Since then we have worked to make the
6433 procedure even simpler, and it is now possible to do this without any
6434 manual frequency tuning and without building your own packages.&lt;/p&gt;
6435
6436 &lt;p&gt;The &lt;a href=&quot;https://tracker.debian.org/pkg/gr-gsm&quot;&gt;gr-gsm&lt;/a&gt;
6437 package is now included in Debian testing and unstable, and the
6438 IMSI-catcher code no longer require root access to fetch and decode
6439 the GSM data collected using gr-gsm.&lt;/p&gt;
6440
6441 &lt;p&gt;Here is an updated recipe, using packages built by Debian and a git
6442 clone of two python scripts:&lt;/p&gt;
6443
6444 &lt;ol&gt;
6445
6446 &lt;li&gt;Start with a Debian machine running the Buster version (aka
6447 testing).&lt;/li&gt;
6448
6449 &lt;li&gt;Run &#39;&lt;tt&gt;apt install gr-gsm python-numpy python-scipy
6450 python-scapy&lt;/tt&gt;&#39; as root to install required packages.&lt;/li&gt;
6451
6452 &lt;li&gt;Fetch the code decoding GSM packages using &#39;&lt;tt&gt;git clone
6453 github.com/Oros42/IMSI-catcher.git&lt;/tt&gt;&#39;.&lt;/li&gt;
6454
6455 &lt;li&gt;Insert USB software defined radio supported by GNU Radio.&lt;/li&gt;
6456
6457 &lt;li&gt;Enter the IMSI-catcher directory and run &#39;&lt;tt&gt;python
6458 scan-and-livemon&lt;/tt&gt;&#39; to locate the frequency of nearby base
6459 stations and start listening for GSM packages on one of them.&lt;/li&gt;
6460
6461 &lt;li&gt;Enter the IMSI-catcher directory and run &#39;&lt;tt&gt;python
6462 simple_IMSI-catcher.py&lt;/tt&gt;&#39; to display the collected information.&lt;/li&gt;
6463
6464 &lt;/ol&gt;
6465
6466 &lt;p&gt;Note, due to a bug somewhere the scan-and-livemon program (actually
6467 &lt;a href=&quot;https://github.com/ptrkrysik/gr-gsm/issues/336&quot;&gt;its underlying
6468 program grgsm_scanner&lt;/a&gt;) do not work with the HackRF radio. It does
6469 work with RTL 8232 and other similar USB radio receivers you can get
6470 very cheaply
6471 (&lt;a href=&quot;https://www.ebay.com/sch/items/?_nkw=rtl+2832&quot;&gt;for example
6472 from ebay&lt;/a&gt;), so for now the solution is to scan using the RTL radio
6473 and only use HackRF for fetching GSM data.&lt;/p&gt;
6474
6475 &lt;p&gt;As far as I can tell, a cell phone only show up on one of the
6476 frequencies at the time, so if you are going to track and count every
6477 cell phone around you, you need to listen to all the frequencies used.
6478 To listen to several frequencies, use the --numrecv argument to
6479 scan-and-livemon to use several receivers. Further, I am not sure if
6480 phones using 3G or 4G will show as talking GSM to base stations, so
6481 this approach might not see all phones around you. I typically see
6482 0-400 IMSI numbers an hour when looking around where I live.&lt;/p&gt;
6483
6484 &lt;p&gt;I&#39;ve tried to run the scanner on a
6485 &lt;a href=&quot;https://wiki.debian.org/RaspberryPi&quot;&gt;Raspberry Pi 2 and 3
6486 running Debian Buster&lt;/a&gt;, but the grgsm_livemon_headless process seem
6487 to be too CPU intensive to keep up. When GNU Radio print &#39;O&#39; to
6488 stdout, I am told there it is caused by a buffer overflow between the
6489 radio and GNU Radio, caused by the program being unable to read the
6490 GSM data fast enough. If you see a stream of &#39;O&#39;s from the terminal
6491 where you started scan-and-livemon, you need a give the process more
6492 CPU power. Perhaps someone are able to optimize the code to a point
6493 where it become possible to set up RPi3 based GSM sniffers? I tried
6494 using Raspbian instead of Debian, but there seem to be something wrong
6495 with GNU Radio on raspbian, causing glibc to abort().&lt;/p&gt;
6496 </description>
6497 </item>
6498
6499 <item>
6500 <title>Simpler recipe on how to make a simple $7 IMSI Catcher using Debian</title>
6501 <link>https://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</link>
6502 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html</guid>
6503 <pubDate>Wed, 9 Aug 2017 23:59:00 +0200</pubDate>
6504 <description>&lt;p&gt;On friday, I came across an interesting article in the Norwegian
6505 web based ICT news magazine digi.no on
6506 &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
6507 to collect the IMSI numbers of nearby cell phones&lt;/a&gt; using the cheap
6508 DVB-T software defined radios. The article refered to instructions
6509 and &lt;a href=&quot;https://www.youtube.com/watch?v=UjwgNd_as30&quot;&gt;a recipe by
6510 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;
6511
6512 &lt;p&gt;The instructions said to use Ubuntu, install pip using apt (to
6513 bypass apt), use pip to install pybombs (to bypass both apt and pip),
6514 and the ask pybombs to fetch and build everything you need from
6515 scratch. I wanted to see if I could do the same on the most recent
6516 Debian packages, but this did not work because pybombs tried to build
6517 stuff that no longer build with the most recent openssl library or
6518 some other version skew problem. While trying to get this recipe
6519 working, I learned that the apt-&gt;pip-&gt;pybombs route was a long detour,
6520 and the only piece of software dependency missing in Debian was the
6521 gr-gsm package. I also found out that the lead upstream developer of
6522 gr-gsm (the name stand for GNU Radio GSM) project already had a set of
6523 Debian packages provided in an Ubuntu PPA repository. All I needed to
6524 do was to dget the Debian source package and built it.&lt;/p&gt;
6525
6526 &lt;p&gt;The IMSI collector is a python script listening for packages on the
6527 loopback network device and printing to the terminal some specific GSM
6528 packages with IMSI numbers in them. The code is fairly short and easy
6529 to understand. The reason this work is because gr-gsm include a tool
6530 to read GSM data from a software defined radio like a DVB-T USB stick
6531 and other software defined radios, decode them and inject them into a
6532 network device on your Linux machine (using the loopback device by
6533 default). This proved to work just fine, and I&#39;ve been testing the
6534 collector for a few days now.&lt;/p&gt;
6535
6536 &lt;p&gt;The updated and simpler recipe is thus to&lt;/p&gt;
6537
6538 &lt;ol&gt;
6539
6540 &lt;li&gt;start with a Debian machine running Stretch or newer,&lt;/li&gt;
6541
6542 &lt;li&gt;build and install the gr-gsm package available from
6543 &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;
6544
6545 &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;
6546
6547 &lt;li&gt;run grgsm_livemon and adjust the frequency until the terminal
6548 where it was started is filled with a stream of text (meaning you
6549 found a GSM station).&lt;/li&gt;
6550
6551 &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;
6552
6553 &lt;/ol&gt;
6554
6555 &lt;p&gt;To make it even easier in the future to get this sniffer up and
6556 running, I decided to package
6557 &lt;a href=&quot;https://github.com/ptrkrysik/gr-gsm/&quot;&gt;the gr-gsm project&lt;/a&gt;
6558 for Debian (&lt;a href=&quot;https://bugs.debian.org/871055&quot;&gt;WNPP
6559 #871055&lt;/a&gt;), and the package was uploaded into the NEW queue today.
6560 Luckily the gnuradio maintainer has promised to help me, as I do not
6561 know much about gnuradio stuff yet.&lt;/p&gt;
6562
6563 &lt;p&gt;I doubt this &quot;IMSI cacher&quot; is anywhere near as powerfull as
6564 commercial tools like
6565 &lt;a href=&quot;https://www.thespyphone.com/portable-imsi-imei-catcher/&quot;&gt;The
6566 Spy Phone Portable IMSI / IMEI Catcher&lt;/a&gt; or the
6567 &lt;a href=&quot;https://en.wikipedia.org/wiki/Stingray_phone_tracker&quot;&gt;Harris
6568 Stingray&lt;/a&gt;, but I hope the existance of cheap alternatives can make
6569 more people realise how their whereabouts when carrying a cell phone
6570 is easily tracked. Seeing the data flow on the screen, realizing that
6571 I live close to a police station and knowing that the police is also
6572 wearing cell phones, I wonder how hard it would be for criminals to
6573 track the position of the police officers to discover when there are
6574 police near by, or for foreign military forces to track the location
6575 of the Norwegian military forces, or for anyone to track the location
6576 of government officials...&lt;/p&gt;
6577
6578 &lt;p&gt;It is worth noting that the data reported by the IMSI-catcher
6579 script mentioned above is only a fraction of the data broadcasted on
6580 the GSM network. It will only collect one frequency at the time,
6581 while a typical phone will be using several frequencies, and not all
6582 phones will be using the frequencies tracked by the grgsm_livemod
6583 program. Also, there is a lot of radio chatter being ignored by the
6584 simple_IMSI-catcher script, which would be collected by extending the
6585 parser code. I wonder if gr-gsm can be set up to listen to more than
6586 one frequency?&lt;/p&gt;
6587 </description>
6588 </item>
6589
6590 <item>
6591 <title>Norwegian Bokmål edition of Debian Administrator&#39;s Handbook is now available</title>
6592 <link>https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</link>
6593 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_edition_of_Debian_Administrator_s_Handbook_is_now_available.html</guid>
6594 <pubDate>Tue, 25 Jul 2017 21:10:00 +0200</pubDate>
6595 <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;
6596
6597 &lt;p&gt;I finally received a copy of the Norwegian Bokmål edition of
6598 &quot;&lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian Administrator&#39;s
6599 Handbook&lt;/a&gt;&quot;. This test copy arrived in the mail a few days ago, and
6600 I am very happy to hold the result in my hand. We spent around one and a half year translating it. This paperbook edition
6601 &lt;a href=&quot;https://debian-handbook.info/get/#norwegian&quot;&gt;is available
6602 from lulu.com&lt;/a&gt;. If you buy it quickly, you save 25% on the list
6603 price. The book is also available for download in electronic form as
6604 PDF, EPUB and Mobipocket, as can be
6605 &lt;a href=&quot;https://debian-handbook.info/browse/nb-NO/stable/&quot;&gt;read online
6606 as a web page&lt;/a&gt;.&lt;/p&gt;
6607
6608 &lt;p&gt;This is the second book I publish (the first was the book
6609 &quot;&lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt;&quot; by Lawrence Lessig
6610 in
6611 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;English&lt;/a&gt;,
6612 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;French&lt;/a&gt;
6613 and
6614 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Norwegian
6615 Bokmål&lt;/a&gt;), and I am very excited to finally wrap up this
6616 project. I hope
6617 &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
6618 for Debian-administratoren&lt;/a&gt;&quot; will be well received.&lt;/p&gt;
6619 </description>
6620 </item>
6621
6622 <item>
6623 <title>Updated sales number for my Free Culture paper editions</title>
6624 <link>https://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</link>
6625 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Updated_sales_number_for_my_Free_Culture_paper_editions.html</guid>
6626 <pubDate>Mon, 12 Jun 2017 11:40:00 +0200</pubDate>
6627 <description>&lt;p&gt;It is pleasing to see that the work we put down in publishing new
6628 editions of the classic &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free
6629 Culture book&lt;/a&gt; by the founder of the Creative Commons movement,
6630 Lawrence Lessig, is still being appreciated. I had a look at the
6631 latest sales numbers for the paper edition today. Not too impressive,
6632 but happy to see some buyers still exist. All the revenue from the
6633 books is sent to the &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative
6634 Commons Corporation&lt;/a&gt;, and they receive the largest cut if you buy
6635 directly from Lulu. Most books are sold via Amazon, with Ingram
6636 second and only a small fraction directly from Lulu. The ebook
6637 edition is available for free from
6638 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
6639
6640 &lt;table border=&quot;0&quot;&gt;
6641 &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;
6642 &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;
6643
6644 &lt;tr&gt;
6645 &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;
6646 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
6647 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
6648 &lt;td align=&quot;right&quot;&gt;15&lt;/td&gt;
6649 &lt;/tr&gt;
6650
6651 &lt;tr&gt;
6652 &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;
6653 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
6654 &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
6655 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
6656 &lt;/tr&gt;
6657
6658 &lt;tr&gt;
6659 &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;
6660 &lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;
6661 &lt;td align=&quot;right&quot;&gt;27&lt;/td&gt;
6662 &lt;td align=&quot;right&quot;&gt;16&lt;/td&gt;
6663 &lt;/tr&gt;
6664
6665 &lt;tr&gt;
6666 &lt;td&gt;Total&lt;/td&gt;
6667 &lt;td align=&quot;right&quot;&gt;24&lt;/td&gt;
6668 &lt;td align=&quot;right&quot;&gt;34&lt;/td&gt;
6669 &lt;td align=&quot;right&quot;&gt;31&lt;/td&gt;
6670 &lt;/tr&gt;
6671
6672 &lt;/table&gt;
6673
6674 &lt;p&gt;A bit sad to see the low sales number on the Norwegian edition, and
6675 a bit surprising the English edition still selling so well.&lt;/p&gt;
6676
6677 &lt;p&gt;If you would like to translate and publish the book in your native
6678 language, I would be happy to help make it happen. Please get in
6679 touch.&lt;/p&gt;
6680 </description>
6681 </item>
6682
6683 <item>
6684 <title>Release 0.1.1 of free software archive system Nikita announced</title>
6685 <link>https://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</link>
6686 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</guid>
6687 <pubDate>Sat, 10 Jun 2017 00:40:00 +0200</pubDate>
6688 <description>&lt;p&gt;I am very happy to report that the
6689 &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita Noark 5
6690 core project&lt;/a&gt; tagged its second release today. The free software
6691 solution is an implementation of the Norwegian archive standard Noark
6692 5 used by government offices in Norway. These were the changes in
6693 version 0.1.1 since version 0.1.0 (from NEWS.md):
6694
6695 &lt;ul&gt;
6696
6697 &lt;li&gt;Continued work on the angularjs GUI, including document upload.&lt;/li&gt;
6698 &lt;li&gt;Implemented correspondencepartPerson, correspondencepartUnit and
6699 correspondencepartInternal&lt;/li&gt;
6700 &lt;li&gt;Applied for coverity coverage and started submitting code on
6701 regualr basis.&lt;/li&gt;
6702 &lt;li&gt;Started fixing bugs reported by coverity&lt;/li&gt;
6703 &lt;li&gt;Corrected and completed HATEOAS links to make sure entire API is
6704 available via URLs in _links.&lt;/li&gt;
6705 &lt;li&gt;Corrected all relation URLs to use trailing slash.&lt;/li&gt;
6706 &lt;li&gt;Add initial support for storing data in ElasticSearch.&lt;/li&gt;
6707 &lt;li&gt;Now able to receive and store uploaded files in the archive.&lt;/li&gt;
6708 &lt;li&gt;Changed JSON output for object lists to have relations in _links.&lt;/li&gt;
6709 &lt;li&gt;Improve JSON output for empty object lists.&lt;/li&gt;
6710 &lt;li&gt;Now uses correct MIME type application/vnd.noark5-v4+json.&lt;/li&gt;
6711 &lt;li&gt;Added support for docker container images.&lt;/li&gt;
6712 &lt;li&gt;Added simple API browser implemented in JavaScript/Angular.&lt;/li&gt;
6713 &lt;li&gt;Started on archive client implemented in JavaScript/Angular.&lt;/li&gt;
6714 &lt;li&gt;Started on prototype to show the public mail journal.&lt;/li&gt;
6715 &lt;li&gt;Improved performance by disabling Sprint FileWatcher.&lt;/li&gt;
6716 &lt;li&gt;Added support for &#39;arkivskaper&#39;, &#39;saksmappe&#39; and &#39;journalpost&#39;.&lt;/li&gt;
6717 &lt;li&gt;Added support for some metadata codelists.&lt;/li&gt;
6718 &lt;li&gt;Added support for Cross-origin resource sharing (CORS).&lt;/li&gt;
6719 &lt;li&gt;Changed login method from Basic Auth to JSON Web Token (RFC 7519)
6720 style.&lt;/li&gt;
6721 &lt;li&gt;Added support for GET-ing ny-* URLs.&lt;/li&gt;
6722 &lt;li&gt;Added support for modifying entities using PUT and eTag.&lt;/li&gt;
6723 &lt;li&gt;Added support for returning XML output on request.&lt;/li&gt;
6724 &lt;li&gt;Removed support for English field and class names, limiting ourself
6725 to the official names.&lt;/li&gt;
6726 &lt;li&gt;...&lt;/li&gt;
6727
6728 &lt;/ul&gt;
6729
6730 &lt;p&gt;If this sound interesting to you, please contact us on IRC (#nikita
6731 on irc.freenode.net) or email
6732 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
6733 mailing list).&lt;/p&gt;
6734 </description>
6735 </item>
6736
6737 <item>
6738 <title>Idea for storing trusted timestamps in a Noark 5 archive</title>
6739 <link>https://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</link>
6740 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</guid>
6741 <pubDate>Wed, 7 Jun 2017 21:40:00 +0200</pubDate>
6742 <description>&lt;p&gt;&lt;em&gt;This is a copy of
6743 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html&quot;&gt;an
6744 email I posted to the nikita-noark mailing list&lt;/a&gt;. Please follow up
6745 there if you would like to discuss this topic. The background is that
6746 we are making a free software archive system based on the Norwegian
6747 &lt;a href=&quot;https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden&quot;&gt;Noark
6748 5 standard&lt;/a&gt; for government archives.&lt;/em&gt;&lt;/p&gt;
6749
6750 &lt;p&gt;I&#39;ve been wondering a bit lately how trusted timestamps could be
6751 stored in Noark 5.
6752 &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;Trusted
6753 timestamps&lt;/a&gt; can be used to verify that some information
6754 (document/file/checksum/metadata) have not been changed since a
6755 specific time in the past. This is useful to verify the integrity of
6756 the documents in the archive.&lt;/p&gt;
6757
6758 &lt;p&gt;Then it occured to me, perhaps the trusted timestamps could be
6759 stored as dokument variants (ie dokumentobjekt referered to from
6760 dokumentbeskrivelse) with the filename set to the hash it is
6761 stamping?&lt;/p&gt;
6762
6763 &lt;p&gt;Given a &quot;dokumentbeskrivelse&quot; with an associated &quot;dokumentobjekt&quot;,
6764 a new dokumentobjekt is associated with &quot;dokumentbeskrivelse&quot; with the
6765 same attributes as the stamped dokumentobjekt except these
6766 attributes:&lt;/p&gt;
6767
6768 &lt;ul&gt;
6769
6770 &lt;li&gt;format -&gt; &quot;RFC3161&quot;
6771 &lt;li&gt;mimeType -&gt; &quot;application/timestamp-reply&quot;
6772 &lt;li&gt;formatDetaljer -&gt; &quot;&amp;lt;source URL for timestamp service&amp;gt;&quot;
6773 &lt;li&gt;filenavn -&gt; &quot;&amp;lt;sjekksum&amp;gt;.tsr&quot;
6774
6775 &lt;/ul&gt;
6776
6777 &lt;p&gt;This assume a service following
6778 &lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;IETF RFC 3161&lt;/a&gt; is
6779 used, which specifiy the given MIME type for replies and the .tsr file
6780 ending for the content of such trusted timestamp. As far as I can
6781 tell from the Noark 5 specifications, it is OK to have several
6782 variants/renderings of a dokument attached to a given
6783 dokumentbeskrivelse objekt. It might be stretching it a bit to make
6784 some of these variants represent crypto-signatures useful for
6785 verifying the document integrity instead of representing the dokument
6786 itself.&lt;/p&gt;
6787
6788 &lt;p&gt;Using the source of the service in formatDetaljer allow several
6789 timestamping services to be used. This is useful to spread the risk
6790 of key compromise over several organisations. It would only be a
6791 problem to trust the timestamps if all of the organisations are
6792 compromised.&lt;/p&gt;
6793
6794 &lt;p&gt;The following oneliner on Linux can be used to generate the tsr
6795 file. $input is the path to the file to checksum, and $sha256 is the
6796 SHA-256 checksum of the file (ie the &quot;&lt;sjekksum&gt;.tsr&quot; value mentioned
6797 above).&lt;/p&gt;
6798
6799 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
6800 openssl ts -query -data &quot;$inputfile&quot; -cert -sha256 -no_nonce \
6801 | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
6802 --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; $sha256.tsr
6803 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
6804
6805 &lt;p&gt;To verify the timestamp, you first need to download the public key
6806 of the trusted timestamp service, for example using this command:&lt;/p&gt;
6807
6808 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
6809 wget -O ca-cert.txt \
6810 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
6811 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
6812
6813 &lt;p&gt;Note, the public key should be stored alongside the timestamps in
6814 the archive to make sure it is also available 100 years from now. It
6815 is probably a good idea to standardise how and were to store such
6816 public keys, to make it easier to find for those trying to verify
6817 documents 100 or 1000 years from now. :)&lt;/p&gt;
6818
6819 &lt;p&gt;The verification itself is a simple openssl command:&lt;/p&gt;
6820
6821 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
6822 openssl ts -verify -data $inputfile -in $sha256.tsr \
6823 -CAfile ca-cert.txt -text
6824 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
6825
6826 &lt;p&gt;Is there any reason this approach would not work? Is it somehow against
6827 the Noark 5 specification?&lt;/p&gt;
6828 </description>
6829 </item>
6830
6831 <item>
6832 <title>Free software archive system Nikita now able to store documents</title>
6833 <link>https://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</link>
6834 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</guid>
6835 <pubDate>Sun, 19 Mar 2017 08:00:00 +0100</pubDate>
6836 <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita
6837 Noark 5 core project&lt;/a&gt; is implementing the Norwegian standard for
6838 keeping an electronic archive of government documents.
6839 &lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version&quot;&gt;The
6840 Noark 5 standard&lt;/a&gt; document the requirement for data systems used by
6841 the archives in the Norwegian government, and the Noark 5 web interface
6842 specification document a REST web service for storing, searching and
6843 retrieving documents and metadata in such archive. I&#39;ve been involved
6844 in the project since a few weeks before Christmas, when the Norwegian
6845 Unix User Group
6846 &lt;a href=&quot;https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml&quot;&gt;announced
6847 it supported the project&lt;/a&gt;. I believe this is an important project,
6848 and hope it can make it possible for the government archives in the
6849 future to use free software to keep the archives we citizens depend
6850 on. But as I do not hold such archive myself, personally my first use
6851 case is to store and analyse public mail journal metadata published
6852 from the government. I find it useful to have a clear use case in
6853 mind when developing, to make sure the system scratches one of my
6854 itches.&lt;/p&gt;
6855
6856 &lt;p&gt;If you would like to help make sure there is a free software
6857 alternatives for the archives, please join our IRC channel
6858 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
6859 irc.freenode.net&lt;/a&gt;) and
6860 &lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;the
6861 project mailing list&lt;/a&gt;.&lt;/p&gt;
6862
6863 &lt;p&gt;When I got involved, the web service could store metadata about
6864 documents. But a few weeks ago, a new milestone was reached when it
6865 became possible to store full text documents too. Yesterday, I
6866 completed an implementation of a command line tool
6867 &lt;tt&gt;archive-pdf&lt;/tt&gt; to upload a PDF file to the archive using this
6868 API. The tool is very simple at the moment, and find existing
6869 &lt;a href=&quot;https://en.wikipedia.org/wiki/Fonds&quot;&gt;fonds&lt;/a&gt;, series and
6870 files while asking the user to select which one to use if more than
6871 one exist. Once a file is identified, the PDF is associated with the
6872 file and uploaded, using the title extracted from the PDF itself. The
6873 process is fairly similar to visiting the archive, opening a cabinet,
6874 locating a file and storing a piece of paper in the archive. Here is
6875 a test run directly after populating the database with test data using
6876 our API tester:&lt;/p&gt;
6877
6878 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
6879 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
6880 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
6881 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
6882
6883 0 - Title of the test case file created 2017-03-18T23:49:32.103446
6884 1 - Title of the test file created 2017-03-18T23:49:32.103446
6885 Select which mappe you want (or search term): 0
6886 Uploading mangelmelding/mangler.pdf
6887 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
6888 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
6889 ~/src//noark5-tester$
6890 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
6891
6892 &lt;p&gt;You can see here how the fonds (arkiv) and serie (arkivdel) only had
6893 one option, while the user need to choose which file (mappe) to use
6894 among the two created by the API tester. The &lt;tt&gt;archive-pdf&lt;/tt&gt;
6895 tool can be found in the git repository for the API tester.&lt;/p&gt;
6896
6897 &lt;p&gt;In the project, I have been mostly working on
6898 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester&quot;&gt;the API
6899 tester&lt;/a&gt; so far, while getting to know the code base. The API
6900 tester currently use
6901 &lt;a href=&quot;https://en.wikipedia.org/wiki/HATEOAS&quot;&gt;the HATEOAS links&lt;/a&gt;
6902 to traverse the entire exposed service API and verify that the exposed
6903 operations and objects match the specification, as well as trying to
6904 create objects holding metadata and uploading a simple XML file to
6905 store. The tester has proved very useful for finding flaws in our
6906 implementation, as well as flaws in the reference site and the
6907 specification.&lt;/p&gt;
6908
6909 &lt;p&gt;The test document I uploaded is a summary of all the specification
6910 defects we have collected so far while implementing the web service.
6911 There are several unclear and conflicting parts of the specification,
6912 and we have
6913 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding&quot;&gt;started
6914 writing down&lt;/a&gt; the questions we get from implementing it. We use a
6915 format inspired by how &lt;a href=&quot;http://www.opengroup.org/austin/&quot;&gt;The
6916 Austin Group&lt;/a&gt; collect defect reports for the POSIX standard with
6917 &lt;a href=&quot;http://www.opengroup.org/austin/mantis.html&quot;&gt;their
6918 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; :).
6919
6920 &lt;p&gt;The Nikita project is implemented using Java and Spring, and is
6921 fairly easy to get up and running using Docker containers for those
6922 that want to test the current code base. The API tester is
6923 implemented in Python.&lt;/p&gt;
6924 </description>
6925 </item>
6926
6927 <item>
6928 <title>Detecting NFS hangs on Linux without hanging yourself...</title>
6929 <link>https://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</link>
6930 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</guid>
6931 <pubDate>Thu, 9 Mar 2017 15:20:00 +0100</pubDate>
6932 <description>&lt;p&gt;Over the years, administrating thousand of NFS mounting linux
6933 computers at the time, I often needed a way to detect if the machine
6934 was experiencing NFS hang. If you try to use &lt;tt&gt;df&lt;/tt&gt; or look at a
6935 file or directory affected by the hang, the process (and possibly the
6936 shell) will hang too. So you want to be able to detect this without
6937 risking the detection process getting stuck too. It has not been
6938 obvious how to do this. When the hang has lasted a while, it is
6939 possible to find messages like these in dmesg:&lt;/p&gt;
6940
6941 &lt;p&gt;&lt;blockquote&gt;
6942 nfs: server nfsserver not responding, still trying
6943 &lt;br&gt;nfs: server nfsserver OK
6944 &lt;/blockquote&gt;&lt;/p&gt;
6945
6946 &lt;p&gt;It is hard to know if the hang is still going on, and it is hard to
6947 be sure looking in dmesg is going to work. If there are lots of other
6948 messages in dmesg the lines might have rotated out of site before they
6949 are noticed.&lt;/p&gt;
6950
6951 &lt;p&gt;While reading through the nfs client implementation in linux kernel
6952 code, I came across some statistics that seem to give a way to detect
6953 it. The om_timeouts sunrpc value in the kernel will increase every
6954 time the above log entry is inserted into dmesg. And after digging a
6955 bit further, I discovered that this value show up in
6956 /proc/self/mountstats on Linux.&lt;/p&gt;
6957
6958 &lt;p&gt;The mountstats content seem to be shared between files using the
6959 same file system context, so it is enough to check one of the
6960 mountstats files to get the state of the mount point for the machine.
6961 I assume this will not show lazy umounted NFS points, nor NFS mount
6962 points in a different process context (ie with a different filesystem
6963 view), but that does not worry me.&lt;/p&gt;
6964
6965 &lt;p&gt;The content for a NFS mount point look similar to this:&lt;/p&gt;
6966
6967 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
6968 [...]
6969 device /dev/mapper/Debian-var mounted on /var with fstype ext3
6970 device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
6971 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
6972 age: 7863311
6973 caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
6974 sec: flavor=1,pseudoflavor=1
6975 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
6976 bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
6977 RPC iostats version: 1.0 p/v: 100003/3 (nfs)
6978 xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
6979 per-op statistics
6980 NULL: 0 0 0 0 0 0 0 0
6981 GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
6982 SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
6983 LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
6984 ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
6985 READLINK: 125 125 0 20472 18620 0 1112 1118
6986 READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
6987 WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
6988 CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
6989 MKDIR: 3680 3680 0 773980 993920 26 23990 24245
6990 SYMLINK: 903 903 0 233428 245488 6 5865 5917
6991 MKNOD: 80 80 0 20148 21760 0 299 304
6992 REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
6993 RMDIR: 3367 3367 0 645112 484848 22 5782 6002
6994 RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
6995 LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
6996 READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
6997 READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
6998 FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
6999 FSINFO: 2 2 0 232 328 0 1 1
7000 PATHCONF: 1 1 0 116 140 0 0 0
7001 COMMIT: 0 0 0 0 0 0 0 0
7002
7003 device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
7004 [...]
7005 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
7006
7007 &lt;p&gt;The key number to look at is the third number in the per-op list.
7008 It is the number of NFS timeouts experiences per file system
7009 operation. Here 22 write timeouts and 5 access timeouts. If these
7010 numbers are increasing, I believe the machine is experiencing NFS
7011 hang. Unfortunately the timeout value do not start to increase right
7012 away. The NFS operations need to time out first, and this can take a
7013 while. The exact timeout value depend on the setup. For example the
7014 defaults for TCP and UDP mount points are quite different, and the
7015 timeout value is affected by the soft, hard, timeo and retrans NFS
7016 mount options.&lt;/p&gt;
7017
7018 &lt;p&gt;The only way I have been able to get working on Debian and RedHat
7019 Enterprise Linux for getting the timeout count is to peek in /proc/.
7020 But according to
7021 &lt;ahref=&quot;http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html&quot;&gt;Solaris
7022 10 System Administration Guide: Network Services&lt;/a&gt;, the &#39;nfsstat -c&#39;
7023 command can be used to get these timeout values. But this do not work
7024 on Linux, as far as I can tell. I
7025 &lt;ahref=&quot;http://bugs.debian.org/857043&quot;&gt;asked Debian about this&lt;/a&gt;,
7026 but have not seen any replies yet.&lt;/p&gt;
7027
7028 &lt;p&gt;Is there a better way to figure out if a Linux NFS client is
7029 experiencing NFS hangs? Is there a way to detect which processes are
7030 affected? Is there a way to get the NFS mount going quickly once the
7031 network problem causing the NFS hang has been cleared? I would very
7032 much welcome some clues, as we regularly run into NFS hangs.&lt;/p&gt;
7033 </description>
7034 </item>
7035
7036 <item>
7037 <title>How does it feel to be wiretapped, when you should be doing the wiretapping...</title>
7038 <link>https://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</link>
7039 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</guid>
7040 <pubDate>Wed, 8 Mar 2017 11:50:00 +0100</pubDate>
7041 <description>&lt;p&gt;So the new president in the United States of America claim to be
7042 surprised to discover that he was wiretapped during the election
7043 before he was elected president. He even claim this must be illegal.
7044 Well, doh, if it is one thing the confirmations from Snowden
7045 documented, it is that the entire population in USA is wiretapped, one
7046 way or another. Of course the president candidates were wiretapped,
7047 alongside the senators, judges and the rest of the people in USA.&lt;/p&gt;
7048
7049 &lt;p&gt;Next, the Federal Bureau of Investigation ask the Department of
7050 Justice to go public rejecting the claims that Donald Trump was
7051 wiretapped illegally. I fail to see the relevance, given that I am
7052 sure the surveillance industry in USA believe they have all the legal
7053 backing they need to conduct mass surveillance on the entire
7054 world.&lt;/p&gt;
7055
7056 &lt;p&gt;There is even the director of the FBI stating that he never saw an
7057 order requesting wiretapping of Donald Trump. That is not very
7058 surprising, given how the FISA court work, with all its activity being
7059 secret. Perhaps he only heard about it?&lt;/p&gt;
7060
7061 &lt;p&gt;What I find most sad in this story is how Norwegian journalists
7062 present it. In a news reports the other day in the radio from the
7063 Norwegian National broadcasting Company (NRK), I heard the journalist
7064 claim that &#39;the FBI denies any wiretapping&#39;, while the reality is that
7065 &#39;the FBI denies any illegal wiretapping&#39;. There is a fundamental and
7066 important difference, and it make me sad that the journalists are
7067 unable to grasp it.&lt;/p&gt;
7068
7069 &lt;p&gt;&lt;strong&gt;Update 2017-03-13:&lt;/strong&gt; Look like
7070 &lt;a href=&quot;https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/&quot;&gt;The
7071 Intercept report that US Senator Rand Paul confirm what I state above&lt;/a&gt;.&lt;/p&gt;
7072 </description>
7073 </item>
7074
7075 <item>
7076 <title>Norwegian Bokmål translation of The Debian Administrator&#39;s Handbook complete, proofreading in progress</title>
7077 <link>https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</link>
7078 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</guid>
7079 <pubDate>Fri, 3 Mar 2017 14:50:00 +0100</pubDate>
7080 <description>&lt;p&gt;For almost a year now, we have been working on making a Norwegian
7081 Bokmål edition of &lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian
7082 Administrator&#39;s Handbook&lt;/a&gt;. Now, thanks to the tireless effort of
7083 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
7084 we are working on the proof reading to ensure consistent language and
7085 use of correct computer science terms. The plan is to make the book
7086 available on paper, as well as in electronic form. For that to
7087 happen, the proof reading must be completed and all the figures need
7088 to be translated. If you want to help out, get in touch.&lt;/p&gt;
7089
7090 &lt;p&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf&quot;&gt;A
7091
7092 fresh PDF edition&lt;/a&gt; in A4 format (the final book will have smaller
7093 pages) of the book created every morning is available for
7094 proofreading. If you find any errors, please
7095 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;visit
7096 Weblate and correct the error&lt;/a&gt;. The
7097 &lt;a href=&quot;http://l.github.io/debian-handbook/stat/nb-NO/index.html&quot;&gt;state
7098 of the translation including figures&lt;/a&gt; is a useful source for those
7099 provide Norwegian bokmål screen shots and figures.&lt;/p&gt;
7100 </description>
7101 </item>
7102
7103 <item>
7104 <title>Unlimited randomness with the ChaosKey?</title>
7105 <link>https://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</link>
7106 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</guid>
7107 <pubDate>Wed, 1 Mar 2017 20:50:00 +0100</pubDate>
7108 <description>&lt;p&gt;A few days ago I ordered a small batch of
7109 &lt;a href=&quot;http://altusmetrum.org/ChaosKey/&quot;&gt;the ChaosKey&lt;/a&gt;, a small
7110 USB dongle for generating entropy created by Bdale Garbee and Keith
7111 Packard. Yesterday it arrived, and I am very happy to report that it
7112 work great! According to its designers, to get it to work out of the
7113 box, you need the Linux kernel version 4.1 or later. I tested on a
7114 Debian Stretch machine (kernel version 4.9), and there it worked just
7115 fine, increasing the available entropy very quickly. I wrote a small
7116 test oneliner to test. It first print the current entropy level,
7117 drain /dev/random, and then print the entropy level for five seconds.
7118 Here is the situation without the ChaosKey inserted:&lt;/p&gt;
7119
7120 &lt;blockquote&gt;&lt;pre&gt;
7121 % cat /proc/sys/kernel/random/entropy_avail; \
7122 dd bs=1M if=/dev/random of=/dev/null count=1; \
7123 for n in $(seq 1 5); do \
7124 cat /proc/sys/kernel/random/entropy_avail; \
7125 sleep 1; \
7126 done
7127 300
7128 0+1 oppføringer inn
7129 0+1 oppføringer ut
7130 28 byte kopiert, 0,000264565 s, 106 kB/s
7131 4
7132 8
7133 12
7134 17
7135 21
7136 %
7137 &lt;/pre&gt;&lt;/blockquote&gt;
7138
7139 &lt;p&gt;The entropy level increases by 3-4 every second. In such case any
7140 application requiring random bits (like a HTTPS enabled web server)
7141 will halt and wait for more entrpy. And here is the situation with
7142 the ChaosKey inserted:&lt;/p&gt;
7143
7144 &lt;blockquote&gt;&lt;pre&gt;
7145 % cat /proc/sys/kernel/random/entropy_avail; \
7146 dd bs=1M if=/dev/random of=/dev/null count=1; \
7147 for n in $(seq 1 5); do \
7148 cat /proc/sys/kernel/random/entropy_avail; \
7149 sleep 1; \
7150 done
7151 1079
7152 0+1 oppføringer inn
7153 0+1 oppføringer ut
7154 104 byte kopiert, 0,000487647 s, 213 kB/s
7155 433
7156 1028
7157 1031
7158 1035
7159 1038
7160 %
7161 &lt;/pre&gt;&lt;/blockquote&gt;
7162
7163 &lt;p&gt;Quite the difference. :) I bought a few more than I need, in case
7164 someone want to buy one here in Norway. :)&lt;/p&gt;
7165
7166 &lt;p&gt;Update: The dongle was presented at Debconf last year. You might
7167 find &lt;a href=&quot;https://debconf16.debconf.org/talks/94/&quot;&gt;the talk
7168 recording illuminating&lt;/a&gt;. It explains exactly what the source of
7169 randomness is, if you are unable to spot it from the schema drawing
7170 available from the ChaosKey web site linked at the start of this blog
7171 post.&lt;/p&gt;
7172 </description>
7173 </item>
7174
7175 <item>
7176 <title>Detect OOXML files with undefined behaviour?</title>
7177 <link>https://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html</link>
7178 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Detect_OOXML_files_with_undefined_behaviour_.html</guid>
7179 <pubDate>Tue, 21 Feb 2017 00:20:00 +0100</pubDate>
7180 <description>&lt;p&gt;I just noticed
7181 &lt;a href=&quot;http://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing&quot;&gt;the
7182 new Norwegian proposal for archiving rules in the goverment&lt;/a&gt; list
7183 &lt;a href=&quot;http://www.ecma-international.org/publications/standards/Ecma-376.htm&quot;&gt;ECMA-376&lt;/a&gt;
7184 / ISO/IEC 29500 (aka OOXML) as valid formats to put in long term
7185 storage. Luckily such files will only be accepted based on
7186 pre-approval from the National Archive. Allowing OOXML files to be
7187 used for long term storage might seem like a good idea as long as we
7188 forget that there are plenty of ways for a &quot;valid&quot; OOXML document to
7189 have content with no defined interpretation in the standard, which
7190 lead to a question and an idea.&lt;/p&gt;
7191
7192 &lt;p&gt;Is there any tool to detect if a OOXML document depend on such
7193 undefined behaviour? It would be useful for the National Archive (and
7194 anyone else interested in verifying that a document is well defined)
7195 to have such tool available when considering to approve the use of
7196 OOXML. I&#39;m aware of the
7197 &lt;a href=&quot;https://github.com/arlm/officeotron/&quot;&gt;officeotron OOXML
7198 validator&lt;/a&gt;, but do not know how complete it is nor if it will
7199 report use of undefined behaviour. Are there other similar tools
7200 available? Please send me an email if you know of any such tool.&lt;/p&gt;
7201 </description>
7202 </item>
7203
7204 <item>
7205 <title>Ruling ignored our objections to the seizure of popcorn-time.no (#domstolkontroll)</title>
7206 <link>https://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html</link>
7207 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Ruling_ignored_our_objections_to_the_seizure_of_popcorn_time_no___domstolkontroll_.html</guid>
7208 <pubDate>Mon, 13 Feb 2017 21:30:00 +0100</pubDate>
7209 <description>&lt;p&gt;A few days ago, we received the ruling from
7210 &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
7211 day in court&lt;/a&gt;. The case in question is a challenge of the seizure
7212 of the DNS domain popcorn-time.no. The ruling simply did not mention
7213 most of our arguments, and seemed to take everything ØKOKRIM said at
7214 face value, ignoring our demonstration and explanations. But it is
7215 hard to tell for sure, as we still have not seen most of the documents
7216 in the case and thus were unprepared and unable to contradict several
7217 of the claims made in court by the opposition. We are considering an
7218 appeal, but it is partly a question of funding, as it is costing us
7219 quite a bit to pay for our lawyer. If you want to help, please
7220 &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;donate to the
7221 NUUG defense fund&lt;/a&gt;.&lt;/p&gt;
7222
7223 &lt;p&gt;The details of the case, as far as we know it, is available in
7224 Norwegian from
7225 &lt;a href=&quot;https://www.nuug.no/news/tags/dns-domenebeslag/&quot;&gt;the NUUG
7226 blog&lt;/a&gt;. This also include
7227 &lt;a href=&quot;https://www.nuug.no/news/Avslag_etter_rettslig_h_ring_om_DNS_beslaget___vurderer_veien_videre.shtml&quot;&gt;the
7228 ruling itself&lt;/a&gt;.&lt;/p&gt;
7229 </description>
7230 </item>
7231
7232 <item>
7233 <title>A day in court challenging seizure of popcorn-time.no for #domstolkontroll</title>
7234 <link>https://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html</link>
7235 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_day_in_court_challenging_seizure_of_popcorn_time_no_for__domstolkontroll.html</guid>
7236 <pubDate>Fri, 3 Feb 2017 11:10:00 +0100</pubDate>
7237 <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;
7238
7239 &lt;p&gt;On Wednesday, I spent the entire day in court in Follo Tingrett
7240 representing &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the member association
7241 NUUG&lt;/a&gt;, alongside &lt;a href=&quot;https://www.efn.no/&quot;&gt;the member
7242 association EFN&lt;/a&gt; and &lt;a href=&quot;http://www.imc.no&quot;&gt;the DNS registrar
7243 IMC&lt;/a&gt;, challenging the seizure of the DNS name popcorn-time.no. It
7244 was interesting to sit in a court of law for the first time in my
7245 life. Our team can be seen in the picture above: attorney Ola
7246 Tellesbø, EFN board member Tom Fredrik Blenning, IMC CEO Morten Emil
7247 Eriksen and NUUG board member Petter Reinholdtsen.&lt;/p&gt;
7248
7249 &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
7250 case at hand&lt;/a&gt; is that the Norwegian National Authority for
7251 Investigation and Prosecution of Economic and Environmental Crime (aka
7252 Økokrim) decided on their own, to seize a DNS domain early last
7253 year, without following
7254 &lt;a href=&quot;https://www.norid.no/no/regelverk/navnepolitikk/#link12&quot;&gt;the
7255 official policy of the Norwegian DNS authority&lt;/a&gt; which require a
7256 court decision. The web site in question was a site covering Popcorn
7257 Time. And Popcorn Time is the name of a technology with both legal
7258 and illegal applications. Popcorn Time is a client combining
7259 searching a Bittorrent directory available on the Internet with
7260 downloading/distribute content via Bittorrent and playing the
7261 downloaded content on screen. It can be used illegally if it is used
7262 to distribute content against the will of the right holder, but it can
7263 also be used legally to play a lot of content, for example the
7264 millions of movies
7265 &lt;a href=&quot;https://archive.org/details/movies&quot;&gt;available from the
7266 Internet Archive&lt;/a&gt; or the collection
7267 &lt;a href=&quot;http://vodo.net/films/&quot;&gt;available from Vodo&lt;/a&gt;. We created
7268 &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
7269 video demonstrating legally use of Popcorn Time&lt;/a&gt; and played it in
7270 Court. It can of course be downloaded using Bittorrent.&lt;/p&gt;
7271
7272 &lt;p&gt;I did not quite know what to expect from a day in court. The
7273 government held on to their version of the story and we held on to
7274 ours, and I hope the judge is able to make sense of it all. We will
7275 know in two weeks time. Unfortunately I do not have high hopes, as
7276 the Government have the upper hand here with more knowledge about the
7277 case, better training in handling criminal law and in general higher
7278 standing in the courts than fairly unknown DNS registrar and member
7279 associations. It is expensive to be right also in Norway. So far the
7280 case have cost more than NOK 70 000,-. To help fund the case, NUUG
7281 and EFN have asked for donations, and managed to collect around NOK 25
7282 000,- so far. Given the presentation from the Government, I expect
7283 the government to appeal if the case go our way. And if the case do
7284 not go our way, I hope we have enough funding to appeal.&lt;/p&gt;
7285
7286 &lt;p&gt;From the other side came two people from Økokrim. On the benches,
7287 appearing to be part of the group from the government were two people
7288 from the Simonsen Vogt Wiik lawyer office, and three others I am not
7289 quite sure who was. Økokrim had proposed to present two witnesses
7290 from The Motion Picture Association, but this was rejected because
7291 they did not speak Norwegian and it was a bit late to bring in a
7292 translator, but perhaps the two from MPA were present anyway. All
7293 seven appeared to know each other. Good to see the case is take
7294 seriously.&lt;/p&gt;
7295
7296 &lt;p&gt;If you, like me, believe the courts should be involved before a DNS
7297 domain is hijacked by the government, or you believe the Popcorn Time
7298 technology have a lot of useful and legal applications, I suggest you
7299 too &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;donate to
7300 the NUUG defense fund&lt;/a&gt;. Both Bitcoin and bank transfer are
7301 available. If NUUG get more than we need for the legal action (very
7302 unlikely), the rest will be spend promoting free software, open
7303 standards and unix-like operating systems in Norway, so no matter what
7304 happens the money will be put to good use.&lt;/p&gt;
7305
7306 &lt;p&gt;If you want to lean more about the case, I recommend you check out
7307 &lt;a href=&quot;https://www.nuug.no/news/tags/dns-domenebeslag/&quot;&gt;the blog
7308 posts from NUUG covering the case&lt;/a&gt;. They cover the legal arguments
7309 on both sides.&lt;/p&gt;
7310 </description>
7311 </item>
7312
7313 <item>
7314 <title>Where did that package go? &amp;mdash; geolocated IP traceroute</title>
7315 <link>https://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html</link>
7316 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Where_did_that_package_go___mdash__geolocated_IP_traceroute.html</guid>
7317 <pubDate>Mon, 9 Jan 2017 12:20:00 +0100</pubDate>
7318 <description>&lt;p&gt;Did you ever wonder where the web trafic really flow to reach the
7319 web servers, and who own the network equipment it is flowing through?
7320 It is possible to get a glimpse of this from using traceroute, but it
7321 is hard to find all the details. Many years ago, I wrote a system to
7322 map the Norwegian Internet (trying to figure out if our plans for a
7323 network game service would get low enough latency, and who we needed
7324 to talk to about setting up game servers close to the users. Back
7325 then I used traceroute output from many locations (I asked my friends
7326 to run a script and send me their traceroute output) to create the
7327 graph and the map. The output from traceroute typically look like
7328 this:
7329
7330 &lt;p&gt;&lt;pre&gt;
7331 traceroute to www.stortinget.no (85.88.67.10), 30 hops max, 60 byte packets
7332 1 uio-gw10.uio.no (129.240.202.1) 0.447 ms 0.486 ms 0.621 ms
7333 2 uio-gw8.uio.no (129.240.24.229) 0.467 ms 0.578 ms 0.675 ms
7334 3 oslo-gw1.uninett.no (128.39.65.17) 0.385 ms 0.373 ms 0.358 ms
7335 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 1.174 ms 1.172 ms 1.153 ms
7336 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
7337 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
7338 7 89.191.10.146 (89.191.10.146) 0.931 ms 0.917 ms 0.955 ms
7339 8 * * *
7340 9 * * *
7341 [...]
7342 &lt;/pre&gt;&lt;/p&gt;
7343
7344 &lt;p&gt;This show the DNS names and IP addresses of (at least some of the)
7345 network equipment involved in getting the data traffic from me to the
7346 www.stortinget.no server, and how long it took in milliseconds for a
7347 package to reach the equipment and return to me. Three packages are
7348 sent, and some times the packages do not follow the same path. This
7349 is shown for hop 5, where three different IP addresses replied to the
7350 traceroute request.&lt;/p&gt;
7351
7352 &lt;p&gt;There are many ways to measure trace routes. Other good traceroute
7353 implementations I use are traceroute (using ICMP packages) mtr (can do
7354 both ICMP, UDP and TCP) and scapy (python library with ICMP, UDP, TCP
7355 traceroute and a lot of other capabilities). All of them are easily
7356 available in &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt;.&lt;/p&gt;
7357
7358 &lt;p&gt;This time around, I wanted to know the geographic location of
7359 different route points, to visualize how visiting a web page spread
7360 information about the visit to a lot of servers around the globe. The
7361 background is that a web site today often will ask the browser to get
7362 from many servers the parts (for example HTML, JSON, fonts,
7363 JavaScript, CSS, video) required to display the content. This will
7364 leak information about the visit to those controlling these servers
7365 and anyone able to peek at the data traffic passing by (like your ISP,
7366 the ISPs backbone provider, FRA, GCHQ, NSA and others).&lt;/p&gt;
7367
7368 &lt;p&gt;Lets pick an example, the Norwegian parliament web site
7369 www.stortinget.no. It is read daily by all members of parliament and
7370 their staff, as well as political journalists, activits and many other
7371 citizens of Norway. A visit to the www.stortinget.no web site will
7372 ask your browser to contact 8 other servers: ajax.googleapis.com,
7373 insights.hotjar.com, script.hotjar.com, static.hotjar.com,
7374 stats.g.doubleclick.net, www.google-analytics.com,
7375 www.googletagmanager.com and www.netigate.se. I extracted this by
7376 asking &lt;a href=&quot;http://phantomjs.org/&quot;&gt;PhantomJS&lt;/a&gt; to visit the
7377 Stortinget web page and tell me all the URLs PhantomJS downloaded to
7378 render the page (in HAR format using
7379 &lt;a href=&quot;https://github.com/ariya/phantomjs/blob/master/examples/netsniff.js&quot;&gt;their
7380 netsniff example&lt;/a&gt;. I am very grateful to Gorm for showing me how
7381 to do this). My goal is to visualize network traces to all IP
7382 addresses behind these DNS names, do show where visitors personal
7383 information is spread when visiting the page.&lt;/p&gt;
7384
7385 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;www.stortinget.no-geoip.kml&quot;&gt;&lt;img
7386 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;
7387
7388 &lt;p&gt;When I had a look around for options, I could not find any good
7389 free software tools to do this, and decided I needed my own traceroute
7390 wrapper outputting KML based on locations looked up using GeoIP. KML
7391 is easy to work with and easy to generate, and understood by several
7392 of the GIS tools I have available. I got good help from by NUUG
7393 colleague Anders Einar with this, and the result can be seen in
7394 &lt;a href=&quot;https://github.com/petterreinholdtsen/kmltraceroute&quot;&gt;my
7395 kmltraceroute git repository&lt;/a&gt;. Unfortunately, the quality of the
7396 free GeoIP databases I could find (and the for-pay databases my
7397 friends had access to) is not up to the task. The IP addresses of
7398 central Internet infrastructure would typically be placed near the
7399 controlling companies main office, and not where the router is really
7400 located, as you can see from &lt;a href=&quot;www.stortinget.no-geoip.kml&quot;&gt;the
7401 KML file I created&lt;/a&gt; using the GeoLite City dataset from MaxMind.
7402
7403 &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
7404 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;
7405
7406 &lt;p&gt;I also had a look at the visual traceroute graph created by
7407 &lt;a href=&quot;http://www.secdev.org/projects/scapy/&quot;&gt;the scrapy project&lt;/a&gt;,
7408 showing IP network ownership (aka AS owner) for the IP address in
7409 question.
7410 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2017-01-09-www.stortinget.no-scapy.svg&quot;&gt;The
7411 graph display a lot of useful information about the traceroute in SVG
7412 format&lt;/a&gt;, and give a good indication on who control the network
7413 equipment involved, but it do not include geolocation. This graph
7414 make it possible to see the information is made available at least for
7415 UNINETT, Catchcom, Stortinget, Nordunet, Google, Amazon, Telia, Level
7416 3 Communications and NetDNA.&lt;/p&gt;
7417
7418 &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
7419 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;
7420
7421 &lt;p&gt;In the process, I came across the
7422 &lt;a href=&quot;https://geotraceroute.com/&quot;&gt;web service GeoTraceroute&lt;/a&gt; by
7423 Salim Gasmi. Its methology of combining guesses based on DNS names,
7424 various location databases and finally use latecy times to rule out
7425 candidate locations seemed to do a very good job of guessing correct
7426 geolocation. But it could only do one trace at the time, did not have
7427 a sensor in Norway and did not make the geolocations easily available
7428 for postprocessing. So I contacted the developer and asked if he
7429 would be willing to share the code (he refused until he had time to
7430 clean it up), but he was interested in providing the geolocations in a
7431 machine readable format, and willing to set up a sensor in Norway. So
7432 since yesterday, it is possible to run traces from Norway in this
7433 service thanks to a sensor node set up by
7434 &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG assosiation&lt;/a&gt;, and get the
7435 trace in KML format for further processing.&lt;/p&gt;
7436
7437 &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
7438 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;
7439
7440 &lt;p&gt;Here we can see a lot of trafic passes Sweden on its way to
7441 Denmark, Germany, Holland and Ireland. Plenty of places where the
7442 Snowden confirmations verified the traffic is read by various actors
7443 without your best interest as their top priority.&lt;/p&gt;
7444
7445 &lt;p&gt;Combining KML files is trivial using a text editor, so I could loop
7446 over all the hosts behind the urls imported by www.stortinget.no and
7447 ask for the KML file from GeoTraceroute, and create a combined KML
7448 file with all the traces (unfortunately only one of the IP addresses
7449 behind the DNS name is traced this time. To get them all, one would
7450 have to request traces using IP number instead of DNS names from
7451 GeoTraceroute). That might be the next step in this project.&lt;/p&gt;
7452
7453 &lt;p&gt;Armed with these tools, I find it a lot easier to figure out where
7454 the IP traffic moves and who control the boxes involved in moving it.
7455 And every time the link crosses for example the Swedish border, we can
7456 be sure Swedish Signal Intelligence (FRA) is listening, as GCHQ do in
7457 Britain and NSA in USA and cables around the globe. (Hm, what should
7458 we tell them? :) Keep that in mind if you ever send anything
7459 unencrypted over the Internet.&lt;/p&gt;
7460
7461 &lt;p&gt;PS: KML files are drawn using
7462 &lt;a href=&quot;http://ivanrublev.me/kml/&quot;&gt;the KML viewer from Ivan
7463 Rublev&lt;a/&gt;, as it was less cluttered than the local Linux application
7464 Marble. There are heaps of other options too.&lt;/p&gt;
7465
7466 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
7467 activities, please send Bitcoin donations to my address
7468 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
7469 </description>
7470 </item>
7471
7472 <item>
7473 <title>Introducing ical-archiver to split out old iCalendar entries</title>
7474 <link>https://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html</link>
7475 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Introducing_ical_archiver_to_split_out_old_iCalendar_entries.html</guid>
7476 <pubDate>Wed, 4 Jan 2017 12:20:00 +0100</pubDate>
7477 <description>&lt;p&gt;Do you have a large &lt;a href=&quot;https://icalendar.org/&quot;&gt;iCalendar&lt;/a&gt;
7478 file with lots of old entries, and would like to archive them to save
7479 space and resources? At least those of us using KOrganizer know that
7480 turning on and off an event set become slower and slower the more
7481 entries are in the set. While working on migrating our calendars to a
7482 &lt;a href=&quot;http://radicale.org/&quot;&gt;Radicale CalDAV server&lt;/a&gt; on our
7483 &lt;a href=&quot;https://freedomboxfoundation.org/&quot;&gt;Freedombox server&lt;/a/&gt;, my
7484 loved one wondered if I could find a way to split up the calendar file
7485 she had in KOrganizer, and I set out to write a tool. I spent a few
7486 days writing and polishing the system, and it is now ready for general
7487 consumption. The
7488 &lt;a href=&quot;https://github.com/petterreinholdtsen/ical-archiver&quot;&gt;code for
7489 ical-archiver&lt;/a&gt; is publicly available from a git repository on
7490 github. The system is written in Python and depend on
7491 &lt;a href=&quot;http://eventable.github.io/vobject/&quot;&gt;the vobject Python
7492 module&lt;/a&gt;.&lt;/p&gt;
7493
7494 &lt;p&gt;To use it, locate the iCalendar file you want to operate on and
7495 give it as an argument to the ical-archiver script. This will
7496 generate a set of new files, one file per component type per year for
7497 all components expiring more than two years in the past. The vevent,
7498 vtodo and vjournal entries are handled by the script. The remaining
7499 entries are stored in a &#39;remaining&#39; file.&lt;/p&gt;
7500
7501 &lt;p&gt;This is what a test run can look like:
7502
7503 &lt;p&gt;&lt;pre&gt;
7504 % ical-archiver t/2004-2016.ics
7505 Found 3612 vevents
7506 Found 6 vtodos
7507 Found 2 vjournals
7508 Writing t/2004-2016.ics-subset-vevent-2004.ics
7509 Writing t/2004-2016.ics-subset-vevent-2005.ics
7510 Writing t/2004-2016.ics-subset-vevent-2006.ics
7511 Writing t/2004-2016.ics-subset-vevent-2007.ics
7512 Writing t/2004-2016.ics-subset-vevent-2008.ics
7513 Writing t/2004-2016.ics-subset-vevent-2009.ics
7514 Writing t/2004-2016.ics-subset-vevent-2010.ics
7515 Writing t/2004-2016.ics-subset-vevent-2011.ics
7516 Writing t/2004-2016.ics-subset-vevent-2012.ics
7517 Writing t/2004-2016.ics-subset-vevent-2013.ics
7518 Writing t/2004-2016.ics-subset-vevent-2014.ics
7519 Writing t/2004-2016.ics-subset-vjournal-2007.ics
7520 Writing t/2004-2016.ics-subset-vjournal-2011.ics
7521 Writing t/2004-2016.ics-subset-vtodo-2012.ics
7522 Writing t/2004-2016.ics-remaining.ics
7523 %
7524 &lt;/pre&gt;&lt;/p&gt;
7525
7526 &lt;p&gt;As you can see, the original file is untouched and new files are
7527 written with names derived from the original file. If you are happy
7528 with their content, the *-remaining.ics file can replace the original
7529 the the others can be archived or imported as historical calendar
7530 collections.&lt;/p&gt;
7531
7532 &lt;p&gt;The script should probably be improved a bit. The error handling
7533 when discovering broken entries is not good, and I am not sure yet if
7534 it make sense to split different entry types into separate files or
7535 not. The program is thus likely to change. If you find it
7536 interesting, please get in touch. :)&lt;/p&gt;
7537
7538 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
7539 activities, please send Bitcoin donations to my address
7540 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
7541 </description>
7542 </item>
7543
7544 <item>
7545 <title>Appstream just learned how to map hardware to packages too!</title>
7546 <link>https://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</link>
7547 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</guid>
7548 <pubDate>Fri, 23 Dec 2016 10:30:00 +0100</pubDate>
7549 <description>&lt;p&gt;I received a very nice Christmas present today. As my regular
7550 readers probably know, I have been working on the
7551 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;the Isenkram
7552 system&lt;/a&gt; for many years. The goal of the Isenkram system is to make
7553 it easier for users to figure out what to install to get a given piece
7554 of hardware to work in Debian, and a key part of this system is a way
7555 to map hardware to packages. Isenkram have its own mapping database,
7556 and also uses data provided by each package using the AppStream
7557 metadata format. And today,
7558 &lt;a href=&quot;https://tracker.debian.org/pkg/appstream&quot;&gt;AppStream&lt;/a&gt; in
7559 Debian learned to look up hardware the same way Isenkram is doing it,
7560 ie using fnmatch():&lt;/p&gt;
7561
7562 &lt;p&gt;&lt;pre&gt;
7563 % appstreamcli what-provides modalias \
7564 usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
7565 Identifier: pymissile [generic]
7566 Name: pymissile
7567 Summary: Control original Striker USB Missile Launcher
7568 Package: pymissile
7569 % appstreamcli what-provides modalias usb:v0694p0002d0000
7570 Identifier: libnxt [generic]
7571 Name: libnxt
7572 Summary: utility library for talking to the LEGO Mindstorms NXT brick
7573 Package: libnxt
7574 ---
7575 Identifier: t2n [generic]
7576 Name: t2n
7577 Summary: Simple command-line tool for Lego NXT
7578 Package: t2n
7579 ---
7580 Identifier: python-nxt [generic]
7581 Name: python-nxt
7582 Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
7583 Package: python-nxt
7584 ---
7585 Identifier: nbc [generic]
7586 Name: nbc
7587 Summary: C compiler for LEGO Mindstorms NXT bricks
7588 Package: nbc
7589 %
7590 &lt;/pre&gt;&lt;/p&gt;
7591
7592 &lt;p&gt;A similar query can be done using the combined AppStream and
7593 Isenkram databases using the isenkram-lookup tool:&lt;/p&gt;
7594
7595 &lt;p&gt;&lt;pre&gt;
7596 % isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
7597 pymissile
7598 % isenkram-lookup usb:v0694p0002d0000
7599 libnxt
7600 nbc
7601 python-nxt
7602 t2n
7603 %
7604 &lt;/pre&gt;&lt;/p&gt;
7605
7606 &lt;p&gt;You can find modalias values relevant for your machine using
7607 &lt;tt&gt;cat $(find /sys/devices/ -name modalias)&lt;/tt&gt;.
7608
7609 &lt;p&gt;If you want to make this system a success and help Debian users
7610 make the most of the hardware they have, please
7611 help&lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;add
7612 AppStream metadata for your package following the guidelines&lt;/a&gt;
7613 documented in the wiki. So far only 11 packages provide such
7614 information, among the several hundred hardware specific packages in
7615 Debian. The Isenkram database on the other hand contain 101 packages,
7616 mostly related to USB dongles. Most of the packages with hardware
7617 mapping in AppStream are LEGO Mindstorms related, because I have, as
7618 part of my involvement in
7619 &lt;a href=&quot;https://wiki.debian.org/LegoDesigners&quot;&gt;the Debian LEGO
7620 team&lt;/a&gt; given priority to making sure LEGO users get proposed the
7621 complete set of packages in Debian for that particular hardware. The
7622 team also got a nice Christmas present today. The
7623 &lt;a href=&quot;https://tracker.debian.org/pkg/nxt-firmware&quot;&gt;nxt-firmware
7624 package&lt;/a&gt; made it into Debian. With this package in place, it is
7625 now possible to use the LEGO Mindstorms NXT unit with only free
7626 software, as the nxt-firmware package contain the source and firmware
7627 binaries for the NXT brick.&lt;/p&gt;
7628
7629 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
7630 activities, please send Bitcoin donations to my address
7631 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
7632 </description>
7633 </item>
7634
7635 <item>
7636 <title>Isenkram updated with a lot more hardware-package mappings</title>
7637 <link>https://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</link>
7638 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</guid>
7639 <pubDate>Tue, 20 Dec 2016 11:55:00 +0100</pubDate>
7640 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
7641 system&lt;/a&gt; I wrote two years ago to make it easier in Debian to find
7642 and install packages to get your hardware dongles to work, is still
7643 going strong. It is a system to look up the hardware present on or
7644 connected to the current system, and map the hardware to Debian
7645 packages. It can either be done using the tools in isenkram-cli or
7646 using the user space daemon in the isenkram package. The latter will
7647 notify you, when inserting new hardware, about what packages to
7648 install to get the dongle working. It will even provide a button to
7649 click on to ask packagekit to install the packages.&lt;/p&gt;
7650
7651 &lt;p&gt;Here is an command line example from my Thinkpad laptop:&lt;/p&gt;
7652
7653 &lt;p&gt;&lt;pre&gt;
7654 % isenkram-lookup
7655 bluez
7656 cheese
7657 ethtool
7658 fprintd
7659 fprintd-demo
7660 gkrellm-thinkbat
7661 hdapsd
7662 libpam-fprintd
7663 pidgin-blinklight
7664 thinkfan
7665 tlp
7666 tp-smapi-dkms
7667 tp-smapi-source
7668 tpb
7669 %
7670 &lt;/pre&gt;&lt;/p&gt;
7671
7672 &lt;p&gt;It can also list the firware package providing firmware requested
7673 by the load kernel modules, which in my case is an empty list because
7674 I have all the firmware my machine need:
7675
7676 &lt;p&gt;&lt;pre&gt;
7677 % /usr/sbin/isenkram-autoinstall-firmware -l
7678 info: did not find any firmware files requested by loaded kernel modules. exiting
7679 %
7680 &lt;/pre&gt;&lt;/p&gt;
7681
7682 &lt;p&gt;The last few days I had a look at several of the around 250
7683 packages in Debian with udev rules. These seem like good candidates
7684 to install when a given hardware dongle is inserted, and I found
7685 several that should be proposed by isenkram. I have not had time to
7686 check all of them, but am happy to report that now there are 97
7687 packages packages mapped to hardware by Isenkram. 11 of these
7688 packages provide hardware mapping using AppStream, while the rest are
7689 listed in the modaliases file provided in isenkram.&lt;/p&gt;
7690
7691 &lt;p&gt;These are the packages with hardware mappings at the moment. The
7692 &lt;strong&gt;marked packages&lt;/strong&gt; are also announcing their hardware
7693 support using AppStream, for everyone to use:&lt;/p&gt;
7694
7695 &lt;p&gt;air-quality-sensor, alsa-firmware-loaders, argyll,
7696 &lt;strong&gt;array-info&lt;/strong&gt;, avarice, avrdude, b43-fwcutter,
7697 bit-babbler, bluez, bluez-firmware, &lt;strong&gt;brltty&lt;/strong&gt;,
7698 &lt;strong&gt;broadcom-sta-dkms&lt;/strong&gt;, calibre, cgminer, cheese, colord,
7699 &lt;strong&gt;colorhug-client&lt;/strong&gt;, dahdi-firmware-nonfree, dahdi-linux,
7700 dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
7701 fprintd-demo, &lt;strong&gt;galileo&lt;/strong&gt;, gkrellm-thinkbat, gphoto2,
7702 gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
7703 gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
7704 ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
7705 &lt;strong&gt;libnxt&lt;/strong&gt;, libpam-fprintd, &lt;strong&gt;lomoco&lt;/strong&gt;,
7706 madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
7707 &lt;strong&gt;nbc&lt;/strong&gt;, &lt;strong&gt;nqc&lt;/strong&gt;, nut-hal-drivers, ola,
7708 open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
7709 pcscd, pidgin-blinklight, printer-driver-splix,
7710 &lt;strong&gt;pymissile&lt;/strong&gt;, python-nxt, qlandkartegt,
7711 qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
7712 soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
7713 &lt;strong&gt;t2n&lt;/strong&gt;, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
7714 tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
7715 virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
7716 xserver-xorg-input-wacom, xserver-xorg-video-qxl,
7717 xserver-xorg-video-vmware, yubikey-personalization and
7718 zd1211-firmware&lt;/p&gt;
7719
7720 &lt;p&gt;If you know of other packages, please let me know with a wishlist
7721 bug report against the isenkram-cli package, and ask the package
7722 maintainer to
7723 &lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;add AppStream
7724 metadata according to the guidelines&lt;/a&gt; to provide the information
7725 for everyone. In time, I hope to get rid of the isenkram specific
7726 hardware mapping and depend exclusively on AppStream.&lt;/p&gt;
7727
7728 &lt;p&gt;Note, the AppStream metadata for broadcom-sta-dkms is matching too
7729 much hardware, and suggest that the package with with any ethernet
7730 card. See &lt;a href=&quot;http://bugs.debian.org/838735&quot;&gt;bug #838735&lt;/a&gt; for
7731 the details. I hope the maintainer find time to address it soon. In
7732 the mean time I provide an override in isenkram.&lt;/p&gt;
7733 </description>
7734 </item>
7735
7736 <item>
7737 <title>Oolite, a life in space as vagabond and mercenary - nice free software</title>
7738 <link>https://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</link>
7739 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</guid>
7740 <pubDate>Sun, 11 Dec 2016 11:40:00 +0100</pubDate>
7741 <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;
7742
7743 &lt;p&gt;In my early years, I played
7744 &lt;a href=&quot;http://wiki.alioth.net/index.php/Classic_Elite&quot;&gt;the epic game
7745 Elite&lt;/a&gt; on my PC. I spent many months trading and fighting in
7746 space, and reached the &#39;elite&#39; fighting status before I moved on. The
7747 original Elite game was available on Commodore 64 and the IBM PC
7748 edition I played had a 64 KB executable. I am still impressed today
7749 that the authors managed to squeeze both a 3D engine and details about
7750 more than 2000 planet systems across 7 galaxies into a binary so
7751 small.&lt;/p&gt;
7752
7753 &lt;p&gt;I have known about &lt;a href=&quot;http://www.oolite.org/&quot;&gt;the free
7754 software game Oolite inspired by Elite&lt;/a&gt; for a while, but did not
7755 really have time to test it properly until a few days ago. It was
7756 great to discover that my old knowledge about trading routes were
7757 still valid. But my fighting and flying abilities were gone, so I had
7758 to retrain to be able to dock on a space station. And I am still not
7759 able to make much resistance when I am attacked by pirates, so I
7760 bougth and mounted the most powerful laser in the rear to be able to
7761 put up at least some resistance while fleeing for my life. :)&lt;/p&gt;
7762
7763 &lt;p&gt;When playing Elite in the late eighties, I had to discover
7764 everything on my own, and I had long lists of prices seen on different
7765 planets to be able to decide where to trade what. This time I had the
7766 advantages of the
7767 &lt;a href=&quot;http://wiki.alioth.net/index.php/Main_Page&quot;&gt;Elite wiki&lt;/a&gt;,
7768 where information about each planet is easily available with common
7769 price ranges and suggested trading routes. This improved my ability
7770 to earn money and I have been able to earn enough to buy a lot of
7771 useful equipent in a few days. I believe I originally played for
7772 months before I could get a docking computer, while now I could get it
7773 after less then a week.&lt;/p&gt;
7774
7775 &lt;p&gt;If you like science fiction and dreamed of a life as a vagabond in
7776 space, you should try out Oolite. It is available for Linux, MacOSX
7777 and Windows, and is included in Debian and derivatives since 2011.&lt;/p&gt;
7778
7779 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
7780 activities, please send Bitcoin donations to my address
7781 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
7782 </description>
7783 </item>
7784
7785 <item>
7786 <title>Quicker Debian installations using eatmydata</title>
7787 <link>https://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</link>
7788 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</guid>
7789 <pubDate>Fri, 25 Nov 2016 14:50:00 +0100</pubDate>
7790 <description>&lt;p&gt;Two years ago, I did some experiments with eatmydata and the Debian
7791 installation system, observing how using
7792 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html&quot;&gt;eatmydata
7793 could speed up the installation&lt;/a&gt; quite a bit. My testing measured
7794 speedup around 20-40 percent for Debian Edu, where we install around
7795 1000 packages from within the installer. The eatmydata package
7796 provide a way to disable/delay file system flushing. This is a bit
7797 risky in the general case, as files that should be stored on disk will
7798 stay only in memory a bit longer than expected, causing problems if a
7799 machine crashes at an inconvenient time. But for an installation, if
7800 the machine crashes during installation the process is normally
7801 restarted, and avoiding disk operations as much as possible to speed
7802 up the process make perfect sense.
7803
7804 &lt;p&gt;I added code in the Debian Edu specific installation code to enable
7805 &lt;a href=&quot;https://tracker.debian.org/pkg/libeatmydata&quot;&gt;eatmydata&lt;/a&gt;,
7806 but did not have time to push it any further. But a few months ago I
7807 picked it up again and worked with the libeatmydata package maintainer
7808 Mattia Rizzolo to make it easier for everyone to get this installation
7809 speedup in Debian. Thanks to our cooperation There is now an
7810 eatmydata-udeb package in Debian testing and unstable, and simply
7811 enabling/installing it in debian-installer (d-i) is enough to get the
7812 quicker installations. It can be enabled using preseeding. The
7813 following untested kernel argument should do the trick:&lt;/p&gt;
7814
7815 &lt;blockquote&gt;&lt;pre&gt;
7816 preseed/early_command=&quot;anna-install eatmydata-udeb&quot;
7817 &lt;/pre&gt;&lt;/blockquote&gt;
7818
7819 &lt;p&gt;This should ask d-i to install the package inside the d-i
7820 environment early in the installation sequence. Having it installed
7821 in d-i in turn will make sure the relevant scripts are called just
7822 after debootstrap filled /target/ with the freshly installed Debian
7823 system to configure apt to run dpkg with eatmydata. This is enough to
7824 speed up the installation process. There is a proposal to
7825 &lt;a href=&quot;https://bugs.debian.org/841153&quot;&gt;extend the idea a bit further
7826 by using /etc/ld.so.preload instead of apt.conf&lt;/a&gt;, but I have not
7827 tested its impact.&lt;/p&gt;
7828
7829 </description>
7830 </item>
7831
7832 <item>
7833 <title>Coz profiler for multi-threaded software is now in Debian</title>
7834 <link>https://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</link>
7835 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</guid>
7836 <pubDate>Sun, 13 Nov 2016 12:30:00 +0100</pubDate>
7837 <description>&lt;p&gt;&lt;a href=&quot;http://coz-profiler.org/&quot;&gt;The Coz profiler&lt;/a&gt;, a nice
7838 profiler able to run benchmarking experiments on the instrumented
7839 multi-threaded program, finally
7840 &lt;a href=&quot;https://tracker.debian.org/pkg/coz-profiler&quot;&gt;made it into
7841 Debian unstable yesterday&lt;/A&gt;. Lluís Vilanova and I have spent many
7842 months since
7843 &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
7844 blogged about the coz tool&lt;/a&gt; in August working with upstream to make
7845 it suitable for Debian. There are still issues with clang
7846 compatibility, inline assembly only working x86 and minimized
7847 JavaScript libraries.&lt;/p&gt;
7848
7849 &lt;p&gt;To test it, install &#39;coz-profiler&#39; using apt and run it like this:&lt;/p&gt;
7850
7851 &lt;p&gt;&lt;blockquote&gt;
7852 &lt;tt&gt;coz run --- /path/to/binary-with-debug-info&lt;/tt&gt;
7853 &lt;/blockquote&gt;&lt;/p&gt;
7854
7855 &lt;p&gt;This will produce a profile.coz file in the current working
7856 directory with the profiling information. This is then given to a
7857 JavaScript application provided in the package and available from
7858 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;a project web page&lt;/a&gt;.
7859 To start the local copy, invoke it in a browser like this:&lt;/p&gt;
7860
7861 &lt;p&gt;&lt;blockquote&gt;
7862 &lt;tt&gt;sensible-browser /usr/share/coz-profiler/viewer/index.htm&lt;/tt&gt;
7863 &lt;/blockquote&gt;&lt;/p&gt;
7864
7865 &lt;p&gt;See the project home page and the
7866 &lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;USENIX
7867 ;login: article on Coz&lt;/a&gt; for more information on how it is
7868 working.&lt;/p&gt;
7869 </description>
7870 </item>
7871
7872 <item>
7873 <title>How to talk with your loved ones in private</title>
7874 <link>https://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html</link>
7875 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html</guid>
7876 <pubDate>Mon, 7 Nov 2016 10:25:00 +0100</pubDate>
7877 <description>&lt;p&gt;A few days ago I ran a very biased and informal survey to get an
7878 idea about what options are being used to communicate with end to end
7879 encryption with friends and family. I explicitly asked people not to
7880 list options only used in a work setting. The background is the
7881 uneasy feeling I get when using Signal, a feeling shared by others as
7882 a blog post from Sander Venima about
7883 &lt;a href=&quot;https://sandervenema.ch/2016/11/why-i-wont-recommend-signal-anymore/&quot;&gt;why
7884 he do not recommend Signal anymore&lt;/a&gt; (with
7885 &lt;a href=&quot;https://news.ycombinator.com/item?id=12883410&quot;&gt;feedback from
7886 the Signal author available from ycombinator&lt;/a&gt;). I wanted an
7887 overview of the options being used, and hope to include those options
7888 in a less biased survey later on. So far I have not taken the time to
7889 look into the individual proposed systems. They range from text
7890 sharing web pages, via file sharing and email to instant messaging,
7891 VOIP and video conferencing. For those considering which system to
7892 use, it is also useful to have a look at
7893 &lt;a href=&quot;https://www.eff.org/secure-messaging-scorecard&quot;&gt;the EFF Secure
7894 messaging scorecard&lt;/a&gt; which is slightly out of date but still
7895 provide valuable information.&lt;/p&gt;
7896
7897 &lt;p&gt;So, on to the list. There were some used by many, some used by a
7898 few, some rarely used ones and a few mentioned but without anyone
7899 claiming to use them. Notice the grouping is in reality quite random
7900 given the biased self selected set of participants. First the ones
7901 used by many:&lt;/p&gt;
7902
7903 &lt;ul&gt;
7904
7905 &lt;li&gt;&lt;a href=&quot;https://whispersystems.org/&quot;&gt;Signal&lt;/a&gt;&lt;/li&gt;
7906 &lt;li&gt;Email w/&lt;a href=&quot;http://openpgp.org/&quot;&gt;OpenPGP&lt;/a&gt; (Enigmail, GPGSuite,etc)&lt;/li&gt;
7907 &lt;li&gt;&lt;a href=&quot;https://www.whatsapp.com/&quot;&gt;Whatsapp&lt;/a&gt;&lt;/li&gt;
7908 &lt;li&gt;IRC w/&lt;a href=&quot;https://otr.cypherpunks.ca/&quot;&gt;OTR&lt;/a&gt;&lt;/li&gt;
7909 &lt;li&gt;XMPP w/&lt;a href=&quot;https://otr.cypherpunks.ca/&quot;&gt;OTR&lt;/a&gt;&lt;/li&gt;
7910
7911 &lt;/ul&gt;
7912
7913 &lt;p&gt;Then the ones used by a few.&lt;/p&gt;
7914
7915 &lt;ul&gt;
7916
7917 &lt;li&gt;&lt;a href=&quot;https://wiki.mumble.info/wiki/Main_Page&quot;&gt;Mumble&lt;/a&gt;&lt;/li&gt;
7918 &lt;li&gt;iMessage (included in iOS from Apple)&lt;/li&gt;
7919 &lt;li&gt;&lt;a href=&quot;https://telegram.org/&quot;&gt;Telegram&lt;/a&gt;&lt;/li&gt;
7920 &lt;li&gt;&lt;a href=&quot;https://jitsi.org/&quot;&gt;Jitsi&lt;/a&gt;&lt;/li&gt;
7921 &lt;li&gt;&lt;a href=&quot;https://keybase.io/download&quot;&gt;Keybase file&lt;/a&gt;&lt;/li&gt;
7922
7923 &lt;/ul&gt;
7924
7925 &lt;p&gt;Then the ones used by even fewer people&lt;/p&gt;
7926
7927 &lt;ul&gt;
7928
7929 &lt;li&gt;&lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;&lt;/li&gt;
7930 &lt;li&gt;&lt;a href=&quot;https://bitmessage.org/&quot;&gt;Bitmessage&lt;/a&gt;&lt;/li&gt;
7931 &lt;li&gt;&lt;a href=&quot;https://wire.com/&quot;&gt;Wire&lt;/a&gt;&lt;/li&gt;
7932 &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;
7933 &lt;li&gt;&lt;a href=&quot;https://matrix.org/&quot;&gt;Matrix&lt;/a&gt;&lt;/li&gt;
7934 &lt;li&gt;&lt;a href=&quot;https://kontalk.org/&quot;&gt;Kontalk&lt;/a&gt;&lt;/li&gt;
7935 &lt;li&gt;&lt;a href=&quot;https://0bin.net/&quot;&gt;0bin&lt;/a&gt; (encrypted pastebin)&lt;/li&gt;
7936 &lt;li&gt;&lt;a href=&quot;https://appear.in&quot;&gt;Appear.in&lt;/a&gt;&lt;/li&gt;
7937 &lt;li&gt;&lt;a href=&quot;https://riot.im/&quot;&gt;riot&lt;/a&gt;&lt;/li&gt;
7938 &lt;li&gt;&lt;a href=&quot;https://www.wickr.com/&quot;&gt;Wickr Me&lt;/a&gt;&lt;/li&gt;
7939
7940 &lt;/ul&gt;
7941
7942 &lt;p&gt;And finally the ones mentioned by not marked as used by
7943 anyone. This might be a mistake, perhaps the person adding the entry
7944 forgot to flag it as used?&lt;/p&gt;
7945
7946 &lt;ul&gt;
7947
7948 &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;
7949 &lt;li&gt;&lt;a href=&quot;https://www.crypho.com/&quot;&gt;Crypho&lt;/a&gt;&lt;/li&gt;
7950 &lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad&lt;/a&gt;&lt;/li&gt;
7951 &lt;li&gt;&lt;a href=&quot;https://github.com/ricochet-im/ricochet&quot;&gt;ricochet&lt;/a&gt;&lt;/li&gt;
7952
7953 &lt;/ul&gt;
7954
7955 &lt;p&gt;Given the network effect it seem obvious to me that we as a society
7956 have been divided and conquered by those interested in keeping
7957 encrypted and secure communication away from the masses. The
7958 finishing remarks &lt;a href=&quot;https://vimeo.com/97505679&quot;&gt;from Aral Balkan
7959 in his talk &quot;Free is a lie&quot;&lt;/a&gt; about the usability of free software
7960 really come into effect when you want to communicate in private with
7961 your friends and family. We can not expect them to allow the
7962 usability of communication tool to block their ability to talk to
7963 their loved ones.&lt;/p&gt;
7964
7965 &lt;p&gt;Note for example the option IRC w/OTR. Most IRC clients do not
7966 have OTR support, so in most cases OTR would not be an option, even if
7967 you wanted to. In my personal experience, about 1 in 20 I talk to
7968 have a IRC client with OTR. For private communication to really be
7969 available, most people to talk to must have the option in their
7970 currently used client. I can not simply ask my family to install an
7971 IRC client. I need to guide them through a technical multi-step
7972 process of adding extensions to the client to get them going. This is
7973 a non-starter for most.&lt;/p&gt;
7974
7975 &lt;p&gt;I would like to be able to do video phone calls, audio phone calls,
7976 exchange instant messages and share files with my loved ones, without
7977 being forced to share with people I do not know. I do not want to
7978 share the content of the conversations, and I do not want to share who
7979 I communicate with or the fact that I communicate with someone.
7980 Without all these factors in place, my private life is being more or
7981 less invaded.&lt;/p&gt;
7982
7983 &lt;p&gt;&lt;strong&gt;Update 2019-10-08&lt;/strong&gt;: Børge Dvergsdal, who told me he
7984 is Customer Relationship Manager @ Whereby (formerly appear.in),
7985 asked if I could mention that appear.in is now renamed and found at
7986 &lt;a href=&quot;https://whereby.com/&quot;&gt;https://whereby.com/&lt;/a&gt;. And sure,
7987 why not. Apparently they changed the name because they were unable
7988 to trademark appear.in somewhere... While I am at it, I can mention
7989 that Ring changed name to Jami, now available from &lt;a
7990 href=&quot;https://jami.net/&quot;&gt;https://jami.net/&lt;/a&gt;. Luckily they were
7991 able to have a direct redirect from ring.cx to jami.net, so the user
7992 experience is almost the same.&lt;/p&gt;
7993 </description>
7994 </item>
7995
7996 <item>
7997 <title>My own self balancing Lego Segway</title>
7998 <link>https://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html</link>
7999 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html</guid>
8000 <pubDate>Fri, 4 Nov 2016 10:15:00 +0100</pubDate>
8001 <description>&lt;p&gt;A while back I received a Gyro sensor for the NXT
8002 &lt;a href=&quot;mindstorms.lego.com&quot;&gt;Mindstorms&lt;/a&gt; controller as a birthday
8003 present. It had been on my wishlist for a while, because I wanted to
8004 build a Segway like balancing lego robot. I had already built
8005 &lt;a href=&quot;http://www.nxtprograms.com/NXT2/segway/&quot;&gt;a simple balancing
8006 robot&lt;/a&gt; with the kids, using the light/color sensor included in the
8007 NXT kit as the balance sensor, but it was not working very well. It
8008 could balance for a while, but was very sensitive to the light
8009 condition in the room and the reflective properties of the surface and
8010 would fall over after a short while. I wanted something more robust,
8011 and had
8012 &lt;a href=&quot;https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&amp;key=NGY1044&quot;&gt;the
8013 gyro sensor from HiTechnic&lt;/a&gt; I believed would solve it on my
8014 wishlist for some years before it suddenly showed up as a gift from my
8015 loved ones. :)&lt;/p&gt;
8016
8017 &lt;p&gt;Unfortunately I have not had time to sit down and play with it
8018 since then. But that changed some days ago, when I was searching for
8019 lego segway information and came across a recipe from HiTechnic for
8020 building
8021 &lt;a href=&quot;http://www.hitechnic.com/blog/gyro-sensor/htway/&quot;&gt;the
8022 HTWay&lt;/a&gt;, a segway like balancing robot. Build instructions and
8023 &lt;a href=&quot;https://www.hitechnic.com/upload/786-HTWayC.nxc&quot;&gt;source
8024 code&lt;/a&gt; was included, so it was just a question of putting it all
8025 together. And thanks to the great work of many Debian developers, the
8026 compiler needed to build the source for the NXT is already included in
8027 Debian, so I was read to go in less than an hour. The resulting robot
8028 do not look very impressive in its simplicity:&lt;/p&gt;
8029
8030 &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;
8031
8032 &lt;p&gt;Because I lack the infrared sensor used to control the robot in the
8033 design from HiTechnic, I had to comment out the last task
8034 (taskControl). I simply placed /* and */ around it get the program
8035 working without that sensor present. Now it balances just fine until
8036 the battery status run low:&lt;/p&gt;
8037
8038 &lt;p align=&quot;center&quot;&gt;&lt;video width=&quot;70%&quot; controls=&quot;true&quot;&gt;
8039 &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;
8040 &lt;/video&gt;&lt;/p&gt;
8041
8042 &lt;p&gt;Now we would like to teach it how to follow a line and take remote
8043 control instructions using the included Bluetooth receiver in the NXT.&lt;/p&gt;
8044
8045 &lt;p&gt;If you, like me, love LEGO and want to make sure we find the tools
8046 they need to work with LEGO in Debian and all our derivative
8047 distributions like Ubuntu, check out
8048 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;the LEGO designers
8049 project page&lt;/a&gt; and join the Debian LEGO team. Personally I own a
8050 RCX and NXT controller (no EV3), and would like to make sure the
8051 Debian tools needed to program the systems I own work as they
8052 should.&lt;/p&gt;
8053 </description>
8054 </item>
8055
8056 <item>
8057 <title>Experience and updated recipe for using the Signal app without a mobile phone</title>
8058 <link>https://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html</link>
8059 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html</guid>
8060 <pubDate>Mon, 10 Oct 2016 11:30:00 +0200</pubDate>
8061 <description>&lt;p&gt;In July
8062 &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
8063 wrote how to get the Signal Chrome/Chromium app working&lt;/a&gt; without
8064 the ability to receive SMS messages (aka without a cell phone). It is
8065 time to share some experiences and provide an updated setup.&lt;/p&gt;
8066
8067 &lt;p&gt;The Signal app have worked fine for several months now, and I use
8068 it regularly to chat with my loved ones. I had a major snag at the
8069 end of my summer vacation, when the the app completely forgot my
8070 setup, identity and keys. The reason behind this major mess was
8071 running out of disk space. To avoid that ever happening again I have
8072 started storing everything in &lt;tt&gt;userdata/&lt;/tt&gt; in git, to be able to
8073 roll back to an earlier version if the files are wiped by mistake. I
8074 had to use it once after introducing the git backup. When rolling
8075 back to an earlier version, one need to use the &#39;reset session&#39; option
8076 in Signal to get going, and notify the people you talk with about the
8077 problem. I assume there is some sequence number tracking in the
8078 protocol to detect rollback attacks. The git repository is rather big
8079 (674 MiB so far), but I have not tried to figure out if some of the
8080 content can be added to a .gitignore file due to lack of spare
8081 time.&lt;/p&gt;
8082
8083 &lt;p&gt;I&#39;ve also hit the 90 days timeout blocking, and noticed that this
8084 make it impossible to send messages using Signal. I could still
8085 receive them, but had to patch the code with a new timestamp to send.
8086 I believe the timeout is added by the developers to force people to
8087 upgrade to the latest version of the app, even when there is no
8088 protocol changes, to reduce the version skew among the user base and
8089 thus try to keep the number of support requests down.&lt;/p&gt;
8090
8091 &lt;p&gt;Since my original recipe, the Signal source code changed slightly,
8092 making the old patch fail to apply cleanly. Below is an updated
8093 patch, including the shell wrapper I use to start Signal. The
8094 original version required a new user to locate the JavaScript console
8095 and call a function from there. I got help from a friend with more
8096 JavaScript knowledge than me to modify the code to provide a GUI
8097 button instead. This mean that to get started you just need to run
8098 the wrapper and click the &#39;Register without mobile phone&#39; to get going
8099 now. I&#39;ve also modified the timeout code to always set it to 90 days
8100 in the future, to avoid having to patch the code regularly.&lt;/p&gt;
8101
8102 &lt;p&gt;So, the updated recipe for Debian Jessie:&lt;/p&gt;
8103
8104 &lt;ol&gt;
8105
8106 &lt;li&gt;First, install required packages to get the source code and the
8107 browser you need. Signal only work with Chrome/Chromium, as far as I
8108 know, so you need to install it.
8109
8110 &lt;pre&gt;
8111 apt install git tor chromium
8112 git clone https://github.com/WhisperSystems/Signal-Desktop.git
8113 &lt;/pre&gt;&lt;/li&gt;
8114
8115 &lt;li&gt;Modify the source code using command listed in the the patch
8116 block below.&lt;/li&gt;
8117
8118 &lt;li&gt;Start Signal using the run-signal-app wrapper (for example using
8119 &lt;tt&gt;`pwd`/run-signal-app&lt;/tt&gt;).
8120
8121 &lt;li&gt;Click on the &#39;Register without mobile phone&#39;, will in a phone
8122 number you can receive calls to the next minute, receive the
8123 verification code and enter it into the form field and press
8124 &#39;Register&#39;. Note, the phone number you use will be user Signal
8125 username, ie the way others can find you on Signal.&lt;/li&gt;
8126
8127 &lt;li&gt;You can now use Signal to contact others. Note, new contacts do
8128 not show up in the contact list until you restart Signal, and there is
8129 no way to assign names to Contacts. There is also no way to create or
8130 update chat groups. I suspect this is because the web app do not have
8131 a associated contact database.&lt;/li&gt;
8132
8133 &lt;/ol&gt;
8134
8135 &lt;p&gt;I am still a bit uneasy about using Signal, because of the way its
8136 main author moxie0 reject federation and accept dependencies to major
8137 corporations like Google (part of the code is fetched from Google) and
8138 Amazon (the central coordination point is owned by Amazon). See for
8139 example
8140 &lt;a href=&quot;https://github.com/LibreSignal/LibreSignal/issues/37&quot;&gt;the
8141 LibreSignal issue tracker&lt;/a&gt; for a thread documenting the authors
8142 view on these issues. But the network effect is strong in this case,
8143 and several of the people I want to communicate with already use
8144 Signal. Perhaps we can all move to &lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;
8145 once it &lt;a href=&quot;https://bugs.debian.org/830265&quot;&gt;work on my
8146 laptop&lt;/a&gt;? It already work on Windows and Android, and is included
8147 in &lt;a href=&quot;https://tracker.debian.org/pkg/ring&quot;&gt;Debian&lt;/a&gt; and
8148 &lt;a href=&quot;https://launchpad.net/ubuntu/+source/ring&quot;&gt;Ubuntu&lt;/a&gt;, but not
8149 working on Debian Stable.&lt;/p&gt;
8150
8151 &lt;p&gt;Anyway, this is the patch I apply to the Signal code to get it
8152 working. It switch to the production servers, disable to timeout,
8153 make registration easier and add the shell wrapper:&lt;/p&gt;
8154
8155 &lt;pre&gt;
8156 cd Signal-Desktop; cat &amp;lt;&amp;lt;EOF | patch -p1
8157 diff --git a/js/background.js b/js/background.js
8158 index 24b4c1d..579345f 100644
8159 --- a/js/background.js
8160 +++ b/js/background.js
8161 @@ -33,9 +33,9 @@
8162 });
8163 });
8164
8165 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
8166 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org&#39;;
8167 var SERVER_PORTS = [80, 4433, 8443];
8168 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
8169 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
8170 var messageReceiver;
8171 window.getSocketStatus = function() {
8172 if (messageReceiver) {
8173 diff --git a/js/expire.js b/js/expire.js
8174 index 639aeae..beb91c3 100644
8175 --- a/js/expire.js
8176 +++ b/js/expire.js
8177 @@ -1,6 +1,6 @@
8178 ;(function() {
8179 &#39;use strict&#39;;
8180 - var BUILD_EXPIRATION = 0;
8181 + var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
8182
8183 window.extension = window.extension || {};
8184
8185 diff --git a/js/views/install_view.js b/js/views/install_view.js
8186 index 7816f4f..1d6233b 100644
8187 --- a/js/views/install_view.js
8188 +++ b/js/views/install_view.js
8189 @@ -38,7 +38,8 @@
8190 return {
8191 &#39;click .step1&#39;: this.selectStep.bind(this, 1),
8192 &#39;click .step2&#39;: this.selectStep.bind(this, 2),
8193 - &#39;click .step3&#39;: this.selectStep.bind(this, 3)
8194 + &#39;click .step3&#39;: this.selectStep.bind(this, 3),
8195 + &#39;click .callreg&#39;: function() { extension.install(&#39;standalone&#39;) },
8196 };
8197 },
8198 clearQR: function() {
8199 diff --git a/options.html b/options.html
8200 index dc0f28e..8d709f6 100644
8201 --- a/options.html
8202 +++ b/options.html
8203 @@ -14,7 +14,10 @@
8204 &amp;lt;div class=&#39;nav&#39;&gt;
8205 &amp;lt;h1&gt;{{ installWelcome }}&amp;lt;/h1&gt;
8206 &amp;lt;p&gt;{{ installTagline }}&amp;lt;/p&gt;
8207 - &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt; &amp;lt;/div&gt;
8208 + &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt;
8209 + &amp;lt;br&gt; &amp;lt;a class=&quot;button callreg&quot;&gt;Register without mobile phone&amp;lt;/a&gt;
8210 +
8211 + &amp;lt;/div&gt;
8212 &amp;lt;span class=&#39;dot step1 selected&#39;&gt;&amp;lt;/span&gt;
8213 &amp;lt;span class=&#39;dot step2&#39;&gt;&amp;lt;/span&gt;
8214 &amp;lt;span class=&#39;dot step3&#39;&gt;&amp;lt;/span&gt;
8215 --- /dev/null 2016-10-07 09:55:13.730181472 +0200
8216 +++ b/run-signal-app 2016-10-10 08:54:09.434172391 +0200
8217 @@ -0,0 +1,12 @@
8218 +#!/bin/sh
8219 +set -e
8220 +cd $(dirname $0)
8221 +mkdir -p userdata
8222 +userdata=&quot;`pwd`/userdata&quot;
8223 +if [ -d &quot;$userdata&quot; ] &amp;&amp; [ ! -d &quot;$userdata/.git&quot; ] ; then
8224 + (cd $userdata &amp;&amp; git init)
8225 +fi
8226 +(cd $userdata &amp;&amp; git add . &amp;&amp; git commit -m &quot;Current status.&quot; || true)
8227 +exec chromium \
8228 + --proxy-server=&quot;socks://localhost:9050&quot; \
8229 + --user-data-dir=$userdata --load-and-launch-app=`pwd`
8230 EOF
8231 chmod a+rx run-signal-app
8232 &lt;/pre&gt;
8233
8234 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
8235 activities, please send Bitcoin donations to my address
8236 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
8237 </description>
8238 </item>
8239
8240 <item>
8241 <title>Isenkram, Appstream and udev make life as a LEGO builder easier</title>
8242 <link>https://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</link>
8243 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</guid>
8244 <pubDate>Fri, 7 Oct 2016 09:50:00 +0200</pubDate>
8245 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
8246 system&lt;/a&gt; provide a practical and easy way to figure out which
8247 packages support the hardware in a given machine. The command line
8248 tool &lt;tt&gt;isenkram-lookup&lt;/tt&gt; and the tasksel options provide a
8249 convenient way to list and install packages relevant for the current
8250 hardware during system installation, both user space packages and
8251 firmware packages. The GUI background daemon on the other hand provide
8252 a pop-up proposing to install packages when a new dongle is inserted
8253 while using the computer. For example, if you plug in a smart card
8254 reader, the system will ask if you want to install &lt;tt&gt;pcscd&lt;/tt&gt; if
8255 that package isn&#39;t already installed, and if you plug in a USB video
8256 camera the system will ask if you want to install &lt;tt&gt;cheese&lt;/tt&gt; if
8257 cheese is currently missing. This already work just fine.&lt;/p&gt;
8258
8259 &lt;p&gt;But Isenkram depend on a database mapping from hardware IDs to
8260 package names. When I started no such database existed in Debian, so
8261 I made my own data set and included it with the isenkram package and
8262 made isenkram fetch the latest version of this database from git using
8263 http. This way the isenkram users would get updated package proposals
8264 as soon as I learned more about hardware related packages.&lt;/p&gt;
8265
8266 &lt;p&gt;The hardware is identified using modalias strings. The modalias
8267 design is from the Linux kernel where most hardware descriptors are
8268 made available as a strings that can be matched using filename style
8269 globbing. It handle USB, PCI, DMI and a lot of other hardware related
8270 identifiers.&lt;/p&gt;
8271
8272 &lt;p&gt;The downside to the Isenkram specific database is that there is no
8273 information about relevant distribution / Debian version, making
8274 isenkram propose obsolete packages too. But along came AppStream, a
8275 cross distribution mechanism to store and collect metadata about
8276 software packages. When I heard about the proposal, I contacted the
8277 people involved and suggested to add a hardware matching rule using
8278 modalias strings in the specification, to be able to use AppStream for
8279 mapping hardware to packages. This idea was accepted and AppStream is
8280 now a great way for a package to announce the hardware it support in a
8281 distribution neutral way. I wrote
8282 &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
8283 recipe on how to add such meta-information&lt;/a&gt; in a blog post last
8284 December. If you have a hardware related package in Debian, please
8285 announce the relevant hardware IDs using AppStream.&lt;/p&gt;
8286
8287 &lt;p&gt;In Debian, almost all packages that can talk to a LEGO Mindestorms
8288 RCX or NXT unit, announce this support using AppStream. The effect is
8289 that when you insert such LEGO robot controller into your Debian
8290 machine, Isenkram will propose to install the packages needed to get
8291 it working. The intention is that this should allow the local user to
8292 start programming his robot controller right away without having to
8293 guess what packages to use or which permissions to fix.&lt;/p&gt;
8294
8295 &lt;p&gt;But when I sat down with my son the other day to program our NXT
8296 unit using his Debian Stretch computer, I discovered something
8297 annoying. The local console user (ie my son) did not get access to
8298 the USB device for programming the unit. This used to work, but no
8299 longer in Jessie and Stretch. After some investigation and asking
8300 around on #debian-devel, I discovered that this was because udev had
8301 changed the mechanism used to grant access to local devices. The
8302 ConsoleKit mechanism from &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;
8303 no longer applied, because LDAP users no longer was added to the
8304 plugdev group during login. Michael Biebl told me that this method
8305 was obsolete and the new method used ACLs instead. This was good
8306 news, as the plugdev mechanism is a mess when using a remote user
8307 directory like LDAP. Using ACLs would make sure a user lost device
8308 access when she logged out, even if the user left behind a background
8309 process which would retain the plugdev membership with the ConsoleKit
8310 setup. Armed with this knowledge I moved on to fix the access problem
8311 for the LEGO Mindstorms related packages.&lt;/p&gt;
8312
8313 &lt;p&gt;The new system uses a udev tag, &#39;uaccess&#39;. It can either be
8314 applied directly for a device, or is applied in
8315 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
8316 LEGO Mindstorms udev rules did not have a class, I decided to add the
8317 tag directly in the udev rules files included in the packages. Here
8318 is one example. For the nqc C compiler for the RCX, the
8319 &lt;tt&gt;/lib/udev/rules.d/60-nqc.rules&lt;/tt&gt; file now look like this:
8320
8321 &lt;p&gt;&lt;pre&gt;
8322 SUBSYSTEM==&quot;usb&quot;, ACTION==&quot;add&quot;, ATTR{idVendor}==&quot;0694&quot;, ATTR{idProduct}==&quot;0001&quot;, \
8323 SYMLINK+=&quot;rcx-%k&quot;, TAG+=&quot;uaccess&quot;
8324 &lt;/pre&gt;&lt;/p&gt;
8325
8326 &lt;p&gt;The key part is the &#39;TAG+=&quot;uaccess&quot;&#39; at the end. I suspect all
8327 packages using plugdev in their /lib/udev/rules.d/ files should be
8328 changed to use this tag (either directly or indirectly via
8329 &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;). Perhaps a lintian check should be created
8330 to detect this?&lt;/p&gt;
8331
8332 &lt;p&gt;I&#39;ve been unable to find good documentation on the uaccess feature.
8333 It is unclear to me if the uaccess tag is an internal implementation
8334 detail like the udev-acl tag used by
8335 &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;. If it is, I guess the
8336 indirect method is the preferred way. Michael
8337 &lt;a href=&quot;https://github.com/systemd/systemd/issues/4288&quot;&gt;asked for more
8338 documentation from the systemd project&lt;/a&gt; and I hope it will make
8339 this clearer. For now I use the generic classes when they exist and
8340 is already handled by &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;, and add the tag
8341 directly if no such class exist.&lt;/p&gt;
8342
8343 &lt;p&gt;To learn more about the isenkram system, please check out
8344 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
8345 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
8346
8347 &lt;p&gt;To help out making life for LEGO constructors in Debian easier,
8348 please join us on our IRC channel
8349 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; and join
8350 the &lt;a href=&quot;https://alioth.debian.org/projects/debian-lego/&quot;&gt;Debian
8351 LEGO team&lt;/a&gt; in the Alioth project we created yesterday. A mailing
8352 list is not yet created, but we are working on it. :)&lt;/p&gt;
8353
8354 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
8355 activities, please send Bitcoin donations to my address
8356 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
8357 </description>
8358 </item>
8359
8360 <item>
8361 <title>First draft Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook now public</title>
8362 <link>https://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</link>
8363 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</guid>
8364 <pubDate>Tue, 30 Aug 2016 10:10:00 +0200</pubDate>
8365 <description>&lt;p&gt;In April we
8366 &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
8367 to work&lt;/a&gt; on a Norwegian Bokmål edition of the &quot;open access&quot; book on
8368 how to set up and administrate a Debian system. Today I am happy to
8369 report that the first draft is now publicly available. You can find
8370 it on &lt;a href=&quot;https://debian-handbook.info/get/&quot;&gt;get the Debian
8371 Administrator&#39;s Handbook page&lt;/a&gt; (under Other languages). The first
8372 eight chapters have a first draft translation, and we are working on
8373 proofreading the content. If you want to help out, please start
8374 contributing using
8375 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
8376 hosted weblate project page&lt;/a&gt;, and get in touch using
8377 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
8378 translators mailing list&lt;/a&gt;. Please also check out
8379 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
8380 contributors&lt;/a&gt;. A good way to contribute is to proofread the text
8381 and update weblate if you find errors.&lt;/p&gt;
8382
8383 &lt;p&gt;Our goal is still to make the Norwegian book available on paper as well as
8384 electronic form.&lt;/p&gt;
8385 </description>
8386 </item>
8387
8388 <item>
8389 <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
8390 <link>https://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
8391 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
8392 <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
8393 <description>&lt;p&gt;This summer, I read a great article
8394 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
8395 This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
8396 how to profile multi-threaded programs. It presented a system for
8397 profiling software by running experiences in the running program,
8398 testing how run time performance is affected by &quot;speeding up&quot; parts of
8399 the code to various degrees compared to a normal run. It does this by
8400 slowing down parallel threads while the &quot;faster up&quot; code is running
8401 and measure how this affect processing time. The processing time is
8402 measured using probes inserted into the code, either using progress
8403 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
8404 can also measure unmodified code by measuring complete the program
8405 runtime and running the program several times instead.&lt;/p&gt;
8406
8407 &lt;p&gt;The project and presentation was so inspiring that I would like to
8408 get the system into Debian. I
8409 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
8410 a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
8411 system ready for Debian by sending patches. The build process need to
8412 be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
8413 to include the JavaScript web page used to visualize the collected
8414 profiling information included in the source package.
8415 But I expect that should work out fairly soon.&lt;/p&gt;
8416
8417 &lt;p&gt;The way the system work is fairly simple. To run an coz experiment
8418 on a binary with debug symbols available, start the program like this:
8419
8420 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8421 coz run --- program-to-run
8422 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8423
8424 &lt;p&gt;This will create a text file profile.coz with the instrumentation
8425 information. To show what part of the code affect the performance
8426 most, use a web browser and either point it to
8427 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
8428 or use the copy from git (in the gh-pages branch). Check out this web
8429 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
8430 profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
8431 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
8432 code, rebuild and run the profiler. This allow coz to do more
8433 targeted experiments.&lt;/p&gt;
8434
8435 &lt;p&gt;A video published by ACM
8436 &lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
8437 Coz profiler&lt;/a&gt; is available from Youtube. There is also a paper
8438 from the 25th Symposium on Operating Systems Principles available
8439 titled
8440 &lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
8441 finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
8442
8443 &lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
8444 for Coz is available from github. It will only build with clang
8445 because it uses a
8446 &lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
8447 feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
8448 &lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
8449 it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
8450
8451 &lt;p&gt;Please get in touch if you, like me, would like to see this piece
8452 of software in Debian. I would very much like some help with the
8453 packaging effort, as I lack the in depth knowledge on how to package
8454 C++ libraries.&lt;/p&gt;
8455 </description>
8456 </item>
8457
8458 <item>
8459 <title>Sales number for the Free Culture translation, first half of 2016</title>
8460 <link>https://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
8461 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
8462 <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
8463 <description>&lt;p&gt;As my regular readers probably remember, the last year I published
8464 a French and Norwegian translation of the classic
8465 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture book&lt;/a&gt; by the
8466 founder of the Creative Commons movement, Lawrence Lessig. A bit less
8467 known is the fact that due to the way I created the translations,
8468 using docbook and po4a, I also recreated the English original. And
8469 because I already had created a new the PDF edition, I published it
8470 too. The revenue from the books are sent to the Creative Commons
8471 Corporation. In other words, I do not earn any money from this
8472 project, I just earn the warm fuzzy feeling that the text is available
8473 for a wider audience and more people can learn why the Creative
8474 Commons is needed.&lt;/p&gt;
8475
8476 &lt;p&gt;Today, just for fun, I had a look at the sales number over at
8477 Lulu.com, which take care of payment, printing and shipping. Much to
8478 my surprise, the English edition is selling better than both the
8479 French and Norwegian edition, despite the fact that it has been
8480 available in English since it was first published. In total, 24 paper
8481 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:&lt;/p&gt;
8482
8483 &lt;table border=&quot;0&quot;&gt;
8484 &lt;tr&gt;&lt;th&gt;Title / language&lt;/th&gt;&lt;th&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
8485 &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;
8486 &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;
8487 &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;
8488 &lt;/table&gt;
8489
8490 &lt;p&gt;The books are available both from Lulu.com and from large book
8491 stores like Amazon and Barnes&amp;Noble. Most revenue, around $10 per
8492 book, is sent to the Creative Commons project when the book is sold
8493 directly by Lulu.com. The other channels give less revenue. The
8494 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
8495 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
8496 me that the revenue sent so far this year is USD $101.42. No idea
8497 what kind of sales numbers to expect, so I do not know if that is a
8498 good amount of sales for a 10 year old book or not. But it make me
8499 happy that the buyers find the book, and I hope they enjoy reading it
8500 as much as I did.&lt;/p&gt;
8501
8502 &lt;p&gt;The ebook edition is available for free from
8503 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
8504
8505 &lt;p&gt;If you would like to translate and publish the book in your native
8506 language, I would be happy to help make it happen. Please get in
8507 touch.&lt;/p&gt;
8508 </description>
8509 </item>
8510
8511 <item>
8512 <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
8513 <link>https://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
8514 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
8515 <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
8516 <description>&lt;p&gt;Did you know there is a TV channel broadcasting talks from DebConf
8517 16 across an entire country? Or that there is a TV channel
8518 broadcasting talks by or about
8519 &lt;a href=&quot;http://beta.frikanalen.no/video/625529/&quot;&gt;Linus Torvalds&lt;/a&gt;,
8520 &lt;a href=&quot;http://beta.frikanalen.no/video/625599/&quot;&gt;Tor&lt;/a&gt;,
8521 &lt;a href=&quot;http://beta.frikanalen.no/video/624019/&quot;&gt;OpenID&lt;/A&gt;,
8522 &lt;a href=&quot;http://beta.frikanalen.no/video/625624/&quot;&gt;Common Lisp&lt;/a&gt;,
8523 &lt;a href=&quot;http://beta.frikanalen.no/video/625446/&quot;&gt;Civic Tech&lt;/a&gt;,
8524 &lt;a href=&quot;http://beta.frikanalen.no/video/625090/&quot;&gt;EFF founder John Barlow&lt;/a&gt;,
8525 &lt;a href=&quot;http://beta.frikanalen.no/video/625432/&quot;&gt;how to make 3D
8526 printer electronics&lt;/a&gt; and many more fascinating topics? It works
8527 using only free software (all of it
8528 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from Github&lt;/a&gt;), and
8529 is administrated using a web browser and a web API.&lt;/p&gt;
8530
8531 &lt;p&gt;The TV channel is the Norwegian open channel
8532 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, and I am involved
8533 via &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG member association&lt;/a&gt; in
8534 running and developing the software for the channel. The channel is
8535 organised as a member organisation where its members can upload and
8536 broadcast what they want (think of it as Youtube for national
8537 broadcasting television). Individuals can broadcast too. The time
8538 slots are handled on a first come, first serve basis. Because the
8539 channel have almost no viewers and very few active members, we can
8540 experiment with TV technology without too much flack when we make
8541 mistakes. And thanks to the few active members, most of the slots on
8542 the schedule are free. I see this as an opportunity to spread
8543 knowledge about technology and free software, and have a script I run
8544 regularly to fill up all the open slots the next few days with
8545 technology related video. The end result is a channel I like to
8546 describe as Techno TV - filled with interesting talks and
8547 presentations.&lt;/p&gt;
8548
8549 &lt;p&gt;It is available on channel 50 on the Norwegian national digital TV
8550 network (RiksTV). It is also available as a multicast stream on
8551 Uninett. And finally, it is available as
8552 &lt;a href=&quot;http://beta.frikanalen.no/&quot;&gt;a WebM unicast stream&lt;/a&gt; from
8553 Frikanalen and NUUG. Check it out. :)&lt;/p&gt;
8554 </description>
8555 </item>
8556
8557 <item>
8558 <title>Unlocking HTC Desire HD on Linux using unruu and fastboot</title>
8559 <link>https://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</link>
8560 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</guid>
8561 <pubDate>Thu, 7 Jul 2016 11:30:00 +0200</pubDate>
8562 <description>&lt;p&gt;Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
8563 to be a slight challenge. Here is the recipe if I ever need to do it
8564 again. It all started by me wanting to try the recipe to set up
8565 &lt;a href=&quot;https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy&quot;&gt;an
8566 hardened Android installation&lt;/a&gt; from the Tor project blog on a
8567 device I had access to. It is a old mobile phone with a broken
8568 microphone The initial idea had been to just
8569 &lt;a href=&quot;http://wiki.cyanogenmod.org/w/Install_CM_for_ace&quot;&gt;install
8570 CyanogenMod on it&lt;/a&gt;, but did not quite find time to start on it
8571 until a few days ago.&lt;/p&gt;
8572
8573 &lt;p&gt;The unlock process is supposed to be simple: (1) Boot into the boot
8574 loader (press volume down and power at the same time), (2) select
8575 &#39;fastboot&#39; before (3) connecting the device via USB to a Linux
8576 machine, (4) request the device identifier token by running &#39;fastboot
8577 oem get_identifier_token&#39;, (5) request the device unlocking key using
8578 the &lt;a href=&quot;http://www.htcdev.com/bootloader/&quot;&gt;HTC developer web
8579 site&lt;/a&gt; and unlock the phone using the key file emailed to you.&lt;/p&gt;
8580
8581 &lt;p&gt;Unfortunately, this only work fi you have hboot version 2.00.0029
8582 or newer, and the device I was working on had 2.00.0027. This
8583 apparently can be easily fixed by downloading a Windows program and
8584 running it on your Windows machine, if you accept the terms Microsoft
8585 require you to accept to use Windows - which I do not. So I had to
8586 come up with a different approach. I got a lot of help from AndyCap
8587 on #nuug, and would not have been able to get this working without
8588 him.&lt;/p&gt;
8589
8590 &lt;p&gt;First I needed to extract the hboot firmware from
8591 &lt;a href=&quot;http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe&quot;&gt;the
8592 windows binary for HTC Desire HD&lt;/a&gt; downloaded as &#39;the RUU&#39; from HTC.
8593 For this there is is &lt;a href=&quot;https://github.com/kmdm/unruu/&quot;&gt;a github
8594 project named unruu&lt;/a&gt; using libunshield. The unshield tool did not
8595 recognise the file format, but unruu worked and extracted rom.zip,
8596 containing the new hboot firmware and a text file describing which
8597 devices it would work for.&lt;/p&gt;
8598
8599 &lt;p&gt;Next, I needed to get the new firmware into the device. For this I
8600 followed some instructions
8601 &lt;a href=&quot;http://www.htc1guru.com/2013/09/new-ruu-zips-posted/&quot;&gt;available
8602 from HTC1Guru.com&lt;/a&gt;, and ran these commands as root on a Linux
8603 machine with Debian testing:&lt;/p&gt;
8604
8605 &lt;p&gt;&lt;pre&gt;
8606 adb reboot-bootloader
8607 fastboot oem rebootRUU
8608 fastboot flash zip rom.zip
8609 fastboot flash zip rom.zip
8610 fastboot reboot
8611 &lt;/pre&gt;&lt;/p&gt;
8612
8613 &lt;p&gt;The flash command apparently need to be done twice to take effect,
8614 as the first is just preparations and the second one do the flashing.
8615 The adb command is just to get to the boot loader menu, so turning the
8616 device on while holding volume down and the power button should work
8617 too.&lt;/p&gt;
8618
8619 &lt;p&gt;With the new hboot version in place I could start following the
8620 instructions on the HTC developer web site. I got the device token
8621 like this:&lt;/p&gt;
8622
8623 &lt;p&gt;&lt;pre&gt;
8624 fastboot oem get_identifier_token 2&gt;&amp;1 | sed &#39;s/(bootloader) //&#39;
8625 &lt;/pre&gt;
8626
8627 &lt;p&gt;And once I got the unlock code via email, I could use it like
8628 this:&lt;/p&gt;
8629
8630 &lt;p&gt;&lt;pre&gt;
8631 fastboot flash unlocktoken Unlock_code.bin
8632 &lt;/pre&gt;&lt;/p&gt;
8633
8634 &lt;p&gt;And with that final step in place, the phone was unlocked and I
8635 could start stuffing the software of my own choosing into the device.
8636 So far I only inserted a replacement recovery image to wipe the phone
8637 before I start. We will see what happen next. Perhaps I should
8638 install &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; on it. :)&lt;/p&gt;
8639 </description>
8640 </item>
8641
8642 <item>
8643 <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
8644 <link>https://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</link>
8645 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</guid>
8646 <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
8647 <description>&lt;p&gt;For a while now, I have wanted to test
8648 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;the Signal app&lt;/a&gt;, as it is
8649 said to provide end to end encrypted communication and several of my
8650 friends and family are already using it. As I by choice do not own a
8651 mobile phone, this proved to be harder than expected. And I wanted to
8652 have the source of the client and know that it was the code used on my
8653 machine. But yesterday I managed to get it working. I used the
8654 Github source, compared it to the source in
8655 &lt;a href=&quot;https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US&quot;&gt;the
8656 Signal Chrome app&lt;/a&gt; available from the Chrome web store, applied
8657 patches to use the production Signal servers, started the app and
8658 asked for the hidden &quot;register without a smart phone&quot; form. Here is
8659 the recipe how I did it.&lt;/p&gt;
8660
8661 &lt;p&gt;First, I fetched the Signal desktop source from Github, using
8662
8663 &lt;pre&gt;
8664 git clone https://github.com/WhisperSystems/Signal-Desktop.git
8665 &lt;/pre&gt;
8666
8667 &lt;p&gt;Next, I patched the source to use the production servers, to be
8668 able to talk to other Signal users:&lt;/p&gt;
8669
8670 &lt;pre&gt;
8671 cat &amp;lt;&amp;lt;EOF | patch -p0
8672 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
8673 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
8674 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
8675 @@ -47,8 +47,8 @@
8676 });
8677 });
8678
8679 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
8680 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
8681 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org:4433&#39;;
8682 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
8683 var messageReceiver;
8684 window.getSocketStatus = function() {
8685 if (messageReceiver) {
8686 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
8687 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
8688 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
8689 @@ -1,6 +1,6 @@
8690 ;(function() {
8691 &#39;use strict&#39;;
8692 - var BUILD_EXPIRATION = 0;
8693 + var BUILD_EXPIRATION = 1474492690000;
8694
8695 window.extension = window.extension || {};
8696
8697 EOF
8698 &lt;/pre&gt;
8699
8700 &lt;p&gt;The first part is changing the servers, and the second is updating
8701 an expiration timestamp. This timestamp need to be updated regularly.
8702 It is set 90 days in the future by the build process (Gruntfile.js).
8703 The value is seconds since 1970 times 1000, as far as I can tell.&lt;/p&gt;
8704
8705 &lt;p&gt;Based on a tip and good help from the #nuug IRC channel, I wrote a
8706 script to launch Signal in Chromium.&lt;/p&gt;
8707
8708 &lt;pre&gt;
8709 #!/bin/sh
8710 cd $(dirname $0)
8711 mkdir -p userdata
8712 exec chromium \
8713 --proxy-server=&quot;socks://localhost:9050&quot; \
8714 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
8715 &lt;/pre&gt;
8716
8717 &lt;p&gt; The script start the app and configure Chromium to use the Tor
8718 SOCKS5 proxy to make sure those controlling the Signal servers (today
8719 Amazon and Whisper Systems) as well as those listening on the lines
8720 will have a harder time location my laptop based on the Signal
8721 connections if they use source IP address.&lt;/p&gt;
8722
8723 &lt;p&gt;When the script starts, one need to follow the instructions under
8724 &quot;Standalone Registration&quot; in the CONTRIBUTING.md file in the git
8725 repository. I right clicked on the Signal window to get up the
8726 Chromium debugging tool, visited the &#39;Console&#39; tab and wrote
8727 &#39;extension.install(&quot;standalone&quot;)&#39; on the console prompt to get the
8728 registration form. Then I entered by land line phone number and
8729 pressed &#39;Call&#39;. 5 seconds later the phone rang and a robot voice
8730 repeated the verification code three times. After entering the number
8731 into the verification code field in the form, I could start using
8732 Signal from my laptop.
8733
8734 &lt;p&gt;As far as I can tell, The Signal app will leak who is talking to
8735 whom and thus who know who to those controlling the central server,
8736 but such leakage is hard to avoid with a centrally controlled server
8737 setup. It is something to keep in mind when using Signal - the
8738 content of your chats are harder to intercept, but the meta data
8739 exposing your contact network is available to people you do not know.
8740 So better than many options, but not great. And sadly the usage is
8741 connected to my land line, thus allowing those controlling the server
8742 to associate it to my home and person. I would prefer it if only
8743 those I knew could tell who I was on Signal. There are options
8744 avoiding such information leakage, but most of my friends are not
8745 using them, so I am stuck with Signal for now.&lt;/p&gt;
8746
8747 &lt;p&gt;&lt;strong&gt;Update 2017-01-10&lt;/strong&gt;: There is an updated blog post
8748 on this topic in
8749 &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
8750 and updated recipe for using the Signal app without a mobile
8751 phone&lt;/a&gt;.&lt;/p&gt;
8752 </description>
8753 </item>
8754
8755 <item>
8756 <title>The new &quot;best&quot; multimedia player in Debian?</title>
8757 <link>https://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</link>
8758 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</guid>
8759 <pubDate>Mon, 6 Jun 2016 12:50:00 +0200</pubDate>
8760 <description>&lt;p&gt;When I set out a few weeks ago to figure out
8761 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html&quot;&gt;which
8762 multimedia player in Debian claimed to support most file formats /
8763 MIME types&lt;/a&gt;, I was a bit surprised how varied the sets of MIME types
8764 the various players claimed support for. The range was from 55 to 130
8765 MIME types. I suspect most media formats are supported by all
8766 players, but this is not really reflected in the MimeTypes values in
8767 their desktop files. There are probably also some bogus MIME types
8768 listed, but it is hard to identify which one this is.&lt;/p&gt;
8769
8770 &lt;p&gt;Anyway, in the mean time I got in touch with upstream for some of
8771 the players suggesting to add more MIME types to their desktop files,
8772 and decided to spend some time myself improving the situation for my
8773 favorite media player VLC. The fixes for VLC entered Debian unstable
8774 yesterday. The complete list of MIME types can be seen on the
8775 &lt;a href=&quot;https://wiki.debian.org/DebianMultimedia/PlayerSupport&quot;&gt;Multimedia
8776 player MIME type support status&lt;/a&gt; Debian wiki page.&lt;/p&gt;
8777
8778 &lt;p&gt;The new &quot;best&quot; multimedia player in Debian? It is VLC, followed by
8779 totem, parole, kplayer, gnome-mpv, mpv, smplayer, mplayer-gui and
8780 kmplayer. I am sure some of the other players desktop files support
8781 several of the formats currently listed as working only with vlc,
8782 toten and parole.&lt;/p&gt;
8783
8784 &lt;p&gt;A sad observation is that only 14 MIME types are listed as
8785 supported by all the tested multimedia players in Debian in their
8786 desktop files: audio/mpeg, audio/vnd.rn-realaudio, audio/x-mpegurl,
8787 audio/x-ms-wma, audio/x-scpls, audio/x-wav, video/mp4, video/mpeg,
8788 video/quicktime, video/vnd.rn-realvideo, video/x-matroska,
8789 video/x-ms-asf, video/x-ms-wmv and video/x-msvideo. Personally I find
8790 it sad that video/ogg and video/webm is not supported by all the media
8791 players in Debian. As far as I can tell, all of them can handle both
8792 formats.&lt;/p&gt;
8793 </description>
8794 </item>
8795
8796 <item>
8797 <title>A program should be able to open its own files on Linux</title>
8798 <link>https://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</link>
8799 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</guid>
8800 <pubDate>Sun, 5 Jun 2016 08:30:00 +0200</pubDate>
8801 <description>&lt;p&gt;Many years ago, when koffice was fresh and with few users, I
8802 decided to test its presentation tool when making the slides for a
8803 talk I was giving for NUUG on Japhar, a free Java virtual machine. I
8804 wrote the first draft of the slides, saved the result and went to bed
8805 the day before I would give the talk. The next day I took a plane to
8806 the location where the meeting should take place, and on the plane I
8807 started up koffice again to polish the talk a bit, only to discover
8808 that kpresenter refused to load its own data file. I cursed a bit and
8809 started making the slides again from memory, to have something to
8810 present when I arrived. I tested that the saved files could be
8811 loaded, and the day seemed to be rescued. I continued to polish the
8812 slides until I suddenly discovered that the saved file could no longer
8813 be loaded into kpresenter. In the end I had to rewrite the slides
8814 three times, condensing the content until the talk became shorter and
8815 shorter. After the talk I was able to pinpoint the problem &amp;ndash;
8816 kpresenter wrote inline images in a way itself could not understand.
8817 Eventually that bug was fixed and kpresenter ended up being a great
8818 program to make slides. The point I&#39;m trying to make is that we
8819 expect a program to be able to load its own data files, and it is
8820 embarrassing to its developers if it can&#39;t.&lt;/p&gt;
8821
8822 &lt;p&gt;Did you ever experience a program failing to load its own data
8823 files from the desktop file browser? It is not a uncommon problem. A
8824 while back I discovered that the screencast recorder
8825 gtk-recordmydesktop would save an Ogg Theora video file the KDE file
8826 browser would refuse to open. No video player claimed to understand
8827 such file. I tracked down the cause being &lt;tt&gt;file --mime-type&lt;/tt&gt;
8828 returning the application/ogg MIME type, which no video player I had
8829 installed listed as a MIME type they would understand. I asked for
8830 &lt;a href=&quot;http://bugs.gw.com/view.php?id=382&quot;&gt;file to change its
8831 behavour&lt;/a&gt; and use the MIME type video/ogg instead. I also asked
8832 several video players to add video/ogg to their desktop files, to give
8833 the file browser an idea what to do about Ogg Theora files. After a
8834 while, the desktop file browsers in Debian started to handle the
8835 output from gtk-recordmydesktop properly.&lt;/p&gt;
8836
8837 &lt;p&gt;But history repeats itself. A few days ago I tested the music
8838 system Rosegarden again, and I discovered that the KDE and xfce file
8839 browsers did not know what to do with the Rosegarden project files
8840 (*.rg). I&#39;ve reported &lt;a href=&quot;http://bugs.debian.org/825993&quot;&gt;the
8841 rosegarden problem to BTS&lt;/a&gt; and a fix is commited to git and will be
8842 included in the next upload. To increase the chance of me remembering
8843 how to fix the problem next time some program fail to load its files
8844 from the file browser, here are some notes on how to fix it.&lt;/p&gt;
8845
8846 &lt;p&gt;The file browsers in Debian in general operates on MIME types.
8847 There are two sources for the MIME type of a given file. The output from
8848 &lt;tt&gt;file --mime-type&lt;/tt&gt; mentioned above, and the content of the
8849 shared MIME type registry (under /usr/share/mime/). The file MIME
8850 type is mapped to programs supporting the MIME type, and this
8851 information is collected from
8852 &lt;a href=&quot;https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/&quot;&gt;the
8853 desktop files&lt;/a&gt; available in /usr/share/applications/. If there is
8854 one desktop file claiming support for the MIME type of the file, it is
8855 activated when asking to open a given file. If there are more, one
8856 can normally select which one to use by right-clicking on the file and
8857 selecting the wanted one using &#39;Open with&#39; or similar. In general
8858 this work well. But it depend on each program picking a good MIME
8859 type (preferably
8860 &lt;a href=&quot;http://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;a
8861 MIME type registered with IANA&lt;/a&gt;), file and/or the shared MIME
8862 registry recognizing the file and the desktop file to list the MIME
8863 type in its list of supported MIME types.&lt;/p&gt;
8864
8865 &lt;p&gt;The &lt;tt&gt;/usr/share/mime/packages/rosegarden.xml&lt;/tt&gt; entry for
8866 &lt;a href=&quot;http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec&quot;&gt;the
8867 Shared MIME database&lt;/a&gt; look like this:&lt;/p&gt;
8868
8869 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8870 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
8871 &amp;lt;mime-info xmlns=&quot;http://www.freedesktop.org/standards/shared-mime-info&quot;&amp;gt;
8872 &amp;lt;mime-type type=&quot;audio/x-rosegarden&quot;&amp;gt;
8873 &amp;lt;sub-class-of type=&quot;application/x-gzip&quot;/&amp;gt;
8874 &amp;lt;comment&amp;gt;Rosegarden project file&amp;lt;/comment&amp;gt;
8875 &amp;lt;glob pattern=&quot;*.rg&quot;/&amp;gt;
8876 &amp;lt;/mime-type&amp;gt;
8877 &amp;lt;/mime-info&amp;gt;
8878 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8879
8880 &lt;p&gt;This states that audio/x-rosegarden is a kind of application/x-gzip
8881 (it is a gzipped XML file). Note, it is much better to use an
8882 official MIME type registered with IANA than it is to make up ones own
8883 unofficial ones like the x-rosegarden type used by rosegarden.&lt;/p&gt;
8884
8885 &lt;p&gt;The desktop file of the rosegarden program failed to list
8886 audio/x-rosegarden in its list of supported MIME types, causing the
8887 file browsers to have no idea what to do with *.rg files:&lt;/p&gt;
8888
8889 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8890 % grep Mime /usr/share/applications/rosegarden.desktop
8891 MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
8892 X-KDE-NativeMimeType=audio/x-rosegarden-composition
8893 %
8894 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8895
8896 &lt;p&gt;The fix was to add &quot;audio/x-rosegarden;&quot; at the end of the
8897 MimeType= line.&lt;/p&gt;
8898
8899 &lt;p&gt;If you run into a file which fail to open the correct program when
8900 selected from the file browser, please check out the output from
8901 &lt;tt&gt;file --mime-type&lt;/tt&gt; for the file, ensure the file ending and
8902 MIME type is registered somewhere under /usr/share/mime/ and check
8903 that some desktop file under /usr/share/applications/ is claiming
8904 support for this MIME type. If not, please report a bug to have it
8905 fixed. :)&lt;/p&gt;
8906 </description>
8907 </item>
8908
8909 <item>
8910 <title>Tor - from its creators mouth 11 years ago</title>
8911 <link>https://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</link>
8912 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</guid>
8913 <pubDate>Sat, 28 May 2016 14:20:00 +0200</pubDate>
8914 <description>&lt;p&gt;A little more than 11 years ago, one of the creators of Tor, and
8915 the current President of &lt;a href=&quot;https://www.torproject.org/&quot;&gt;the Tor
8916 project&lt;/a&gt;, Roger Dingledine, gave a talk for the members of the
8917 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User group&lt;/a&gt; (NUUG). A
8918 video of the talk was recorded, and today, thanks to the great help
8919 from David Noble, I finally was able to publish the video of the talk
8920 on Frikanalen, the Norwegian open channel TV station where NUUG
8921 currently publishes its talks. You can
8922 &lt;a href=&quot;http://frikanalen.no/se&quot;&gt;watch the live stream using a web
8923 browser&lt;/a&gt; with WebM support, or check out the recording on the video
8924 on demand page for the talk
8925 &quot;&lt;a href=&quot;http://beta.frikanalen.no/video/625599&quot;&gt;Tor: Anonymous
8926 communication for the US Department of Defence...and you.&lt;/a&gt;&quot;.&lt;/p&gt;
8927
8928 &lt;p&gt;Here is the video included for those of you using browsers with
8929 HTML video and Ogg Theora support:&lt;/p&gt;
8930
8931 &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;
8932 &lt;source src=&quot;http://simula.gunkies.org/media/625599/theora/20050421-tor-frikanalen.ogv&quot; type=&quot;video/ogg&quot;/&gt;
8933 &lt;/video&gt;&lt;/p&gt;
8934
8935 &lt;p&gt;I guess the gist of the talk can be summarised quite simply: If you
8936 want to help the military in USA (and everyone else), use Tor. :)&lt;/p&gt;
8937 </description>
8938 </item>
8939
8940 <item>
8941 <title>Isenkram with PackageKit support - new version 0.23 available in Debian unstable</title>
8942 <link>https://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</link>
8943 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</guid>
8944 <pubDate>Wed, 25 May 2016 10:20:00 +0200</pubDate>
8945 <description>&lt;p&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;The isenkram
8946 system&lt;/a&gt; is a user-focused solution in Debian for handling hardware
8947 related packages. The idea is to have a database of mappings between
8948 hardware and packages, and pop up a dialog suggesting for the user to
8949 install the packages to use a given hardware dongle. Some use cases
8950 are when you insert a Yubikey, it proposes to install the software
8951 needed to control it; when you insert a braille reader list it
8952 proposes to install the packages needed to send text to the reader;
8953 and when you insert a ColorHug screen calibrator it suggests to
8954 install the driver for it. The system work well, and even have a few
8955 command line tools to install firmware packages and packages for the
8956 hardware already in the machine (as opposed to hotpluggable hardware).&lt;/p&gt;
8957
8958 &lt;p&gt;The system was initially written using aptdaemon, because I found
8959 good documentation and example code on how to use it. But aptdaemon
8960 is going away and is generally being replaced by
8961 &lt;a href=&quot;http://www.freedesktop.org/software/PackageKit/&quot;&gt;PackageKit&lt;/a&gt;,
8962 so Isenkram needed a rewrite. And today, thanks to the great patch
8963 from my college Sunil Mohan Adapa in the FreedomBox project, the
8964 rewrite finally took place. I&#39;ve just uploaded a new version of
8965 Isenkram into Debian Unstable with the patch included, and the default
8966 for the background daemon is now to use PackageKit. To check it out,
8967 install the &lt;tt&gt;isenkram&lt;/tt&gt; package and insert some hardware dongle
8968 and see if it is recognised.&lt;/p&gt;
8969
8970 &lt;p&gt;If you want to know what kind of packages isenkram would propose for
8971 the machine it is running on, you can check out the isenkram-lookup
8972 program. This is what it look like on a Thinkpad X230:&lt;/p&gt;
8973
8974 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
8975 % isenkram-lookup
8976 bluez
8977 cheese
8978 fprintd
8979 fprintd-demo
8980 gkrellm-thinkbat
8981 hdapsd
8982 libpam-fprintd
8983 pidgin-blinklight
8984 thinkfan
8985 tleds
8986 tp-smapi-dkms
8987 tp-smapi-source
8988 tpb
8989 %p
8990 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
8991
8992 &lt;p&gt;The hardware mappings come from several places. The preferred way
8993 is for packages to announce their hardware support using
8994 &lt;a href=&quot;https://www.freedesktop.org/software/appstream/docs/&quot;&gt;the
8995 cross distribution appstream system&lt;/a&gt;.
8996 See
8997 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;previous
8998 blog posts about isenkram&lt;/a&gt; to learn how to do that.&lt;/p&gt;
8999 </description>
9000 </item>
9001
9002 <item>
9003 <title>Discharge rate estimate in new battery statistics collector for Debian</title>
9004 <link>https://people.skolelinux.org/pere/blog/Discharge_rate_estimate_in_new_battery_statistics_collector_for_Debian.html</link>
9005 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Discharge_rate_estimate_in_new_battery_statistics_collector_for_Debian.html</guid>
9006 <pubDate>Mon, 23 May 2016 09:35:00 +0200</pubDate>
9007 <description>&lt;p&gt;Yesterday I updated the
9008 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats
9009 package in Debian&lt;/a&gt; with a few patches sent to me by skilled and
9010 enterprising users. There were some nice user and visible changes.
9011 First of all, both desktop menu entries now work. A design flaw in
9012 one of the script made the history graph fail to show up (its PNG was
9013 dumped in ~/.xsession-errors) if no controlling TTY was available.
9014 The script worked when called from the command line, but not when
9015 called from the desktop menu. I changed this to look for a DISPLAY
9016 variable or a TTY before deciding where to draw the graph, and now the
9017 graph window pop up as expected.&lt;/p&gt;
9018
9019 &lt;p&gt;The next new feature is a discharge rate estimator in one of the
9020 graphs (the one showing the last few hours). New is also the user of
9021 colours showing charging in blue and discharge in red. The percentages
9022 of this graph is relative to last full charge, not battery design
9023 capacity.&lt;/p&gt;
9024
9025 &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;
9026
9027 &lt;p&gt;The other graph show the entire history of the collected battery
9028 statistics, comparing it to the design capacity of the battery to
9029 visualise how the battery life time get shorter over time. The red
9030 line in this graph is what the previous graph considers 100 percent:
9031
9032 &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;
9033
9034 &lt;p&gt;In this graph you can see that I only charge the battery to 80
9035 percent of last full capacity, and how the capacity of the battery is
9036 shrinking. :(&lt;/p&gt;
9037
9038 &lt;p&gt;The last new feature is in the collector, which now will handle
9039 more hardware models. On some hardware, Linux power supply
9040 information is stored in /sys/class/power_supply/ACAD/, while the
9041 collector previously only looked in /sys/class/power_supply/AC/. Now
9042 both are checked to figure if there is power connected to the
9043 machine.&lt;/p&gt;
9044
9045 &lt;p&gt;If you are interested in how your laptop battery is doing, please
9046 check out the
9047 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;
9048 in Debian unstable, or rebuild it on Jessie to get it working on
9049 Debian stable. :) The upstream source is available from &lt;a
9050 href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
9051 Patches are very welcome.&lt;/p&gt;
9052
9053 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
9054 activities, please send Bitcoin donations to my address
9055 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
9056 </description>
9057 </item>
9058
9059 <item>
9060 <title>French edition of Lawrence Lessigs book Cultura Libre on Amazon and Barnes &amp; Noble</title>
9061 <link>https://people.skolelinux.org/pere/blog/French_edition_of_Lawrence_Lessigs_book_Cultura_Libre_on_Amazon_and_Barnes___Noble.html</link>
9062 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/French_edition_of_Lawrence_Lessigs_book_Cultura_Libre_on_Amazon_and_Barnes___Noble.html</guid>
9063 <pubDate>Sat, 21 May 2016 10:50:00 +0200</pubDate>
9064 <description>&lt;p&gt;A few weeks ago the French paperback edition of Lawrence Lessigs
9065 2004 book Cultura Libre was published. Today I noticed that the book
9066 is now available from book stores. You can now buy it from
9067 &lt;a href=&quot;http://www.amazon.com/Culture-Libre-French-Lawrence-Lessig/dp/8269018260&quot;&gt;Amazon&lt;/a&gt;
9068 ($19.99),
9069 &lt;a href=&quot;http://www.barnesandnoble.com/w/culture-libre-lawrence-lessig/1123776705&quot;&gt;Barnes
9070 &amp; Noble&lt;/a&gt; ($?) and as always from
9071 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Lulu.com&lt;/a&gt;
9072 ($19.99). The revenue is donated to the Creative Commons project. If
9073 you buy from Lulu.com, they currently get $10.59, while if you buy
9074 from one of the book stores most of the revenue go to the book store
9075 and the Creative Commons project get much (not sure how much
9076 less).&lt;/p&gt;
9077
9078 &lt;p&gt;I was a bit surprised to discover that there is a kindle edition
9079 sold by Amazon Digital Services LLC on Amazon. Not quite sure how
9080 that edition was created, but if you want to download a electronic
9081 edition (PDF, EPUB, Mobi) generated from the same files used to create
9082 the paperback edition, they are
9083 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;available
9084 from github&lt;/a&gt;.&lt;/p&gt;
9085 </description>
9086 </item>
9087
9088 <item>
9089 <title>I want the courts to be involved before the police can hijack a news site DNS domain (#domstolkontroll)</title>
9090 <link>https://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>
9091 <guid isPermaLink="true">https://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>
9092 <pubDate>Thu, 19 May 2016 14:00:00 +0200</pubDate>
9093 <description>&lt;p&gt;I just donated to the
9094 &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;NUUG defence
9095 &quot;fond&quot;&lt;/a&gt; to fund the effort in Norway to get the seizure of the news
9096 site popcorn-time.no tested in court. I hope everyone that agree with
9097 me will do the same.&lt;/p&gt;
9098
9099 &lt;p&gt;Would you be worried if you knew the police in your country could
9100 hijack DNS domains of news sites covering free software system without
9101 talking to a judge first? I am. What if the free software system
9102 combined search engine lookups, bittorrent downloads and video playout
9103 and was called Popcorn Time? Would that affect your view? It still
9104 make me worried.&lt;/p&gt;
9105
9106 &lt;p&gt;In March 2016, the Norwegian police seized (as in forced NORID to
9107 change the IP address pointed to by it to one controlled by the
9108 police) the DNS domain popcorn-time.no, without any supervision from
9109 the courts. I did not know about the web site back then, and assumed
9110 the courts had been involved, and was very surprised when I discovered
9111 that the police had hijacked the DNS domain without asking a judge for
9112 permission first. I was even more surprised when I had a look at
9113 &lt;a href=&quot;https://web.archive.org/web/*/http://popcorn-time.no&quot;&gt;the web
9114 site content on the Internet Archive&lt;/A&gt;, and only found news coverage
9115 about Popcorn Time, not any material published without the right
9116 holders permissions.&lt;/p&gt;
9117
9118 &lt;p&gt;The seizure was widely covered in the Norwegian press (see for
9119 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
9120 &lt;a href=&quot;http://itavisen.no/2016/03/08/okokrim-har-beslaglagt-popcorn-time-no/&quot;&gt;ITavisen&lt;a/&gt;
9121 and
9122 &lt;a href=&quot;http://www.nrk.no/kultur/okokrim-gar-til-aksjon-mot-popcorn-time-1.12842452&quot;&gt;NRK&lt;/a&gt;),
9123 at first due to the press release sent out by Økokrim, but then based
9124 on
9125 &lt;a href=&quot;http://blogg.torvund.net/2016/03/09/okokrims-beslag-i-domenet-popcorn-time-no/&quot;&gt;protests
9126 from the law professor Olav Torvund&lt;/a&gt; and
9127 &lt;a href=&quot;http://www.klassekampen.no/article/20160311/ARTICLE/160319995&quot;&gt;lawyer
9128 Jon Wessel-Aas&lt;/a&gt;. It even got some
9129 &lt;a href=&quot;https://torrentfreak.com/norwegian-authorities-sued-over-popcorn-time-domain-seizure-160418/&quot;&gt;coverage
9130 on TorrentFreak&lt;/a&gt;.&lt;/p&gt;
9131
9132 &lt;p&gt;I
9133 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html&quot;&gt;
9134 wrote about the case a month ago&lt;/a&gt;, when the
9135 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; (NUUG),
9136 where I am an active member, decided to ask the courts to test this seizure.
9137 The request was denied, but NUUG and its co-requestor EFN have not
9138 given up, and now they are rallying for support to get the seizure
9139 legally challenged. They accept both bank and Bitcoin transfer for
9140 those that want to support the request.&lt;/p&gt;
9141
9142 &lt;p&gt;If you as me believe news sites about free software should not be
9143 censored, even if the free software have both legal and illegal
9144 applications, and that DNS hijacking should be tested by the courts, I
9145 suggest you &lt;a href=&quot;http://www.nuug.no/dns-beslag-donasjon.shtml&quot;&gt;show
9146 your support by donating to NUUG&lt;/a&gt;.&lt;/a&gt;
9147 </description>
9148 </item>
9149
9150 <item>
9151 <title>Debian now with ZFS on Linux included</title>
9152 <link>https://people.skolelinux.org/pere/blog/Debian_now_with_ZFS_on_Linux_included.html</link>
9153 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_now_with_ZFS_on_Linux_included.html</guid>
9154 <pubDate>Thu, 12 May 2016 07:30:00 +0200</pubDate>
9155 <description>&lt;p&gt;Today, after many years of hard work from many people,
9156 &lt;a href=&quot;http://zfsonlinux.org/&quot;&gt;ZFS for Linux&lt;/a&gt; finally entered
9157 Debian. The package status can be seen on
9158 &lt;a href=&quot;https://tracker.debian.org/pkg/zfs-linux&quot;&gt;the package tracker
9159 for zfs-linux&lt;/a&gt;. and
9160 &lt;a href=&quot;https://qa.debian.org/developer.php?login=pkg-zfsonlinux-devel@lists.alioth.debian.org&quot;&gt;the
9161 team status page&lt;/a&gt;. If you want to help out, please join us.
9162 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/zfs.git&quot;&gt;The
9163 source code&lt;/a&gt; is available via git on Alioth. It would also be
9164 great if you could help out with
9165 &lt;a href=&quot;https://tracker.debian.org/pkg/dkms&quot;&gt;the dkms package&lt;/a&gt;, as
9166 it is an important piece of the puzzle to get ZFS working.&lt;/p&gt;
9167 </description>
9168 </item>
9169
9170 <item>
9171 <title>What is the best multimedia player in Debian?</title>
9172 <link>https://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html</link>
9173 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html</guid>
9174 <pubDate>Sun, 8 May 2016 09:40:00 +0200</pubDate>
9175 <description>&lt;p&gt;&lt;strong&gt;Where I set out to figure out which multimedia player in
9176 Debian claim support for most file formats.&lt;/strong&gt;&lt;/p&gt;
9177
9178 &lt;p&gt;A few years ago, I had a look at the media support for Browser
9179 plugins in Debian, to get an idea which plugins to include in Debian
9180 Edu. I created a script to extract the set of supported MIME types
9181 for each plugin, and used this to find out which multimedia browser
9182 plugin supported most file formats / media types.
9183 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;The
9184 result&lt;/a&gt; can still be seen on the Debian wiki, even though it have
9185 not been updated for a while. But browser plugins are less relevant
9186 these days, so I thought it was time to look at standalone
9187 players.&lt;/p&gt;
9188
9189 &lt;p&gt;A few days ago I was tired of VLC not being listed as a viable
9190 player when I wanted to play videos from the Norwegian National
9191 Broadcasting Company, and decided to investigate why. The cause is a
9192 &lt;a href=&quot;https://bugs.debian.org/822245&quot;&gt;missing MIME type in the VLC
9193 desktop file&lt;/a&gt;. In the process I wrote a script to compare the set
9194 of MIME types announced in the desktop file and the browser plugin,
9195 only to discover that there is quite a large difference between the
9196 two for VLC. This discovery made me dig up the script I used to
9197 compare browser plugins, and adjust it to compare desktop files
9198 instead, to try to figure out which multimedia player in Debian
9199 support most file formats.&lt;/p&gt;
9200
9201 &lt;p&gt;The result can be seen on the Debian Wiki, as
9202 &lt;a href=&quot;https://wiki.debian.org/DebianMultimedia/PlayerSupport&quot;&gt;a
9203 table listing all MIME types supported by one of the packages included
9204 in the table&lt;/a&gt;, with the package supporting most MIME types being
9205 listed first in the table.&lt;/p&gt;
9206
9207 &lt;/p&gt;The best multimedia player in Debian? It is totem, followed by
9208 parole, kplayer, mpv, vlc, smplayer mplayer-gui gnome-mpv and
9209 kmplayer. Time for the other players to update their announced MIME
9210 support?&lt;/p&gt;
9211 </description>
9212 </item>
9213
9214 <item>
9215 <title>The Pyra - handheld computer with Debian preinstalled</title>
9216 <link>https://people.skolelinux.org/pere/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html</link>
9217 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Pyra___handheld_computer_with_Debian_preinstalled.html</guid>
9218 <pubDate>Wed, 4 May 2016 10:00:00 +0200</pubDate>
9219 <description>A friend of mine made me aware of
9220 &lt;a href=&quot;https://pyra-handheld.com/boards/pages/pyra/&quot;&gt;The Pyra&lt;/a&gt;, a
9221 handheld computer which will be delivered with Debian preinstalled. I
9222 would love to get one of those for my birthday. :)&lt;/p&gt;
9223
9224 &lt;p&gt;The machine is a complete ARM-based PC with micro HDMI, SATA, USB
9225 plugs and many others connectors, and include a full keyboard and a 5&quot;
9226 LCD touch screen. The 6000mAh battery is claimed to provide a whole
9227 day of battery life time, but I have not seen any independent tests
9228 confirming this. The vendor is still collecting preorders, and the
9229 last I heard last night was that 22 more orders were needed before
9230 production started.&lt;/p&gt;
9231
9232 &lt;p&gt;As far as I know, this is the first handheld preinstalled with
9233 Debian. Please let me know if you know of any others. Is it the
9234 first computer being sold with Debian preinstalled?&lt;/p&gt;
9235 </description>
9236 </item>
9237
9238 <item>
9239 <title>NUUG contests Norwegian police DNS seizure of popcorn-time.no</title>
9240 <link>https://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html</link>
9241 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/NUUG_contests_Norwegian_police_DNS_seizure_of_popcorn_time_no.html</guid>
9242 <pubDate>Mon, 18 Apr 2016 10:00:00 +0200</pubDate>
9243 <description>&lt;p&gt;It is days like today I am really happy to be a member of
9244 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the Norwegian Unix User group&lt;/a&gt;, a
9245 member association for those of us believing in free software, open
9246 standards and unix-like operating systems. NUUG announced today it
9247 will
9248 &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
9249 to bring the seizure of the DNS domain popcorn-time.no as
9250 unlawful&lt;/a&gt;, to stand up for the principle that writing about a
9251 controversial topic is not infringing copyrights, and censuring web
9252 pages by hijacking DNS domain should be decided by the courts, not the
9253 police. The DNS domain was seized by the Norwegian National Authority
9254 for Investigation and Prosecution of Economic and Environmental Crime
9255 a month ago. I hope this bring more paying members to NUUG to give
9256 the association the financial muscle needed to bring this case as far
9257 as it must go to stop this kind of DNS hijacking.&lt;/p&gt;
9258 </description>
9259 </item>
9260
9261 <item>
9262 <title>I.F. Stone - an inspiration for us all</title>
9263 <link>https://people.skolelinux.org/pere/blog/I_F__Stone___an_inspiration_for_us_all.html</link>
9264 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/I_F__Stone___an_inspiration_for_us_all.html</guid>
9265 <pubDate>Wed, 13 Apr 2016 21:20:00 +0200</pubDate>
9266 <description>&lt;p&gt;I first got to know I.F. Stone when I came across an article by Jon
9267 Schwarz on The Intercept
9268 &lt;a href=&quot;https://theintercept.com/2015/05/07/new-documentary-legacy-f-stone/&quot;&gt;about
9269 his extraordinary contribution to investigative journalism in
9270 USA&lt;/a&gt;. The article is about a new documentary in two parts
9271 (&lt;a href=&quot;https://vimeo.com/123974841&quot;&gt;part one is 12 minutes&lt;/a&gt; and
9272 &lt;a href=&quot;https://vimeo.com/123974842&quot;&gt;part two is 30 minutes&lt;/a&gt;), and
9273 I found both truly fascinating. It is amazing what he was able to
9274 find by digging up public sources and government papers. He
9275 documented lots of government abuse and cover ups, and I find
9276 &lt;a href=&quot;http://www.ifstone.org/weekly.php&quot;&gt;his weekly news letters&lt;/a&gt;
9277 inspiring to read even today.&lt;/p&gt;
9278
9279 &lt;p&gt;&lt;blockquote&gt;
9280 All governments are run by liars and nothing they say should be believed.
9281 &lt;br&gt;- I. F. Stone
9282 &lt;/blockquote&gt;&lt;/p&gt;
9283
9284 &lt;p&gt;His starting point was that reporters should not assume governments
9285 and corporations are telling the truth, but verify all their claims as
9286 much as possible. I wonder how many Norwegian reporters can be said
9287 to follow the principles of I. F. Stone. They are definitely in short
9288 supply. If you, like me half a year ago, have never heard of him,
9289 check him out.&lt;/p&gt;
9290 </description>
9291 </item>
9292
9293 <item>
9294 <title>A French paperback edition of the book Free Culture by Lawrence Lessig is now available</title>
9295 <link>https://people.skolelinux.org/pere/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html</link>
9296 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_French_paperback_edition_of_the_book_Free_Culture_by_Lawrence_Lessig_is_now_available.html</guid>
9297 <pubDate>Tue, 12 Apr 2016 10:40:00 +0200</pubDate>
9298 <description>&lt;p&gt;I&#39;m happy to report that
9299 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;the
9300 French paperback edition&lt;/a&gt; of
9301 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
9302 project to translate&lt;/a&gt; the &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free
9303 Culture&lt;/a&gt; book by Lawrence Lessig is now available for sale on
9304 Lulu.com. Once I have formally verified my proof reading copy, which
9305 should be in the mail, the paperback edition should be available in
9306 book stores like Amazon and Barnes &amp; Noble too.&lt;/p&gt;
9307
9308 &lt;p&gt;This French edition, Culture Libre, is the work of the
9309 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt; developer Benoît
9310 Guillon, who created the PO file from the initial translation
9311 available from
9312 &lt;a href=&quot;http://www.wikilivres.ca/wiki/Culture_libre&quot;&gt;the Wikilivres
9313 wiki pages&lt;/a&gt; and completed and corrected the translation to match
9314 the original docbook edition my project is using, as well as
9315 coordinated the proof reading of the final result. I believe the end
9316 result look great, but I am biased and do not read French. In
9317 addition to the paperback edition, the book is available in PDF, EPUB
9318 and Mobi format from the github project page linked to above.&lt;/p&gt;
9319
9320 &lt;p&gt;When enabling book store distribution on Lulu.com, I had to nearly
9321 triple the price to allow the book stores some profit. I also had to
9322 accept that I will get some revenue when a book is sold via Lulu.com.
9323 But because of the non-commercial clause in the book license
9324 (CC-BY-NC), this might be a problem. To bypass the problem I
9325 discussed how to handle the revenue with the author, and we agreed
9326 that the revenue for these editions go to the
9327 &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons non-profit
9328 Corporation&lt;/a&gt; who handle donations to the Creative Commons project.
9329 So far they have earned around USD 70 on sales of the
9330 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;English&lt;/a&gt;
9331 and
9332 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Norwegian
9333 Bokmål&lt;/a&gt; editions, according to Lulu.com. They will get the revenue
9334 for the French edition too. Their revenue is higher if you buy the
9335 book directly from Lulu.com instead of via a book store, so I
9336 recommend you buy directly from Lulu.com.&lt;/p&gt;
9337
9338 &lt;p&gt;Perhaps you would like to get the book published in your language?
9339 The translation is done using a web based translator service, so the
9340 technical bar to enter is fairly low. Get in touch if you would like
9341 to make this happen.&lt;/p&gt;
9342 </description>
9343 </item>
9344
9345 <item>
9346 <title>Lets make a Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook</title>
9347 <link>https://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html</link>
9348 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html</guid>
9349 <pubDate>Sun, 10 Apr 2016 23:20:00 +0200</pubDate>
9350 <description>&lt;p&gt;During this weekends
9351 &lt;a href=&quot;http://www.nuug.no/news/Oslo__Takk_for_feilfiksingsfesten.shtml&quot;&gt;bug
9352 squashing party and developer gathering&lt;/a&gt;, we decided to do our part
9353 to make sure there are good books about Debian available in Norwegian
9354 Bokmål, and got in touch with the people behind the
9355 &lt;a href=&quot;http://debian-handbook.info/&quot;&gt;Debian Administrator&#39;s Handbook
9356 project&lt;/a&gt; to get started. If you want to help out, please start
9357 contributing using
9358 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
9359 hosted weblate project page&lt;/a&gt;, and get in touch using
9360 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
9361 translators mailing list&lt;/a&gt;. Please also check out
9362 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
9363 contributors&lt;/a&gt;.&lt;/p&gt;
9364
9365 &lt;p&gt;The book is already available on paper in English, French and
9366 Japanese, and our goal is to get it available on paper in Norwegian
9367 Bokmål too. In addition to the paper edition, there are also EPUB and
9368 Mobi versions available. And there are incomplete translations
9369 available for many more languages.&lt;/p&gt;
9370 </description>
9371 </item>
9372
9373 <item>
9374 <title>One in two hundred Debian users using ZFS on Linux?</title>
9375 <link>https://people.skolelinux.org/pere/blog/One_in_two_hundred_Debian_users_using_ZFS_on_Linux_.html</link>
9376 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/One_in_two_hundred_Debian_users_using_ZFS_on_Linux_.html</guid>
9377 <pubDate>Thu, 7 Apr 2016 22:30:00 +0200</pubDate>
9378 <description>&lt;p&gt;Just for fun I had a look at the popcon number of ZFS related
9379 packages in Debian, and was quite surprised with what I found. I use
9380 ZFS myself at home, but did not really expect many others to do so.
9381 But I might be wrong.&lt;/p&gt;
9382
9383 &lt;p&gt;According to
9384 &lt;a href=&quot;https://qa.debian.org/popcon.php?package=spl-linux&quot;&gt;the popcon
9385 results for spl-linux&lt;/a&gt;, there are 1019 Debian installations, or
9386 0.53% of the population, with the package installed. As far as I know
9387 the only use of the spl-linux package is as a support library for ZFS
9388 on Linux, so I use it here as proxy for measuring the number of ZFS
9389 installation on Linux in Debian. In the kFreeBSD variant of Debian
9390 the ZFS feature is already available, and there
9391 &lt;a href=&quot;https://qa.debian.org/popcon.php?package=zfsutils&quot;&gt;the popcon
9392 results for zfsutils&lt;/a&gt; show 1625 Debian installations or 0.84% of
9393 the population. So I guess I am not alone in using ZFS on Debian.&lt;/p&gt;
9394
9395 &lt;p&gt;But even though the Debian project leader Lucas Nussbaum
9396 &lt;a href=&quot;https://lists.debian.org/debian-devel-announce/2015/04/msg00006.html&quot;&gt;announced
9397 in April 2015&lt;/a&gt; that the legal obstacles blocking ZFS on Debian were
9398 cleared, the package is still not in Debian. The package is again in
9399 the NEW queue. Several uploads have been rejected so far because the
9400 debian/copyright file was incomplete or wrong, but there is no reason
9401 to give up. The current status can be seen on
9402 &lt;a href=&quot;https://qa.debian.org/developer.php?login=pkg-zfsonlinux-devel@lists.alioth.debian.org&quot;&gt;the
9403 team status page&lt;/a&gt;, and
9404 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/zfs.git&quot;&gt;the
9405 source code&lt;/a&gt; is available on Alioth.&lt;/p&gt;
9406
9407 &lt;p&gt;As I want ZFS to be included in next version of Debian to make sure
9408 my home server can function in the future using only official Debian
9409 packages, and the current blocker is to get the debian/copyright file
9410 accepted by the FTP masters in Debian, I decided a while back to try
9411 to help out the team. This was the background for my blog post about
9412 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html&quot;&gt;creating,
9413 updating and checking debian/copyright semi-automatically&lt;/a&gt;, and I
9414 used the techniques I explored there to try to find any errors in the
9415 copyright file. It is not very easy to check every one of the around
9416 2000 files in the source package, but I hope we this time got it
9417 right. If you want to help out, check out the git source and try to
9418 find missing entries in the debian/copyright file.&lt;/p&gt;
9419 </description>
9420 </item>
9421
9422 <item>
9423 <title>syslog-trusted-timestamp - chain of trusted timestamps for your syslog</title>
9424 <link>https://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html</link>
9425 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html</guid>
9426 <pubDate>Sat, 2 Apr 2016 09:50:00 +0200</pubDate>
9427 <description>&lt;p&gt;Two years ago, I had
9428 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html&quot;&gt;a
9429 look at trusted timestamping options available&lt;/a&gt;, and among
9430 other things noted a still open
9431 &lt;a href=&quot;https://bugs.debian.org/742553&quot;&gt;bug in the tsget script&lt;/a&gt;
9432 included in openssl that made it harder than necessary to use openssl
9433 as a trusted timestamping client. A few days ago I was told
9434 &lt;a href=&quot;https:/www.difi.no/&quot;&gt;the Norwegian government office DIFI&lt;/a&gt; is
9435 close to releasing their own trusted timestamp service, and in the
9436 process I was happy to learn about a replacement for the tsget script
9437 using only curl:&lt;/p&gt;
9438
9439 &lt;p&gt;&lt;pre&gt;
9440 openssl ts -query -data &quot;/etc/shells&quot; -cert -sha256 -no_nonce \
9441 | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
9442 --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; etc-shells.tsr
9443 openssl ts -reply -text -in etc-shells.tsr
9444 &lt;/pre&gt;&lt;/p&gt;
9445
9446 &lt;p&gt;This produces a binary timestamp file (etc-shells.tsr) which can be
9447 used to verify that the content of the file /etc/shell with the
9448 calculated sha256 hash existed at the point in time when the request
9449 was made. The last command extract the content of the etc-shells.tsr
9450 in human readable form. The idea behind such timestamp is to be able
9451 to prove using cryptography that the content of a file have not
9452 changed since the file was stamped.&lt;/p&gt;
9453
9454 &lt;p&gt;To verify that the file on disk match the public key signature in
9455 the timestamp file, run the following commands. It make sure you have
9456 the required certificate for the trusted timestamp service available
9457 and use it to compare the file content with the timestamp. In
9458 production, one should of course use a better method to verify the
9459 service certificate.&lt;/p&gt;
9460
9461 &lt;p&gt;&lt;pre&gt;
9462 wget -O ca-cert.txt https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
9463 openssl ts -verify -data /etc/shells -in etc-shells.tsr -CAfile ca-cert.txt -text
9464 &lt;/pre&gt;&lt;/p&gt;
9465
9466 &lt;p&gt;Wikipedia have a lot more information about
9467 &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
9468 Timestamping&lt;/a&gt; and
9469 &lt;a href=&quot;https://en.wikipedia.org/wiki/Linked_timestamping&quot;&gt;linked
9470 timestamping&lt;/a&gt;, and there are several trusted timestamping services
9471 around, both as commercial services and as free and public services.
9472 Among the latter is
9473 &lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;the
9474 zeitstempel.dfn.de service&lt;/a&gt; mentioned above and
9475 &lt;a href=&quot;https://freetsa.org/&quot;&gt;freetsa.org service&lt;/a&gt; linked to from the
9476 wikipedia web site. I believe the DIFI service should show up on
9477 https://tsa.difi.no, but it is not available to the public at the
9478 moment. I hope this will change when it is into production. The
9479 &lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;RFC 3161&lt;/a&gt; trusted
9480 timestamping protocol standard is even implemented in LibreOffice,
9481 Microsoft Office and Adobe Acrobat, making it possible to verify when
9482 a document was created.&lt;/p&gt;
9483
9484 &lt;p&gt;I would find it useful to be able to use such trusted timestamp
9485 service to make it possible to verify that my stored syslog files have
9486 not been tampered with. This is not a new idea. I found one example
9487 implemented on the Endian network appliances where
9488 &lt;a href=&quot;http://help.endian.com/entries/21518508-Enabling-Timestamping-on-log-files-&quot;&gt;the
9489 configuration of such feature was described in 2012&lt;/a&gt;.&lt;/p&gt;
9490
9491 &lt;p&gt;But I could not find any free implementation of such feature when I
9492 searched, so I decided to try to
9493 &lt;a href=&quot;https://github.com/petterreinholdtsen/syslog-trusted-timestamp&quot;&gt;build
9494 a prototype named syslog-trusted-timestamp&lt;/a&gt;. My idea is to
9495 generate a timestamp of the old log files after they are rotated, and
9496 store the timestamp in the new log file just after rotation. This
9497 will form a chain that would make it possible to see if any old log
9498 files are tampered with. But syslog is bad at handling kilobytes of
9499 binary data, so I decided to base64 encode the timestamp and add an ID
9500 and line sequence numbers to the base64 data to make it possible to
9501 reassemble the timestamp file again. To use it, simply run it like
9502 this:
9503
9504 &lt;p&gt;&lt;pre&gt;
9505 syslog-trusted-timestamp /path/to/list-of-log-files
9506 &lt;/pre&gt;&lt;/p&gt;
9507
9508 &lt;p&gt;This will send a timestamp from one or more timestamp services (not
9509 yet decided nor implemented) for each listed file to the syslog using
9510 logger(1). To verify the timestamp, the same program is used with the
9511 --verify option:&lt;/p&gt;
9512
9513 &lt;p&gt;&lt;pre&gt;
9514 syslog-trusted-timestamp --verify /path/to/log-file /path/to/log-with-timestamp
9515 &lt;/pre&gt;&lt;/p&gt;
9516
9517 &lt;p&gt;The verification step is not yet well designed. The current
9518 implementation depend on the file path being unique and unchanging,
9519 and this is not a solid assumption. It also uses process number as
9520 timestamp ID, and this is bound to create ID collisions. I hope to
9521 have time to come up with a better way to handle timestamp IDs and
9522 verification later.&lt;/p&gt;
9523
9524 &lt;p&gt;Please check out
9525 &lt;a href=&quot;https://github.com/petterreinholdtsen/syslog-trusted-timestamp&quot;&gt;the
9526 prototype for syslog-trusted-timestamp on github&lt;/a&gt; and send
9527 suggestions and improvement, or let me know if there already exist a
9528 similar system for timestamping logs already to allow me to join
9529 forces with others with the same interest.&lt;/p&gt;
9530
9531 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
9532 activities, please send Bitcoin donations to my address
9533 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
9534 </description>
9535 </item>
9536
9537 <item>
9538 <title>Full battery stats collector is now available in Debian</title>
9539 <link>https://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html</link>
9540 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html</guid>
9541 <pubDate>Wed, 23 Mar 2016 22:10:00 +0100</pubDate>
9542 <description>&lt;p&gt;Since this morning, the battery-stats package in Debian include an
9543 extended collector that will collect the complete battery history for
9544 later processing and graphing. The original collector store the
9545 battery level as percentage of last full level, while the new
9546 collector also record battery vendor, model, serial number, design
9547 full level, last full level and current battery level. This make it
9548 possible to predict the lifetime of the battery as well as visualise
9549 the energy flow when the battery is charging or discharging.&lt;/p&gt;
9550
9551 &lt;p&gt;The new tools are available in &lt;tt&gt;/usr/share/battery-stats/&lt;/tt&gt;
9552 in the version 0.5.1 package in unstable. Get the new battery level graph
9553 and lifetime prediction by running:
9554
9555 &lt;p&gt;&lt;pre&gt;
9556 /usr/share/battery-stats/battery-stats-graph /var/log/battery-stats.csv
9557 &lt;/pre&gt;&lt;/p&gt;
9558
9559 &lt;p&gt;Or select the &#39;Battery Level Graph&#39; from your application menu.&lt;/p&gt;
9560
9561 &lt;p&gt;The flow in/out of the battery can be seen by running (no menu
9562 entry yet):&lt;/p&gt;
9563
9564 &lt;p&gt;&lt;pre&gt;
9565 /usr/share/battery-stats/battery-stats-graph-flow
9566 &lt;/pre&gt;&lt;/p&gt;
9567
9568 &lt;p&gt;I&#39;m not quite happy with the way the data is visualised, at least
9569 when there are few data points. The graphs look a bit better with a
9570 few years of data.&lt;/p&gt;
9571
9572 &lt;p&gt;A while back one important feature I use in the battery stats
9573 collector broke in Debian. The scripts in
9574 &lt;tt&gt;/usr/lib/pm-utils/power.d/&lt;/tt&gt; were no longer executed. I
9575 suspect it happened when Jessie started using systemd, but I do not
9576 know. The issue is reported as
9577 &lt;a href=&quot;https://bugs.debian.org/818649&quot;&gt;bug #818649&lt;/a&gt; against
9578 pm-utils. I managed to work around it by adding an udev rule to call
9579 the collector script every time the power connector is connected and
9580 disconnected. With this fix in place it was finally time to make a
9581 new release of the package, and get it into Debian.&lt;/p&gt;
9582
9583 &lt;p&gt;If you are interested in how your laptop battery is doing, please
9584 check out the
9585 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;
9586 in Debian unstable, or rebuild it on Jessie to get it working on
9587 Debian stable. :) The upstream source is available from
9588 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
9589 As always, patches are very welcome.&lt;/p&gt;
9590 </description>
9591 </item>
9592
9593 <item>
9594 <title>UsingQR - &quot;Electronic&quot; paper invoices using JSON and QR codes</title>
9595 <link>https://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html</link>
9596 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html</guid>
9597 <pubDate>Sat, 19 Mar 2016 09:40:00 +0100</pubDate>
9598 <description>&lt;p&gt;Back in 2013 I proposed
9599 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html&quot;&gt;a
9600 way to make paper and PDF invoices easier to process electronically by
9601 adding a QR code with the key information about the invoice&lt;/a&gt;. I
9602 suggested using vCard field definition, to get some standard format
9603 for name and address, but any format would work. I did not do
9604 anything about the proposal, but hoped someone one day would make
9605 something like it. It would make it possible to efficiently send
9606 machine readable invoices directly between seller and buyer.&lt;/p&gt;
9607
9608 &lt;p&gt;This was the background when I came across a proposal and
9609 specification from the web based accounting and invoicing supplier
9610 &lt;a href=&quot;http://www.visma.com/&quot;&gt;Visma&lt;/a&gt; in Sweden called
9611 &lt;a href=&quot;http://usingqr.com/&quot;&gt;UsingQR&lt;/a&gt;. Their PDF invoices contain
9612 a QR code with the key information of the invoice in JSON format.
9613 This is the typical content of a QR code following the UsingQR
9614 specification (based on a real world example, some numbers replaced to
9615 get a more bogus entry). I&#39;ve reformatted the JSON to make it easier
9616 to read. Normally this is all on one long line:&lt;/p&gt;
9617
9618 &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;
9619 {
9620 &quot;vh&quot;:500.00,
9621 &quot;vm&quot;:0,
9622 &quot;vl&quot;:0,
9623 &quot;uqr&quot;:1,
9624 &quot;tp&quot;:1,
9625 &quot;nme&quot;:&quot;Din Leverandør&quot;,
9626 &quot;cc&quot;:&quot;NO&quot;,
9627 &quot;cid&quot;:&quot;997912345 MVA&quot;,
9628 &quot;iref&quot;:&quot;12300001&quot;,
9629 &quot;idt&quot;:&quot;20151022&quot;,
9630 &quot;ddt&quot;:&quot;20151105&quot;,
9631 &quot;due&quot;:2500.0000,
9632 &quot;cur&quot;:&quot;NOK&quot;,
9633 &quot;pt&quot;:&quot;BBAN&quot;,
9634 &quot;acc&quot;:&quot;17202612345&quot;,
9635 &quot;bc&quot;:&quot;BIENNOK1&quot;,
9636 &quot;adr&quot;:&quot;0313 OSLO&quot;
9637 }
9638 &lt;/pre&gt;&lt;/p&gt;
9639
9640 &lt;/p&gt;The interpretation of the fields can be found in the
9641 &lt;a href=&quot;http://usingqr.com/wp-content/uploads/2014/06/UsingQR_specification1.pdf&quot;&gt;format
9642 specification&lt;/a&gt; (revision 2 from june 2014). The format seem to
9643 have most of the information needed to handle accounting and payment
9644 of invoices, at least the fields I have needed so far here in
9645 Norway.&lt;/p&gt;
9646
9647 &lt;p&gt;Unfortunately, the site and document do not mention anything about
9648 the patent, trademark and copyright status of the format and the
9649 specification. Because of this, I asked the people behind it back in
9650 November to clarify. Ann-Christine Savlid (ann-christine.savlid (at)
9651 visma.com) replied that Visma had not applied for patent or trademark
9652 protection for this format, and that there were no copyright based
9653 usage limitations for the format. I urged her to make sure this was
9654 explicitly written on the web pages and in the specification, but
9655 unfortunately this has not happened yet. So I guess if there is
9656 submarine patents, hidden trademarks or a will to sue for copyright
9657 infringements, those starting to use the UsingQR format might be at
9658 risk, but if this happen there is some legal defense in the fact that
9659 the people behind the format claimed it was safe to do so. At least
9660 with patents, there is always
9661 &lt;a href=&quot;http://www.paperspecs.com/paper-news/beware-the-qr-code-patent-trap/&quot;&gt;a
9662 chance of getting sued...&lt;/a&gt;&lt;/p&gt;
9663
9664 &lt;p&gt;I also asked if they planned to maintain the format in an
9665 independent standard organization to give others more confidence that
9666 they would participate in the standardization process on equal terms
9667 with Visma, but they had no immediate plans for this. Their plan was
9668 to work with banks to try to get more users of the format, and
9669 evaluate the way forward if the format proved to be popular. I hope
9670 they conclude that using an open standard organisation like
9671 &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; is the correct place to
9672 maintain such specification.&lt;/p&gt;
9673
9674 &lt;p&gt;&lt;strong&gt;Update 2016-03-20&lt;/strong&gt;: Via Twitter I became aware of
9675 &lt;a href=&quot;https://news.ycombinator.com/item?id=11319492&quot;&gt;some comments
9676 about this blog post&lt;/a&gt; that had several useful links and references to
9677 similar systems. In the Czech republic, the Czech Banking Association
9678 standard #26, with short name SPAYD, uses QR codes with payment
9679 information. More information is available from the Wikipedia page on
9680 &lt;a href=&quot;https://en.wikipedia.org/wiki/Short_Payment_Descriptor&quot;&gt;Short
9681 Payment Descriptor&lt;/a&gt;. And in Germany, there is a system named
9682 &lt;a href=&quot;http://www.bezahlcode.de/&quot;&gt;BezahlCode&lt;/a&gt;,
9683 (&lt;a href=&quot;http://www.bezahlcode.de/wp-content/uploads/BezahlCode_TechDok.pdf&quot;&gt;specification
9684 v1.8 2013-12-05 available as PDF&lt;/a&gt;), which uses QR codes with
9685 URL-like formatting using &quot;bank:&quot; as the URI schema/protocol to
9686 provide the payment information. There is also the
9687 &lt;a href=&quot;http://www.ferd-net.de/front_content.php?idcat=231&quot;&gt;ZUGFeRD&lt;/a&gt;
9688 file format that perhaps could be transfered using QR codes, but I am
9689 not sure if it is done already. Last, in Bolivia there are reports
9690 that tax information since november 2014 need to be printed in QR
9691 format on invoices. I have not been able to track down a
9692 specification for this format, because of my limited language skill
9693 sets.&lt;/p&gt;
9694 </description>
9695 </item>
9696
9697 <item>
9698 <title>Making battery measurements a little easier in Debian</title>
9699 <link>https://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html</link>
9700 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html</guid>
9701 <pubDate>Tue, 15 Mar 2016 15:00:00 +0100</pubDate>
9702 <description>&lt;p&gt;Back in September, I blogged about
9703 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html&quot;&gt;the
9704 system I wrote to collect statistics about my laptop battery&lt;/a&gt;, and
9705 how it showed the decay and death of this battery (now replaced). I
9706 created a simple deb package to handle the collection and graphing,
9707 but did not want to upload it to Debian as there were already
9708 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;a battery-stats
9709 package in Debian&lt;/a&gt; that should do the same thing, and I did not see
9710 a point of uploading a competing package when battery-stats could be
9711 fixed instead. I reported a few bugs about its non-function, and
9712 hoped someone would step in and fix it. But no-one did.&lt;/p&gt;
9713
9714 &lt;p&gt;I got tired of waiting a few days ago, and took matters in my own
9715 hands. The end result is that I am now the new upstream developer of
9716 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
9717 battery-stats in Debian, and the package in Debian unstable is finally
9718 able to collect battery status using the &lt;tt&gt;/sys/class/power_supply/&lt;/tt&gt;
9719 information provided by the Linux kernel. If you install the
9720 battery-stats package from unstable now, you will be able to get a
9721 graph of the current battery fill level, to get some idea about the
9722 status of the battery. The source package build and work just fine in
9723 Debian testing and stable (and probably oldstable too, but I have not
9724 tested). The default graph you get for that system look like this:&lt;/p&gt;
9725
9726 &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;
9727
9728 &lt;p&gt;My plans for the future is to merge my old scripts into the
9729 battery-stats package, as my old scripts collected a lot more details
9730 about the battery. The scripts are merged into the upstream
9731 battery-stats git repository already, but I am not convinced they work
9732 yet, as I changed a lot of paths along the way. Will have to test a
9733 bit more before I make a new release.&lt;/p&gt;
9734
9735 &lt;p&gt;I will also consider changing the file format slightly, as I
9736 suspect the way I combine several values into one field might make it
9737 impossible to know the type of the value when using it for processing
9738 and graphing.&lt;/p&gt;
9739
9740 &lt;p&gt;If you would like I would like to keep an close eye on your laptop
9741 battery, check out the battery-stats package in
9742 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;Debian&lt;/a&gt; and
9743 on
9744 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-stats&quot;&gt;github&lt;/a&gt;.
9745 I would love some help to improve the system further.&lt;/p&gt;
9746 </description>
9747 </item>
9748
9749 <item>
9750 <title>Creating, updating and checking debian/copyright semi-automatically</title>
9751 <link>https://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html</link>
9752 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html</guid>
9753 <pubDate>Fri, 19 Feb 2016 15:00:00 +0100</pubDate>
9754 <description>&lt;p&gt;Making packages for Debian requires quite a lot of attention to
9755 details. And one of the details is the content of the
9756 debian/copyright file, which should list all relevant licenses used by
9757 the code in the package in question, preferably in
9758 &lt;a href=&quot;https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/&quot;&gt;machine
9759 readable DEP5 format&lt;/a&gt;.&lt;/p&gt;
9760
9761 &lt;p&gt;For large packages with lots of contributors it is hard to write
9762 and update this file manually, and if you get some detail wrong, the
9763 package is normally rejected by the ftpmasters. So getting it right
9764 the first time around get the package into Debian faster, and save
9765 both you and the ftpmasters some work.. Today, while trying to figure
9766 out what was wrong with
9767 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447&quot;&gt;the
9768 zfsonlinux copyright file&lt;/a&gt;, I decided to spend some time on
9769 figuring out the options for doing this job automatically, or at least
9770 semi-automatically.&lt;/p&gt;
9771
9772 &lt;p&gt;Lucikly, there are at least two tools available for generating the
9773 file based on the code in the source package,
9774 &lt;tt&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/debmake&quot;&gt;debmake&lt;/a&gt;&lt;/tt&gt;
9775 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
9776 not sure which one of them came first, but both seem to be able to
9777 create a sensible draft file. As far as I can tell, none of them can
9778 be trusted to get the result just right, so the content need to be
9779 polished a bit before the file is OK to upload. I found the debmake
9780 option in
9781 &lt;a href=&quot;http://goofying-with-debian.blogspot.com/2014/07/debmake-checking-source-against-dep-5.html&quot;&gt;a
9782 blog posts from 2014&lt;/a&gt;.
9783
9784 &lt;p&gt;To generate using debmake, use the -cc option:
9785
9786 &lt;p&gt;&lt;pre&gt;
9787 debmake -cc &gt; debian/copyright
9788 &lt;/pre&gt;&lt;/p&gt;
9789
9790 &lt;p&gt;Note there are some problems with python and non-ASCII names, so
9791 this might not be the best option.&lt;/p&gt;
9792
9793 &lt;p&gt;The cme option is based on a config parsing library, and I found
9794 this approach in
9795 &lt;a href=&quot;https://ddumont.wordpress.com/2015/04/05/improving-creation-of-debian-copyright-file/&quot;&gt;a
9796 blog post from 2015&lt;/a&gt;. To generate using cme, use the &#39;update
9797 dpkg-copyright&#39; option:
9798
9799 &lt;p&gt;&lt;pre&gt;
9800 cme update dpkg-copyright
9801 &lt;/pre&gt;&lt;/p&gt;
9802
9803 &lt;p&gt;This will create or update debian/copyright. The cme tool seem to
9804 handle UTF-8 names better than debmake.&lt;/p&gt;
9805
9806 &lt;p&gt;When the copyright file is created, I would also like some help to
9807 check if the file is correct. For this I found two good options,
9808 &lt;tt&gt;debmake -k&lt;/tt&gt; and &lt;tt&gt;license-reconcile&lt;/tt&gt;. The former seem
9809 to focus on license types and file matching, and is able to detect
9810 ineffective blocks in the copyright file. The latter reports missing
9811 copyright holders and years, but was confused by inconsistent license
9812 names (like CDDL vs. CDDL-1.0). I suspect it is good to use both and
9813 fix all issues reported by them before uploading. But I do not know
9814 if the tools and the ftpmasters agree on what is important to fix in a
9815 copyright file, so the package might still be rejected.&lt;/p&gt;
9816
9817 &lt;p&gt;The devscripts tool &lt;tt&gt;licensecheck&lt;/tt&gt; deserve mentioning. It
9818 will read through the source and try to find all copyright statements.
9819 It is not comparing the result to the content of debian/copyright, but
9820 can be useful when verifying the content of the copyright file.&lt;/p&gt;
9821
9822 &lt;p&gt;Are you aware of better tools in Debian to create and update
9823 debian/copyright file. Please let me know, or blog about it on
9824 planet.debian.org.&lt;/p&gt;
9825
9826 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
9827 activities, please send Bitcoin donations to my address
9828 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
9829
9830 &lt;p&gt;&lt;strong&gt;Update 2016-02-20&lt;/strong&gt;: I got a tip from Mike Gabriel
9831 on how to use licensecheck and cdbs to create a draft copyright file
9832
9833 &lt;p&gt;&lt;pre&gt;
9834 licensecheck --copyright -r `find * -type f` | \
9835 /usr/lib/cdbs/licensecheck2dep5 &gt; debian/copyright.auto
9836 &lt;/pre&gt;&lt;/p&gt;
9837
9838 &lt;p&gt;He mentioned that he normally check the generated file into the
9839 version control system to make it easier to discover license and
9840 copyright changes in the upstream source. I will try to do the same
9841 with my packages in the future.&lt;/p&gt;
9842
9843 &lt;p&gt;&lt;strong&gt;Update 2016-02-21&lt;/strong&gt;: The cme author recommended
9844 against using -quiet for new users, so I removed it from the proposed
9845 command line.&lt;/p&gt;
9846 </description>
9847 </item>
9848
9849 <item>
9850 <title>Using appstream in Debian to locate packages with firmware and mime type support</title>
9851 <link>https://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</link>
9852 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html</guid>
9853 <pubDate>Thu, 4 Feb 2016 16:40:00 +0100</pubDate>
9854 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;appstream system&lt;/a&gt;
9855 is taking shape in Debian, and one provided feature is a very
9856 convenient way to tell you which package to install to make a given
9857 firmware file available when the kernel is looking for it. This can
9858 be done using apt-file too, but that is for someone else to blog
9859 about. :)&lt;/p&gt;
9860
9861 &lt;p&gt;Here is a small recipe to find the package with a given firmware
9862 file, in this example I am looking for ctfw-3.2.3.0.bin, randomly
9863 picked from the set of firmware announced using appstream in Debian
9864 unstable. In general you would be looking for the firmware requested
9865 by the kernel during kernel module loading. To find the package
9866 providing the example file, do like this:&lt;/p&gt;
9867
9868 &lt;blockquote&gt;&lt;pre&gt;
9869 % apt install appstream
9870 [...]
9871 % apt update
9872 [...]
9873 % appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \
9874 awk &#39;/Package:/ {print $2}&#39;
9875 firmware-qlogic
9876 %
9877 &lt;/pre&gt;&lt;/blockquote&gt;
9878
9879 &lt;p&gt;See &lt;a href=&quot;https://wiki.debian.org/AppStream/Guidelines&quot;&gt;the
9880 appstream wiki&lt;/a&gt; page to learn how to embed the package metadata in
9881 a way appstream can use.&lt;/p&gt;
9882
9883 &lt;p&gt;This same approach can be used to find any package supporting a
9884 given MIME type. This is very useful when you get a file you do not
9885 know how to handle. First find the mime type using &lt;tt&gt;file
9886 --mime-type&lt;/tt&gt;, and next look up the package providing support for
9887 it. Lets say you got an SVG file. Its MIME type is image/svg+xml,
9888 and you can find all packages handling this type like this:&lt;/p&gt;
9889
9890 &lt;blockquote&gt;&lt;pre&gt;
9891 % apt install appstream
9892 [...]
9893 % apt update
9894 [...]
9895 % appstreamcli what-provides mimetype image/svg+xml | \
9896 awk &#39;/Package:/ {print $2}&#39;
9897 bkchem
9898 phototonic
9899 inkscape
9900 shutter
9901 tetzle
9902 geeqie
9903 xia
9904 pinta
9905 gthumb
9906 karbon
9907 comix
9908 mirage
9909 viewnior
9910 postr
9911 ristretto
9912 kolourpaint4
9913 eog
9914 eom
9915 gimagereader
9916 midori
9917 %
9918 &lt;/pre&gt;&lt;/blockquote&gt;
9919
9920 &lt;p&gt;I believe the MIME types are fetched from the desktop file for
9921 packages providing appstream metadata.&lt;/p&gt;
9922 </description>
9923 </item>
9924
9925 <item>
9926 <title>Creepy, visualise geotagged social media information - nice free software</title>
9927 <link>https://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</link>
9928 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html</guid>
9929 <pubDate>Sun, 24 Jan 2016 10:50:00 +0100</pubDate>
9930 <description>&lt;p&gt;Most people seem not to realise that every time they walk around
9931 with the computerised radio beacon known as a mobile phone their
9932 position is tracked by the phone company and often stored for a long
9933 time (like every time a SMS is received or sent). And if their
9934 computerised radio beacon is capable of running programs (often called
9935 mobile apps) downloaded from the Internet, these programs are often
9936 also capable of tracking their location (if the app requested access
9937 during installation). And when these programs send out information to
9938 central collection points, the location is often included, unless
9939 extra care is taken to not send the location. The provided
9940 information is used by several entities, for good and bad (what is
9941 good and bad, depend on your point of view). What is certain, is that
9942 the private sphere and the right to free movement is challenged and
9943 perhaps even eradicated for those announcing their location this way,
9944 when they share their whereabouts with private and public
9945 entities.&lt;/p&gt;
9946
9947 &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;
9948
9949 &lt;p&gt;The phone company logs provide a register of locations to check out
9950 when one want to figure out what the tracked person was doing. It is
9951 unavailable for most of us, but provided to selected government
9952 officials, company staff, those illegally buying information from
9953 unfaithful servants and crackers stealing the information. But the
9954 public information can be collected and analysed, and a free software
9955 tool to do so is called
9956 &lt;a href=&quot;http://www.geocreepy.com/&quot;&gt;Creepy or Cree.py&lt;/a&gt;. I
9957 discovered it when I read
9958 &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
9959 article about Creepy&lt;/a&gt; in the Norwegian newspaper Aftenposten i
9960 November 2014, and decided to check if it was available in Debian.
9961 The python program was in Debian, but
9962 &lt;a href=&quot;https://tracker.debian.org/pkg/creepy&quot;&gt;the version in
9963 Debian&lt;/a&gt; was completely broken and practically unmaintained. I
9964 uploaded a new version which did not work quite right, but did not
9965 have time to fix it then. This Christmas I decided to finally try to
9966 get Creepy operational in Debian. Now a fixed version is available in
9967 Debian unstable and testing, and almost all Debian specific patches
9968 are now included
9969 &lt;a href=&quot;https://github.com/jkakavas/creepy&quot;&gt;upstream&lt;/a&gt;.&lt;/p&gt;
9970
9971 &lt;p&gt;The Creepy program visualises geolocation information fetched from
9972 Twitter, Instagram, Flickr and Google+, and allow one to get a
9973 complete picture of every social media message posted recently in a
9974 given area, or track the movement of a given individual across all
9975 these services. Earlier it was possible to use the search API of at
9976 least some of these services without identifying oneself, but these
9977 days it is impossible. This mean that to use Creepy, you need to
9978 configure it to log in as yourself on these services, and provide
9979 information to them about your search interests. This should be taken
9980 into account when using Creepy, as it will also share information
9981 about yourself with the services.&lt;/p&gt;
9982
9983 &lt;p&gt;The picture above show the twitter messages sent from (or at least
9984 geotagged with a position from) the city centre of Oslo, the capital
9985 of Norway. One useful way to use Creepy is to first look at
9986 information tagged with an area of interest, and next look at all the
9987 information provided by one or more individuals who was in the area.
9988 I tested it by checking out which celebrity provide their location in
9989 twitter messages by checkout out who sent twitter messages near a
9990 Norwegian TV station, and next could track their position over time,
9991 making it possible to locate their home and work place, among other
9992 things. A similar technique have been
9993 &lt;a href=&quot;http://www.buzzfeed.com/maxseddon/does-this-soldiers-instagram-account-prove-russia-is-covertl&quot;&gt;used
9994 to locate Russian soldiers in Ukraine&lt;/a&gt;, and it is both a powerful
9995 tool to discover lying governments, and a useful tool to help people
9996 understand the value of the private information they provide to the
9997 public.&lt;/p&gt;
9998
9999 &lt;p&gt;The package is not trivial to backport to Debian Stable/Jessie, as
10000 it depend on several python modules currently missing in Jessie (at
10001 least python-instagram, python-flickrapi and
10002 python-requests-toolbelt).&lt;/p&gt;
10003
10004 &lt;p&gt;(I have uploaded
10005 &lt;a href=&quot;https://screenshots.debian.net/package/creepy&quot;&gt;the image to
10006 screenshots.debian.net&lt;/a&gt; and licensed it under the same terms as the
10007 Creepy program in Debian.)&lt;/p&gt;
10008 </description>
10009 </item>
10010
10011 <item>
10012 <title>Always download Debian packages using Tor - the simple recipe</title>
10013 <link>https://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html</link>
10014 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html</guid>
10015 <pubDate>Fri, 15 Jan 2016 00:30:00 +0100</pubDate>
10016 <description>&lt;p&gt;During his DebConf15 keynote, Jacob Appelbaum
10017 &lt;a href=&quot;https://summit.debconf.org/debconf15/meeting/331/what-is-to-be-done/&quot;&gt;observed
10018 that those listening on the Internet lines would have good reason to
10019 believe a computer have a given security hole&lt;/a&gt; if it download a
10020 security fix from a Debian mirror. This is a good reason to always
10021 use encrypted connections to the Debian mirror, to make sure those
10022 listening do not know which IP address to attack. In August, Richard
10023 Hartmann observed that encryption was not enough, when it was possible
10024 to interfere download size to security patches or the fact that
10025 download took place shortly after a security fix was released, and
10026 &lt;a href=&quot;http://richardhartmann.de/blog/posts/2015/08/24-Tor-enabled_Debian_mirror/&quot;&gt;proposed
10027 to always use Tor to download packages from the Debian mirror&lt;/a&gt;. He
10028 was not the first to propose this, as the
10029 &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;
10030 package by Tim Retout already existed to make it easy to convince apt
10031 to use &lt;a href=&quot;https://www.torproject.org/&quot;&gt;Tor&lt;/a&gt;, but I was not
10032 aware of that package when I read the blog post from Richard.&lt;/p&gt;
10033
10034 &lt;p&gt;Richard discussed the idea with Peter Palfrader, one of the Debian
10035 sysadmins, and he set up a Tor hidden service on one of the central
10036 Debian mirrors using the address vwakviie2ienjx6t.onion, thus making
10037 it possible to download packages directly between two tor nodes,
10038 making sure the network traffic always were encrypted.&lt;/p&gt;
10039
10040 &lt;p&gt;Here is a short recipe for enabling this on your machine, by
10041 installing &lt;tt&gt;apt-transport-tor&lt;/tt&gt; and replacing http and https
10042 urls with tor+http and tor+https, and using the hidden service instead
10043 of the official Debian mirror site. I recommend installing
10044 &lt;tt&gt;etckeeper&lt;/tt&gt; before you start to have a history of the changes
10045 done in /etc/.&lt;/p&gt;
10046
10047 &lt;blockquote&gt;&lt;pre&gt;
10048 apt install apt-transport-tor
10049 sed -i &#39;s% http://ftp.debian.org/% tor+http://vwakviie2ienjx6t.onion/%&#39; /etc/apt/sources.list
10050 sed -i &#39;s% http% tor+http%&#39; /etc/apt/sources.list
10051 &lt;/pre&gt;&lt;/blockquote&gt;
10052
10053 &lt;p&gt;If you have more sources listed in /etc/apt/sources.list.d/, run
10054 the sed commands for these too. The sed command is assuming your are
10055 using the ftp.debian.org Debian mirror. Adjust the command (or just
10056 edit the file manually) to match your mirror.&lt;/p&gt;
10057
10058 &lt;p&gt;This work in Debian Jessie and later. Note that tools like
10059 &lt;tt&gt;apt-file&lt;/tt&gt; only recently started using the apt transport
10060 system, and do not work with these tor+http URLs. For
10061 &lt;tt&gt;apt-file&lt;/tt&gt; you need the version currently in experimental,
10062 which need a recent apt version currently only in unstable. So if you
10063 need a working &lt;tt&gt;apt-file&lt;/tt&gt;, this is not for you.&lt;/p&gt;
10064
10065 &lt;p&gt;Another advantage from this change is that your machine will start
10066 using Tor regularly and at fairly random intervals (every time you
10067 update the package lists or upgrade or install a new package), thus
10068 masking other Tor traffic done from the same machine. Using Tor will
10069 become normal for the machine in question.&lt;/p&gt;
10070
10071 &lt;p&gt;On &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox&lt;/a&gt;, APT
10072 is set up by default to use &lt;tt&gt;apt-transport-tor&lt;/tt&gt; when Tor is
10073 enabled. It would be great if it was the default on any Debian
10074 system.&lt;/p&gt;
10075 </description>
10076 </item>
10077
10078 <item>
10079 <title>OpenALPR, find car license plates in video streams - nice free software</title>
10080 <link>https://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html</link>
10081 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html</guid>
10082 <pubDate>Wed, 23 Dec 2015 01:00:00 +0100</pubDate>
10083 <description>&lt;p&gt;When I was a kid, we used to collect &quot;car numbers&quot;, as we used to
10084 call the car license plate numbers in those days. I would write the
10085 numbers down in my little book and compare notes with the other kids
10086 to see how many region codes we had seen and if we had seen some
10087 exotic or special region codes and numbers. It was a fun game to pass
10088 time, as we kids have plenty of it.&lt;/p&gt;
10089
10090 &lt;p&gt;A few days I came across
10091 &lt;a href=&quot;https://github.com/openalpr/openalpr&quot;&gt;the OpenALPR
10092 project&lt;/a&gt;, a free software project to automatically discover and
10093 report license plates in images and video streams, and provide the
10094 &quot;car numbers&quot; in a machine readable format. I&#39;ve been looking for
10095 such system for a while now, because I believe it is a bad idea that the
10096 &lt;a href=&quot;https://en.wikipedia.org/wiki/Automatic_number_plate_recognition&quot;&gt;automatic
10097 number plate recognition&lt;/a&gt; tool only is available in the hands of
10098 the powerful, and want it to be available also for the powerless to
10099 even the score when it comes to surveillance and sousveillance. I
10100 discovered the developer
10101 &lt;a href=&quot;https://bugs.debian.org/747509&quot;&gt;wanted to get the tool into
10102 Debian&lt;/a&gt;, and as I too wanted it to be in Debian, I volunteered to
10103 help him get it into shape to get the package uploaded into the Debian
10104 archive.&lt;/p&gt;
10105
10106 &lt;p&gt;Today we finally managed to get the package into shape and uploaded
10107 it into Debian, where it currently
10108 &lt;a href=&quot;https://ftp-master.debian.org//new/openalpr_2.2.1-1.html&quot;&gt;waits
10109 in the NEW queue&lt;/a&gt; for review by the Debian ftpmasters.&lt;/p&gt;
10110
10111 &lt;p&gt;I guess you are wondering why on earth such tool would be useful
10112 for the common folks, ie those not running a large government
10113 surveillance system? Well, I plan to put it in a computer on my bike
10114 and in my car, tracking the cars nearby and allowing me to be notified
10115 when number plates on my watch list are discovered. Another use case
10116 was suggested by a friend of mine, who wanted to set it up at his home
10117 to open the car port automatically when it discovered the plate on his
10118 car. When I mentioned it perhaps was a bit foolhardy to allow anyone
10119 capable of placing his license plate number of a piece of cardboard to
10120 open his car port, men replied that it was always unlocked anyway. I
10121 guess for such use case it make sense. I am sure there are other use
10122 cases too, for those with imagination and a vision.&lt;/p&gt;
10123
10124 &lt;p&gt;If you want to build your own version of the Debian package, check
10125 out the upstream git source and symlink ./distros/debian to ./debian/
10126 before running &quot;debuild&quot; to build the source. Or wait a bit until the
10127 package show up in unstable.&lt;/p&gt;
10128 </description>
10129 </item>
10130
10131 <item>
10132 <title>Using appstream with isenkram to install hardware related packages in Debian</title>
10133 <link>https://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</link>
10134 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html</guid>
10135 <pubDate>Sun, 20 Dec 2015 12:20:00 +0100</pubDate>
10136 <description>&lt;p&gt;Around three years ago, I created
10137 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;the isenkram
10138 system&lt;/a&gt; to get a more practical solution in Debian for handing
10139 hardware related packages. A GUI system in the isenkram package will
10140 present a pop-up dialog when some hardware dongle supported by
10141 relevant packages in Debian is inserted into the machine. The same
10142 lookup mechanism to detect packages is available as command line
10143 tools in the isenkram-cli package. In addition to mapping hardware,
10144 it will also map kernel firmware files to packages and make it easy to
10145 install needed firmware packages automatically. The key for this
10146 system to work is a good way to map hardware to packages, in other
10147 words, allow packages to announce what hardware they will work
10148 with.&lt;/p&gt;
10149
10150 &lt;p&gt;I started by providing data files in the isenkram source, and
10151 adding code to download the latest version of these data files at run
10152 time, to ensure every user had the most up to date mapping available.
10153 I also added support for storing the mapping in the Packages file in
10154 the apt repositories, but did not push this approach because while I
10155 was trying to figure out how to best store hardware/package mappings,
10156 &lt;a href=&quot;http://www.freedesktop.org/software/appstream/docs/&quot;&gt;the
10157 appstream system&lt;/a&gt; was announced. I got in touch and suggested to
10158 add the hardware mapping into that data set to be able to use
10159 appstream as a data source, and this was accepted at least for the
10160 Debian version of appstream.&lt;/p&gt;
10161
10162 &lt;p&gt;A few days ago using appstream in Debian for this became possible,
10163 and today I uploaded a new version 0.20 of isenkram adding support for
10164 appstream as a data source for mapping hardware to packages. The only
10165 package so far using appstream to announce its hardware support is my
10166 pymissile package. I got help from Matthias Klumpp with figuring out
10167 how do add the required
10168 &lt;a href=&quot;https://appstream.debian.org/html/sid/main/metainfo/pymissile.html&quot;&gt;metadata
10169 in pymissile&lt;/a&gt;. I added a file debian/pymissile.metainfo.xml with
10170 this content:&lt;/p&gt;
10171
10172 &lt;blockquote&gt;&lt;pre&gt;
10173 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
10174 &amp;lt;component&amp;gt;
10175 &amp;lt;id&amp;gt;pymissile&amp;lt;/id&amp;gt;
10176 &amp;lt;metadata_license&amp;gt;MIT&amp;lt;/metadata_license&amp;gt;
10177 &amp;lt;name&amp;gt;pymissile&amp;lt;/name&amp;gt;
10178 &amp;lt;summary&amp;gt;Control original Striker USB Missile Launcher&amp;lt;/summary&amp;gt;
10179 &amp;lt;description&amp;gt;
10180 &amp;lt;p&amp;gt;
10181 Pymissile provides a curses interface to control an original
10182 Marks and Spencer / Striker USB Missile Launcher, as well as a
10183 motion control script to allow a webcamera to control the
10184 launcher.
10185 &amp;lt;/p&amp;gt;
10186 &amp;lt;/description&amp;gt;
10187 &amp;lt;provides&amp;gt;
10188 &amp;lt;modalias&amp;gt;usb:v1130p0202d*&amp;lt;/modalias&amp;gt;
10189 &amp;lt;/provides&amp;gt;
10190 &amp;lt;/component&amp;gt;
10191 &lt;/pre&gt;&lt;/blockquote&gt;
10192
10193 &lt;p&gt;The key for isenkram is the component/provides/modalias value,
10194 which is a glob style match rule for hardware specific strings
10195 (modalias strings) provided by the Linux kernel. In this case, it
10196 will map to all USB devices with vendor code 1130 and product code
10197 0202.&lt;/p&gt;
10198
10199 &lt;p&gt;Note, it is important that the license of all the metadata files
10200 are compatible to have permissions to aggregate them into archive wide
10201 appstream files. Matthias suggested to use MIT or BSD licenses for
10202 these files. A challenge is figuring out a good id for the data, as
10203 it is supposed to be globally unique and shared across distributions
10204 (in other words, best to coordinate with upstream what to use). But
10205 it can be changed later or, so we went with the package name as
10206 upstream for this project is dormant.&lt;/p&gt;
10207
10208 &lt;p&gt;To get the metadata file installed in the correct location for the
10209 mirror update scripts to pick it up and include its content the
10210 appstream data source, the file must be installed in the binary
10211 package under /usr/share/appdata/. I did this by adding the following
10212 line to debian/pymissile.install:&lt;/p&gt;
10213
10214 &lt;blockquote&gt;&lt;pre&gt;
10215 debian/pymissile.metainfo.xml usr/share/appdata
10216 &lt;/pre&gt;&lt;/blockquote&gt;
10217
10218 &lt;p&gt;With that in place, the command line tool isenkram-lookup will list
10219 all packages useful on the current computer automatically, and the GUI
10220 pop-up handler will propose to install the package not already
10221 installed if a hardware dongle is inserted into the machine in
10222 question.&lt;/p&gt;
10223
10224 &lt;p&gt;Details of the modalias field in appstream is available from the
10225 &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt; proposal.&lt;/p&gt;
10226
10227 &lt;p&gt;To locate the modalias values of all hardware present in a machine,
10228 try running this command on the command line:&lt;/p&gt;
10229
10230 &lt;blockquote&gt;&lt;pre&gt;
10231 cat $(find /sys/devices/|grep modalias)
10232 &lt;/pre&gt;&lt;/blockquote&gt;
10233
10234 &lt;p&gt;To learn more about the isenkram system, please check out
10235 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
10236 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
10237 </description>
10238 </item>
10239
10240 <item>
10241 <title>The GNU General Public License is not magic pixie dust</title>
10242 <link>https://people.skolelinux.org/pere/blog/The_GNU_General_Public_License_is_not_magic_pixie_dust.html</link>
10243 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_GNU_General_Public_License_is_not_magic_pixie_dust.html</guid>
10244 <pubDate>Mon, 30 Nov 2015 09:55:00 +0100</pubDate>
10245 <description>&lt;p&gt;A blog post from my fellow Debian developer Paul Wise titled
10246 &quot;&lt;a href=&quot;http://bonedaddy.net/pabs3/log/2015/11/27/sfc-supporter/&quot;&gt;The
10247 GPL is not magic pixie dust&lt;/a&gt;&quot; explain the importance of making sure
10248 the &lt;a href=&quot;http://www.gnu.org/copyleft/gpl.html&quot;&gt;GPL&lt;/a&gt; is enforced.
10249 I quote the blog post from Paul in full here with his permission:&lt;p&gt;
10250
10251 &lt;blockquote&gt;
10252
10253 &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;
10254
10255 &lt;blockquote&gt;
10256 The GPL is not magic pixie dust. It does not work by itself.&lt;br/&gt;
10257
10258 The first step is to choose a
10259 &lt;a href=&quot;https://copyleft.org/&quot;&gt;copyleft&lt;/a&gt; license for your
10260 code.&lt;br/&gt;
10261
10262 The next step is, when someone fails to follow that copyleft license,
10263 &lt;b&gt;it must be enforced&lt;/b&gt;&lt;br/&gt;
10264
10265 and its a simple fact of our modern society that such type of
10266 work&lt;br/&gt;
10267
10268 is incredibly expensive to do and incredibly difficult to do.
10269 &lt;/blockquote&gt;
10270
10271 &lt;p&gt;&lt;small&gt;-- &lt;a href=&quot;http://ebb.org/bkuhn/&quot;&gt;Bradley Kuhn&lt;/a&gt;, in
10272 &lt;a href=&quot;http://faif.us/&quot; title=&quot;Free as in Freedom&quot;&gt;FaiF&lt;/a&gt;
10273 &lt;a href=&quot;http://faif.us/cast/2015/nov/24/0x57/&quot;&gt;episode
10274 0x57&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
10275
10276 &lt;p&gt;As the Debian Website
10277 &lt;a href=&quot;https://bugs.debian.org/794116&quot;&gt;used&lt;/a&gt;
10278 &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;
10279 imply, public domain and permissively licensed software can lead to
10280 the production of more proprietary software as people discover useful
10281 software, extend it and or incorporate it into their hardware or
10282 software products. Copyleft licenses such as the GNU GPL were created
10283 to close off this avenue to the production of proprietary software but
10284 such licenses are not enough. With the ongoing adoption of Free
10285 Software by individuals and groups, inevitably the community&#39;s
10286 expectations of license compliance are violated, usually out of
10287 ignorance of the way Free Software works, but not always. As Karen
10288 and Bradley explained in &lt;a href=&quot;http://faif.us/&quot; title=&quot;Free as in
10289 Freedom&quot;&gt;FaiF&lt;/a&gt;
10290 &lt;a href=&quot;http://faif.us/cast/2015/nov/24/0x57/&quot;&gt;episode 0x57&lt;/a&gt;,
10291 copyleft is nothing if no-one is willing and able to stand up in court
10292 to protect it. The reality of today&#39;s world is that legal
10293 representation is expensive, difficult and time consuming. With
10294 &lt;a href=&quot;http://gpl-violations.org/&quot;&gt;gpl-violations.org&lt;/a&gt; in hiatus
10295 &lt;a href=&quot;http://gpl-violations.org/news/20151027-homepage-recovers/&quot;&gt;until&lt;/a&gt;
10296 some time in 2016, the &lt;a href=&quot;https://sfconservancy.org/&quot;&gt;Software
10297 Freedom Conservancy&lt;/a&gt; (a tax-exempt charity) is the major defender
10298 of the Linux project, Debian and other groups against GPL violations.
10299 In March the SFC supported a
10300 &lt;a href=&quot;https://sfconservancy.org/news/2015/mar/05/vmware-lawsuit/&quot;&gt;lawsuit
10301 by Christoph Hellwig&lt;/a&gt; against VMware for refusing to
10302 &lt;a href=&quot;https://sfconservancy.org/linux-compliance/vmware-lawsuit-faq.html&quot;&gt;comply
10303 with the GPL&lt;/a&gt; in relation to their use of parts of the Linux
10304 kernel. Since then two of their sponsors pulled corporate funding and
10305 conferences
10306 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/&quot;&gt;blocked
10307 or cancelled their talks&lt;/a&gt;. As a result they have decided to rely
10308 less on corporate funding and more on the broad community of
10309 individuals who support Free Software and copyleft. So the SFC has
10310 &lt;a href=&quot;https://sfconservancy.org/news/2015/nov/23/2015fundraiser/&quot;&gt;launched&lt;/a&gt;
10311 a &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;campaign&lt;/a&gt; to create
10312 a community of folks who stand up for copyleft and the GPL by
10313 supporting their work on promoting and supporting copyleft and Free
10314 Software.&lt;/p&gt;
10315
10316 &lt;p&gt;If you support Free Software,
10317 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/26/like-what-I-do/&quot;&gt;like&lt;/a&gt;
10318 what the SFC do, agree with their
10319 &lt;a href=&quot;https://sfconservancy.org/linux-compliance/principles.html&quot;&gt;compliance
10320 principles&lt;/a&gt;, are happy about their
10321 &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;successes&lt;/a&gt; in 2015,
10322 work on a project that is an SFC
10323 &lt;a href=&quot;https://sfconservancy.org/members/current/&quot;&gt;member&lt;/a&gt; and or
10324 just want to stand up for copyleft, please join
10325 &lt;a href=&quot;https://identi.ca/cwebber/image/JQGPA4qbTyyp3-MY8QpvuA&quot;&gt;Christopher
10326 Allan Webber&lt;/a&gt;,
10327 &lt;a href=&quot;https://sfconservancy.org/blog/2015/nov/24/faif-carols-fundraiser/&quot;&gt;Carol
10328 Smith&lt;/a&gt;,
10329 &lt;a href=&quot;http://www.jonobacon.org/2015/11/25/supporting-software-freedom-conservancy/&quot;&gt;Jono
10330 Bacon&lt;/a&gt;, myself and
10331 &lt;a href=&quot;https://sfconservancy.org/sponsors/#supporters&quot;&gt;others&lt;/a&gt; in
10332 becoming a
10333 &lt;a href=&quot;https://sfconservancy.org/supporter/&quot;&gt;supporter&lt;/a&gt;. For the
10334 next week your donation will be
10335 &lt;a href=&quot;https://sfconservancy.org/news/2015/nov/27/black-friday/&quot;&gt;matched&lt;/a&gt;
10336 by an anonymous donor. Please also consider asking your employer to
10337 match your donation or become a sponsor of SFC. Don&#39;t forget to
10338 spread the word about your support for SFC via email, your blog and or
10339 social media accounts.&lt;/p&gt;
10340
10341 &lt;/blockquote&gt;
10342
10343 &lt;p&gt;I agree with Paul on this topic and just signed up as a Supporter
10344 of Software Freedom Conservancy myself. Perhaps you should be a
10345 supporter too?&lt;/p&gt;
10346 </description>
10347 </item>
10348
10349 <item>
10350 <title>PGP key transition statement for key EE4E02F9</title>
10351 <link>https://people.skolelinux.org/pere/blog/PGP_key_transition_statement_for_key_EE4E02F9.html</link>
10352 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/PGP_key_transition_statement_for_key_EE4E02F9.html</guid>
10353 <pubDate>Tue, 17 Nov 2015 10:50:00 +0100</pubDate>
10354 <description>&lt;p&gt;I&#39;ve needed a new OpenPGP key for a while, but have not had time to
10355 set it up properly. I wanted to generate it offline and have it
10356 available on &lt;a href=&quot;http://shop.kernelconcepts.de/#openpgp&quot;&gt;a OpenPGP
10357 smart card&lt;/a&gt; for daily use, and learning how to do it and finding
10358 time to sit down with an offline machine almost took forever. But
10359 finally I&#39;ve been able to complete the process, and have now moved
10360 from my old GPG key to a new GPG key. See
10361 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2015-11-17-new-gpg-key-transition.txt&quot;&gt;the
10362 full transition statement, signed with both my old and new key&lt;/a&gt; for
10363 the details. This is my new key:&lt;/p&gt;
10364
10365 &lt;pre&gt;
10366 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]
10367 Key fingerprint = 3AC7 B2E3 ACA5 DF87 78F1 D827 111D 6B29 EE4E 02F9
10368 uid Petter Reinholdtsen &amp;lt;pere@hungry.com&amp;gt;
10369 uid Petter Reinholdtsen &amp;lt;pere@debian.org&amp;gt;
10370 sub 4096R/87BAFB0E 2015-11-03 [expires: 2019-11-02]
10371 sub 4096R/F91E6DE9 2015-11-03 [expires: 2019-11-02]
10372 sub 4096R/A0439BAB 2015-11-03 [expires: 2019-11-02]
10373 &lt;/pre&gt;
10374
10375 &lt;p&gt;The key can be downloaded from the OpenPGP key servers, signed by
10376 my old key.&lt;/p&gt;
10377
10378 &lt;p&gt;If you signed my old key
10379 (&lt;a href=&quot;http://pgp.cs.uu.nl/stats/DB4CCC4B2A30D729.html&quot;&gt;DB4CCC4B2A30D729&lt;/a&gt;),
10380 I&#39;d very much appreciate a signature on my new key, details and
10381 instructions in the transition statement. I m happy to reciprocate if
10382 you have a similarly signed transition statement to present.&lt;/p&gt;
10383 </description>
10384 </item>
10385
10386 <item>
10387 <title>Is Pentagon deciding the Norwegian negotiating position on Internet governance?</title>
10388 <link>https://people.skolelinux.org/pere/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html</link>
10389 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_Pentagon_deciding_the_Norwegian_negotiating_position_on_Internet_governance_.html</guid>
10390 <pubDate>Tue, 3 Nov 2015 13:40:00 +0100</pubDate>
10391 <description>&lt;p&gt;In Norway, all government offices are required by law to keep a
10392 list of every document or letter arriving and leaving their offices.
10393 Internal notes should also be documented. The document list (called a mail
10394 journal - &quot;postjournal&quot; in Norwegian) is public information and thanks
10395 to the Norwegian Freedom of Information Act (Offentleglova) the mail
10396 journal is available for everyone. Most offices even publish the mail
10397 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
10398 &lt;a href=&quot;https://www.oep.no/&quot;&gt;Offentlig Elektronisk Postjournal -
10399 OEP&lt;/a&gt;) to make it possible to search the entries in the list. Not
10400 all journal entries show up on OEP, and the search service is hard to
10401 use, but OEP does make it easier to find at least some interesting
10402 journal entries .&lt;/p&gt;
10403
10404 &lt;p&gt;In 2012 I came across a document in the mail journal for the
10405 Norwegian Ministry of Transport and Communications on OEP that
10406 piqued my interest. The title of the document was
10407 &quot;&lt;a href=&quot;https://www.oep.no/search/resultSingle.html?journalPostId=4192362&quot;&gt;Internet
10408 Governance and how it affects national security&lt;/a&gt;&quot; (Norwegian:
10409 &quot;Internet Governance og påvirkning på nasjonal sikkerhet&quot;). The
10410 document date was 2012-05-22, and it was said to be sent from the
10411 &quot;Permanent Mission of Norway to the United Nations&quot;. I asked for a
10412 copy, but my request was rejected with a reference to a legal clause said to authorize them to reject it
10413 (&lt;a href=&quot;http://lovdata.no/lov/2006-05-19-1620&quot;&gt;offentleglova § 20,
10414 letter c&lt;/a&gt;) and an explanation that the document was exempt because
10415 of foreign policy interests as it contained information related to the
10416 Norwegian negotiating position, negotiating strategies or similar. I
10417 was told the information in the document related to the ongoing
10418 negotiation in the International Telecommunications Union (ITU). The
10419 explanation made sense to me in early January 2013, as a ITU
10420 conference in Dubay discussing Internet Governance
10421 (&lt;a href=&quot;https://en.wikipedia.org/wiki/International_Telecommunication_Union#World_Conference_on_International_Telecommunications_2012_.28WCIT-12.29&quot;&gt;World
10422 Conference on International Telecommunications - WCIT-12&lt;/a&gt;) had just
10423 ended,
10424 &lt;a href=&quot;http://www.digi.no/kommentarer/2012/12/18/tvil-om-usas-rolle-pa-teletoppmote&quot;&gt;reportedly
10425 in chaos&lt;/a&gt; when USA walked out of the negotiations and 25 countries
10426 including Norway refused to sign the new treaty. It seemed
10427 reasonable to believe talks were still going on a few weeks later.
10428 Norway was represented at the ITU meeting by two authorities, the
10429 &lt;a href=&quot;http://www.nkom.no/&quot;&gt;Norwegian Communications Authority&lt;/a&gt;
10430 and the &lt;a href=&quot;https://www.regjeringen.no/no/dep/sd/&quot;&gt;Ministry of
10431 Transport and Communications&lt;/a&gt;. This might be the reason the letter
10432 was sent to the ministry. As I was unable to find the document in the
10433 mail journal of any Norwegian UN mission, I asked the ministry who had
10434 sent the document to the ministry, and was told that it was the Deputy
10435 Permanent Representative with the Permanent Mission of Norway in
10436 Geneva.&lt;/p&gt;
10437
10438 &lt;p&gt;Three years later, I was still curious about the content of that
10439 document, and again asked for a copy, believing the negotiation was
10440 over now. This time
10441 &lt;a href=&quot;https://mimesbronn.no/request/kopi_av_dokumenter_i_sak_2012914&quot;&gt;I
10442 asked both the Ministry of Transport and Communications as the
10443 receiver&lt;/a&gt; and
10444 &lt;a href=&quot;https://mimesbronn.no/request/brev_om_internet_governance_og_p&quot;&gt;asked
10445 the Permanent Mission of Norway in Geneva as the sender&lt;/a&gt; for a
10446 copy, to see if they both agreed that it should be withheld from the
10447 public. The ministry upheld its rejection quoting the same law
10448 reference as before, while the permanent mission rejected it quoting a
10449 different clause
10450 (&lt;a href=&quot;http://lovdata.no/lov/2006-05-19-1620&quot;&gt;offentleglova § 20
10451 letter b&lt;/a&gt;), claiming that they were required to keep the
10452 content of the document from the public because it contained
10453 information given to Norway with the expressed or implied expectation
10454 that the information should not be made public. I asked the permanent
10455 mission for an explanation, and was told that the document contained
10456 an account from a meeting held in the Pentagon for a limited group of NATO
10457 nations where the organiser of the meeting did not intend the content
10458 of the meeting to be publicly known. They explained that giving me a
10459 copy might cause Norway to not get access to similar information in
10460 the future and thus hurt the future foreign interests of Norway. They
10461 also explained that the Permanent Mission of Norway in Geneva was not
10462 the author of the document, they only got a copy of it, and because of
10463 this had not listed it in their mail journal.&lt;/p&gt;
10464
10465 &lt;p&gt;Armed with this
10466 knowledge I asked the Ministry to reconsider and asked who was the
10467 author of the document, now realising that it was not same as the
10468 &quot;sender&quot; according to Ministry of Transport and Communications. The
10469 ministry upheld its rejection but told me the name of the author of
10470 the document. According to
10471 &lt;a href=&quot;https://www.regjeringen.no/no/aktuelt/unga69_rapport1/id2001204/&quot;&gt;a
10472 government report&lt;/a&gt; the author was with the Permanent Mission of
10473 Norway in New York a bit more than a year later (2014-09-22), so I
10474 guessed that might be the office responsible for writing and sending
10475 the report initially and
10476 &lt;a href=&quot;https://www.mimesbronn.no/request/mote_2012_i_pentagon_om_itu&quot;&gt;asked
10477 them for a copy&lt;/a&gt; but I was obviously wrong as I was told that the
10478 document was unknown to them and that the author did not work there
10479 when the document was written. Next, I asked the Permanent Mission of
10480 Norway in Geneva and the Foreign Ministry to reconsider and at least
10481 tell me who sent the document to Deputy Permanent Representative with
10482 the Permanent Mission of Norway in Geneva. The Foreign Ministry also
10483 upheld its rejection, but told me that the person sending the document
10484 to Permanent Mission of Norway in Geneva was the defence attaché with
10485 the Norwegian Embassy in Washington. I do not know if this is the
10486 same person as the author of the document.&lt;/p&gt;
10487
10488 &lt;p&gt;If I understand the situation correctly, someone capable of
10489 inviting selected NATO nations to a meeting in Pentagon organised a
10490 meeting where someone representing the Norwegian defence attaché in
10491 Washington attended, and the account from this meeting is interpreted
10492 by the Ministry of Transport and Communications to expose Norways
10493 negotiating position, negotiating strategies and similar regarding the
10494 ITU negotiations on Internet Governance. It is truly amazing what can
10495 be derived from mere meta-data.&lt;/p&gt;
10496
10497 &lt;p&gt;I wonder which NATO countries besides Norway attended this meeting?
10498 And what exactly was said and done at the meeting? Anyone know?&lt;/p&gt;
10499 </description>
10500 </item>
10501
10502 <item>
10503 <title>New book, &quot;Fri kultur&quot; by @lessig, a Norwegian Bokmål translation of &quot;Free Culture&quot; from 2004</title>
10504 <link>https://people.skolelinux.org/pere/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html</link>
10505 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_book___Fri_kultur__by__lessig__a_Norwegian_Bokm_l_translation_of__Free_Culture__from_2004.html</guid>
10506 <pubDate>Sat, 31 Oct 2015 09:00:00 +0100</pubDate>
10507 <description>&lt;p&gt;People keep asking me where to get the various forms of the book I
10508 published last week, the Norwegian Bokmål edition of Lawrence Lessigs
10509 book &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt;. It was
10510 published on paper via lulu.com, and is also available in PDF, ePub
10511 and MOBI format. I currently sell the paper edition for self cost
10512 from lulu.com, but might extend the distribution to book stores like
10513 Amazon and Barnes &amp; Noble later. This will double the price and force
10514 me to make a profit from selling the book. Anyway, here are links to
10515 get the book in different formats:&lt;/p&gt;
10516
10517 &lt;ul&gt;
10518
10519 &lt;li&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html&quot;&gt;Buy
10520 paper edition from lulu.com&lt;/a&gt;&lt;/li&gt;
10521
10522 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.pdf&quot;&gt;Download
10523 PDF, size 7.9 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
10524
10525 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.epub&quot;&gt;Download
10526 ePub, size 11 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
10527
10528 &lt;li&gt;&lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/archive/freeculture.nb.mobi&quot;&gt;Download
10529 MOBI, size 3.8 MiB&lt;/a&gt; (gratis/free)&lt;/li&gt;
10530
10531 &lt;/ul&gt;
10532
10533 &lt;p&gt;Note that the MOBI version have problems with the table of content,
10534 at least with the viewers I have been able to test. And the ePub file
10535 have several problems according to
10536 &lt;a href=&quot;https://github.com/IDPF/epubcheck&quot;&gt;epubcheck&lt;/a&gt;, but seem
10537 to display fine in the viewers I have tested. All the files needed to
10538 create the book in various forms are available from
10539 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;the
10540 github project page&lt;/a&gt;.&lt;/p&gt;
10541
10542 &lt;p&gt;The project got press coverage from the Norwegian IT news site
10543 digi.no. Check out the article
10544 &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
10545 åpne politikernes øyne for Creative Commons&lt;/a&gt;&quot;.&lt;/li&gt;
10546
10547 &lt;p&gt;I&#39;ve &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/freeculture&quot;&gt;blogged
10548 about the project&lt;/a&gt; as it moved along. The blogs document the translation
10549 progress and insights I had along the way.&lt;/p&gt;
10550 </description>
10551 </item>
10552
10553 <item>
10554 <title>&quot;Free Culture&quot; by @lessig - The background story for Creative Commons - new edition available</title>
10555 <link>https://people.skolelinux.org/pere/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html</link>
10556 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/_Free_Culture__by__lessig___The_background_story_for_Creative_Commons___new_edition_available.html</guid>
10557 <pubDate>Fri, 23 Oct 2015 12:10:00 +0200</pubDate>
10558 <description>&lt;p&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html&quot;&gt;Click
10559 here to buy the book&lt;/a&gt;.&lt;/p&gt;
10560
10561 &lt;p&gt;In 2004, as the &lt;a href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons
10562 movement&lt;/a&gt; gained momentum, its creator Lawrence Lessig wrote the
10563 book &lt;a href=&quot;https://en.wikipedia.org/wiki/Free_Culture_(book)&quot;&gt;Free
10564 Culture&lt;/a&gt; to explain the problems with increasing copyright
10565 regulation and suggest some solutions. I read the book back then and
10566 was very moved by it. Reading the book inspired me and changed the
10567 way I looked on copyright law, and I would love it if more people
10568 would read it too.&lt;/p&gt;
10569
10570 &lt;p&gt;Because of this, I decided in the summer of 2012 to translate it to
10571 Norwegian Bokmål and publish it for those of my friends and family
10572 that prefer to read books in Norwegian. I translated the book using
10573 docbook and a gettext PO file, and a byproduct of this process is a
10574 new edition of the English original. I&#39;ve been in touch with the
10575 author during by work, and he said it was fine with him if I also
10576 published an English version. So I decided to do so. Today, I made
10577 this edition
10578 &lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html&quot;&gt;available
10579 for sale on Lulu.com&lt;/a&gt;, for those interested in a paper book. This
10580 is the cover:
10581
10582 &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;
10583
10584 &lt;p&gt;The Norwegian Bokmål version will be available for purchase in a
10585 few days. I also plan to publish a French version in a few weeks or
10586 months, depending on the amount of people with knowledge of French to
10587 join the translation project. So far there is only one active
10588 person, but the French book is almost completely translated but
10589 need some proof reading.&lt;/p&gt;
10590
10591 &lt;p&gt;The book is also available in PDF, ePub and MOBI formats from
10592 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
10593 github project page&lt;/a&gt;. Note the ePub and MOBI versions have some
10594 formatting problems I believe is due to bugs in the docbook tool
10595 dbtoepub (Debian BTS issues
10596 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795842&quot;&gt;#795842&lt;/a&gt;
10597 and
10598 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796871&quot;&gt;#796871&lt;/a&gt;),
10599 but I have not taken the time to investigate. I recommend the PDF and
10600 ePub version for now, as they seem to show up fine in the viewers I
10601 have available.&lt;/p&gt;
10602
10603 &lt;p&gt;After the translation to Norwegian Bokmål was complete, I was able
10604 to secure some sponsoring from
10605 &lt;a href=&quot;http://www.nuugfoundation.no/&quot;&gt;the NUUG Foundation&lt;/a&gt; to
10606 print the book. This is the reason their logo is located on the back
10607 cover. I am very grateful for their contribution, and will use it to
10608 give a copy of the Norwegian edition to members of the Norwegian
10609 Parliament and other decision makers here in Norway.&lt;/p&gt;
10610 </description>
10611 </item>
10612
10613 <item>
10614 <title>Lawrence Lessig interviewed Edward Snowden a year ago</title>
10615 <link>https://people.skolelinux.org/pere/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html</link>
10616 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lawrence_Lessig_interviewed_Edward_Snowden_a_year_ago.html</guid>
10617 <pubDate>Mon, 19 Oct 2015 11:50:00 +0200</pubDate>
10618 <description>&lt;p&gt;Last year, &lt;a href=&quot;https://lessig2016.us/&quot;&gt;US president candidate
10619 in the Democratic Party&lt;/a&gt; Lawrence interviewed Edward Snowden. The
10620 one hour interview was
10621 &lt;a href=&quot;https://www.youtube.com/watch?v=o_Sr96TFQQE&quot;&gt;published by
10622 Harvard Law School 2014-10-23 on Youtube&lt;/a&gt;, and the meeting took
10623 place 2014-10-20.&lt;/p&gt;
10624
10625 &lt;p&gt;The questions are very good, and there is lots of useful
10626 information to be learned and very interesting issues to think about
10627 being raised. Please check it out.&lt;/p&gt;
10628
10629 &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;
10630
10631 &lt;p&gt;I find it especially interesting to hear again that Snowden did try
10632 to bring up his reservations through the official channels without any
10633 luck. It is in sharp contrast to the answers made 2013-11-06 by the
10634 Norwegian prime minister Erna Solberg to the Norwegian Parliament,
10635 &lt;a href=&quot;https://tale.holderdeord.no/speeches/s131106/68&quot;&gt;claiming
10636 Snowden is no Whistle-Blower&lt;/a&gt; because he should have taken up his
10637 concerns internally and using official channels. It make me sad
10638 that this is the political leadership we have here in Norway.&lt;/p&gt;
10639 </description>
10640 </item>
10641
10642 <item>
10643 <title>The Story of Aaron Swartz - Let us all weep!</title>
10644 <link>https://people.skolelinux.org/pere/blog/The_Story_of_Aaron_Swartz___Let_us_all_weep_.html</link>
10645 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Story_of_Aaron_Swartz___Let_us_all_weep_.html</guid>
10646 <pubDate>Thu, 8 Oct 2015 12:10:00 +0200</pubDate>
10647 <description>&lt;p&gt;The movie &quot;&lt;a href=&quot;http://www.takepart.com/internets-own-boy&quot;&gt;The
10648 Internet&#39;s Own Boy: The Story of Aaron Swartz&lt;/a&gt;&quot; is both inspiring
10649 and depressing at the same time. The work of Aaron Swartz has
10650 inspired me in my work, and I am grateful of all the improvements he
10651 was able to initiate or complete. I wish I am able to do as much good
10652 in my life as he did in his. Every minute of this 1:45 long movie is
10653 inspiring in documenting how much impact a single person can have on
10654 improving the society and this world. And it is depressing in
10655 documenting how the law enforcement of USA (and other countries) is
10656 corrupted to a point where they can push a bright kid to his death for
10657 downloading too many scientific articles. Aaron is dead. Let us all
10658 weep.&lt;/p&gt;
10659
10660 &lt;p&gt;The movie is also available on
10661 &lt;a href=&quot;https://www.youtube.com/watch?v=vXr-2hwTk58&quot;&gt;Youtube&lt;/a&gt;. I
10662 wish there were Norwegian subtitles available, so I could show it to
10663 my parents.&lt;/p&gt;
10664 </description>
10665 </item>
10666
10667 <item>
10668 <title>French Docbook/PDF/EPUB/MOBI edition of the Free Culture book</title>
10669 <link>https://people.skolelinux.org/pere/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html</link>
10670 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/French_Docbook_PDF_EPUB_MOBI_edition_of_the_Free_Culture_book.html</guid>
10671 <pubDate>Thu, 1 Oct 2015 13:20:00 +0200</pubDate>
10672 <description>&lt;p&gt;As I wrap up the Norwegian version of
10673 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Free
10674 Culture&lt;/a&gt; book by Lawrence Lessig (still waiting for my final proof
10675 reading copy to arrive in the mail), my great
10676 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt; helper and
10677 developer of the dblatex docbook processor, Benoît Guillon, decided a
10678 to try to create a French version of the book. He started with the
10679 French translation available from the
10680 &lt;a href=&quot;http://www.wikilivres.ca/wiki/Culture_libre&quot;&gt;Wikilivres wiki
10681 pages&lt;/a&gt;, and wrote a program to convert it into a PO file, allowing
10682 the translation to be integrated into the po4a based framework I use
10683 to create the Norwegian translation from the English edition. We meet
10684 on the &lt;a href=&quot;irc://irc.freenode.net/%23dblatex&quot;&gt;#dblatex IRC
10685 channel&lt;/a&gt; to discuss the work. If you want to help create a French
10686 edition, check out
10687 &lt;a href=&quot;https://github.com/marsgui/free-culture-lessig&quot;&gt;his git
10688 repository&lt;/a&gt; and join us on IRC. If the French edition look good,
10689 we might publish it as a paper book on lulu.com. A French version of
10690 the drawings and the cover need to be provided for this to happen.&lt;/p&gt;
10691 </description>
10692 </item>
10693
10694 <item>
10695 <title>The life and death of a laptop battery</title>
10696 <link>https://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html</link>
10697 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html</guid>
10698 <pubDate>Thu, 24 Sep 2015 16:00:00 +0200</pubDate>
10699 <description>&lt;p&gt;When I get a new laptop, the battery life time at the start is OK.
10700 But this do not last. The last few laptops gave me a feeling that
10701 within a year, the life time is just a fraction of what it used to be,
10702 and it slowly become painful to use the laptop without power connected
10703 all the time. Because of this, when I got a new Thinkpad X230 laptop
10704 about two years ago, I decided to monitor its battery state to have
10705 more hard facts when the battery started to fail.&lt;/p&gt;
10706
10707 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2015-09-24-laptop-battery-graph.png&quot;/&gt;
10708
10709 &lt;p&gt;First I tried to find a sensible Debian package to record the
10710 battery status, assuming that this must be a problem already handled
10711 by someone else. I found
10712 &lt;a href=&quot;https://tracker.debian.org/pkg/battery-stats&quot;&gt;battery-stats&lt;/a&gt;,
10713 which collects statistics from the battery, but it was completely
10714 broken. I sent a few suggestions to the maintainer, but decided to
10715 write my own collector as a shell script while I waited for feedback
10716 from him. Via
10717 &lt;a href=&quot;http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html&quot;&gt;a
10718 blog post about the battery development on a MacBook Air&lt;/a&gt; I also
10719 discovered
10720 &lt;a href=&quot;https://github.com/jradavenport/batlog.git&quot;&gt;batlog&lt;/a&gt;, not
10721 available in Debian.&lt;/p&gt;
10722
10723 &lt;p&gt;I started my collector 2013-07-15, and it has been collecting
10724 battery stats ever since. Now my
10725 /var/log/hjemmenett-battery-status.log file contain around 115,000
10726 measurements, from the time the battery was working great until now,
10727 when it is unable to charge above 7% of original capacity. My
10728 collector shell script is quite simple and look like this:&lt;/p&gt;
10729
10730 &lt;pre&gt;
10731 #!/bin/sh
10732 # Inspired by
10733 # http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html
10734 # See also
10735 # http://blog.sleeplessbeastie.eu/2013/01/02/debian-how-to-monitor-battery-capacity/
10736 logfile=/var/log/hjemmenett-battery-status.log
10737
10738 files=&quot;manufacturer model_name technology serial_number \
10739 energy_full energy_full_design energy_now cycle_count status&quot;
10740
10741 if [ ! -e &quot;$logfile&quot; ] ; then
10742 (
10743 printf &quot;timestamp,&quot;
10744 for f in $files; do
10745 printf &quot;%s,&quot; $f
10746 done
10747 echo
10748 ) &gt; &quot;$logfile&quot;
10749 fi
10750
10751 log_battery() {
10752 # Print complete message in one echo call, to avoid race condition
10753 # when several log processes run in parallel.
10754 msg=$(printf &quot;%s,&quot; $(date +%s); \
10755 for f in $files; do \
10756 printf &quot;%s,&quot; $(cat $f); \
10757 done)
10758 echo &quot;$msg&quot;
10759 }
10760
10761 cd /sys/class/power_supply
10762
10763 for bat in BAT*; do
10764 (cd $bat &amp;&amp; log_battery &gt;&gt; &quot;$logfile&quot;)
10765 done
10766 &lt;/pre&gt;
10767
10768 &lt;p&gt;The script is called when the power management system detect a
10769 change in the power status (power plug in or out), and when going into
10770 and out of hibernation and suspend. In addition, it collect a value
10771 every 10 minutes. This make it possible for me know when the battery
10772 is discharging, charging and how the maximum charge change over time.
10773 The code for the Debian package
10774 &lt;a href=&quot;https://github.com/petterreinholdtsen/battery-status&quot;&gt;is now
10775 available on github&lt;/a&gt;.&lt;/p&gt;
10776
10777 &lt;p&gt;The collected log file look like this:&lt;/p&gt;
10778
10779 &lt;pre&gt;
10780 timestamp,manufacturer,model_name,technology,serial_number,energy_full,energy_full_design,energy_now,cycle_count,status,
10781 1376591133,LGC,45N1025,Li-ion,974,62800000,62160000,39050000,0,Discharging,
10782 [...]
10783 1443090528,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
10784 1443090601,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
10785 &lt;/pre&gt;
10786
10787 &lt;p&gt;I wrote a small script to create a graph of the charge development
10788 over time. This graph depicted above show the slow death of my laptop
10789 battery.&lt;/p&gt;
10790
10791 &lt;p&gt;But why is this happening? Why are my laptop batteries always
10792 dying in a year or two, while the batteries of space probes and
10793 satellites keep working year after year. If we are to believe
10794 &lt;a href=&quot;http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries&quot;&gt;Battery
10795 University&lt;/a&gt;, the cause is me charging the battery whenever I have a
10796 chance, and the fix is to not charge the Lithium-ion batteries to 100%
10797 all the time, but to stay below 90% of full charge most of the time.
10798 I&#39;ve been told that the Tesla electric cars
10799 &lt;a href=&quot;http://my.teslamotors.com/de_CH/forum/forums/battery-charge-limit&quot;&gt;limit
10800 the charge of their batteries to 80%&lt;/a&gt;, with the option to charge to
10801 100% when preparing for a longer trip (not that I would want a car
10802 like Tesla where rights to privacy is abandoned, but that is another
10803 story), which I guess is the option we should have for laptops on
10804 Linux too.&lt;/p&gt;
10805
10806 &lt;p&gt;Is there a good and generic way with Linux to tell the battery to
10807 stop charging at 80%, unless requested to charge to 100% once in
10808 preparation for a longer trip? I found
10809 &lt;a href=&quot;http://askubuntu.com/questions/34452/how-can-i-limit-battery-charging-to-80-capacity&quot;&gt;one
10810 recipe on askubuntu for Ubuntu to limit charging on Thinkpad to
10811 80%&lt;/a&gt;, but could not get it to work (kernel module refused to
10812 load).&lt;/p&gt;
10813
10814 &lt;p&gt;I wonder why the battery capacity was reported to be more than 100%
10815 at the start. I also wonder why the &quot;full capacity&quot; increases some
10816 times, and if it is possible to repeat the process to get the battery
10817 back to design capacity. And I wonder if the discharge and charge
10818 speed change over time, or if this stay the same. I did not yet try
10819 to write a tool to calculate the derivative values of the battery
10820 level, but suspect some interesting insights might be learned from
10821 those.&lt;/p&gt;
10822
10823 &lt;p&gt;Update 2015-09-24: I got a tip to install the packages
10824 acpi-call-dkms and tlp (unfortunately missing in Debian stable)
10825 packages instead of the tp-smapi-dkms package I had tried to use
10826 initially, and use &#39;tlp setcharge 40 80&#39; to change when charging start
10827 and stop. I&#39;ve done so now, but expect my existing battery is toast
10828 and need to be replaced. The proposal is unfortunately Thinkpad
10829 specific.&lt;/p&gt;
10830 </description>
10831 </item>
10832
10833 <item>
10834 <title>Book cover for the Free Culture book finally done</title>
10835 <link>https://people.skolelinux.org/pere/blog/Book_cover_for_the_Free_Culture_book_finally_done.html</link>
10836 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Book_cover_for_the_Free_Culture_book_finally_done.html</guid>
10837 <pubDate>Thu, 3 Sep 2015 21:00:00 +0200</pubDate>
10838 <description>&lt;p&gt;Creating a good looking book cover proved harder than I expected.
10839 I wanted to create a cover looking similar to the original cover of
10840 the
10841 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Free
10842 Culture&lt;/a&gt; book we are translating to Norwegian, and I wanted it in
10843 vector format for high resolution printing. But my inkscape knowledge
10844 were not nearly good enough to pull that off.
10845
10846 &lt;p&gt;But thanks to the great inkscape community, I was able to wrap up
10847 the cover yesterday evening. I asked on the
10848 &lt;a href=&quot;irc://irc.freenode.net/%23inkscape&quot;&gt;#inkscape IRC channel&lt;/a&gt;
10849 on Freenode for help and clues, and Marc Jeanmougin (Mc-) volunteered
10850 to try to recreate it based on the PDF of the cover from the HTML
10851 version. Not only did he create a
10852 &lt;a href=&quot;https://marc.jeanmougin.fr/share/copy1.svg &quot;&gt;SVG document with
10853 the original and his vector version side by side&lt;/a&gt;, he even provided
10854 an &lt;a href=&quot;https://marc.jeanmougin.fr/share/out-1.ogv&quot;&gt;instruction
10855 video&lt;/a&gt; explaining how he did it&lt;/a&gt;. But the instruction video is
10856 not easy to follow for an untrained inkscape user. The video is a
10857 recording on how he did it, and he is obviously very experienced as
10858 the menu selections are very quick and he mentioned on IRC that he did
10859 use some keyboard shortcuts that can&#39;t be seen on the video, but it
10860 give a good idea about the inkscape operations to use to create the
10861 stripes with the embossed copyright sign in the center.&lt;/p&gt;
10862
10863 &lt;p&gt;I took his SVG file, copied the vector image and re-sized it to fit
10864 on the cover I was drawing. I am happy with the end result, and the
10865 current english version look like this:&lt;/p&gt;
10866
10867 &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;
10868
10869 &lt;p&gt;I am not quite sure about the text on the back, but guess it will
10870 do. I picked three quotes from the official site for the book, and
10871 hope it will work to trigger the interest of potential readers. The
10872 Norwegian cover will look the same, but with the texts and bar code
10873 replaced with the Norwegian version.&lt;/p&gt;
10874
10875 &lt;p&gt;The book is very close to being ready for publication, and I expect
10876 to upload the final draft to Lulu in the next few days and order a
10877 final proof reading copy to verify that everything look like it should
10878 before allowing everyone to order their own copy of Free Culture, in
10879 English or Norwegian Bokmål. I&#39;m waiting to give the the productive
10880 proof readers a chance to complete their work.&lt;/p&gt;
10881 </description>
10882 </item>
10883
10884 <item>
10885 <title>In my hand, a pocket book edition of the Norwegian Free Culture book!</title>
10886 <link>https://people.skolelinux.org/pere/blog/In_my_hand__a_pocket_book_edition_of_the_Norwegian_Free_Culture_book_.html</link>
10887 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/In_my_hand__a_pocket_book_edition_of_the_Norwegian_Free_Culture_book_.html</guid>
10888 <pubDate>Wed, 19 Aug 2015 22:10:00 +0200</pubDate>
10889 <description>&lt;p&gt;Today, finally, my first printed draft edition of the Norwegian
10890 translation of Free Culture I have been working on for the last few
10891 years arrived in the mail. I had to fake a cover to get the interior
10892 printed, and the exterior of the book look awful, but that is
10893 irrelevant at this point. I asked for a printed pocket book version
10894 to get an idea about the font sizes and paper format as well as how
10895 good the figures and images look in print, but also to test what the
10896 pocket book version would look like. After receiving the 500 page
10897 pocket book, it became obvious to me that that pocket book size is too
10898 small for this book. I believe the book is too thick, and several
10899 tables and figures do not look good in the size they get with that
10900 small page sizes. I believe I will go with the 5.5x8.5 inch size
10901 instead. A surprise discovery from the paper version was how bad the
10902 URLs look in print. They are very hard to read in the colophon page.
10903 The URLs are red in the PDF, but light gray on paper. I need to
10904 change the color of links somehow to look better. But there is a
10905 printed book in my hand, and it feels great. :)&lt;/p&gt;
10906
10907 &lt;p&gt;Now I only need to fix the cover, wrap up the postscript with the
10908 store behind the book, and collect the last corrections from the proof
10909 readers before the book is ready for proper printing. Cover artists
10910 willing to work for free and create a Creative Commons licensed vector
10911 file looking similar to the original is most welcome, as my skills as
10912 a graphics designer are mostly missing.&lt;/p&gt;
10913 </description>
10914 </item>
10915
10916 <item>
10917 <title>First paper version of the Norwegian Free Culture book heading my way</title>
10918 <link>https://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</link>
10919 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</guid>
10920 <pubDate>Sun, 9 Aug 2015 10:15:00 +0200</pubDate>
10921 <description>&lt;p&gt;Typesetting a book is harder than I hoped. As the translation is
10922 mostly done, and a volunteer proof reader was going to check the text
10923 on paper, it was time this summer to focus on formatting my translated
10924 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; based version of the
10925 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; book by Lawrence
10926 Lessig. I&#39;ve been trying to get both docboox-xsl+fop and dblatex to
10927 give me a good looking PDF, but in the end I went with dblatex, because
10928 its Debian maintainer and upstream developer were responsive and very
10929 helpful in solving my formatting challenges.&lt;/p&gt;
10930
10931 &lt;p&gt;Last night, I finally managed to create a PDF that no longer made
10932 &lt;a href=&quot;http://www.lulu.com/&quot;&gt;Lulu.com&lt;/a&gt; complain after uploading,
10933 and I ordered a text version of the book on paper. It is lacking a
10934 proper book cover and is not tagged with the correct ISBN number, but
10935 should give me an idea what the finished book will look like.&lt;/p&gt;
10936
10937 &lt;p&gt;Instead of using Lulu, I did consider printing the book using
10938 &lt;a href=&quot;http://www.createspace.com/&quot;&gt;CreateSpace&lt;/a&gt;, but ended up
10939 using Lulu because it had smaller book size options (CreateSpace seem
10940 to lack pocket book with extended distribution). I looked for a
10941 similar service in Norway, but have not seen anything so far. Please
10942 let me know if I am missing out on something here.&lt;/p&gt;
10943
10944 &lt;p&gt;But I still struggle to decide the book size. Should I go for
10945 pocket book (4.25x6.875 inches / 10.8x17.5 cm) with 556 pages, Digest
10946 (5.5x8.5 inches / 14x21.6 cm) with 323 pages or US Trade (6x8 inches /
10947 15.3x22.9 cm) with 280 pages? Fewer pager give a cheaper book, and a
10948 smaller book is easier to carry around. The test book I ordered was
10949 pocket book sized, to give me an idea how well that fit in my hand,
10950 but I suspect I will end up using a digest sized book in the end to
10951 bring the prize down further.&lt;/p&gt;
10952
10953 &lt;p&gt;My biggest challenge at the moment is making nice cover art. My
10954 inkscape skills are not yet up to the task of replicating the original
10955 cover in SVG format. I also need to figure out what to write about
10956 the book on the back (will most likely use the same text as the
10957 description on web based book stores). I would love help with this,
10958 if you are willing to license the art source and final version using
10959 the same CC license as the book. My artistic skills are not really up
10960 to the task.&lt;/p&gt;
10961
10962 &lt;p&gt;I plan to publish the book in both English and Norwegian and on
10963 paper, in PDF form as well as EPUB and MOBI format. The current
10964 status can as usual be found on
10965 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
10966 in the archive/ directory. So far I have spent all time on making the
10967 PDF version look good. Someone should probably do the same with the
10968 dbtoepub generated e-book. Help is definitely needed here, as I
10969 expect to run out of steem before I find time to improve the epub
10970 formatting.&lt;/p&gt;
10971
10972 &lt;p&gt;Please let me know via github if you find typos in the book or
10973 discover translations that should be improved. The final proof
10974 reading is being done right now, and I expect to publish the finished
10975 result in a few months.&lt;/p&gt;
10976 </description>
10977 </item>
10978
10979 <item>
10980 <title>Typesetting DocBook footnotes as endnotes with dblatex</title>
10981 <link>https://people.skolelinux.org/pere/blog/Typesetting_DocBook_footnotes_as_endnotes_with_dblatex.html</link>
10982 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Typesetting_DocBook_footnotes_as_endnotes_with_dblatex.html</guid>
10983 <pubDate>Thu, 16 Jul 2015 18:10:00 +0200</pubDate>
10984 <description>&lt;p&gt;I&#39;m still working on the Norwegian version of the
10985 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture book by Lawrence
10986 Lessig&lt;/a&gt;, and is now working on the final typesetting and layout.
10987 One of the features I want to get the structure similar to the
10988 original book is to typeset the footnotes as endnotes in the notes
10989 chapter. Based on the
10990 &lt;a href=&quot;https://bugs.debian.org/685063&quot;&gt;feedback from the Debian
10991 maintainer and the dblatex developer&lt;/a&gt;, I came up with this recipe I
10992 would like to share with you. The proposal was to create a new LaTeX
10993 class file and add the LaTeX code there, but this is not always
10994 practical, when I want to be able to replace the class using a make
10995 file variable. So my proposal misuses the latex.begindocument XSL
10996 parameter value, to get a small fragment into the correct location in
10997 the generated LaTeX File.&lt;/p&gt;
10998
10999 &lt;p&gt;First, decide where in the DocBook document to place the endnotes,
11000 and add this text there:&lt;/p&gt;
11001
11002 &lt;pre&gt;
11003 &amp;lt;?latex \theendnotes ?&amp;gt;
11004 &lt;/pre&gt;
11005
11006 &lt;p&gt;Next, create a xsl stylesheet file dblatex-endnotes.xsl to add the
11007 code needed to add the endnote instructions in the preamble of the
11008 generated LaTeX document, with content like this:&lt;/p&gt;
11009
11010 &lt;pre&gt;
11011 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
11012 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
11013 &amp;lt;xsl:param name=&quot;latex.begindocument&quot;&amp;gt;
11014 &amp;lt;xsl:text&amp;gt;
11015 \usepackage{endnotes}
11016 \let\footnote=\endnote
11017 \def\enoteheading{\mbox{}\par\vskip-\baselineskip }
11018 \begin{document}
11019 &amp;lt;/xsl:text&amp;gt;
11020 &amp;lt;/xsl:param&amp;gt;
11021 &amp;lt;/xsl:stylesheet&amp;gt;
11022 &lt;/pre&gt;
11023
11024 &lt;p&gt;Finally, load this xsl file when running dblatex, for example like
11025 this:&lt;/p&gt;
11026
11027 &lt;pre&gt;
11028 dblatex --xsl-user=dblatex-endnotes.xsl freeculture.nb.xml
11029 &lt;/pre&gt;
11030
11031 &lt;p&gt;The end result can be seen on github, where
11032 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;my
11033 book project&lt;/a&gt; is located.&lt;/p&gt;
11034 </description>
11035 </item>
11036
11037 <item>
11038 <title>MPEG LA on &quot;Internet Broadcast AVC Video&quot; licensing and non-private use</title>
11039 <link>https://people.skolelinux.org/pere/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html</link>
11040 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/MPEG_LA_on__Internet_Broadcast_AVC_Video__licensing_and_non_private_use.html</guid>
11041 <pubDate>Tue, 7 Jul 2015 09:50:00 +0200</pubDate>
11042 <description>&lt;p&gt;After asking the Norwegian Broadcasting Company (NRK)
11043 &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
11044 they can broadcast and stream H.264 video without an agreement with
11045 the MPEG LA&lt;/a&gt;, I was wiser, but still confused. So I asked MPEG LA
11046 if their understanding matched that of NRK. As far as I can tell, it
11047 does not.&lt;/p&gt;
11048
11049 &lt;p&gt;I started by asking for more information about the various
11050 licensing classes and what exactly is covered by the &quot;Internet
11051 Broadcast AVC Video&quot; class that NRK pointed me at to explain why NRK
11052 did not need a license for streaming H.264 video:
11053
11054 &lt;p&gt;&lt;blockquote&gt;
11055
11056 &lt;p&gt;According to
11057 &lt;a href=&quot;http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/226/n-10-02-02.pdf&quot;&gt;a
11058 MPEG LA press release dated 2010-02-02&lt;/a&gt;, there is no charge when
11059 using MPEG AVC/H.264 according to the terms of &quot;Internet Broadcast AVC
11060 Video&quot;. I am trying to understand exactly what the terms of &quot;Internet
11061 Broadcast AVC Video&quot; is, and wondered if you could help me. What
11062 exactly is covered by these terms, and what is not?&lt;/p&gt;
11063
11064 &lt;p&gt;The only source of more information I have been able to find is a
11065 PDF named
11066 &lt;a href=&quot;http://www.mpegla.com/main/programs/avc/Documents/avcweb.pdf&quot;&gt;AVC
11067 Patent Portfolio License Briefing&lt;/a&gt;, which states this about the
11068 fees:&lt;/p&gt;
11069
11070 &lt;ul&gt;
11071 &lt;li&gt;Where End User pays for AVC Video
11072 &lt;ul&gt;
11073 &lt;li&gt;Subscription (not limited by title) – 100,000 or fewer
11074 subscribers/yr = no royalty; &amp;gt; 100,000 to 250,000 subscribers/yr =
11075 $25,000; &amp;gt;250,000 to 500,000 subscribers/yr = $50,000; &amp;gt;500,000 to
11076 1M subscribers/yr = $75,000; &amp;gt;1M subscribers/yr = $100,000&lt;/li&gt;
11077
11078 &lt;li&gt;Title-by-Title - 12 minutes or less = no royalty; &amp;gt;12 minutes in
11079 length = lower of (a) 2% or (b) $0.02 per title&lt;/li&gt;
11080 &lt;/ul&gt;&lt;/li&gt;
11081
11082 &lt;li&gt;Where remuneration is from other sources
11083 &lt;ul&gt;
11084 &lt;li&gt;Free Television - (a) one-time $2,500 per transmission encoder or
11085 (b) annual fee starting at $2,500 for &amp;gt; 100,000 HH rising to
11086 maximum $10,000 for &amp;gt;1,000,000 HH&lt;/li&gt;
11087
11088 &lt;li&gt;Internet Broadcast AVC Video (not title-by-title, not subscription)
11089 – no royalty for life of the AVC Patent Portfolio License&lt;/li&gt;
11090 &lt;/ul&gt;&lt;/li&gt;
11091 &lt;/ul&gt;
11092
11093 &lt;p&gt;Am I correct in assuming that the four categories listed is the
11094 categories used when selecting licensing terms, and that &quot;Internet
11095 Broadcast AVC Video&quot; is the category for things that do not fall into
11096 one of the other three categories? Can you point me to a good source
11097 explaining what is ment by &quot;title-by-title&quot; and &quot;Free Television&quot; in
11098 the license terms for AVC/H.264?&lt;/p&gt;
11099
11100 &lt;p&gt;Will a web service providing H.264 encoded video content in a
11101 &quot;video on demand&quot; fashing similar to Youtube and Vimeo, where no
11102 subscription is required and no payment is required from end users to
11103 get access to the videos, fall under the terms of the &quot;Internet
11104 Broadcast AVC Video&quot;, ie no royalty for life of the AVC Patent
11105 Portfolio license? Does it matter if some users are subscribed to get
11106 access to personalized services?&lt;/p&gt;
11107
11108 &lt;p&gt;Note, this request and all answers will be published on the
11109 Internet.&lt;/p&gt;
11110 &lt;/blockquote&gt;&lt;/p&gt;
11111
11112 &lt;p&gt;The answer came quickly from Benjamin J. Myers, Licensing Associate
11113 with the MPEG LA:&lt;/p&gt;
11114
11115 &lt;p&gt;&lt;blockquote&gt;
11116 &lt;p&gt;Thank you for your message and for your interest in MPEG LA. We
11117 appreciate hearing from you and I will be happy to assist you.&lt;/p&gt;
11118
11119 &lt;p&gt;As you are aware, MPEG LA offers our AVC Patent Portfolio License
11120 which provides coverage under patents that are essential for use of
11121 the AVC/H.264 Standard (MPEG-4 Part 10). Specifically, coverage is
11122 provided for end products and video content that make use of AVC/H.264
11123 technology. Accordingly, the party offering such end products and
11124 video to End Users concludes the AVC License and is responsible for
11125 paying the applicable royalties.&lt;/p&gt;
11126
11127 &lt;p&gt;Regarding Internet Broadcast AVC Video, the AVC License generally
11128 defines such content to be video that is distributed to End Users over
11129 the Internet free-of-charge. Therefore, if a party offers a service
11130 which allows users to upload AVC/H.264 video to its website, and such
11131 AVC Video is delivered to End Users for free, then such video would
11132 receive coverage under the sublicense for Internet Broadcast AVC
11133 Video, which is not subject to any royalties for the life of the AVC
11134 License. This would also apply in the scenario where a user creates a
11135 free online account in order to receive a customized offering of free
11136 AVC Video content. In other words, as long as the End User is given
11137 access to or views AVC Video content at no cost to the End User, then
11138 no royalties would be payable under our AVC License.&lt;/p&gt;
11139
11140 &lt;p&gt;On the other hand, if End Users pay for access to AVC Video for a
11141 specific period of time (e.g., one month, one year, etc.), then such
11142 video would constitute Subscription AVC Video. In cases where AVC
11143 Video is delivered to End Users on a pay-per-view basis, then such
11144 content would constitute Title-by-Title AVC Video. If a party offers
11145 Subscription or Title-by-Title AVC Video to End Users, then they would
11146 be responsible for paying the applicable royalties you noted below.&lt;/p&gt;
11147
11148 &lt;p&gt;Finally, in the case where AVC Video is distributed for free
11149 through an &quot;over-the-air, satellite and/or cable transmission&quot;, then
11150 such content would constitute Free Television AVC Video and would be
11151 subject to the applicable royalties.&lt;/p&gt;
11152
11153 &lt;p&gt;For your reference, I have attached
11154 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2015-07-07-mpegla.pdf&quot;&gt;a
11155 .pdf copy of the AVC License&lt;/a&gt;. You will find the relevant
11156 sublicense information regarding AVC Video in Sections 2.2 through
11157 2.5, and the corresponding royalties in Section 3.1.2 through 3.1.4.
11158 You will also find the definitions of Title-by-Title AVC Video,
11159 Subscription AVC Video, Free Television AVC Video, and Internet
11160 Broadcast AVC Video in Section 1 of the License. Please note that the
11161 electronic copy is provided for informational purposes only and cannot
11162 be used for execution.&lt;/p&gt;
11163
11164 &lt;p&gt;I hope the above information is helpful. If you have additional
11165 questions or need further assistance with the AVC License, please feel
11166 free to contact me directly.&lt;/p&gt;
11167 &lt;/blockquote&gt;&lt;/p&gt;
11168
11169 &lt;p&gt;Having a fresh copy of the license text was useful, and knowing
11170 that the definition of Title-by-Title required payment per title made
11171 me aware that my earlier understanding of that phrase had been wrong.
11172 But I still had a few questions:&lt;/p&gt;
11173
11174 &lt;p&gt;&lt;blockquote&gt;
11175 &lt;p&gt;I have a small followup question. Would it be possible for me to get
11176 a license with MPEG LA even if there are no royalties to be paid? The
11177 reason I ask, is that some video related products have a copyright
11178 clause limiting their use without a license with MPEG LA. The clauses
11179 typically look similar to this:
11180
11181 &lt;p&gt;&lt;blockquote&gt;
11182 This product is licensed under the AVC patent portfolio license for
11183 the personal and non-commercial use of a consumer to (a) encode
11184 video in compliance with the AVC standard (&quot;AVC video&quot;) and/or (b)
11185 decode AVC video that was encoded by a consumer engaged in a
11186 personal and non-commercial activity and/or AVC video that was
11187 obtained from a video provider licensed to provide AVC video. No
11188 license is granted or shall be implied for any other use. additional
11189 information may be obtained from MPEG LA L.L.C.
11190 &lt;/blockquote&gt;&lt;/p&gt;
11191
11192 &lt;p&gt;It is unclear to me if this clause mean that I need to enter into
11193 an agreement with MPEG LA to use the product in question, even if
11194 there are no royalties to be paid to MPEG LA. I suspect it will
11195 differ depending on the jurisdiction, and mine is Norway. What is
11196 MPEG LAs view on this?&lt;/p&gt;
11197 &lt;/blockquote&gt;&lt;/p&gt;
11198
11199 &lt;p&gt;According to the answer, MPEG LA believe those using such tools for
11200 non-personal or commercial use need a license with them:&lt;/p&gt;
11201
11202 &lt;p&gt;&lt;blockquote&gt;
11203
11204 &lt;p&gt;With regard to the Notice to Customers, I would like to begin by
11205 clarifying that the Notice from Section 7.1 of the AVC License
11206 reads:&lt;/p&gt;
11207
11208 &lt;p&gt;THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR
11209 THE PERSONAL USE OF A CONSUMER OR OTHER USES IN WHICH IT DOES NOT
11210 RECEIVE REMUNERATION TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC
11211 STANDARD (&quot;AVC VIDEO&quot;) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED
11212 BY A CONSUMER ENGAGED IN A PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM
11213 A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED
11214 OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE
11215 OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM&lt;/p&gt;
11216
11217 &lt;p&gt;The Notice to Customers is intended to inform End Users of the
11218 personal usage rights (for example, to watch video content) included
11219 with the product they purchased, and to encourage any party using the
11220 product for commercial purposes to contact MPEG LA in order to become
11221 licensed for such use (for example, when they use an AVC Product to
11222 deliver Title-by-Title, Subscription, Free Television or Internet
11223 Broadcast AVC Video to End Users, or to re-Sell a third party&#39;s AVC
11224 Product as their own branded AVC Product).&lt;/p&gt;
11225
11226 &lt;p&gt;Therefore, if a party is to be licensed for its use of an AVC
11227 Product to Sell AVC Video on a Title-by-Title, Subscription, Free
11228 Television or Internet Broadcast basis, that party would need to
11229 conclude the AVC License, even in the case where no royalties were
11230 payable under the License. On the other hand, if that party (either a
11231 Consumer or business customer) simply uses an AVC Product for their
11232 own internal purposes and not for the commercial purposes referenced
11233 above, then such use would be included in the royalty paid for the AVC
11234 Products by the licensed supplier.&lt;/p&gt;
11235
11236 &lt;p&gt;Finally, I note that our AVC License provides worldwide coverage in
11237 countries that have AVC Patent Portfolio Patents, including
11238 Norway.&lt;/p&gt;
11239
11240 &lt;p&gt;I hope this clarification is helpful. If I may be of any further
11241 assistance, just let me know.&lt;/p&gt;
11242 &lt;/blockquote&gt;&lt;/p&gt;
11243
11244 &lt;p&gt;The mentioning of Norwegian patents made me a bit confused, so I
11245 asked for more information:&lt;/p&gt;
11246
11247 &lt;p&gt;&lt;blockquote&gt;
11248
11249 &lt;p&gt;But one minor question at the end. If I understand you correctly,
11250 you state in the quote above that there are patents in the AVC Patent
11251 Portfolio that are valid in Norway. This make me believe I read the
11252 list available from &amp;lt;URL:
11253 &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;
11254 &amp;gt; incorrectly, as I believed the &quot;NO&quot; prefix in front of patents
11255 were Norwegian patents, and the only one I could find under Mitsubishi
11256 Electric Corporation expired in 2012. Which patents are you referring
11257 to that are relevant for Norway?&lt;/p&gt;
11258
11259 &lt;/blockquote&gt;&lt;/p&gt;
11260
11261 &lt;p&gt;Again, the quick answer explained how to read the list of patents
11262 in that list:&lt;/p&gt;
11263
11264 &lt;p&gt;&lt;blockquote&gt;
11265
11266 &lt;p&gt;Your understanding is correct that the last AVC Patent Portfolio
11267 Patent in Norway expired on 21 October 2012. Therefore, where AVC
11268 Video is both made and Sold in Norway after that date, then no
11269 royalties would be payable for such AVC Video under the AVC License.
11270 With that said, our AVC License provides historic coverage for AVC
11271 Products and AVC Video that may have been manufactured or Sold before
11272 the last Norwegian AVC patent expired. I would also like to clarify
11273 that coverage is provided for the country of manufacture and the
11274 country of Sale that has active AVC Patent Portfolio Patents.&lt;/p&gt;
11275
11276 &lt;p&gt;Therefore, if a party offers AVC Products or AVC Video for Sale in
11277 a country with active AVC Patent Portfolio Patents (for example,
11278 Sweden, Denmark, Finland, etc.), then that party would still need
11279 coverage under the AVC License even if such products or video are
11280 initially made in a country without active AVC Patent Portfolio
11281 Patents (for example, Norway). Similarly, a party would need to
11282 conclude the AVC License if they make AVC Products or AVC Video in a
11283 country with active AVC Patent Portfolio Patents, but eventually Sell
11284 such AVC Products or AVC Video in a country without active AVC Patent
11285 Portfolio Patents.&lt;/p&gt;
11286 &lt;/blockquote&gt;&lt;/p&gt;
11287
11288 &lt;p&gt;As far as I understand it, MPEG LA believe anyone using Adobe
11289 Premiere and other video related software with a H.264 distribution
11290 license need a license agreement with MPEG LA to use such tools for
11291 anything non-private or commercial, while it is OK to set up a
11292 Youtube-like service as long as no-one pays to get access to the
11293 content. I still have no clear idea how this applies to Norway, where
11294 none of the patents MPEG LA is licensing are valid. Will the
11295 copyright terms take precedence or can those terms be ignored because
11296 the patents are not valid in Norway?&lt;/p&gt;
11297 </description>
11298 </item>
11299
11300 <item>
11301 <title>New laptop - some more clues and ideas based on feedback</title>
11302 <link>https://people.skolelinux.org/pere/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html</link>
11303 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_laptop___some_more_clues_and_ideas_based_on_feedback.html</guid>
11304 <pubDate>Sun, 5 Jul 2015 21:40:00 +0200</pubDate>
11305 <description>&lt;p&gt;Several people contacted me after my previous blog post about my
11306 need for a new laptop, and provided very useful feedback. I wish to
11307 thank every one of these. Several pointed me to the possibility of
11308 fixing my X230, and I am already in the process of getting Lenovo to
11309 do so thanks to the on site, next day support contract covering the
11310 machine. But the battery is almost useless (I expect to replace it
11311 with a non-official battery) and I do not expect the machine to live
11312 for many more years, so it is time to plan its replacement. If I did
11313 not have a support contract, it was suggested to find replacement parts
11314 using &lt;a href=&quot;http://www.francecrans.com/&quot;&gt;FrancEcrans&lt;/a&gt;, but it
11315 might present a language barrier as I do not understand French.&lt;/p&gt;
11316
11317 &lt;p&gt;One tip I got was to use the
11318 &lt;a href=&quot;https://skinflint.co.uk/?cat=nb&quot;&gt;Skinflint&lt;/a&gt; web service to
11319 compare laptop models. It seem to have more models available than
11320 prisjakt.no. Another tip I got from someone I know have similar
11321 keyboard preferences was that the HP EliteBook 840 keyboard is not
11322 very good, and this matches my experience with earlier EliteBook
11323 keyboards I tested. Because of this, I will not consider it any further.
11324
11325 &lt;p&gt;When I wrote my blog post, I was not aware of Thinkpad X250, the
11326 newest Thinkpad X model. The keyboard reintroduces mouse buttons
11327 (which is missing from the X240), and is working fairly well with
11328 Debian Sid/Unstable according to
11329 &lt;a href=&quot;http://www.corsac.net/X250/&quot;&gt;Corsac.net&lt;/a&gt;. The reports I
11330 got on the keyboard quality are not consistent. Some say the keyboard
11331 is good, others say it is ok, while others say it is not very good.
11332 Those with experience from X41 and and X60 agree that the X250
11333 keyboard is not as good as those trusty old laptops, and suggest I
11334 keep and fix my X230 instead of upgrading, or get a used X230 to
11335 replace it. I&#39;m also told that the X250 lack leds for caps lock, disk
11336 activity and battery status, which is very convenient on my X230. I&#39;m
11337 also told that the CPU fan is running very often, making it a bit
11338 noisy. In any case, the X250 do not work out of the box with Debian
11339 Stable/Jessie, one of my requirements.&lt;/p&gt;
11340
11341 &lt;p&gt;I have also gotten a few vendor proposals, one was
11342 &lt;a href=&quot;http://pro-star.com&quot;&gt;Pro-Star&lt;/a&gt;, another was
11343 &lt;a href=&quot;http://shop.gluglug.org.uk/product/libreboot-x200/&quot;&gt;Libreboot&lt;/a&gt;.
11344 The latter look very attractive to me.&lt;/p&gt;
11345
11346 &lt;p&gt;Again, thank you all for the very useful feedback. It help a lot
11347 as I keep looking for a replacement.&lt;/p&gt;
11348
11349 &lt;p&gt;Update 2015-07-06: I was recommended to check out the
11350 &lt;a href=&quot;&quot;&gt;lapstore.de&lt;/a&gt; web shop for used laptops. They got several
11351 different
11352 &lt;a href=&quot;http://www.lapstore.de/f.php/shop/lapstore/f/411/lang/x/kw/Lenovo_ThinkPad_X_Serie/&quot;&gt;old
11353 thinkpad X models&lt;/a&gt;, and provide one year warranty.&lt;/p&gt;
11354 </description>
11355 </item>
11356
11357 <item>
11358 <title>Time to find a new laptop, as the old one is broken after only two years</title>
11359 <link>https://people.skolelinux.org/pere/blog/Time_to_find_a_new_laptop__as_the_old_one_is_broken_after_only_two_years.html</link>
11360 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Time_to_find_a_new_laptop__as_the_old_one_is_broken_after_only_two_years.html</guid>
11361 <pubDate>Fri, 3 Jul 2015 07:10:00 +0200</pubDate>
11362 <description>&lt;p&gt;My primary work horse laptop is failing, and will need a
11363 replacement soon. The left 5 cm of the screen on my Thinkpad X230
11364 started flickering yesterday, and I suspect the cause is a broken
11365 cable, as changing the angle of the screen some times get rid of the
11366 flickering.&lt;/p&gt;
11367
11368 &lt;p&gt;My requirements have not really changed since I bought it, and is
11369 still as
11370 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html&quot;&gt;I
11371 described them in 2013&lt;/a&gt;. The last time I bought a laptop, I had
11372 good help from
11373 &lt;a href=&quot;http://www.prisjakt.no/category.php?k=353&quot;&gt;prisjakt.no&lt;/a&gt;
11374 where I could select at least a few of the requirements (mouse pin,
11375 wifi, weight) and go through the rest manually. Three button mouse
11376 and a good keyboard is not available as an option, and all the three
11377 laptop models proposed today (Thinkpad X240, HP EliteBook 820 G1 and
11378 G2) lack three mouse buttons). It is also unclear to me how good the
11379 keyboard on the HP EliteBooks are. I hope Lenovo have not messed up
11380 the keyboard, even if the quality and robustness in the X series have
11381 deteriorated since X41.&lt;/p&gt;
11382
11383 &lt;p&gt;I wonder how I can find a sensible laptop when none of the options
11384 seem sensible to me? Are there better services around to search the
11385 set of available laptops for features? Please send me an email if you
11386 have suggestions.&lt;/p&gt;
11387
11388 &lt;p&gt;Update 2015-07-23: I got a suggestion to check out the FSF
11389 &lt;a href=&quot;http://www.fsf.org/resources/hw/endorsement/respects-your-freedom&quot;&gt;list
11390 of endorsed hardware&lt;/a&gt;, which is useful background information.&lt;/p&gt;
11391 </description>
11392 </item>
11393
11394 <item>
11395 <title>MakerCon Nordic videos now available on Frikanalen</title>
11396 <link>https://people.skolelinux.org/pere/blog/MakerCon_Nordic_videos_now_available_on_Frikanalen.html</link>
11397 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/MakerCon_Nordic_videos_now_available_on_Frikanalen.html</guid>
11398 <pubDate>Thu, 2 Jul 2015 14:10:00 +0200</pubDate>
11399 <description>&lt;p&gt;Last oktober I was involved on behalf of
11400 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt; with recording the talks at
11401 &lt;a href=&quot;http://www.makercon.no/&quot;&gt;MakerCon Nordic&lt;/a&gt;, a conference for
11402 the Maker movement. Since then it has been the plan to publish the
11403 recordings on &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, which
11404 finally happened the last few days. A few talks are missing because
11405 the speakers asked the organizers to not publish them, but most of the
11406 talks are available. The talks are being broadcasted on RiksTV
11407 channel 50 and using multicast on Uninett, as well as being available
11408 from the Frikanalen web site. The unedited recordings are
11409 &lt;a href=&quot;https://www.youtube.com/user/MakerConNordic/&quot;&gt;available on
11410 Youtube too&lt;/a&gt;.&lt;/p&gt;
11411
11412 &lt;p&gt;This is the list of talks available at the moment. Visit the
11413 &lt;a href=&quot;http://beta.frikanalen.no/video/?q=makercon&quot;&gt;Frikanalen video
11414 pages&lt;/a&gt; to view them.&lt;/p&gt;
11415
11416 &lt;ul&gt;
11417
11418 &lt;li&gt;Evolutionary algorithms as a design tool - from art
11419 to robotics (Kyrre Glette)&lt;/li&gt;
11420
11421 &lt;li&gt;Make and break (Hans Gerhard Meier)&lt;/li&gt;
11422
11423 &lt;li&gt;Making a one year school course for young makers
11424 (Olav Helland)&lt;/li&gt;
11425
11426 &lt;li&gt;Innovation Inspiration - IPR Databases as a Source of
11427 Inspiration (Hege Langlo)&lt;/li&gt;
11428
11429 &lt;li&gt;Making a toy for makers (Erik Torstensson)&lt;/li&gt;
11430
11431 &lt;li&gt;How to make 3D printer electronics (Elias Bakken)&lt;/li&gt;
11432
11433 &lt;li&gt;Hovering Clouds: Looking at online tool offerings for Product
11434 Design and 3D Printing (William Kempton)&lt;/li&gt;
11435
11436 &lt;li&gt;Travelling maker stories (Øyvind Nydal Dahl)&lt;/li&gt;
11437
11438 &lt;li&gt;Making the first Maker Faire in Sweden (Nils Olander)&lt;/li&gt;
11439
11440 &lt;li&gt;Breaking the mold: Printing 1000’s of parts (Espen Sivertsen)&lt;/li&gt;
11441
11442 &lt;li&gt;Ultimaker — and open source 3D printing (Erik de Bruijn)&lt;/li&gt;
11443
11444 &lt;li&gt;Autodesk’s 3D Printing Platform: Sparking innovation (Hilde
11445 Sevens)&lt;/li&gt;
11446
11447 &lt;li&gt;How Making is Changing the World – and How You Can Too!
11448 (Jennifer Turliuk)&lt;/li&gt;
11449
11450 &lt;li&gt;Open-Source Adventuring: OpenROV, OpenExplorer and the Future of
11451 Connected Exploration (David Lang)&lt;/li&gt;
11452
11453 &lt;li&gt;Making in Norway (Haakon Karlsen Jr., Graham Hayward and Jens
11454 Dyvik)&lt;/li&gt;
11455
11456 &lt;li&gt;The Impact of the Maker Movement (Mike Senese)&lt;/li&gt;
11457
11458 &lt;/ul&gt;
11459
11460 &lt;p&gt;Part of the reason this took so long was that the scripts NUUG had
11461 to prepare a recording for publication were five years old and no
11462 longer worked with the current video processing tools (command line
11463 argument changes). In addition, we needed better audio normalization,
11464 which sent me on a detour to
11465 &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
11466 bs1770gain for Debian&lt;/a&gt;. Now this is in place and it became a lot
11467 easier to publish NUUG videos on Frikanalen.&lt;/p&gt;
11468 </description>
11469 </item>
11470
11471 <item>
11472 <title>Graphing the Norwegian company ownership structure</title>
11473 <link>https://people.skolelinux.org/pere/blog/Graphing_the_Norwegian_company_ownership_structure.html</link>
11474 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Graphing_the_Norwegian_company_ownership_structure.html</guid>
11475 <pubDate>Mon, 15 Jun 2015 14:00:00 +0200</pubDate>
11476 <description>&lt;p&gt;It is a bit work to figure out the ownership structure of companies
11477 in Norway. The information is publicly available, but one need to
11478 recursively look up ownership for all owners to figure out the complete
11479 ownership graph of a given set of companies. To save me the work in
11480 the future, I wrote a script to do this automatically, outputting the
11481 ownership structure using the Graphviz/dotty format. The data source
11482 is web scraping from &lt;a href=&quot;http://www.proff.no/&quot;&gt;Proff&lt;/a&gt;, because
11483 I failed to find a useful source directly from the official keepers of
11484 the ownership data, &lt;a href=&quot;http://www.brreg.no/&quot;&gt;Brønnøysundsregistrene&lt;/a&gt;.&lt;/p&gt;
11485
11486 &lt;p&gt;To get an ownership graph for a set of companies, fetch
11487 &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
11488 using the Norwegian newspaper Dagbladet as an example here, as its
11489 ownership structure is very simple:&lt;/p&gt;
11490
11491 &lt;pre&gt;
11492 % time ./bin/eierskap-dotty 958033540 &gt; dagbladet.dot
11493
11494 real 0m2.841s
11495 user 0m0.184s
11496 sys 0m0.036s
11497 %
11498 &lt;/pre&gt;
11499
11500 &lt;p&gt;The script accept several organisation numbers on the command line,
11501 allowing a cluster of companies to be graphed in the same image. The
11502 resulting dot file for the example above look like this. The edges
11503 are labeled with the ownership percentage, and the nodes uses the
11504 organisation number as their name and the name as the label:&lt;/p&gt;
11505
11506 &lt;pre&gt;
11507 digraph ownership {
11508 rankdir = LR;
11509 &quot;Aller Holding A/s&quot; -&gt; &quot;910119877&quot; [label=&quot;100%&quot;]
11510 &quot;910119877&quot; -&gt; &quot;998689015&quot; [label=&quot;100%&quot;]
11511 &quot;998689015&quot; -&gt; &quot;958033540&quot; [label=&quot;99%&quot;]
11512 &quot;974530600&quot; -&gt; &quot;958033540&quot; [label=&quot;1%&quot;]
11513 &quot;958033540&quot; [label=&quot;AS DAGBLADET&quot;]
11514 &quot;998689015&quot; [label=&quot;Berner Media Holding AS&quot;]
11515 &quot;974530600&quot; [label=&quot;Dagbladets Stiftelse&quot;]
11516 &quot;910119877&quot; [label=&quot;Aller Media AS&quot;]
11517 }
11518 &lt;/pre&gt;
11519
11520 &lt;p&gt;To view the ownership graph, run &quot;&lt;tt&gt;dotty dagbladet.dot&lt;/tt&gt;&quot; or
11521 convert it to a PNG using &quot;&lt;tt&gt;dot -T png dagbladet.dot &gt;
11522 dagbladet.png&lt;/tt&gt;&quot;. The result can be seen below:&lt;/p&gt;
11523
11524 &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;
11525
11526 &lt;p&gt;Note that I suspect the &quot;Aller Holding A/S&quot; entry to be incorrect
11527 data in the official ownership register, as that name is not
11528 registered in the official company register for Norway. The ownership
11529 register is sensitive to typos and there seem to be no strict checking
11530 of the ownership links.&lt;/p&gt;
11531
11532 &lt;p&gt;Let me know if you improve the script or find better data sources.
11533 The code is licensed according to GPL 2 or newer.&lt;/p&gt;
11534
11535 &lt;p&gt;Update 2015-06-15: Since the initial post I&#39;ve been told that
11536 &quot;&lt;a href=&quot;http://www.proff.dk/firma/carl-allers-etablissement-aktieselskab/københavn-v/hovedkontorer/13624518-3/&quot;&gt;Aller
11537 Holding A/S&lt;/a&gt;&quot; is a Danish company, which explain why it did not
11538 have a Norwegian organisation number. I&#39;ve also been told that there
11539 is a &lt;a href=&quot;http://www.brreg.no/automatiske/webservices/&quot;&gt;web
11540 services API available&lt;/a&gt; from Brønnøysundsregistrene, for those
11541 willing to accept the terms or pay the price.&lt;/p&gt;
11542 </description>
11543 </item>
11544
11545 <item>
11546 <title>Measuring and adjusting the loudness of a TV channel using bs1770gain</title>
11547 <link>https://people.skolelinux.org/pere/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html</link>
11548 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Measuring_and_adjusting_the_loudness_of_a_TV_channel_using_bs1770gain.html</guid>
11549 <pubDate>Thu, 11 Jun 2015 13:40:00 +0200</pubDate>
11550 <description>&lt;p&gt;Television loudness is the source of frustration for viewers
11551 everywhere. Some channels are very load, others are less loud, and
11552 ads tend to shout very high to get the attention of the viewers, and
11553 the viewers do not like this. This fact is well known to the TV
11554 channels. See for example the BBC white paper
11555 &quot;&lt;a href=&quot;http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP202.pdf&quot;&gt;Terminology
11556 for loudness and level dBTP, LU, and all that&lt;/a&gt;&quot; from 2011 for a
11557 summary of the problem domain. To better address the need for even
11558 loadness, the TV channels got together several years ago to agree on a
11559 new way to measure loudness in digital files as one step in
11560 standardizing loudness. From this came the ITU-R standard BS.1770,
11561 &quot;&lt;a href=&quot;http://www.itu.int/rec/R-REC-BS.1770/en&quot;&gt;Algorithms to
11562 measure audio programme loudness and true-peak audio level&lt;/a&gt;&quot;.&lt;/p&gt;
11563
11564 &lt;p&gt;The ITU-R BS.1770 specification describe an algorithm to measure
11565 loadness in LUFS (Loudness Units, referenced to Full Scale). But
11566 having a way to measure is not enough. To get the same loudness
11567 across TV channels, one also need to decide which value to standardize
11568 on. For European TV channels, this was done in the EBU Recommondaton
11569 R128, &quot;&lt;a href=&quot;https://tech.ebu.ch/docs/r/r128.pdf&quot;&gt;Loudness
11570 normalisation and permitted maximum level of audio signals&lt;/a&gt;&quot;, which
11571 specifies a recommended level of -23 LUFS. In Norway, I have been
11572 told that NRK, TV2, MTG and SBS have decided among themselves to
11573 follow the R128 recommondation for playout from 2016-03-01.&lt;/p&gt;
11574
11575 &lt;p&gt;There are free software available to measure and adjust the loudness
11576 level using the LUFS. In Debian, I am aware of a library named
11577 &lt;a href=&quot;https://tracker.debian.org/pkg/libebur128&quot;&gt;libebur128&lt;/a&gt;
11578 able to measure the loudness and since yesterday morning a new binary
11579 named &lt;a href=&quot;http://bs1770gain.sourceforge.net&quot;&gt;bs1770gain&lt;/a&gt;
11580 capable of both measuring and adjusting was uploaded and is waiting
11581 for NEW processing. I plan to maintain the latter in Debian under the
11582 &lt;a href=&quot;https://qa.debian.org/developer.php?email=pkg-multimedia-maintainers%40lists.alioth.debian.org&quot;&gt;Debian
11583 multimedia&lt;/a&gt; umbrella.&lt;/p&gt;
11584
11585 &lt;p&gt;The free software based TV channel I am involved in,
11586 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, plan to follow the
11587 R128 recommondation ourself as soon as we can adjust the software to
11588 do so, and the bs1770gain tool seem like a good fit for that part of
11589 the puzzle to measure loudness on new video uploaded to Frikanalen.
11590 Personally, I plan to use bs1770gain to adjust the loudness of videos
11591 I upload to Frikanalen on behalf of &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the
11592 NUUG member organisation&lt;/a&gt;. The program seem to be able to measure
11593 the LUFS value of any media file handled by ffmpeg, but I&#39;ve only
11594 successfully adjusted the LUFS value of WAV files. I suspect it
11595 should be able to adjust it for all the formats handled by ffmpeg.&lt;/p&gt;
11596 </description>
11597 </item>
11598
11599 <item>
11600 <title>Norwegian citizens now required by law to give their fingerprint to the police</title>
11601 <link>https://people.skolelinux.org/pere/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html</link>
11602 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Norwegian_citizens_now_required_by_law_to_give_their_fingerprint_to_the_police.html</guid>
11603 <pubDate>Sun, 10 May 2015 16:00:00 +0200</pubDate>
11604 <description>&lt;p&gt;5 days ago, the Norwegian Parliament decided, unanimously, that all
11605 citizens of Norway, no matter if they are suspected of something
11606 criminal or not, are
11607 &lt;a href=&quot;https://www.holderdeord.no/votes/1430838871e&quot;&gt;required to
11608 give fingerprints to the police&lt;/a&gt; (vote details from Holder de
11609 ord). The law make it sound like it will be optional, but in a few
11610 years there will be no option any more. The ID will be required to
11611 vote, to get a bank account, a bank card, to change address on the
11612 post office, to receive an electronic ID or to get a drivers license
11613 and many other tasks required to function in Norway. The banks plan
11614 to stop providing their own ID on the bank cards when this new
11615 national ID is introduced, and the national road authorities plan to
11616 change the drivers license to no longer be usable as identity cards.
11617 In effect, to function as a citizen in Norway a national ID card will
11618 be required, and to get it one need to provide the fingerprints to
11619 the police.&lt;/p&gt;
11620
11621 &lt;p&gt;In addition to handing the fingerprint to the police (which
11622 promised to not make a copy of the fingerprint image at that point in
11623 time, but say nothing about doing it later), a picture of the
11624 fingerprint will be stored on the RFID chip, along with a picture of
11625 the face and other information about the person. Some of the
11626 information will be encrypted, but the encryption will be the same
11627 system as currently used in the passports. The codes to decrypt will
11628 be available to a lot of government offices and their suppliers around
11629 the globe, but for those that do not know anyone in those circles it
11630 is good to know that
11631 &lt;a href=&quot;http://www.theguardian.com/technology/2006/nov/17/news.homeaffairs&quot;&gt;the
11632 encryption is already broken&lt;/a&gt;. And they
11633 &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
11634 be read from 70 meters away&lt;/a&gt;. This can be mitigated a bit by
11635 keeping it in a Faraday cage (metal box or metal wire container), but
11636 one will be required to take it out of there often enough to expose
11637 ones private and personal information to a lot of people that have no
11638 business getting access to that information.&lt;/p&gt;
11639
11640 &lt;p&gt;The new Norwegian national IDs are a vehicle for identity theft,
11641 and I feel sorry for us all having politicians accepting such invasion
11642 of privacy without any objections. So are the Norwegian passports,
11643 but it has been possible to function in Norway without those so far.
11644 That option is going away with the passing of the new law. In this, I
11645 envy the Germans, because for them it is optional how much biometric
11646 information is stored in their national ID.&lt;/p&gt;
11647
11648 &lt;p&gt;And if forced collection of fingerprints was not bad enough, the
11649 information collected in the national ID card register can be handed
11650 over to foreign intelligence services and police authorities, &quot;when
11651 extradition is not considered disproportionate&quot;.&lt;/p&gt;
11652
11653 &lt;p&gt;Update 2015-05-12: For those unable to believe that the Parliament
11654 really could make such decision, I wrote
11655 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Blir_det_virkelig_krav_om_fingeravtrykk_i_nasjonale_ID_kort_.html&quot;&gt;a
11656 summary of the sources I have&lt;/a&gt; for concluding the way I do
11657 (Norwegian Only, as the sources are all in Norwegian).&lt;/p&gt;
11658 </description>
11659 </item>
11660
11661 <item>
11662 <title>What would it cost to store all phone calls in Norway?</title>
11663 <link>https://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html</link>
11664 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_would_it_cost_to_store_all_phone_calls_in_Norway_.html</guid>
11665 <pubDate>Fri, 1 May 2015 19:30:00 +0200</pubDate>
11666 <description>&lt;p&gt;Many years ago, a friend of mine calculated how much it would cost
11667 to store the sound of all phone calls in Norway, and came up with the
11668 cost of around 20 million NOK (2.4 mill EUR) for all the calls in a
11669 year. I got curious and wondered what the same calculation would look
11670 like today. To do so one need an idea of how much data storage is
11671 needed for each minute of sound, how many minutes all the calls in
11672 Norway sums up to, and the cost of data storage.&lt;/p&gt;
11673
11674 &lt;p&gt;The 2005 numbers are from
11675 &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;,
11676 the 2012 numbers are from
11677 &lt;a href=&quot;http://www.nkom.no/aktuelt/nyheter/fortsatt-vekst-i-det-norske-ekommarkedet&quot;&gt;a
11678 NKOM report&lt;/a&gt;, and I got the 2013 numbers after asking NKOM via
11679 email. I was told the numbers for 2014 will be presented May 20th,
11680 and decided not to wait for those, as I doubt they will be very
11681 different from the numbers from 2013.&lt;/p&gt;
11682
11683 &lt;p&gt;The amount of data storage per minute sound depend on the wanted
11684 quality, and for phone calls it is generally believed that 8 Kbit/s is
11685 enough. See for example a
11686 &lt;a href=&quot;http://www.cisco.com/c/en/us/support/docs/voice/voice-quality/7934-bwidth-consume.html#topic1&quot;&gt;summary
11687 on voice quality from Cisco&lt;/a&gt; for some alternatives. 8 Kbit/s is 60
11688 Kbytes/min, and this can be multiplied with the number of call minutes
11689 to get the storage requirements.&lt;/p&gt;
11690
11691 &lt;p&gt;Storage prices varies a lot, depending on speed, backup strategies,
11692 availability requirements etc. But a simple way to calculate can be
11693 to use the price of a TiB-disk (around 1000 NOK / 120 EUR) and double
11694 it to take space, power and redundancy into account. It could be much
11695 higher with high speed and good redundancy requirements.&lt;/p&gt;
11696
11697 &lt;p&gt;But back to the question, What would it cost to store all phone
11698 calls in Norway? Not much. Here is a small table showing the
11699 estimated cost, which is within the budget constraint of most medium
11700 and large organisations:&lt;/p&gt;
11701
11702 &lt;table border=&quot;1&quot;&gt;
11703 &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;
11704 &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;
11705 &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;
11706 &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;
11707 &lt;/table&gt;
11708
11709 &lt;p&gt;This is the cost of buying the storage. Maintenance need to be
11710 taken into account too, but calculating that is left as an exercise
11711 for the reader. But it is obvious to me from those numbers that
11712 recording the sound of all phone calls in Norway is not going to be
11713 stopped because it is too expensive. I wonder if someone already is
11714 collecting the data?&lt;/p&gt;
11715 </description>
11716 </item>
11717
11718 <item>
11719 <title>First Jessie based Debian Edu beta release</title>
11720 <link>https://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_beta_release.html</link>
11721 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_beta_release.html</guid>
11722 <pubDate>Sun, 26 Apr 2015 14:10:00 +0200</pubDate>
11723 <description>&lt;p&gt;I am happy to report that the Debian Edu team sent out
11724 &lt;a href=&quot;https://lists.debian.org/debian-edu-announce/2015/04/msg00000.html&quot;&gt;this
11725 announcement today&lt;/a&gt;:&lt;/p&gt;
11726
11727 &lt;pre&gt;
11728 the Debian Edu / Skolelinux project is pleased to announce the first
11729 *beta* release of Debian Edu &quot;Jessie&quot; 8.0+edu0~b1, which for the first
11730 time is composed entirely of packages from the current Debian stable
11731 release, Debian 8 &quot;Jessie&quot;.
11732
11733 (As most reading this will know, Debian &quot;Jessie&quot; hasn&#39;t actually been
11734 released by now. The release is still in progress but should finish
11735 later today ;)
11736
11737 We expect to make a final release of Debian Edu &quot;Jessie&quot; in the coming
11738 weeks, timed with the first point release of Debian Jessie. Upgrades
11739 from this beta release of Debian Edu Jessie to the final release will
11740 be possible and encouraged!
11741
11742 Please report feedback to debian-edu@lists.debian.org and/or submit
11743 bugs: http://wiki.debian.org/DebianEdu/HowTo/ReportBugs
11744
11745 Debian Edu - sometimes also known as &quot;Skolelinux&quot; - is a complete
11746 operating system for schools, universities and other
11747 organisations. Through its pre- prepared installation profiles
11748 administrators can install servers, workstations and laptops which
11749 will work in harmony on the school network. With Debian Edu, the
11750 teachers themselves or their technical support staff can roll out a
11751 complete multi-user, multi-machine study environment within hours or
11752 days.
11753
11754 Debian Edu is already in use at several hundred schools all over the
11755 world, particularly in Germany, Spain and Norway. Installations come
11756 with hundreds of applications pre-installed, plus the whole Debian
11757 archive of thousands of compatible packages within easy reach.
11758
11759 For those who want to give Debian Edu Jessie a try, download and
11760 installation instructions are available, including detailed
11761 instructions in the manual explaining the first steps, such as setting
11762 up a network or adding users. Please note that the password for the
11763 user your prompted for during installation must have a length of at
11764 least 5 characters!
11765
11766 == Where to download ==
11767
11768 A multi-architecture CD / usbstick image (649 MiB) for network booting
11769 can be downloaded at the following locations:
11770
11771 http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~b1-CD.iso
11772 rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~b1-CD.iso .
11773
11774 The SHA1SUM of this image is: 54a524d16246cddd8d2cfd6ea52f2dd78c47ee0a
11775
11776 Alternatively an extended DVD / usbstick image (4.9 GiB) is also
11777 available, with more software included (saving additional download
11778 time):
11779
11780 http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~b1-USB.iso
11781 rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~b1-USB.iso
11782
11783 The SHA1SUM of this image is: fb1f1504a490c077a48653898f9d6a461cb3c636
11784
11785 Sources are available from the Debian archive, see
11786 http://ftp.debian.org/debian-cd/8.0.0/source/ for some download
11787 options.
11788
11789 == Debian Edu Jessie manual in seven languages ==
11790
11791 Please see https://wiki.debian.org/DebianEdu/Documentation/Jessie/ for
11792 the English version of the Debian Edu jessie manual.
11793
11794 This manual has been fully translated to German, French, Italian,
11795 Danish, Dutch and Norwegian Bokmål. A partly translated version exists
11796 for Spanish. See http://maintainer.skolelinux.org/debian-edu-doc/ for
11797 online version of the translated manual.
11798
11799 More information about Debian 8 &quot;Jessie&quot; itself is provided in the
11800 release notes and the installation manual:
11801 - http://www.debian.org/releases/jessie/releasenotes
11802 - http://www.debian.org/releases/jessie/installmanual
11803
11804
11805 == Errata / known problems ==
11806
11807 It takes up to 15 minutes for a changed hostname to be updated via
11808 DHCP (#780461).
11809
11810 The hostname script fails to update LTSP server hostname (#783087).
11811
11812 Workaround: run update-hostname-from-ip on the client to update the
11813 hostname immediately.
11814
11815 Check https://wiki.debian.org/DebianEdu/Status/Jessie for a possibly
11816 more current and complete list.
11817
11818 == Some more details about Debian Edu 8.0+edu0~b1 Codename Jessie released 2015-04-25 ==
11819
11820 === Software updates ===
11821
11822 Everything which is new in Debian 8 Jessie, e.g.:
11823
11824 * Linux kernel 3.16.7-ctk9; for the i386 architecture, support for
11825 i486 processors has been dropped; oldest supported ones: i586 (like
11826 Intel Pentium and AMD K5).
11827
11828 * Desktop environments KDE Plasma Workspaces 4.11.13, GNOME 3.14,
11829 Xfce 4.12, LXDE 0.5.6
11830 * new optional desktop environment: MATE 1.8
11831 * KDE Plasma Workspaces is installed by default; to choose one of
11832 the others see the manual.
11833 * the browsers Iceweasel 31 ESR and Chromium 41
11834 * LibreOffice 4.3.3
11835 * GOsa 2.7.4
11836 * LTSP 5.5.4
11837 * CUPS print system 1.7.5
11838 * new boot framework: systemd
11839 * Educational toolbox GCompris 14.12
11840 * Music creator Rosegarden 14.02
11841 * Image editor Gimp 2.8.14
11842 * Virtual stargazer Stellarium 0.13.1
11843 * golearn 0.9
11844 * tuxpaint 0.9.22
11845 * New version of debian-installer from Debian Jessie.
11846 * Debian Jessie includes about 43000 packages available for installation.
11847 * More information about Debian 8 Jessie is provided in its release
11848 notes and the installation manual, see the link above.
11849
11850 === Installation changes ===
11851
11852 Installations done via PXE now also install firmware automatically
11853 for the hardware present.
11854
11855 === Fixed bugs ===
11856
11857 A number of bugs have been fixed in this release; the most noticeable
11858 from a user perspective:
11859
11860 * Inserting incorrect DNS information in Gosa will no longer break
11861 DNS completely, but instead stop DNS updates until the incorrect
11862 information is corrected (710362)
11863
11864 * shutdown-at-night now shuts the system down if gdm3 is used (775608).
11865
11866 === Sugar desktop removed ===
11867
11868 As the Sugar desktop was removed from Debian Jessie, it is also not
11869 available in Debian Edu jessie.
11870
11871
11872 == About Debian Edu / Skolelinux ==
11873
11874 Debian Edu, also known as Skolelinux, is a Linux distribution based on
11875 Debian providing an out-of-the box environment of a completely
11876 configured school network. Directly after installation a school server
11877 running all services needed for a school network is set up just
11878 waiting for users and machines being added via GOsa², a comfortable
11879 Web-UI. A netbooting environment is prepared using PXE, so after
11880 initial installation of the main server from CD or USB stick all other
11881 machines can be installed via the network. The provided school server
11882 provides LDAP database and Kerberos authentication service,
11883 centralized home directories, DHCP server, web proxy and many other
11884 services. The desktop contains more than 60 educational software
11885 packages and more are available from the Debian archive, and schools
11886 can choose between KDE, GNOME, LXDE, Xfce and MATE desktop
11887 environment.
11888
11889 == About Debian ==
11890
11891 The Debian Project was founded in 1993 by Ian Murdock to be a truly
11892 free community project. Since then the project has grown to be one of
11893 the largest and most influential open source projects. Thousands of
11894 volunteers from all over the world work together to create and
11895 maintain Debian software. Available in 70 languages, and supporting a
11896 huge range of computer types, Debian calls itself the universal
11897 operating system.
11898
11899 == Thanks ==
11900
11901 Thanks to everyone making Debian and Debian Edu / Skolelinux happen!
11902 You rock.
11903 &lt;/pre&gt;
11904 </description>
11905 </item>
11906
11907 <item>
11908 <title>Debian Edu interview: Shirish Agarwal</title>
11909 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Shirish_Agarwal.html</link>
11910 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Shirish_Agarwal.html</guid>
11911 <pubDate>Wed, 15 Apr 2015 09:20:00 +0200</pubDate>
11912 <description>&lt;p&gt;It was a surprise to me to learn that project to create a complete
11913 computer system for schools I&#39;ve involved in,
11914 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, was
11915 being used in India. But apparently it is, and I managed to get an
11916 interview with one of the friends of the project there, Shirish
11917 Agarwal.&lt;/p&gt;
11918
11919 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
11920
11921 &lt;p&gt;My name is Shirish Agarwal. Based out of the educational and
11922 historical city of Pune, from the western state of Maharashtra, India.
11923 My bread comes from giving training, giving policy tips,
11924 installations on free software to mom and pop shops in different
11925 fields from Desktop publishing to retail shops as well as work with
11926 few software start-ups as well.&lt;/p&gt;
11927
11928 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
11929 project?&lt;/strong&gt;&lt;/p&gt;
11930
11931 &lt;p&gt;It started innocently enough. I have been using Debian for a few
11932 years and in one local minidebconf / debutsav I was asked if there was
11933 anything for schools or education. I had worked / played with free
11934 educational softwares such as Gcompris and Stellarium for my many
11935 nieces and nephews so researched and found Debian Edu or Skolelinux as
11936 it was known then. Since then I have started using the various
11937 education meta-packages provided by the project.&lt;/p&gt;
11938
11939 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
11940 Edu?&lt;/strong&gt;&lt;/p&gt;
11941
11942 &lt;p&gt;It&#39;s closest I have seen where a package full of educational
11943 software are packed, which are free and open (both literally and
11944 figuratively). Even if I take the simplest software which is
11945 gcompris, the number of activities therein are amazing. Another one of
11946 the softwares that I have liked for a long time is stellarium. Even
11947 pysycache is cool except for couple of issues I encountered
11948 &lt;a href=&quot;https://bugs.debian.org/781841&quot;&gt;#781841&lt;/a&gt; and
11949 &lt;a href=&quot;https://bugs.debian.org/781842&quot;&gt;#781842&lt;/a&gt;.&lt;/p&gt;
11950
11951 &lt;p&gt;I prefer software installed on the system over web based solutions,
11952 as a web site can disappear any time but the software on disk has the
11953 possibility of a larger life span. Of course with both it&#39;s more a
11954 question if it has enough users who make it fun or sustainable or both
11955 for the developer per-se.&lt;/p&gt;
11956
11957 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
11958 Edu?&lt;/strong&gt;&lt;/p&gt;
11959
11960 &lt;p&gt;I do see that the Debian Edu team seems to be short-handed and I
11961 think more efforts should be made to make it popular and ask and take
11962 help from people and the larger community wherever possible.&lt;/p&gt;
11963
11964 &lt;p&gt;I don&#39;t see any disadvantage to use Skolelinux apart from the fact
11965 that most apps. are generic which is good or bad how you see it.
11966 However, saying that I do acknowledge the fact that the canvas is
11967 pretty big and there are lot of interesting ideas that could be done
11968 but for reasons not known not done or if done I don&#39;t know about them.
11969 Let me share some of the ideas (these are more upstream based but
11970 still) I have had for a long time :&lt;/p&gt;
11971
11972 &lt;p&gt;1. Classical maths question of two trains in opposing directions
11973 each running @x kmph/mph at y distance, when they will meet and how
11974 far would each travel and similar questions like these.
11975
11976 &lt;p&gt;The computer is a fantastic system where questions like these can
11977 be drawn, animated and the methodology and answers teased out in
11978 interactive manner. While sites such as the
11979 &lt;a href=&quot;http://mathforum.org/dr.math/faq/faq.two.trains.html&quot;&gt;Ask
11980 Dr. Math FAQ on The Two Trains problem&lt;/a&gt; (as an example or point of
11981 inspiration) can be used there is lot more that can be done. I dunno
11982 if there is a free software which does something like this. The idea
11983 being a blend of objects + animation + interaction which does
11984 this. The whole interaction could be gamified with points or sounds or
11985 colourful celebration whenever the user gets even part of the question
11986 or/and methodology right. That would help reinforce good behaviour.
11987 This understanding could be used to share/showcase everything from how
11988 the first wheel came to be, to evolution to how astronomy started,
11989 psychics and everything in-between.&lt;/p&gt;
11990
11991 &lt;p&gt;One specific idea in the train part was having the Linux mascot on
11992 one train and the BSD or GNU mascot on the other train and they
11993 meeting somewhere in-between. Characters from blender movies could
11994 also be used.&lt;/p&gt;
11995
11996 &lt;p&gt;2. Loads of crossword-puzzles with reference to subjects: We have
11997 enormous data sets in Wikipedia and Wikitionary. I don&#39;t think it
11998 should be a big job to design crossword puzzles. Using categories and
11999 sub-categories it should be doable to have Q&amp;A single word answers
12000 from the existing data-sets. What would make it easy or hard could be
12001 the length of the word + existence of many or few vowels depending on
12002 the user&#39;s input.&lt;/p&gt;
12003
12004 &lt;p&gt;3. Jigsaw puzzles - We already have a great software called
12005 palapeli with number of slicers making it pretty interesting. What
12006 needs to be done is to download large number of public domain and
12007 copyleft images, tease and use IPTC tags to categorise them into
12008 nature, history etc. and let it loose. This could turn to be really
12009 huge collection of images. One source could be taken from
12010 commons.wikimedia.org, others could be huge collection of royalty-free
12011 stock photos. Potential is immense.&lt;/p&gt;
12012
12013 &lt;p&gt;Apart from this, free software suffers in two directions, we lag
12014 both in development (of using new features per-se) and maintenance a
12015 lot. This is more so in educational software as these applications
12016 need to be timely and the opportunity cost of missing deadlines is
12017 immense. If we are able to solve issues of funding for development and
12018 maintenance of such software I don&#39;t see any big difficulties. I know
12019 of few start-ups in and around India who would love to develop and
12020 maintain such software if funding issues could be solved.&lt;/p&gt;
12021
12022 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
12023
12024 &lt;p&gt;That would be huge list. Some of the softwares are obviously apt,
12025 aptitude, debdelta, leafpad, the shell of course (zsh nowadays),
12026 quassel for IRC. In games I use shisen-sho while card-games are evenly
12027 between kpat and Aiselriot. In desktops it&#39;s a tie between
12028 gnome-flashback and mate.&lt;/p&gt;
12029
12030 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
12031 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
12032
12033 &lt;p&gt;I think it should first start with using specific FOSS apps. in
12034 whatever environment they are. If it&#39;s MS-Windows or Mac so be it.
12035 Once they are habitual with the apps. and there is buy-in from the
12036 school management then it could be installed anywhere. Most of the
12037 people now understand the concept of a repository because of the
12038 various online stores so it isn&#39;t hard to convince on that front.&lt;/p&gt;
12039
12040 &lt;p&gt;What is harder is having enough people with technical skills and
12041 passion to service them. If you get buy-in from one or two teachers
12042 then ideas like above could also be asked to be done as a project as
12043 well.&lt;/p&gt;
12044
12045 &lt;p&gt;I think where we fall short more than anything is in marketing. For
12046 instance, Debian has this whole range of fonts in its archive but
12047 there isn&#39;t even a page where all those different fonts in the La
12048 Ipsum format could be tried out for newcomers.&lt;/p&gt;
12049
12050 &lt;p&gt;One of the issues faced constantly in installations is with updates
12051 and upgrades. People have this myth that each update and upgrade
12052 means the user interface will / has to change. I have seen this
12053 innumerable times. That perhaps is one of the reasons which browsers
12054 like Iceweasel / Firefox change user interfaces so much, not because
12055 it might be needed or be functional but because people believe that
12056 changed user interfaces are better. This, can easily be pointed with
12057 the user interfaces changed with almost every MS-Windows and Mac OS
12058 releases.&lt;/p&gt;
12059
12060 &lt;p&gt;The problems with Debian Edu for deployment are many. The biggest
12061 is the huge gap between what is taught in schools and what Debian Edu
12062 is aimed at.
12063
12064 &lt;p&gt;Me and my friends did teach on week-ends in a government school for
12065 around 2 years, and
12066 &lt;a href=&quot;https://flossexperiences.wordpress.com/2012/10/08/sharings/&quot;&gt;gathered
12067 some experience&lt;/a&gt; there. Some of the things we learnt/discovered
12068 there was :&lt;/p&gt;
12069
12070 &lt;ol&gt;
12071
12072 &lt;li&gt;Most of the teachers are very territorial about their subjects
12073 and they do not want you to teach anything out of the
12074 portion/syllabus given.&lt;/li&gt;
12075
12076 &lt;li&gt;They want any activity on the system in accordance to whatever
12077 is in the syllabus.&lt;/li&gt;
12078
12079 &lt;li&gt;There are huge barriers both with the English language and at
12080 times with objects or whatever. An example, let&#39;s say in gcompris
12081 you have objects falling down and you have to name them and let&#39;s
12082 say the falling object is a hat or a fedora hat, this would not be
12083 as recognizable as say a
12084 &lt;a href=&quot;https://en.wikipedia.org/wiki/Puneri_Pagadi&quot;&gt;Puneri
12085 Pagdi&lt;/a&gt; so there is need to inject local objects, words wherever
12086 possible. Especially for word-games there are so many hindi words
12087 which have become part of english vocabulary (for instance in
12088 parley), those could be made into a hinglish collection or
12089 something but that is something for upstream to do.&lt;/li&gt;
12090
12091 &lt;/ol&gt;
12092 </description>
12093 </item>
12094
12095 <item>
12096 <title>I&#39;m going to the Open Source Developers&#39; Conference Nordic 2015!</title>
12097 <link>https://people.skolelinux.org/pere/blog/I_m_going_to_the_Open_Source_Developers__Conference_Nordic_2015_.html</link>
12098 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/I_m_going_to_the_Open_Source_Developers__Conference_Nordic_2015_.html</guid>
12099 <pubDate>Tue, 7 Apr 2015 10:30:00 +0200</pubDate>
12100 <description>&lt;p&gt;I am happy to let you all know that I&#39;m going to the &lt;a
12101 href=&quot;http://act.osdc.no/osdc2015no/&quot;&gt;Open Source Developers&#39;
12102 Conference Nordic 2015&lt;/a&gt;!&lt;/p&gt;
12103
12104 &lt;p&gt;It take place Friday 8th to Sunday 10th of May in Oslo next to
12105 where I work, and I finally got around to submitting
12106 &lt;a href=&quot;http://act.osdc.no/osdc2015no/talk/6192&quot;&gt;a talk proposal for
12107 it&lt;/a&gt; (dead link for most people until the talk is accepted). As
12108 part of my involvement with the
12109 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group member
12110 association&lt;/a&gt; I have been slightly involved in the planning of this
12111 conference for a while now, with a focus on organising a Civic Hacking
12112 Hackathon with our friends
12113 over at &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; and
12114 &lt;a href=&quot;http://www.holderdeord.no/&quot;&gt;Holder de ord&lt;/a&gt;. This part is
12115 named the &#39;My Society&#39; track in the program. There is still space for
12116 more talks and participants. I hope to see you there.&lt;/p&gt;
12117
12118 &lt;p&gt;Check out &lt;a href=&quot;http://act.osdc.no/osdc2015no/talks&quot;&gt;the talks
12119 submitted and accepted so far&lt;/a&gt;.&lt;/p&gt;
12120 </description>
12121 </item>
12122
12123 <item>
12124 <title>Proof reading the Norwegian translation of Free Culture by Lessig</title>
12125 <link>https://people.skolelinux.org/pere/blog/Proof_reading_the_Norwegian_translation_of_Free_Culture_by_Lessig.html</link>
12126 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Proof_reading_the_Norwegian_translation_of_Free_Culture_by_Lessig.html</guid>
12127 <pubDate>Sat, 4 Apr 2015 09:30:00 +0200</pubDate>
12128 <description>&lt;p&gt;During eastern I had some time to continue working on the Norwegian
12129 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
12130 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
12131 At the moment I am proof reading the finished text, looking for typos,
12132 inconsistent wordings and sentences that do not flow as they should.
12133 I&#39;m more than two thirds done with the text, and welcome others to
12134 check the text up to chapter 13. The current status is available on the
12135 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
12136 project pages. You can also check out the
12137 &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;,
12138 &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;
12139 and HTML version available in the
12140 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive&quot;&gt;archive
12141 directory&lt;/a&gt;.&lt;/p&gt;
12142
12143 &lt;p&gt;Please report typos, bugs and improvements to the github project if
12144 you find any.&lt;/p&gt;
12145 </description>
12146 </item>
12147
12148 <item>
12149 <title>Frikanalen, Norwegian TV channel for technical topics</title>
12150 <link>https://people.skolelinux.org/pere/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html</link>
12151 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Frikanalen__Norwegian_TV_channel_for_technical_topics.html</guid>
12152 <pubDate>Mon, 9 Mar 2015 11:10:00 +0100</pubDate>
12153 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt;,
12154 where I am a member, and where people interested in free software,
12155 open standards and UNIX like operating systems like Linux and the BSDs
12156 come together, record our monthly technical presentations on video.
12157 The purpose is to document the talks and spread them to a wider
12158 audience. For this, the the Norwegian nationwide open channel
12159 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; is a useful venue.
12160 Since a few days ago, when I figured out the
12161 &lt;a href=&quot;http://beta.frikanalen.no/api/&quot;&gt;REST API&lt;/a&gt; to program the
12162 &lt;a href=&quot;http://beta.frikanalen.tv/guide/&quot;&gt;channel time schedule&lt;/a&gt;,
12163 the channel has been filled with NUUG talks, related recordings and
12164 some Creative Commons licensed TED talks (from archive.org). I fill
12165 all &quot;leftover bits&quot; on the channel with content from NUUG, which at
12166 the moment is almost 17 of 24 hours every day.&lt;/p&gt;
12167
12168 &lt;p&gt;The list of NUUG videos
12169 &lt;a href=&quot;http://beta.frikanalen.tv/organization/82&quot;&gt;uploaded so far&lt;/a&gt;
12170 include things like a
12171 &lt;a href=&quot;http://beta.frikanalen.tv/video/625090&quot;&gt;one hour talk by John
12172 Perry Barlow when he visited Oslo&lt;/a&gt;, a presentation of
12173 &lt;a href=&quot;http://beta.frikanalen.tv/video/624275&quot;&gt;Haiku, the BeOS
12174 re-implementation&lt;/a&gt;, the
12175 &lt;a href=&quot;http://beta.frikanalen.tv/video/624493&quot;&gt;history of FiksGataMi,
12176 the Norwegian version of FixMyStreet&lt;/a&gt;, the good old
12177 &lt;a href=&quot;http://beta.frikanalen.tv/video/623566&quot;&gt;Warriors of the net
12178 video&lt;/A&gt; and many others.&lt;/p&gt;
12179
12180 &lt;p&gt;We have a large backlog of NUUG talks not yet uploaded to
12181 Frikanalen, and plan to upload every useful bit to the channel to
12182 spread the word there. I also hope to find useful recordings from the
12183 Chaos Computer Club and Debian conferences and spread them on the
12184 channel as well. But this require locating the videos and their meta
12185 information (title, description, license, etc), and preparing the
12186 recordings for broadcast, and I have not yet had the spare time to
12187 focus on this. Perhaps you want to help. Please join us on IRC,
12188 &lt;a href=&quot;irc://irc.freenode.net/%23nuug&quot;&gt;#nuug on irc.freenode.net&lt;/a&gt;
12189 if you want to help make this happen.&lt;/p&gt;
12190
12191 &lt;p&gt;But as I said, already the channel is already almost exclusively
12192 filled with technical topics, and if you want to learn something new
12193 today, check out the &lt;a href=&quot;http://www.frikanalen.tv/se&quot;&gt;Ogg Theora
12194 web stream&lt;/a&gt; or use one of the other ways to get access to the
12195 channel. Unfortunately the Ogg Theora recoding for distribution still
12196 do not properly sync the video and sound. It is generated by recoding
12197 a internal MPEG transport stream with MPEG4 coded video (ie H.264) to
12198 Ogg Theora / Vorbis, and we have not been able to find a way that
12199 produces acceptable quality. Help needed, please get in touch if you
12200 know how to fix it using free software.&lt;/p&gt;
12201 </description>
12202 </item>
12203
12204 <item>
12205 <title>The Citizenfour documentary on the Snowden confirmations to Norway</title>
12206 <link>https://people.skolelinux.org/pere/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html</link>
12207 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Citizenfour_documentary_on_the_Snowden_confirmations_to_Norway.html</guid>
12208 <pubDate>Sat, 28 Feb 2015 22:10:00 +0100</pubDate>
12209 <description>&lt;p&gt;Today I was happy to learn that the documentary
12210 &lt;a href=&quot;https://citizenfourfilm.com/&quot;&gt;Citizenfour&lt;/a&gt; by
12211 &lt;a href=&quot;https://en.wikipedia.org/wiki/Laura_Poitras&quot;&gt;Laura Poitras&lt;/a&gt;
12212 finally will show up in Norway. According to the magazine
12213 &lt;a href=&quot;http://montages.no/&quot;&gt;Montages&lt;/a&gt;, a deal has finally been
12214 made for
12215 &lt;a href=&quot;http://montages.no/nyheter/snowden-dokumentaren-citizenfour-far-norsk-kinodistribusjon/&quot;&gt;Cinema
12216 distribution in Norway&lt;/a&gt; and the movie will have its premiere soon.
12217 This is great news. As part of my involvement with
12218 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the Norwegian Unix User Group&lt;/a&gt;, me and
12219 a friend have
12220 &lt;a href=&quot;http://www.nuug.no/news/Dokumentar_om_Snowdenbekreftelsene_til_Norge_.shtml&quot;&gt;tried
12221 to get the movie to Norway&lt;/a&gt; ourselves, but obviously
12222 &lt;a href=&quot;http://www.nuug.no/news/Dokumentar_om_Snowdenbekreftelsene_endelig_til_Norge_.shtml&quot;&gt;we
12223 were too late&lt;/a&gt; and Tor Fosse beat us to it. I am happy he did, as
12224 the movie will make its way to the public and we do not have to make
12225 it happen ourselves.
12226 &lt;a href=&quot;https://www.youtube.com/watch?v=XiGwAvd5mvM&quot;&gt;The trailer&lt;/a&gt;
12227 can be seen on youtube, if you are curious what kind of film this
12228 is.&lt;/p&gt;
12229
12230 &lt;p&gt;The whistle blower Edward Snowden really deserve political asylum
12231 here in Norway, but I am afraid he would not be safe.&lt;/p&gt;
12232 </description>
12233 </item>
12234
12235 <item>
12236 <title>The Norwegian open channel Frikanalen - 24x7 on the Internet</title>
12237 <link>https://people.skolelinux.org/pere/blog/The_Norwegian_open_channel_Frikanalen___24x7_on_the_Internet.html</link>
12238 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Norwegian_open_channel_Frikanalen___24x7_on_the_Internet.html</guid>
12239 <pubDate>Wed, 25 Feb 2015 09:10:00 +0100</pubDate>
12240 <description>&lt;p&gt;The Norwegian nationwide open channel
12241 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; is still going
12242 strong. It allow everyone to send the video they want on national
12243 television. It is a TV station administrated completely using a web
12244 browser, running only &lt;ahref=&quot;https://github.com/Frikanalen&quot;&gt;Free
12245 Software&lt;/a&gt;, providing &lt;ahref=&quot;http://beta.frikanalen.tv/api&quot;&gt;a REST
12246 api&lt;/a&gt; for administrators and members, and with distribution on the
12247 national DVB-T distribution network RiksTV. But only between 12:00
12248 and 17:30 Norwegian time. This has finally changed, after many years
12249 with limited distribution. A few weeks ago, we set up a Ogg Theora
12250 stream via icecast to allow everyone with Internet access to check out
12251 the channel the rest of the day. This is presented on
12252 &lt;a href=&quot;http://www.frikanalen.tv/se&quot;&gt;the Frikanalen web site now&lt;/a&gt;. And
12253 since a few days ago, the channel is also available
12254 via &lt;a href=&quot;https://www.uninett.no/iptv-tilgang&quot;&gt;multicast on
12255 UNINETT&lt;/a&gt;, available for those using IPTV TVs and set-top boxes in
12256 the Norwegian National Research and Education network.&lt;/p&gt;
12257
12258 &lt;p&gt;If you want to see what is on the channel, point your media player
12259 to one of these sources. The first should work with most players and
12260 browsers, while as far as I know, the multicast UDP stream only work
12261 with VLC.&lt;/p&gt;
12262
12263 &lt;ul&gt;
12264 &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;
12265 &lt;li&gt;udp://@224.17.43.129:1234&lt;/li&gt;
12266 &lt;/ul&gt;
12267
12268 &lt;p&gt;The Ogg Theora / icecast stream is not working well, as the video
12269 and audio is slightly out of sync. We have not been able to figure
12270 out how to fix it. It is generated by recoding a internal MPEG
12271 transport stream with MPEG4 coded video (ie H.264) to Ogg Theora /
12272 Vorbis, and the result is less then stellar. If you have ideas how to
12273 fix it, please let us know on frikanalen (at) nuug.no. We currently
12274 use this with ffmpeg2theora 0.29:&lt;/p&gt;
12275
12276 &lt;blockquote&gt;&lt;pre&gt;
12277 ./ffmpeg2theora.linux &amp;lt;OBE_gemini_URL.ts&amp;gt; -F 25 -x 720 -y 405 \
12278 --deinterlace --inputfps 25 -c 1 -H 48000 --keyint 8 --buf-delay 100 \
12279 --nosync -V 700 -o - | oggfwd video.nuug.no 8000 &amp;lt;pw&amp;gt; /frikanalen.ogv
12280 &lt;/pre&gt;&lt;/blockquote&gt;
12281
12282 &lt;p&gt;If you get the multicast UDP stream working, please let me know, as
12283 I am curious how far the multicast stream reach. It do not make it to
12284 my home network, nor any other commercially available network in
12285 Norway that I am aware of.&lt;/p&gt;
12286 </description>
12287 </item>
12288
12289 <item>
12290 <title>Nude body scanner now present on Norwegian airport</title>
12291 <link>https://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</link>
12292 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nude_body_scanner_now_present_on_Norwegian_airport.html</guid>
12293 <pubDate>Tue, 10 Feb 2015 15:20:00 +0100</pubDate>
12294 <description>&lt;p&gt;Aftenposten, one of the largest newspapers in Norway, today report
12295 that
12296 &lt;a href=&quot;http://www.aftenposten.no/reise/Slik-skannes-kroppen-din-i-fremtidens-sikkerhetskontroll-490666_1.snd&quot;&gt;three
12297 of the nude body scanners now is put to use at Gardermoen&lt;/a&gt;, the
12298 main airport in Norway. This way the travelers can have their body
12299 photographed without cloths when visiting Norway. Of course this
12300 horrible news is presented with a positive spin, stating that &quot;now
12301 travelers can move past the security check point faster and more
12302 efficiently&quot;, but fail to mention that the machines in question take
12303 pictures of their nude bodies and store them internally in the
12304 computer, while only presenting sketch figure of the body to the
12305 public. The article is written in a way that leave the impression
12306 that the new machines do not take these nude pictures and only create
12307 the sketch figures. In reality the same nude pictures are still
12308 taken, but not presented to everyone. They are still available for
12309 the owners of the system and the people doing maintenance of the
12310 scanners, as long as they are taken and stored.&lt;/p&gt;
12311
12312 &lt;p&gt;Wikipedia have a more on
12313 &lt;a href=&quot;https://en.wikipedia.org/wiki/Full_body_scanner&quot;&gt;Full body
12314 scanners&lt;/a&gt;, including example images and a summary of the
12315 controversy about these scanners.&lt;/p&gt;
12316
12317 &lt;p&gt;Personally I will decline to use these machines, as I believe strip
12318 searches of my body is a very intrusive attack on my privacy, and not
12319 something everyone should have to accept to travel.&lt;/p&gt;
12320 </description>
12321 </item>
12322
12323 <item>
12324 <title>Nagios module to check if the Frikanalen video stream is working</title>
12325 <link>https://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</link>
12326 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Nagios_module_to_check_if_the_Frikanalen_video_stream_is_working.html</guid>
12327 <pubDate>Sun, 8 Feb 2015 13:00:00 +0100</pubDate>
12328 <description>&lt;p&gt;When running a TV station with both broadcast and web stream
12329 distribution, it is useful to know that the stream is working. As I
12330 am involved in the Norwegian open channel
12331 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; as part of my
12332 activity in the &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG member
12333 organisation&lt;/a&gt;, I wrote a script to use mplayer to connect to a
12334 video stream, pick two images 35 seconds apart and compare them. If
12335 the images are missing or identical, something is probably wrong with
12336 the stream and an alarm should be triggered. The script is written as
12337 a Nagios plugin, allowing us to use Nagios to run the check regularly
12338 and sound the alarm when something is wrong. It is able to detect
12339 both a hanging and a broken video stream.&lt;/p&gt;
12340
12341 &lt;p&gt;I just uploaded the code for the script into the
12342 &lt;a href=&quot;https://github.com/Frikanalen/frikanalen/blob/master/nagios-plugin/check_video_stream_images&quot;&gt;Frikanalen
12343 git repository&lt;/a&gt; on github. If you run a TV station with web
12344 streaming, perhaps you can find it useful too.&lt;/p&gt;
12345
12346 &lt;p&gt;Last year, the Frikanalen public TV station transformed into using
12347 only Linux based free software to administrate, schedule and
12348 distribute the TV content. The
12349 &lt;a href=&quot;https://github.com/Frikanalen&quot;&gt;source code for the entire TV
12350 station&lt;/a&gt; is available from the Github project page. Everyone can
12351 use it to send their content on national TV, and we provide both a web
12352 GUI and &lt;a href=&quot;http://beta.frikanalen.tv/api/&quot;&gt;a web API&lt;/a&gt; to
12353 &lt;a href=&quot;http://beta.frikanalen.tv/login/?next=/members/video/&quot;&gt;add&lt;/a&gt;
12354 and &lt;a href=&quot;http://beta.frikanalen.tv/members/plan/&quot;&gt;schedule
12355 content&lt;/a&gt;. And thanks to last weeks developer gathering and
12356 following activity, we now have the schedule
12357 &lt;a href=&quot;http://beta.frikanalen.tv/xmltv/2015/01/01&quot;&gt;available as
12358 XMLTV&lt;/a&gt; too. Still a lot of work left to do, especially with the
12359 process to add videos and with the scheduling, so your contribution is
12360 most welcome. Perhaps you want to set up your own TV station?&lt;/p&gt;
12361
12362 &lt;p&gt;Update 2015-02-25: Got a tip from Uninett about their
12363 &lt;a href=&quot;https://scm.uninett.no/maalepaaler/qstream/&quot;&gt;qstream
12364 monitoring system&lt;/a&gt;, which gather connection time, jitter, packet
12365 loss and burst bandwidth usage. It look useful to check if UDP
12366 streams are working as they should.&lt;/p&gt;
12367 </description>
12368 </item>
12369
12370 <item>
12371 <title>Norwegian Bokmål subtitles for the FSF video User Liberation</title>
12372 <link>https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_subtitles_for_the_FSF_video_User_Liberation.html</link>
12373 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_subtitles_for_the_FSF_video_User_Liberation.html</guid>
12374 <pubDate>Mon, 12 Jan 2015 21:00:00 +0100</pubDate>
12375 <description>&lt;p&gt;A few days ago, the &lt;a href=&quot;https://www.fsf.org/&quot;&gt;Free Software
12376 Foundation&lt;/a&gt; announced a new video
12377 &lt;a href=&quot;https://www.fsf.org/blogs/community/user-liberation-watch-and-share-our-new-video&quot;&gt;explaining
12378 Free software&lt;/a&gt; in simple terms. The video named User Liberation is
12379 3 minutes long, and I recommend showing it to everyone you know as a
12380 way to explain what Free Software is all about. Unfortunately several
12381 of the people I know do not understand English and Spanish, so it did
12382 not make sense to show it to them.&lt;/p&gt;
12383
12384 &lt;p&gt;But today I was told that
12385 &lt;a href=&quot;https://www.fsf.org/blogs/community/user-liberation-watch-and-share-our-new-video&quot;&gt;English
12386 subtitles were available&lt;/a&gt; and set out to provide Norwegian Bokmål
12387 subtitles based on these. The result has been sent to FSF and made
12388 available in
12389 &lt;a href=&quot;https://github.com/petterreinholdtsen/fsf-video-user-liberation-subtitles&quot;&gt;a
12390 git repository&lt;/a&gt; provided by Github. Please let me know if you find
12391 errors or have improvements to the subtitles.&lt;/p&gt;
12392
12393 &lt;p&gt;Update 2015-02-03: Since I publised this post, FSF created a
12394 Libreplanet
12395 &lt;a href=&quot;http://libreplanet.org/wiki/Group:FSF/User_Liberation_Video_Translation&quot;&gt;project
12396 to track subtitles&lt;/A&gt; for the video.&lt;/p&gt;
12397 </description>
12398 </item>
12399
12400 <item>
12401 <title>Updated version of the Norwegian web service FiksGataMi</title>
12402 <link>https://people.skolelinux.org/pere/blog/Updated_version_of_the_Norwegian_web_service_FiksGataMi.html</link>
12403 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Updated_version_of_the_Norwegian_web_service_FiksGataMi.html</guid>
12404 <pubDate>Tue, 30 Dec 2014 17:55:00 +0100</pubDate>
12405 <description>&lt;p&gt;I am very happy that we in the
12406 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User group (NUUG)&lt;/a&gt;,
12407 spearheaded by Marius Halden from NUUG and Matthew Somerville from
12408 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;, finally managed to
12409 upgrade the code base for the Norwegian version of
12410 &lt;a href=&quot;http://fixmystreet.org/&quot;&gt;FixMyStreet&lt;/a&gt;. This
12411 was the first major update since 2011. The refurbished
12412 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is already live, and
12413 seem to hold up the pressure. The
12414 &lt;a href=&quot;http://www.nuug.no/news/Pressemelding__FiksGataMi_i_oppdatert_og_mobilvennlig_klesdrakt.shtml&quot;&gt;press
12415 release and announcement&lt;/a&gt; went out this morning.&lt;/p&gt;
12416
12417 &lt;p&gt;FixMyStreet is a web platform for allowing the citizens to easily
12418 report problems with public infrastructure to the responsible
12419 authorities. Think of it as a shared mail client with map support,
12420 allowing everyone to see what already was reported and comment on the
12421 reports in public.&lt;/p&gt;
12422 </description>
12423 </item>
12424
12425 <item>
12426 <title>Of course USA loses in cyber war - NSA and friends made sure it would happen</title>
12427 <link>https://people.skolelinux.org/pere/blog/Of_course_USA_loses_in_cyber_war___NSA_and_friends_made_sure_it_would_happen.html</link>
12428 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Of_course_USA_loses_in_cyber_war___NSA_and_friends_made_sure_it_would_happen.html</guid>
12429 <pubDate>Fri, 19 Dec 2014 13:10:00 +0100</pubDate>
12430 <description>&lt;p&gt;So, Sony caved in
12431 (&lt;a href=&quot;https://twitter.com/RobLowe/status/545338568512917504&quot;&gt;according
12432 to Rob Lowe&lt;/a&gt;) and demonstrated that America lost its first cyberwar
12433 (&lt;a href=&quot;https://twitter.com/newtgingrich/status/545339074975109122&quot;&gt;according
12434 to Newt Gingrich&lt;/a&gt;). It should not surprise anyone, after the
12435 whistle blower Edward Snowden documented that the government of USA
12436 and their allies for many years have done their best to make sure the
12437 technology used by its citizens is filled with security holes allowing
12438 the secret services to spy on its own population. No one in their
12439 right minds could believe that the ability to snoop on the people all
12440 over the globe could only be used by the personnel authorized to do so
12441 by the president of the United States of America. If the capabilities
12442 are there, they will be used by friend and foe alike, and now they are
12443 being used to bring Sony on its knees.&lt;/p&gt;
12444
12445 &lt;p&gt;I doubt it will a lesson learned, and expect USA to lose its next
12446 cyber war too, given how eager the western intelligence communities
12447 (and probably the non-western too, but it is less in the news) seem to
12448 be to continue its current dragnet surveillance practice.&lt;/p&gt;
12449
12450 &lt;p&gt;There is a reason why China and others are trying to move away from
12451 Windows to Linux and other alternatives, and it is not to avoid
12452 sending its hard earned dollars to Cayman Islands (or whatever
12453 &lt;a href=&quot;https://en.wikipedia.org/wiki/Tax_haven&quot;&gt;tax haven&lt;/a&gt;
12454 Microsoft is using these days to collect the majority of its
12455 income. :)&lt;/p&gt;
12456 </description>
12457 </item>
12458
12459 <item>
12460 <title>How to stay with sysvinit in Debian Jessie</title>
12461 <link>https://people.skolelinux.org/pere/blog/How_to_stay_with_sysvinit_in_Debian_Jessie.html</link>
12462 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_stay_with_sysvinit_in_Debian_Jessie.html</guid>
12463 <pubDate>Sat, 22 Nov 2014 01:00:00 +0100</pubDate>
12464 <description>&lt;p&gt;By now, it is well known that Debian Jessie will not be using
12465 sysvinit as its boot system by default. But how can one keep using
12466 sysvinit in Jessie? It is fairly easy, and here are a few recipes,
12467 courtesy of
12468 &lt;a href=&quot;http://www.vitavonni.de/blog/201410/2014102101-avoiding-systemd.html&quot;&gt;Erich
12469 Schubert&lt;/a&gt; and
12470 &lt;a href=&quot;http://smcv.pseudorandom.co.uk/2014/still_universal/&quot;&gt;Simon
12471 McVittie&lt;/a&gt;.
12472
12473 &lt;p&gt;If you already are using Wheezy and want to upgrade to Jessie and
12474 keep sysvinit as your boot system, create a file
12475 &lt;tt&gt;/etc/apt/preferences.d/use-sysvinit&lt;/tt&gt; with this content before
12476 you upgrade:&lt;/p&gt;
12477
12478 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12479 Package: systemd-sysv
12480 Pin: release o=Debian
12481 Pin-Priority: -1
12482 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
12483
12484 &lt;p&gt;This file content will tell apt and aptitude to not consider
12485 installing systemd-sysv as part of any installation and upgrade
12486 solution when resolving dependencies, and thus tell it to avoid
12487 systemd as a default boot system. The end result should be that the
12488 upgraded system keep using sysvinit.&lt;/p&gt;
12489
12490 &lt;p&gt;If you are installing Jessie for the first time, there is no way to
12491 get sysvinit installed by default (debootstrap used by
12492 debian-installer have no option for this), but one can tell the
12493 installer to switch to sysvinit before the first boot. Either by
12494 using a kernel argument to the installer, or by adding a line to the
12495 preseed file used. First, the kernel command line argument:
12496
12497 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12498 preseed/late_command=&quot;in-target apt-get install --purge -y sysvinit-core&quot;
12499 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
12500
12501 &lt;p&gt;Next, the line to use in a preseed file:&lt;/p&gt;
12502
12503 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12504 d-i preseed/late_command string in-target apt-get install -y sysvinit-core
12505 &lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;
12506
12507 &lt;p&gt;One can of course also do this after the first boot by installing
12508 the sysvinit-core package.&lt;/p&gt;
12509
12510 &lt;p&gt;I recommend only using sysvinit if you really need it, as the
12511 sysvinit boot sequence in Debian have several hardware specific bugs
12512 on Linux caused by the fact that it is unpredictable when hardware
12513 devices show up during boot. But on the other hand, the new default
12514 boot system still have a few rough edges I hope will be fixed before
12515 Jessie is released.&lt;/p&gt;
12516
12517 &lt;p&gt;Update 2014-11-26: Inspired by
12518 &lt;ahref=&quot;https://www.mirbsd.org/permalinks/wlog-10-tg_e20141125-tg.htm#e20141125-tg_wlog-10-tg&quot;&gt;a
12519 blog post by Torsten Glaser&lt;/a&gt;, added --purge to the preseed
12520 line.&lt;/p&gt;
12521 </description>
12522 </item>
12523
12524 <item>
12525 <title>A Debian package for SMTP via Tor (aka SMTorP) using exim4</title>
12526 <link>https://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html</link>
12527 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html</guid>
12528 <pubDate>Mon, 10 Nov 2014 13:40:00 +0100</pubDate>
12529 <description>&lt;p&gt;The right to communicate with your friends and family in private,
12530 without anyone snooping, is a right every citicen have in a liberal
12531 democracy. But this right is under serious attack these days.&lt;/p&gt;
12532
12533 &lt;p&gt;A while back it occurred to me that one way to make the dragnet
12534 surveillance conducted by NSA, GCHQ, FRA and others (and confirmed by
12535 the whisleblower Snowden) more expensive for Internet email,
12536 is to deliver all email using SMTP via Tor. Such SMTP option would be
12537 a nice addition to the FreedomBox project if we could send email
12538 between FreedomBox machines without leaking metadata about the emails
12539 to the people peeking on the wire. I
12540 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/freedombox-discuss/2014-October/006493.html&quot;&gt;proposed
12541 this on the FreedomBox project mailing list in October&lt;/a&gt; and got a
12542 lot of useful feedback and suggestions. It also became obvious to me
12543 that this was not a novel idea, as the same idea was tested and
12544 documented by Johannes Berg as early as 2006, and both
12545 &lt;a href=&quot;https://github.com/pagekite/Mailpile/wiki/SMTorP&quot;&gt;the
12546 Mailpile&lt;/a&gt; and &lt;a href=&quot;http://dee.su/cables&quot;&gt;the Cables&lt;/a&gt; systems
12547 propose a similar method / protocol to pass emails between users.&lt;/p&gt;
12548
12549 &lt;p&gt;To implement such system one need to set up a Tor hidden service
12550 providing the SMTP protocol on port 25, and use email addresses
12551 looking like username@hidden-service-name.onion. With such addresses
12552 the connections to port 25 on hidden-service-name.onion using Tor will
12553 go to the correct SMTP server. To do this, one need to configure the
12554 Tor daemon to provide the hidden service and the mail server to accept
12555 emails for this .onion domain. To learn more about Exim configuration
12556 in Debian and test the design provided by Johannes Berg in his FAQ, I
12557 set out yesterday to create a Debian package for making it trivial to
12558 set up such SMTP over Tor service based on Debian. Getting it to work
12559 were fairly easy, and
12560 &lt;a href=&quot;https://github.com/petterreinholdtsen/exim4-smtorp&quot;&gt;the
12561 source code for the Debian package&lt;/a&gt; is available from github. I
12562 plan to move it into Debian if further testing prove this to be a
12563 useful approach.&lt;/p&gt;
12564
12565 &lt;p&gt;If you want to test this, set up a blank Debian machine without any
12566 mail system installed (or run &lt;tt&gt;apt-get purge exim4-config&lt;/tt&gt; to
12567 get rid of exim4). Install tor, clone the git repository mentioned
12568 above, build the deb and install it on the machine. Next, run
12569 &lt;tt&gt;/usr/lib/exim4-smtorp/setup-exim-hidden-service&lt;/tt&gt; and follow
12570 the instructions to get the service up and running. Restart tor and
12571 exim when it is done, and test mail delivery using swaks like
12572 this:&lt;/p&gt;
12573
12574 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12575 torsocks swaks --server dutlqrrmjhtfa3vp.onion \
12576 --to fbx@dutlqrrmjhtfa3vp.onion
12577 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12578
12579 &lt;p&gt;This will test the SMTP delivery using tor. Replace the email
12580 address with your own address to test your server. :)&lt;/p&gt;
12581
12582 &lt;p&gt;The setup procedure is still to complex, and I hope it can be made
12583 easier and more automatic. Especially the tor setup need more work.
12584 Also, the package include a tor-smtp tool written in C, but its task
12585 should probably be rewritten in some script language to make the deb
12586 architecture independent. It would probably also make the code easier
12587 to review. The tor-smtp tool currently need to listen on a socket for
12588 exim to talk to it and is started using xinetd. It would be better if
12589 no daemon and no socket is needed. I suspect it is possible to get
12590 exim to run a command line tool for delivery instead of talking to a
12591 socket, and hope to figure out how in a future version of this
12592 system.&lt;/p&gt;
12593
12594 &lt;p&gt;Until I wipe my test machine, I can be reached using the
12595 &lt;tt&gt;fbx@dutlqrrmjhtfa3vp.onion&lt;/tt&gt; mail address, deliverable over
12596 SMTorP. :)&lt;/p&gt;
12597 </description>
12598 </item>
12599
12600 <item>
12601 <title>First Jessie based Debian Edu released (alpha0)</title>
12602 <link>https://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html</link>
12603 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html</guid>
12604 <pubDate>Mon, 27 Oct 2014 20:40:00 +0100</pubDate>
12605 <description>&lt;p&gt;I am happy to report that I on behalf of the Debian Edu team just
12606 sent out
12607 &lt;a href=&quot;https://lists.debian.org/debian-edu-announce/2014/10/msg00000.html&quot;&gt;this
12608 announcement&lt;/a&gt;:&lt;/p&gt;
12609
12610 &lt;pre&gt;
12611 The Debian Edu Team is pleased to announce the release of Debian Edu
12612 Jessie 8.0+edu0~alpha0
12613
12614 Debian Edu is a complete operating system for schools. Through its
12615 various installation profiles you can install servers, workstations
12616 and laptops which will work together on the school network. With
12617 Debian Edu, the teachers themselves or their technical support can
12618 roll out a complete multi-user multi-machine study environment within
12619 hours or a few days. Debian Edu comes with hundreds of applications
12620 pre-installed, but you can always add more packages from Debian.
12621
12622 For those who want to give Debian Edu Jessie a try, download and
12623 installation instructions are available, including detailed
12624 instructions in the manual[1] explaining the first steps, such as
12625 setting up a network or adding users. Please note that the password
12626 for the user your prompted for during installation must have a length
12627 of at least 5 characters!
12628
12629 [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;
12630
12631 Would you like to give your school&#39;s computer a longer life? Are you
12632 tired of sneaker administration, running from computer to computer
12633 reinstalling the operating system? Would you like to administrate all
12634 the computers in your school using only a couple of hours every week?
12635 Check out Debian Edu Jessie!
12636
12637 Skolelinux is used by at least two hundred schools all over the world,
12638 mostly in Germany and Norway.
12639
12640 About Debian Edu and Skolelinux
12641 ===============================
12642
12643 Debian Edu, also known as Skolelinux[2], is a Linux distribution based
12644 on Debian providing an out-of-the box environment of a completely
12645 configured school network. Immediately after installation a school
12646 server running all services needed for a school network is set up just
12647 waiting for users and machines being added via GOsa², a comfortable
12648 Web-UI. A netbooting environment is prepared using PXE, so after
12649 initial installation of the main server from CD or USB stick all other
12650 machines can be installed via the network. The provided school server
12651 provides LDAP database and Kerberos authentication service,
12652 centralized home directories, DHCP server, web proxy and many other
12653 services. The desktop contains more than 60 educational software
12654 packages[3] and more are available from the Debian archive, and
12655 schools can choose between KDE, Gnome, LXDE, Xfce and MATE desktop
12656 environment.
12657
12658 [2] &amp;lt;URL: &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;http://www.skolelinux.org/&lt;/a&gt; &amp;gt;
12659 [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;
12660
12661 Full release notes and manual
12662 =============================
12663
12664 Below the download URLs there is a list of some of the new features
12665 and bugfixes of Debian Edu 8.0+edu0~alpha0 Codename Jessie. The full
12666 list is part of the manual. (See the feature list in the manual[4] for
12667 the English version.) For some languages manual translations are
12668 available, see the manual translation overview[5].
12669
12670 [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;
12671 [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;
12672
12673 Where to get it
12674 ---------------
12675
12676 To download the multiarch netinstall CD release (624 MiB) you can use
12677
12678 * &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;
12679 * &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;
12680 * rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso .
12681
12682 The SHA1SUM of this image is: 361188818e036ce67280a572f757de82ebfeb095
12683
12684 New features for Debian Edu 8.0+edu0~alpha0 Codename Jessie released 2014-10-27
12685 ===============================================================================
12686
12687
12688 Installation changes
12689 --------------------
12690
12691 * PXE installation now installs firmware automatically for the hardware present.
12692
12693 Software updates
12694 ----------------
12695
12696 Everything which is new in Debian Jessie 8.0, eg:
12697
12698 * Linux kernel 3.16.x
12699 * Desktop environments KDE &quot;Plasma&quot; 4.11.12, GNOME 3.14, Xfce 4.10,
12700 LXDE 0.5.6 and MATE 1.8 (KDE &quot;Plasma&quot; is installed by default; to
12701 choose one of the others see manual.)
12702 * the browsers Iceweasel 31 ESR and Chromium 38
12703 * !LibreOffice 4.3.3
12704 * GOsa 2.7.4
12705 * LTSP 5.5.4
12706 * CUPS print system 1.7.5
12707 * new boot framework: systemd
12708 * Educational toolbox GCompris 14.07
12709 * Music creator Rosegarden 14.02
12710 * Image editor Gimp 2.8.14
12711 * Virtual stargazer Stellarium 0.13.0
12712 * golearn 0.9
12713 * tuxpaint 0.9.22
12714 * New version of debian-installer from Debian Jessie.
12715 * Debian Jessie includes about 42000 packages available for
12716 installation.
12717 * More information about Debian Jessie 8.0 is provided in the release
12718 notes[6] and the installation manual[7].
12719
12720 [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;
12721 [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;
12722
12723 Fixed bugs
12724 ----------
12725
12726 * Inserting incorrect DNS information in Gosa will no longer break
12727 DNS completely, but instead stop DNS updates until the incorrect
12728 information is corrected (Debian bug #710362)
12729 * and many others.
12730
12731 Documentation and translation updates
12732 -------------------------------------
12733
12734 * The Debian Edu Jessie Manual is fully translated to German, French,
12735 Italian, Danish and Dutch. Partly translated versions exist for
12736 Norwegian Bokmal and Spanish.
12737
12738 Other changes
12739 -------------
12740
12741 * Due to new Squid settings, powering off or rebooting the main
12742 server takes more time.
12743 * To manage printers localhost:631 has to be used, currently www:631
12744 doesn&#39;t work.
12745
12746 Regressions / known problems
12747 ----------------------------
12748
12749 * Installing LTSP chroot fails with a bug related to eatmydata about
12750 exim4-config failing to run its postinst (see Debian bug #765694
12751 and Debian bug #762103).
12752 * Munin collection is not properly configured on clients (Debian bug
12753 #764594). The fix is available in a newer version of munin-node.
12754 * PXE setup for Main Server and Thin Client Server setup does not
12755 work when installing on a machine without direct Internet access.
12756 Will be fixed when Debian bug #766960 is fixed in Jessie.
12757
12758 See the status page[8] for the complete list.
12759
12760 [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;
12761
12762 How to report bugs
12763 ------------------
12764
12765 &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;
12766
12767 About Debian
12768 ============
12769
12770 The Debian Project was founded in 1993 by Ian Murdock to be a truly
12771 free community project. Since then the project has grown to be one of
12772 the largest and most influential open source projects. Thousands of
12773 volunteers from all over the world work together to create and
12774 maintain Debian software. Available in 70 languages, and supporting a
12775 huge range of computer types, Debian calls itself the universal
12776 operating system.
12777
12778 Contact Information
12779 For further information, please visit the Debian web pages[9] or send
12780 mail to press@debian.org.
12781
12782 [9] &amp;lt;URL: &lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt; &amp;gt;
12783 &lt;/pre&gt;
12784 </description>
12785 </item>
12786
12787 <item>
12788 <title>I spent last weekend recording MakerCon Nordic</title>
12789 <link>https://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html</link>
12790 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html</guid>
12791 <pubDate>Thu, 23 Oct 2014 23:00:00 +0200</pubDate>
12792 <description>&lt;p&gt;I spent last weekend at &lt;a href=&quot;http://www.makercon.no/&quot;&gt;Makercon
12793 Nordic&lt;/a&gt;, a great conference and workshop for makers in Norway and
12794 the surrounding countries. I had volunteered on behalf of the
12795 Norwegian Unix Users Group (NUUG) to video record the talks, and we
12796 had a great and exhausting time recording the entire day, two days in
12797 a row. There were only two of us, Hans-Petter and me, and we used the
12798 regular video equipment for NUUG, with a
12799 &lt;a href=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;dvswitch&lt;/a&gt;, a
12800 camera and a VGA to DV convert box, and mixed video and slides
12801 live.&lt;/p&gt;
12802
12803 &lt;p&gt;Hans-Petter did the post-processing, consisting of uploading the
12804 around 180 GiB of raw video to Youtube, and the result is
12805 &lt;a href=&quot;https://www.youtube.com/user/MakerConNordic/&quot;&gt;now becoming
12806 public&lt;/a&gt; on the MakerConNordic account. The videos have the license
12807 NUUG always use on our recordings, which is
12808 &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/3.0/no/&quot;&gt;Creative
12809 Commons Navngivelse-Del på samme vilkår 3.0 Norge&lt;/a&gt;. Many great
12810 talks available. Check it out! :)&lt;/p&gt;
12811 </description>
12812 </item>
12813
12814 <item>
12815 <title>listadmin, the quick way to moderate mailman lists - nice free software</title>
12816 <link>https://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html</link>
12817 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html</guid>
12818 <pubDate>Wed, 22 Oct 2014 20:00:00 +0200</pubDate>
12819 <description>&lt;p&gt;If you ever had to moderate a mailman list, like the ones on
12820 alioth.debian.org, you know the web interface is fairly slow to
12821 operate. First you visit one web page, enter the moderation password
12822 and get a new page shown with a list of all the messages to moderate
12823 and various options for each email address. This take a while for
12824 every list you moderate, and you need to do it regularly to do a good
12825 job as a list moderator. But there is a quick alternative,
12826 &lt;a href=&quot;http://heim.ifi.uio.no/kjetilho/hacks/#listadmin&quot;&gt;the
12827 listadmin program&lt;/a&gt;. It allow you to check lists for new messages
12828 to moderate in a fraction of a second. Here is a test run on two
12829 lists I recently took over:&lt;/p&gt;
12830
12831 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12832 % time listadmin xiph
12833 fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
12834 fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
12835
12836 real 0m1.709s
12837 user 0m0.232s
12838 sys 0m0.012s
12839 %
12840 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12841
12842 &lt;p&gt;In 1.7 seconds I had checked two mailing lists and confirmed that
12843 there are no message in the moderation queue. Every morning I
12844 currently moderate 68 mailman lists, and it normally take around two
12845 minutes. When I took over the two pkg-xiph lists above a few days
12846 ago, there were 400 emails waiting in the moderator queue. It took me
12847 less than 15 minutes to process them all using the listadmin
12848 program.&lt;/p&gt;
12849
12850 &lt;p&gt;If you install
12851 &lt;a href=&quot;https://tracker.debian.org/pkg/listadmin&quot;&gt;the listadmin
12852 package&lt;/a&gt; from Debian and create a file &lt;tt&gt;~/.listadmin.ini&lt;/tt&gt;
12853 with content like this, the moderation task is a breeze:&lt;/p&gt;
12854
12855 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12856 username username@example.org
12857 spamlevel 23
12858 default discard
12859 discard_if_reason &quot;Posting restricted to members only. Remove us from your mail list.&quot;
12860
12861 password secret
12862 adminurl https://{domain}/mailman/admindb/{list}
12863 mailman-list@lists.example.com
12864
12865 password hidden
12866 other-list@otherserver.example.org
12867 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12868
12869 &lt;p&gt;There are other options to set as well. Check the manual page to
12870 learn the details.&lt;/p&gt;
12871
12872 &lt;p&gt;If you are forced to moderate lists on a mailman installation where
12873 the SSL certificate is self signed or not properly signed by a
12874 generally accepted signing authority, you can set a environment
12875 variable when calling listadmin to disable SSL verification:&lt;/p&gt;
12876
12877 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12878 PERL_LWP_SSL_VERIFY_HOSTNAME=0 listadmin
12879 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12880
12881 &lt;p&gt;If you want to moderate a subset of the lists you take care of, you
12882 can provide an argument to the listadmin script like I do in the
12883 initial screen dump (the xiph argument). Using an argument, only
12884 lists matching the argument string will be processed. This make it
12885 quick to accept messages if you notice the moderation request in your
12886 email.&lt;/p&gt;
12887
12888 &lt;p&gt;Without the listadmin program, I would never be the moderator of 68
12889 mailing lists, as I simply do not have time to spend on that if the
12890 process was any slower. The listadmin program have saved me hours of
12891 time I could spend elsewhere over the years. It truly is nice free
12892 software.&lt;/p&gt;
12893
12894 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
12895 activities, please send Bitcoin donations to my address
12896 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
12897
12898 &lt;p&gt;Update 2014-10-27: Added missing &#39;username&#39; statement in
12899 configuration example. Also, I&#39;ve been told that the
12900 PERL_LWP_SSL_VERIFY_HOSTNAME=0 setting do not work for everyone. Not
12901 sure why.&lt;/p&gt;
12902 </description>
12903 </item>
12904
12905 <item>
12906 <title>Debian Jessie, PXE and automatic firmware installation</title>
12907 <link>https://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</link>
12908 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html</guid>
12909 <pubDate>Fri, 17 Oct 2014 14:10:00 +0200</pubDate>
12910 <description>&lt;p&gt;When PXE installing laptops with Debian, I often run into the
12911 problem that the WiFi card require some firmware to work properly.
12912 And it has been a pain to fix this using preseeding in Debian.
12913 Normally something more is needed. But thanks to
12914 &lt;a href=&quot;https://packages.qa.debian.org/i/isenkram.html&quot;&gt;my isenkram
12915 package&lt;/a&gt; and its recent tasksel extension, it has now become easy
12916 to do this using simple preseeding.&lt;/p&gt;
12917
12918 &lt;p&gt;The isenkram-cli package provide tasksel tasks which will install
12919 firmware for the hardware found in the machine (actually, requested by
12920 the kernel modules for the hardware). (It can also install user space
12921 programs supporting the hardware detected, but that is not the focus
12922 of this story.)&lt;/p&gt;
12923
12924 &lt;p&gt;To get this working in the default installation, two preeseding
12925 values are needed. First, the isenkram-cli package must be installed
12926 into the target chroot (aka the hard drive) before tasksel is executed
12927 in the pkgsel step of the debian-installer system. This is done by
12928 preseeding the base-installer/includes debconf value to include the
12929 isenkram-cli package. The package name is next passed to debootstrap
12930 for installation. With the isenkram-cli package in place, tasksel
12931 will automatically use the isenkram tasks to detect hardware specific
12932 packages for the machine being installed and install them, because
12933 isenkram-cli contain tasksel tasks.&lt;/p&gt;
12934
12935 &lt;p&gt;Second, one need to enable the non-free APT repository, because
12936 most firmware unfortunately is non-free. This is done by preseeding
12937 the apt-mirror-setup step. This is unfortunate, but for a lot of
12938 hardware it is the only option in Debian.&lt;/p&gt;
12939
12940 &lt;p&gt;The end result is two lines needed in your preseeding file to get
12941 firmware installed automatically by the installer:&lt;/p&gt;
12942
12943 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12944 base-installer base-installer/includes string isenkram-cli
12945 apt-mirror-setup apt-setup/non-free boolean true
12946 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12947
12948 &lt;p&gt;The current version of isenkram-cli in testing/jessie will install
12949 both firmware and user space packages when using this method. It also
12950 do not work well, so use version 0.15 or later. Installing both
12951 firmware and user space packages might give you a bit more than you
12952 want, so I decided to split the tasksel task in two, one for firmware
12953 and one for user space programs. The firmware task is enabled by
12954 default, while the one for user space programs is not. This split is
12955 implemented in the package currently in unstable.&lt;/p&gt;
12956
12957 &lt;p&gt;If you decide to give this a go, please let me know (via email) how
12958 this recipe work for you. :)&lt;/p&gt;
12959
12960 &lt;p&gt;So, I bet you are wondering, how can this work. First and
12961 foremost, it work because tasksel is modular, and driven by whatever
12962 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
12963 isenkram-cli package place two files for tasksel to find. First there
12964 is the task description file (/usr/share/tasksel/descs/isenkram.desc):&lt;/p&gt;
12965
12966 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12967 Task: isenkram-packages
12968 Section: hardware
12969 Description: Hardware specific packages (autodetected by isenkram)
12970 Based on the detected hardware various hardware specific packages are
12971 proposed.
12972 Test-new-install: show show
12973 Relevance: 8
12974 Packages: for-current-hardware
12975
12976 Task: isenkram-firmware
12977 Section: hardware
12978 Description: Hardware specific firmware packages (autodetected by isenkram)
12979 Based on the detected hardware various hardware specific firmware
12980 packages are proposed.
12981 Test-new-install: mark show
12982 Relevance: 8
12983 Packages: for-current-hardware-firmware
12984 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12985
12986 &lt;p&gt;The key parts are Test-new-install which indicate how the task
12987 should be handled and the Packages line referencing to a script in
12988 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
12989 list of packages to install. The for-current-hardware-firmware script
12990 look like this to list relevant firmware for the machine:
12991
12992 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
12993 #!/bin/sh
12994 #
12995 PATH=/usr/sbin:$PATH
12996 export PATH
12997 isenkram-autoinstall-firmware -l
12998 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
12999
13000 &lt;p&gt;With those two pieces in place, the firmware is installed by
13001 tasksel during the normal d-i run. :)&lt;/p&gt;
13002
13003 &lt;p&gt;If you want to test what tasksel will install when isenkram-cli is
13004 installed, run &lt;tt&gt;DEBIAN_PRIORITY=critical tasksel --test
13005 --new-install&lt;/tt&gt; to get the list of packages that tasksel would
13006 install.&lt;/p&gt;
13007
13008 &lt;p&gt;&lt;a href=&quot;https://wiki.debian.org/DebianEdu/&quot;&gt;Debian Edu&lt;/a&gt; will be
13009 pilots in testing this feature, as isenkram is used there now to
13010 install firmware, replacing the earlier scripts.&lt;/p&gt;
13011 </description>
13012 </item>
13013
13014 <item>
13015 <title>Ubuntu used to show the bread prizes at ICA Storo</title>
13016 <link>https://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</link>
13017 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html</guid>
13018 <pubDate>Sat, 4 Oct 2014 15:20:00 +0200</pubDate>
13019 <description>&lt;p&gt;Today I came across an unexpected Ubuntu boot screen. Above the
13020 bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
13021 with Linux kernel 3.2.0-23 (ie probably version 12.04 LTS) was stuck
13022 on a screen normally showing the bread types and prizes:&lt;/p&gt;
13023
13024 &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;
13025
13026 &lt;p&gt;If it had booted as it was supposed to, I would never had known
13027 about this hidden Linux installation. It is interesting what
13028 &lt;a href=&quot;http://revealingerrors.com/&quot;&gt;errors can reveal&lt;/a&gt;.&lt;/p&gt;
13029 </description>
13030 </item>
13031
13032 <item>
13033 <title>New lsdvd release version 0.17 is ready</title>
13034 <link>https://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html</link>
13035 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html</guid>
13036 <pubDate>Sat, 4 Oct 2014 08:40:00 +0200</pubDate>
13037 <description>&lt;p&gt;The &lt;a href=&quot;https://sourceforge.net/p/lsdvd/&quot;&gt;lsdvd project&lt;/a&gt;
13038 got a new set of developers a few weeks ago, after the original
13039 developer decided to step down and pass the project to fresh blood.
13040 This project is now maintained by Petter Reinholdtsen and Steve
13041 Dibb.&lt;/p&gt;
13042
13043 &lt;p&gt;I just wrapped up
13044 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/mailman/message/32896061/&quot;&gt;a
13045 new lsdvd release&lt;/a&gt;, available in git or from
13046 &lt;a href=&quot;https://sourceforge.net/projects/lsdvd/files/lsdvd/&quot;&gt;the
13047 download page&lt;/a&gt;. This is the changelog dated 2014-10-03 for version
13048 0.17.&lt;/p&gt;
13049
13050 &lt;ul&gt;
13051
13052 &lt;li&gt;Ignore &#39;phantom&#39; audio, subtitle tracks&lt;/li&gt;
13053 &lt;li&gt;Check for garbage in the program chains, which indicate that a track is
13054 non-existant, to work around additional copy protection&lt;/li&gt;
13055 &lt;li&gt;Fix displaying content type for audio tracks, subtitles&lt;/li&gt;
13056 &lt;li&gt;Fix pallete display of first entry&lt;/li&gt;
13057 &lt;li&gt;Fix include orders&lt;/li&gt;
13058 &lt;li&gt;Ignore read errors in titles that would not be displayed anyway&lt;/li&gt;
13059 &lt;li&gt;Fix the chapter count&lt;/li&gt;
13060 &lt;li&gt;Make sure the array size and the array limit used when initialising
13061 the palette size is the same.&lt;/li&gt;
13062 &lt;li&gt;Fix array printing.&lt;/li&gt;
13063 &lt;li&gt;Correct subsecond calculations.&lt;/li&gt;
13064 &lt;li&gt;Add sector information to the output format.&lt;/li&gt;
13065 &lt;li&gt;Clean up code to be closer to ANSI C and compile without warnings
13066 with more GCC compiler warnings.&lt;/li&gt;
13067
13068 &lt;/ul&gt;
13069
13070 &lt;p&gt;This change bring together patches for lsdvd in use in various
13071 Linux and Unix distributions, as well as patches submitted to the
13072 project the last nine years. Please check it out. :)&lt;/p&gt;
13073 </description>
13074 </item>
13075
13076 <item>
13077 <title>How to test Debian Edu Jessie despite some fatal problems with the installer</title>
13078 <link>https://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html</link>
13079 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html</guid>
13080 <pubDate>Fri, 26 Sep 2014 12:20:00 +0200</pubDate>
13081 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
13082 project&lt;/a&gt; provide a Linux solution for schools, including a
13083 powerful desktop with education software, a central server providing
13084 web pages, user database, user home directories, central login and PXE
13085 boot of both clients without disk and the installation to install Debian
13086 Edu on machines with disk (and a few other services perhaps to small
13087 to mention here). We in the Debian Edu team are currently working on
13088 the Jessie based version, trying to get everything in shape before the
13089 freeze, to avoid having to maintain our own package repository in the
13090 future. The
13091 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Status/Jessie&quot;&gt;current
13092 status&lt;/a&gt; can be seen on the Debian wiki, and there is still heaps of
13093 work left. Some fatal problems block testing, breaking the installer,
13094 but it is possible to work around these to get anyway. Here is a
13095 recipe on how to get the installation limping along.&lt;/p&gt;
13096
13097 &lt;p&gt;First, download the test ISO via
13098 &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;,
13099 &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;
13100 or rsync (use
13101 ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso).
13102 The ISO build was broken on Tuesday, so we do not get a new ISO every
13103 12 hours or so, but thankfully the ISO we already got we are able to
13104 install with some tweaking.&lt;/p&gt;
13105
13106 &lt;p&gt;When you get to the Debian Edu profile question, go to tty2
13107 (use Alt-Ctrl-F2), run&lt;/p&gt;
13108
13109 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13110 nano /usr/bin/edu-eatmydata-install
13111 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13112
13113 &lt;p&gt;and add &#39;exit 0&#39; as the second line, disabling the eatmydata
13114 optimization. Return to the installation, select the profile you want
13115 and continue. Without this change, exim4-config will fail to install
13116 due to a known bug in eatmydata.&lt;/p&gt;
13117
13118 &lt;p&gt;When you get the grub question at the end, answer /dev/sda (or if
13119 this do not work, figure out what your correct value would be. All my
13120 test machines need /dev/sda, so I have no advice if it do not fit
13121 your need.&lt;/p&gt;
13122
13123 &lt;p&gt;If you installed a profile including a graphical desktop, log in as
13124 root after the initial boot from hard drive, and install the
13125 education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
13126 or mate. If you want several desktop options, install more than one
13127 metapackage. Once this is done, reboot and you should have a working
13128 graphical login screen. This workaround should no longer be needed
13129 once the education-tasks package version 1.801 enter testing in two
13130 days.&lt;/p&gt;
13131
13132 &lt;p&gt;I believe the ISO build will start working on two days when the new
13133 tasksel package enter testing and Steve McIntyre get a chance to
13134 update the debian-cd git repository. The eatmydata, grub and desktop
13135 issues are already fixed in unstable and testing, and should show up
13136 on the ISO as soon as the ISO build start working again. Well the
13137 eatmydata optimization is really just disabled. The proper fix
13138 require an upload by the eatmydata maintainer applying the patch
13139 provided in bug &lt;a href=&quot;https://bugs.debian.org/702711&quot;&gt;#702711&lt;/a&gt;.
13140 The rest have proper fixes in unstable.&lt;/p&gt;
13141
13142 &lt;p&gt;I hope this get you going with the installation testing, as we are
13143 quickly running out of time trying to get our Jessie based
13144 installation ready before the distribution freeze in a month.&lt;/p&gt;
13145 </description>
13146 </item>
13147
13148 <item>
13149 <title>Suddenly I am the new upstream of the lsdvd command line tool</title>
13150 <link>https://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</link>
13151 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</guid>
13152 <pubDate>Thu, 25 Sep 2014 11:20:00 +0200</pubDate>
13153 <description>&lt;p&gt;I use the &lt;a href=&quot;https://sourceforge.net/p/lsdvd/&quot;&gt;lsdvd tool&lt;/a&gt;
13154 to handle my fairly large DVD collection. It is a nice command line
13155 tool to get details about a DVD, like title, tracks, track length,
13156 etc, in XML, Perl or human readable format. But lsdvd have not seen
13157 any new development since 2006 and had a few irritating bugs affecting
13158 its use with some DVDs. Upstream seemed to be dead, and in January I
13159 sent a small probe asking for a version control repository for the
13160 project, without any reply. But I use it regularly and would like to
13161 get &lt;a href=&quot;https://packages.qa.debian.org/lsdvd&quot;&gt;an updated version
13162 into Debian&lt;/a&gt;. So two weeks ago I tried harder to get in touch with
13163 the project admin, and after getting a reply from him explaining that
13164 he was no longer interested in the project, I asked if I could take
13165 over. And yesterday, I became project admin.&lt;/p&gt;
13166
13167 &lt;p&gt;I&#39;ve been in touch with a Gentoo developer and the Debian
13168 maintainer interested in joining forces to maintain the upstream
13169 project, and I hope we can get a new release out fairly quickly,
13170 collecting the patches spread around on the internet into on place.
13171 I&#39;ve added the relevant Debian patches to the freshly created git
13172 repository, and expect the Gentoo patches to make it too. If you got
13173 a DVD collection and care about command line tools, check out
13174 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/git/ci/master/tree/&quot;&gt;the git source&lt;/a&gt; and join
13175 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/mailman/&quot;&gt;the project mailing
13176 list&lt;/a&gt;. :)&lt;/p&gt;
13177 </description>
13178 </item>
13179
13180 <item>
13181 <title>Speeding up the Debian installer using eatmydata and dpkg-divert</title>
13182 <link>https://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</link>
13183 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</guid>
13184 <pubDate>Tue, 16 Sep 2014 14:00:00 +0200</pubDate>
13185 <description>&lt;p&gt;The &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; installer could be
13186 a lot quicker. When we install more than 2000 packages in
13187 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; using
13188 tasksel in the installer, unpacking the binary packages take forever.
13189 A part of the slow I/O issue was discussed in
13190 &lt;a href=&quot;https://bugs.debian.org/613428&quot;&gt;bug #613428&lt;/a&gt; about too
13191 much file system sync-ing done by dpkg, which is the package
13192 responsible for unpacking the binary packages. Other parts (like code
13193 executed by postinst scripts) might also sync to disk during
13194 installation. All this sync-ing to disk do not really make sense to
13195 me. If the machine crash half-way through, I start over, I do not try
13196 to salvage the half installed system. So the failure sync-ing is
13197 supposed to protect against, hardware or system crash, is not really
13198 relevant while the installer is running.&lt;/p&gt;
13199
13200 &lt;p&gt;A few days ago, I thought of a way to get rid of all the file
13201 system sync()-ing in a fairly non-intrusive way, without the need to
13202 change the code in several packages. The idea is not new, but I have
13203 not heard anyone propose the approach using dpkg-divert before. It
13204 depend on the small and clever package
13205 &lt;a href=&quot;https://packages.qa.debian.org/eatmydata&quot;&gt;eatmydata&lt;/a&gt;, which
13206 uses LD_PRELOAD to replace the system functions for syncing data to
13207 disk with functions doing nothing, thus allowing programs to live
13208 dangerous while speeding up disk I/O significantly. Instead of
13209 modifying the implementation of dpkg, apt and tasksel (which are the
13210 packages responsible for selecting, fetching and installing packages),
13211 it occurred to me that we could just divert the programs away, replace
13212 them with a simple shell wrapper calling
13213 &quot;eatmydata&amp;nbsp;$program&amp;nbsp;$@&quot;, to get the same effect.
13214 Two days ago I decided to test the idea, and wrapped up a simple
13215 implementation for the Debian Edu udeb.&lt;/p&gt;
13216
13217 &lt;p&gt;The effect was stunning. In my first test it reduced the running
13218 time of the pkgsel step (installing tasks) from 64 to less than 44
13219 minutes (20 minutes shaved off the installation) on an old Dell
13220 Latitude D505 machine. I am not quite sure what the optimised time
13221 would have been, as I messed up the testing a bit, causing the debconf
13222 priority to get low enough for two questions to pop up during
13223 installation. As soon as I saw the questions I moved the installation
13224 along, but do not know how long the question were holding up the
13225 installation. I did some more measurements using Debian Edu Jessie,
13226 and got these results. The time measured is the time stamp in
13227 /var/log/syslog between the &quot;pkgsel: starting tasksel&quot; and the
13228 &quot;pkgsel: finishing up&quot; lines, if you want to do the same measurement
13229 yourself. In Debian Edu, the tasksel dialog do not show up, and the
13230 timing thus do not depend on how quickly the user handle the tasksel
13231 dialog.&lt;/p&gt;
13232
13233 &lt;p&gt;&lt;table&gt;
13234
13235 &lt;tr&gt;
13236 &lt;th&gt;Machine/setup&lt;/th&gt;
13237 &lt;th&gt;Original tasksel&lt;/th&gt;
13238 &lt;th&gt;Optimised tasksel&lt;/th&gt;
13239 &lt;th&gt;Reduction&lt;/th&gt;
13240 &lt;/tr&gt;
13241
13242 &lt;tr&gt;
13243 &lt;td&gt;Latitude D505 Main+LTSP LXDE&lt;/td&gt;
13244 &lt;td&gt;64 min (07:46-08:50)&lt;/td&gt;
13245 &lt;td&gt;&lt;44 min (11:27-12:11)&lt;/td&gt;
13246 &lt;td&gt;&gt;20 min 18%&lt;/td&gt;
13247 &lt;/tr&gt;
13248
13249 &lt;tr&gt;
13250 &lt;td&gt;Latitude D505 Roaming LXDE&lt;/td&gt;
13251 &lt;td&gt;57 min (08:48-09:45)&lt;/td&gt;
13252 &lt;td&gt;34 min (07:43-08:17)&lt;/td&gt;
13253 &lt;td&gt;23 min 40%&lt;/td&gt;
13254 &lt;/tr&gt;
13255
13256 &lt;tr&gt;
13257 &lt;td&gt;Latitude D505 Minimal&lt;/td&gt;
13258 &lt;td&gt;22 min (10:37-10:59)&lt;/td&gt;
13259 &lt;td&gt;11 min (11:16-11:27)&lt;/td&gt;
13260 &lt;td&gt;11 min 50%&lt;/td&gt;
13261 &lt;/tr&gt;
13262
13263 &lt;tr&gt;
13264 &lt;td&gt;Thinkpad X200 Minimal&lt;/td&gt;
13265 &lt;td&gt;6 min (08:19-08:25)&lt;/td&gt;
13266 &lt;td&gt;4 min (08:04-08:08)&lt;/td&gt;
13267 &lt;td&gt;2 min 33%&lt;/td&gt;
13268 &lt;/tr&gt;
13269
13270 &lt;tr&gt;
13271 &lt;td&gt;Thinkpad X200 Roaming KDE&lt;/td&gt;
13272 &lt;td&gt;19 min (09:21-09:40)&lt;/td&gt;
13273 &lt;td&gt;15 min (10:25-10:40)&lt;/td&gt;
13274 &lt;td&gt;4 min 21%&lt;/td&gt;
13275 &lt;/tr&gt;
13276
13277 &lt;/table&gt;&lt;/p&gt;
13278
13279 &lt;p&gt;The test is done using a netinst ISO on a USB stick, so some of the
13280 time is spent downloading packages. The connection to the Internet
13281 was 100Mbit/s during testing, so downloading should not be a
13282 significant factor in the measurement. Download typically took a few
13283 seconds to a few minutes, depending on the amount of packages being
13284 installed.&lt;/p&gt;
13285
13286 &lt;p&gt;The speedup is implemented by using two hooks in
13287 &lt;a href=&quot;https://www.debian.org/devel/debian-installer/&quot;&gt;Debian
13288 Installer&lt;/a&gt;, the pre-pkgsel.d hook to set up the diverts, and the
13289 finish-install.d hook to remove the divert at the end of the
13290 installation. I picked the pre-pkgsel.d hook instead of the
13291 post-base-installer.d hook because I test using an ISO without the
13292 eatmydata package included, and the post-base-installer.d hook in
13293 Debian Edu can only operate on packages included in the ISO. The
13294 negative effect of this is that I am unable to activate this
13295 optimization for the kernel installation step in d-i. If the code is
13296 moved to the post-base-installer.d hook, the speedup would be larger
13297 for the entire installation.&lt;/p&gt;
13298
13299 &lt;p&gt;I&#39;ve implemented this in the
13300 &lt;a href=&quot;https://packages.qa.debian.org/debian-edu-install&quot;&gt;debian-edu-install&lt;/a&gt;
13301 git repository, and plan to provide the optimization as part of the
13302 Debian Edu installation. If you want to test this yourself, you can
13303 create two files in the installer (or in an udeb). One shell script
13304 need do go into /usr/lib/pre-pkgsel.d/, with content like this:&lt;/p&gt;
13305
13306 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13307 #!/bin/sh
13308 set -e
13309 . /usr/share/debconf/confmodule
13310 info() {
13311 logger -t my-pkgsel &quot;info: $*&quot;
13312 }
13313 error() {
13314 logger -t my-pkgsel &quot;error: $*&quot;
13315 }
13316 override_install() {
13317 apt-install eatmydata || true
13318 if [ -x /target/usr/bin/eatmydata ] ; then
13319 for bin in dpkg apt-get aptitude tasksel ; do
13320 file=/usr/bin/$bin
13321 # Test that the file exist and have not been diverted already.
13322 if [ -f /target$file ] ; then
13323 info &quot;diverting $file using eatmydata&quot;
13324 printf &quot;#!/bin/sh\neatmydata $bin.distrib \&quot;\$@\&quot;\n&quot; \
13325 &gt; /target$file.edu
13326 chmod 755 /target$file.edu
13327 in-target dpkg-divert --package debian-edu-config \
13328 --rename --quiet --add $file
13329 ln -sf ./$bin.edu /target$file
13330 else
13331 error &quot;unable to divert $file, as it is missing.&quot;
13332 fi
13333 done
13334 else
13335 error &quot;unable to find /usr/bin/eatmydata after installing the eatmydata pacage&quot;
13336 fi
13337 }
13338
13339 override_install
13340 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13341
13342 &lt;p&gt;To clean up, another shell script should go into
13343 /usr/lib/finish-install.d/ with code like this:
13344
13345 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13346 #! /bin/sh -e
13347 . /usr/share/debconf/confmodule
13348 error() {
13349 logger -t my-finish-install &quot;error: $@&quot;
13350 }
13351 remove_install_override() {
13352 for bin in dpkg apt-get aptitude tasksel ; do
13353 file=/usr/bin/$bin
13354 if [ -x /target$file.edu ] ; then
13355 rm /target$file
13356 in-target dpkg-divert --package debian-edu-config \
13357 --rename --quiet --remove $file
13358 rm /target$file.edu
13359 else
13360 error &quot;Missing divert for $file.&quot;
13361 fi
13362 done
13363 sync # Flush file buffers before continuing
13364 }
13365
13366 remove_install_override
13367 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13368
13369 &lt;p&gt;In Debian Edu, I placed both code fragments in a separate script
13370 edu-eatmydata-install and call it from the pre-pkgsel.d and
13371 finish-install.d scripts.&lt;/p&gt;
13372
13373 &lt;p&gt;By now you might ask if this change should get into the normal
13374 Debian installer too? I suspect it should, but am not sure the
13375 current debian-installer coordinators find it useful enough. It also
13376 depend on the side effects of the change. I&#39;m not aware of any, but I
13377 guess we will see if the change is safe after some more testing.
13378 Perhaps there is some package in Debian depending on sync() and
13379 fsync() having effect? Perhaps it should go into its own udeb, to
13380 allow those of us wanting to enable it to do so without affecting
13381 everyone.&lt;/p&gt;
13382
13383 &lt;p&gt;Update 2014-09-24: Since a few days ago, enabling this optimization
13384 will break installation of all programs using gnutls because of
13385 &lt;a href=&quot;https://bugs.debian.org/702711&quot;&gt;bug #702711&lt;/a&gt;. An updated
13386 eatmydata package in Debian will solve it.&lt;/p&gt;
13387
13388 &lt;p&gt;Update 2014-10-17: The bug mentioned above is fixed in testing and
13389 the optimization work again. And I have discovered that the
13390 dpkg-divert trick is not really needed and implemented a slightly
13391 simpler approach as part of the debian-edu-install package. See
13392 tools/edu-eatmydata-install in the source package.&lt;/p&gt;
13393
13394 &lt;p&gt;Update 2014-11-11: Unfortunately, a new
13395 &lt;a href=&quot;http://bugs.debian.org/765738&quot;&gt;bug #765738&lt;/a&gt; in eatmydata only
13396 triggering on i386 made it into testing, and broke this installation
13397 optimization again. If &lt;a href=&quot;http://bugs.debian.org/768893&quot;&gt;unblock
13398 request 768893&lt;/a&gt; is accepted, it should be working again.&lt;/p&gt;
13399 </description>
13400 </item>
13401
13402 <item>
13403 <title>Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net</title>
13404 <link>https://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</link>
13405 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</guid>
13406 <pubDate>Wed, 10 Sep 2014 13:10:00 +0200</pubDate>
13407 <description>&lt;p&gt;Yesterday, I had the pleasure of attending a talk with the
13408 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; about
13409 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20140909-sks-keyservers/&quot;&gt;the
13410 OpenPGP keyserver pool sks-keyservers.net&lt;/a&gt;, and was very happy to
13411 learn that there is a large set of publicly available key servers to
13412 use when looking for peoples public key. So far I have used
13413 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
13414 were misbehaving, but those days are ended. The servers I have used
13415 up until yesterday have been slow and some times unavailable. I hope
13416 those problems are gone now.&lt;/p&gt;
13417
13418 &lt;p&gt;Behind the round robin DNS entry of the
13419 &lt;a href=&quot;https://sks-keyservers.net/&quot;&gt;sks-keyservers.net&lt;/a&gt; service
13420 there is a pool of more than 100 keyservers which are checked every
13421 day to ensure they are well connected and up to date. It must be
13422 better than what I have used so far. :)&lt;/p&gt;
13423
13424 &lt;p&gt;Yesterdays speaker told me that the service is the default
13425 keyserver provided by the default configuration in GnuPG, but this do
13426 not seem to be used in Debian. Perhaps it should?&lt;/p&gt;
13427
13428 &lt;p&gt;Anyway, I&#39;ve updated my ~/.gnupg/options file to now include this
13429 line:&lt;/p&gt;
13430
13431 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13432 keyserver pool.sks-keyservers.net
13433 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13434
13435 &lt;p&gt;With GnuPG version 2 one can also locate the keyserver using SRV
13436 entries in DNS. Just for fun, I did just that at work, so now every
13437 user of GnuPG at the University of Oslo should find a OpenGPG
13438 keyserver automatically should their need it:&lt;/p&gt;
13439
13440 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13441 % host -t srv _pgpkey-http._tcp.uio.no
13442 _pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
13443 %
13444 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13445
13446 &lt;p&gt;Now if only
13447 &lt;a href=&quot;http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/&quot;&gt;the
13448 HKP lookup protocol&lt;/a&gt; supported finding signature paths, I would be
13449 very happy. It can look up a given key or search for a user ID, but I
13450 normally do not want that, but to find a trust path from my key to
13451 another key. Given a user ID or key ID, I would like to find (and
13452 download) the keys representing a signature path from my key to the
13453 key in question, to be able to get a trust path between the two keys.
13454 This is as far as I can tell not possible today. Perhaps something
13455 for a future version of the protocol?&lt;/p&gt;
13456 </description>
13457 </item>
13458
13459 <item>
13460 <title>Do you need an agreement with MPEG-LA to publish and broadcast H.264 video in Norway?</title>
13461 <link>https://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html</link>
13462 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html</guid>
13463 <pubDate>Mon, 25 Aug 2014 22:10:00 +0200</pubDate>
13464 <description>&lt;p&gt;Two years later, I am still not sure if it is legal here in Norway
13465 to use or publish a video in H.264 or MPEG4 format edited by the
13466 commercially licensed video editors, without limiting the use to
13467 create &quot;personal&quot; or &quot;non-commercial&quot; videos or get a license
13468 agreement with &lt;a href=&quot;http://www.mpegla.com&quot;&gt;MPEG LA&lt;/a&gt;. If one
13469 want to publish and broadcast video in a non-personal or commercial
13470 setting, it might be that those tools can not be used, or that video
13471 format can not be used, without breaking their copyright license. I
13472 am not sure.
13473 &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
13474 then&lt;/a&gt;, I found that the copyright license terms for Adobe Premiere
13475 and Apple Final Cut Pro both specified that one could not use the
13476 program to produce anything else without a patent license from MPEG
13477 LA. The issue is not limited to those two products, though. Other
13478 much used products like those from Avid and Sorenson Media have terms
13479 of use are similar to those from Adobe and Apple. The complicating
13480 factor making me unsure if those terms have effect in Norway or not is
13481 that the patents in question are not valid in Norway, but copyright
13482 licenses are.&lt;/p&gt;
13483
13484 &lt;p&gt;These are the terms for Avid Artist Suite, according to their
13485 &lt;a href=&quot;http://www.avid.com/US/about-avid/legal-notices/legal-enduserlicense2&quot;&gt;published
13486 end user&lt;/a&gt;
13487 &lt;a href=&quot;http://www.avid.com/static/resources/common/documents/corporate/LICENSE.pdf&quot;&gt;license
13488 text&lt;/a&gt; (converted to lower case text for easier reading):&lt;/p&gt;
13489
13490 &lt;p&gt;&lt;blockquote&gt;
13491 &lt;p&gt;18.2. MPEG-4. MPEG-4 technology may be included with the
13492 software. MPEG LA, L.L.C. requires this notice: &lt;/p&gt;
13493
13494 &lt;p&gt;This product is licensed under the MPEG-4 visual patent portfolio
13495 license for the personal and non-commercial use of a consumer for (i)
13496 encoding video in compliance with the MPEG-4 visual standard (“MPEG-4
13497 video”) and/or (ii) decoding MPEG-4 video that was encoded by a
13498 consumer engaged in a personal and non-commercial activity and/or was
13499 obtained from a video provider licensed by MPEG LA to provide MPEG-4
13500 video. No license is granted or shall be implied for any other
13501 use. Additional information including that relating to promotional,
13502 internal and commercial uses and licensing may be obtained from MPEG
13503 LA, LLC. See http://www.mpegla.com. This product is licensed under
13504 the MPEG-4 systems patent portfolio license for encoding in compliance
13505 with the MPEG-4 systems standard, except that an additional license
13506 and payment of royalties are necessary for encoding in connection with
13507 (i) data stored or replicated in physical media which is paid for on a
13508 title by title basis and/or (ii) data which is paid for on a title by
13509 title basis and is transmitted to an end user for permanent storage
13510 and/or use, such additional license may be obtained from MPEG LA,
13511 LLC. See http://www.mpegla.com for additional details.&lt;/p&gt;
13512
13513 &lt;p&gt;18.3. H.264/AVC. H.264/AVC technology may be included with the
13514 software. MPEG LA, L.L.C. requires this notice:&lt;/p&gt;
13515
13516 &lt;p&gt;This product is licensed under the AVC patent portfolio license for
13517 the personal use of a consumer or other uses in which it does not
13518 receive remuneration to (i) encode video in compliance with the AVC
13519 standard (“AVC video”) and/or (ii) decode AVC video that was encoded
13520 by a consumer engaged in a personal activity and/or was obtained from
13521 a video provider licensed to provide AVC video. No license is granted
13522 or shall be implied for any other use. Additional information may be
13523 obtained from MPEG LA, L.L.C. See http://www.mpegla.com.&lt;/p&gt;
13524 &lt;/blockquote&gt;&lt;/p&gt;
13525
13526 &lt;p&gt;Note the requirement that the videos created can only be used for
13527 personal or non-commercial purposes.&lt;/p&gt;
13528
13529 &lt;p&gt;The Sorenson Media software have
13530 &lt;a href=&quot;http://www.sorensonmedia.com/terms/&quot;&gt;similar terms&lt;/a&gt;:&lt;/p&gt;
13531
13532 &lt;p&gt;&lt;blockquote&gt;
13533
13534 &lt;p&gt;With respect to a license from Sorenson pertaining to MPEG-4 Video
13535 Decoders and/or Encoders: Any such product is licensed under the
13536 MPEG-4 visual patent portfolio license for the personal and
13537 non-commercial use of a consumer for (i) encoding video in compliance
13538 with the MPEG-4 visual standard (“MPEG-4 video”) and/or (ii) decoding
13539 MPEG-4 video that was encoded by a consumer engaged in a personal and
13540 non-commercial activity and/or was obtained from a video provider
13541 licensed by MPEG LA to provide MPEG-4 video. No license is granted or
13542 shall be implied for any other use. Additional information including
13543 that relating to promotional, internal and commercial uses and
13544 licensing may be obtained from MPEG LA, LLC. See
13545 http://www.mpegla.com.&lt;/p&gt;
13546
13547 &lt;p&gt;With respect to a license from Sorenson pertaining to MPEG-4
13548 Consumer Recorded Data Encoder, MPEG-4 Systems Internet Data Encoder,
13549 MPEG-4 Mobile Data Encoder, and/or MPEG-4 Unique Use Encoder: Any such
13550 product is licensed under the MPEG-4 systems patent portfolio license
13551 for encoding in compliance with the MPEG-4 systems standard, except
13552 that an additional license and payment of royalties are necessary for
13553 encoding in connection with (i) data stored or replicated in physical
13554 media which is paid for on a title by title basis and/or (ii) data
13555 which is paid for on a title by title basis and is transmitted to an
13556 end user for permanent storage and/or use. Such additional license may
13557 be obtained from MPEG LA, LLC. See http://www.mpegla.com for
13558 additional details.&lt;/p&gt;
13559
13560 &lt;/blockquote&gt;&lt;/p&gt;
13561
13562 &lt;p&gt;Some free software like
13563 &lt;a href=&quot;https://handbrake.fr/&quot;&gt;Handbrake&lt;/A&gt; and
13564 &lt;a href=&quot;http://ffmpeg.org/&quot;&gt;FFMPEG&lt;/a&gt; uses GPL/LGPL licenses and do
13565 not have any such terms included, so for those, there is no
13566 requirement to limit the use to personal and non-commercial.&lt;/p&gt;
13567 </description>
13568 </item>
13569
13570 <item>
13571 <title>Debian Edu interview: Bernd Zeitzen</title>
13572 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Bernd_Zeitzen.html</link>
13573 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Bernd_Zeitzen.html</guid>
13574 <pubDate>Thu, 31 Jul 2014 08:30:00 +0200</pubDate>
13575 <description>&lt;p&gt;The complete and free “out of the box” software solution for
13576 schools, &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
13577 Skolelinux&lt;/a&gt;, is used quite a lot in Germany, and one of the people
13578 involved is Bernd Zeitzen, who show up on the project mailing lists
13579 from time to time with interesting questions and tips on how to adjust
13580 the setup. I managed to interview him this summer.&lt;/p&gt;
13581
13582 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
13583
13584 &lt;p&gt;My name is Bernd Zeitzen and I&#39;m married with Hedda, a self
13585 employed physiotherapist. My former profession is tool maker, but I
13586 haven&#39;t worked for 30 years in this job. 30 years ago I started to
13587 support my wife and become her officeworker and a few years later the
13588 administrator for a small computer network, today based on Ubuntu
13589 Server (Samba, OpenVPN). For her daily work she has to use Windows
13590 Desktops because the software she needs to organize her business only
13591 works with Windows . :-(&lt;/p&gt;
13592
13593 &lt;p&gt;In 1988 we started with one PC and DOS, then I learned to use
13594 Windows 98, 2000, XP, …, 8, Ubuntu, MacOSX. Today we are running a
13595 Linux server with 6 Windows clients and 10 persons (teacher of
13596 children with special needs, speech therapist, occupational therapist,
13597 psychologist and officeworkers) using our Samba shares via OpenVPN to
13598 work with the documentations of our patients.&lt;/p&gt;
13599
13600 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
13601 project?&lt;/strong&gt;&lt;/p&gt;
13602
13603 &lt;p&gt;Two years ago a friend of mine asked me, if I want to get a job in
13604 his school (&lt;a href=&quot;http://www.gymnasium-harsewinkel.de/&quot;&gt;Gymnasium
13605 Harsewinkel&lt;/a&gt;). They started with Skolelinux / Debian Edu and they
13606 were looking for people to give support to the teachers using the
13607 software and the network and teaching the pupils increasing their
13608 computer skills in optional lessons. I&#39;m spending 4-6 hours a week
13609 with this job.&lt;/p&gt;
13610
13611 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
13612 Edu?&lt;/strong&gt;&lt;/p&gt;
13613
13614 &lt;p&gt;The independence.&lt;/p&gt;
13615
13616 &lt;p&gt;First: Every person is allowed to use, share and develop the
13617 software. Even if you are poor, you are allowed to use the software
13618 included in Skolelinux/Debian Edu and all the other Free Software.&lt;/p&gt;
13619
13620 &lt;p&gt;Second: The software runs on old machines and this gives us the
13621 possibility to recycle computers, weeded out from offices. The
13622 servers and desktops are running for more than two years and they are
13623 working reliable. &lt;/p&gt;
13624
13625 &lt;p&gt;We have two servers (one tjener and one terminal server), 45
13626 workstations in three classrooms and seven laptops as a mobile
13627 solution for all classrooms. These machines are all booting from the
13628 terminal server. In the moment we are installing 30 laptops as mobile
13629 workstations. Then the pupils have the possibility to work with these
13630 machines in their classrooms. Internet access is realized by a WLAN
13631 router, connected to the schools network. This is all done without a
13632 dedicated system administrator or a computer science teacher.&lt;/p&gt;
13633
13634 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
13635 Edu?&lt;/strong&gt;&lt;/p&gt;
13636
13637 &lt;p&gt;Teachers and pupils are Windows users. &amp;lt;Irony on&amp;gt; And Linux
13638 isn&#39;t cool. It&#39;s software for freaks using the command line. &amp;lt;Irony
13639 off&amp;gt; They don&#39;t realize the stability of the system. &lt;/p&gt;
13640
13641 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
13642
13643 &lt;p&gt;Firefox, Thunderbird, LibreOffice, Ubuntu Server 12.04 (Samba,
13644 Apache, MySQL, Joomla!, … and Skolelinux / Debian Edu)&lt;/p&gt;
13645
13646 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
13647 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
13648
13649 &lt;p&gt;In Germany we have the situation: every school is free to decide
13650 which software they want to use. This decision is influenced by
13651 teachers who learned to use Windows and MS Office. They buy a PC with
13652 Windows preinstalled and an additional testing version of MS
13653 Office. They don&#39;t know about the possibility to use Free Software
13654 instead. Another problem are the publisher of school books. They
13655 develop their software, added to the school books, for Windows.&lt;/p&gt;
13656 </description>
13657 </item>
13658
13659 <item>
13660 <title>98.6 percent done with the Norwegian draft translation of Free Culture</title>
13661 <link>https://people.skolelinux.org/pere/blog/98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</link>
13662 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/98_6_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</guid>
13663 <pubDate>Wed, 23 Jul 2014 22:40:00 +0200</pubDate>
13664 <description>&lt;p&gt;This summer I finally had time to continue working on the Norwegian
13665 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
13666 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
13667 to get a Norwegian text explaining the problems with todays copyright
13668 law. Yesterday, I finally completed translated the book text. There
13669 are still some foot/end notes left to translate, the colophon page
13670 need to be rewritten, and a few words and phrases still need to be
13671 translated, but the Norwegian text is ready for the first proof
13672 reading. :) More spell checking is needed, and several illustrations
13673 need to be cleaned up. The work stopped up because I had to give
13674 priority to other projects the last year, and the progress graph of
13675 the translation show this very well:&lt;/p&gt;
13676
13677 &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;
13678
13679 &lt;p&gt;If you want to read the result, check out the
13680 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;
13681 project pages and the
13682 &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;,
13683 &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;
13684 and HTML version available in the
13685 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive&quot;&gt;archive
13686 directory&lt;/a&gt;.&lt;/p&gt;
13687
13688 &lt;p&gt;Please report typos, bugs and improvements to the github project if
13689 you find any.&lt;/p&gt;
13690 </description>
13691 </item>
13692
13693 <item>
13694 <title>From English wiki to translated PDF and epub via Docbook</title>
13695 <link>https://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html</link>
13696 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html</guid>
13697 <pubDate>Tue, 17 Jun 2014 11:30:00 +0200</pubDate>
13698 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
13699 project&lt;/a&gt; provide an instruction manual for teachers, system
13700 administrators and other users that contain useful tips for setting up
13701 and maintaining a Debian Edu installation. This text is about how the
13702 text processing of this manual is handled in the project.&lt;/p&gt;
13703
13704 &lt;p&gt;One goal of the project is to provide information in the native
13705 language of its users, and for this we need to handle translations.
13706 But we also want to make sure each language contain the same
13707 information, so for this we need a good way to keep the translations
13708 in sync. And we want it to be easy for our users to improve the
13709 documentation, avoiding the need to learn special formats or tools to
13710 contribute, and the obvious way to do this is to make it possible to
13711 edit the documentation using a web browser. We also want it to be
13712 easy for translators to keep the translation up to date, and give them
13713 help in figuring out what need to be translated. Here is the list of
13714 tools and the process we have found trying to reach all these
13715 goals.&lt;/p&gt;
13716
13717 &lt;p&gt;We maintain the authoritative source of our manual in the
13718 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/&quot;&gt;Debian
13719 wiki&lt;/a&gt;, as several wiki pages written in English. It consist of one
13720 front page with references to the different chapters, several pages
13721 for each chapter, and finally one &quot;collection page&quot; gluing all the
13722 chapters together into one large web page (aka
13723 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/AllInOne&quot;&gt;the
13724 AllInOne page&lt;/a&gt;). The AllInOne page is the one used for further
13725 processing and translations. Thanks to the fact that the
13726 &lt;a href=&quot;http://moinmo.in/&quot;&gt;MoinMoin&lt;/a&gt; installation on
13727 wiki.debian.org support exporting pages in
13728 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;the Docbook format&lt;/a&gt;, we can fetch
13729 the list of pages to export using the raw version of the AllInOne
13730 page, loop over each of them to generate a Docbook XML version of the
13731 manual. This process also download images and transform image
13732 references to use the locally downloaded images. The generated
13733 Docbook XML files are slightly broken, so some post-processing is done
13734 using the &lt;tt&gt;documentation/scripts/get_manual&lt;/tt&gt; program, and the
13735 result is a nice Docbook XML file (debian-edu-wheezy-manual.xml) and
13736 a handfull of images. The XML file can now be used to generate PDF, HTML
13737 and epub versions of the English manual. This is the basic step of
13738 our process, making PDF (using dblatex), HTML (using xsltproc) and
13739 epub (using dbtoepub) version from Docbook XML, and the resulting files
13740 are placed in the debian-edu-doc-en binary package.&lt;/p&gt;
13741
13742 &lt;p&gt;But English documentation is not enough for us. We want translated
13743 documentation too, and we want to make it easy for translators to
13744 track the English original. For this we use the
13745 &lt;a href=&quot;http://packages.qa.debian.org/p/poxml.html&quot;&gt;poxml&lt;/a&gt; package,
13746 which allow us to transform the English Docbook XML file into a
13747 translation file (a .pot file), usable with the normal gettext based
13748 translation tools used by those translating free software. The pot
13749 file is used to create and maintain translation files (several .po
13750 files), which the translations update with the native language
13751 translations of all titles, paragraphs and blocks of text in the
13752 original. The next step is combining the original English Docbook XML
13753 and the translation file (say debian-edu-wheezy-manual.nb.po), to
13754 create a translated Docbook XML file (in this case
13755 debian-edu-wheezy-manual.nb.xml). This translated (or partly
13756 translated, if the translation is not complete) Docbook XML file can
13757 then be used like the original to create a PDF, HTML and epub version
13758 of the documentation.&lt;/p&gt;
13759
13760 &lt;p&gt;The translators use different tools to edit the .po files. We
13761 recommend using
13762 &lt;a href=&quot;http://www.kde.org/applications/development/lokalize/&quot;&gt;lokalize&lt;/a&gt;,
13763 while some use emacs and vi, others can use web based editors like
13764 &lt;a href=&quot;http://pootle.translatehouse.org/&quot;&gt;Poodle&lt;/a&gt; or
13765 &lt;a href=&quot;https://www.transifex.com/&quot;&gt;Transifex&lt;/a&gt;. All we care about
13766 is where the .po file end up, in our git repository. Updated
13767 translations can either be committed directly to git, or submitted as
13768 &lt;a href=&quot;https://bugs.debian.org/src:debian-edu-doc&quot;&gt;bug reports
13769 against the debian-edu-doc package&lt;/a&gt;.&lt;/p&gt;
13770
13771 &lt;p&gt;One challenge is images, which both might need to be translated (if
13772 they show translated user applications), and are needed in different
13773 formats when creating PDF and HTML versions (epub is a HTML version in
13774 this regard). For this we transform the original PNG images to the
13775 needed density and format during build, and have a way to provide
13776 translated images by storing translated versions in
13777 images/$LANGUAGECODE/. I am a bit unsure about the details here. The
13778 package maintainers know more.&lt;/p&gt;
13779
13780 &lt;p&gt;If you wonder what the result look like, we provide
13781 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/&quot;&gt;the content
13782 of the documentation packages on the web&lt;/a&gt;. See for example the
13783 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/it/debian-edu-wheezy-manual.pdf&quot;&gt;Italian
13784 PDF version&lt;/a&gt; or the
13785 &lt;a href=&quot;http://maintainer.skolelinux.org/debian-edu-doc/de/debian-edu-wheezy-manual.html&quot;&gt;German
13786 HTML version&lt;/a&gt;. We do not yet build the epub version by default,
13787 but perhaps it will be done in the future.&lt;/p&gt;
13788
13789 &lt;p&gt;To learn more, check out
13790 &lt;a href=&quot;http://packages.qa.debian.org/d/debian-edu-doc.html&quot;&gt;the
13791 debian-edu-doc package&lt;/a&gt;,
13792 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/&quot;&gt;the
13793 manual on the wiki&lt;/a&gt; and
13794 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/Translations&quot;&gt;the
13795 translation instructions&lt;/a&gt; in the manual.&lt;/p&gt;
13796 </description>
13797 </item>
13798
13799 <item>
13800 <title>Free software car computer solution?</title>
13801 <link>https://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html</link>
13802 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html</guid>
13803 <pubDate>Thu, 29 May 2014 18:45:00 +0200</pubDate>
13804 <description>&lt;p&gt;Dear lazyweb. I&#39;m planning to set up a small Raspberry Pi computer
13805 in my car, connected to
13806 &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
13807 small screen&lt;/a&gt; next to the rear mirror. I plan to hook it up with a
13808 GPS and a USB wifi card too. The idea is to get my own
13809 &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Carputer&quot;&gt;Carputer&lt;/a&gt;&quot;. But I
13810 wonder if someone already created a good free software solution for
13811 such car computer.&lt;/p&gt;
13812
13813 &lt;p&gt;This is my current wish list for such system:&lt;/p&gt;
13814
13815 &lt;ul&gt;
13816
13817 &lt;li&gt;Work on Raspberry Pi.&lt;/li&gt;
13818
13819 &lt;li&gt;Show current speed limit based on location, and warn if going too
13820 fast (for example using color codes yellow and red on the screen,
13821 or make a sound). This could be done either using either data from
13822 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;Openstreetmap&lt;/a&gt; or OCR
13823 info gathered from a dashboard camera.&lt;/li&gt;
13824
13825 &lt;li&gt;Track automatic toll road passes and their cost, show total spent
13826 and make it possible to calculate toll costs for planned
13827 route.&lt;/li&gt;
13828
13829 &lt;li&gt;Collect GPX tracks for use with OpenStreetMap.&lt;/li&gt;
13830
13831 &lt;li&gt;Automatically detect and use any wireless connection to connect
13832 to home server. Try IP over DNS
13833 (&lt;a href=&quot;http://dev.kryo.se/iodine/&quot;&gt;iodine&lt;/a&gt;) or ICMP
13834 (&lt;a href=&quot;http://code.gerade.org/hans/&quot;&gt;Hans&lt;/a&gt;) if direct
13835 connection do not work.&lt;/li&gt;
13836
13837 &lt;li&gt;Set up mesh network to talk to other cars with the same system,
13838 or some standard car mesh protocol.&lt;/li&gt;
13839
13840 &lt;li&gt;Warn when approaching speed cameras and speed camera ranges
13841 (speed calculated between two cameras).&lt;/li&gt;
13842
13843 &lt;li&gt;Suport dashboard/front facing camera to discover speed limits and
13844 run OCR to track registration number of passing cars.&lt;/li&gt;
13845
13846 &lt;/ul&gt;
13847
13848 &lt;p&gt;If you know of any free software car computer system supporting
13849 some or all of these features, please let me know.&lt;/p&gt;
13850 </description>
13851 </item>
13852
13853 <item>
13854 <title>Half the Coverity issues in Gnash fixed in the next release</title>
13855 <link>https://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html</link>
13856 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Half_the_Coverity_issues_in_Gnash_fixed_in_the_next_release.html</guid>
13857 <pubDate>Tue, 29 Apr 2014 14:20:00 +0200</pubDate>
13858 <description>&lt;p&gt;I&#39;ve been following &lt;a href=&quot;http://www.getgnash.org/&quot;&gt;the Gnash
13859 project&lt;/a&gt; for quite a while now. It is a free software
13860 implementation of Adobe Flash, both a standalone player and a browser
13861 plugin. Gnash implement support for the AVM1 format (and not the
13862 newer AVM2 format - see
13863 &lt;a href=&quot;http://lightspark.github.io/&quot;&gt;Lightspark&lt;/a&gt; for that one),
13864 allowing several flash based sites to work. Thanks to the friendly
13865 developers at Youtube, it also work with Youtube videos, because the
13866 Javascript code at Youtube detect Gnash and serve a AVM1 player to
13867 those users. :) Would be great if someone found time to implement AVM2
13868 support, but it has not happened yet. If you install both Lightspark
13869 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
13870 so you can get both handled as free software. Unfortunately,
13871 Lightspark so far only implement a small subset of AVM2, and many
13872 sites do not work yet.&lt;/p&gt;
13873
13874 &lt;p&gt;A few months ago, I started looking at
13875 &lt;a href=&quot;http://scan.coverity.com/&quot;&gt;Coverity&lt;/a&gt;, the static source
13876 checker used to find heaps and heaps of bugs in free software (thanks
13877 to the donation of a scanning service to free software projects by the
13878 company developing this non-free code checker), and Gnash was one of
13879 the projects I decided to check out. Coverity is able to find lock
13880 errors, memory errors, dead code and more. A few days ago they even
13881 extended it to also be able to find the heartbleed bug in OpenSSL.
13882 There are heaps of checks being done on the instrumented code, and the
13883 amount of bogus warnings is quite low compared to the other static
13884 code checkers I have tested over the years.&lt;/p&gt;
13885
13886 &lt;p&gt;Since a few weeks ago, I&#39;ve been working with the other Gnash
13887 developers squashing bugs discovered by Coverity. I was quite happy
13888 today when I checked the current status and saw that of the 777 issues
13889 detected so far, 374 are marked as fixed. This make me confident that
13890 the next Gnash release will be more stable and more dependable than
13891 the previous one. Most of the reported issues were and are in the
13892 test suite, but it also found a few in the rest of the code.&lt;/p&gt;
13893
13894 &lt;p&gt;If you want to help out, you find us on
13895 &lt;a href=&quot;https://lists.gnu.org/mailman/listinfo/gnash-dev&quot;&gt;the
13896 gnash-dev mailing list&lt;/a&gt; and on
13897 &lt;a href=&quot;irc://irc.freenode.net/#gnash&quot;&gt;the #gnash channel on
13898 irc.freenode.net IRC server&lt;/a&gt;.&lt;/p&gt;
13899 </description>
13900 </item>
13901
13902 <item>
13903 <title>Install hardware dependent packages using tasksel (Isenkram 0.7)</title>
13904 <link>https://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</link>
13905 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</guid>
13906 <pubDate>Wed, 23 Apr 2014 14:50:00 +0200</pubDate>
13907 <description>&lt;p&gt;It would be nice if it was easier in Debian to get all the hardware
13908 related packages relevant for the computer installed automatically.
13909 So I implemented one, using
13910 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;my Isenkram
13911 package&lt;/a&gt;. To use it, install the tasksel and isenkram packages and
13912 run tasksel as user root. You should be presented with a new option,
13913 &quot;Hardware specific packages (autodetected by isenkram)&quot;. When you
13914 select it, tasksel will install the packages isenkram claim is fit for
13915 the current hardware, hot pluggable or not.&lt;p&gt;
13916
13917 &lt;p&gt;The implementation is in two files, one is the tasksel menu entry
13918 description, and the other is the script used to extract the list of
13919 packages to install. The first part is in
13920 &lt;tt&gt;/usr/share/tasksel/descs/isenkram.desc&lt;/tt&gt; and look like
13921 this:&lt;/p&gt;
13922
13923 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13924 Task: isenkram
13925 Section: hardware
13926 Description: Hardware specific packages (autodetected by isenkram)
13927 Based on the detected hardware various hardware specific packages are
13928 proposed.
13929 Test-new-install: mark show
13930 Relevance: 8
13931 Packages: for-current-hardware
13932 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13933
13934 &lt;p&gt;The second part is in
13935 &lt;tt&gt;/usr/lib/tasksel/packages/for-current-hardware&lt;/tt&gt; and look like
13936 this:&lt;/p&gt;
13937
13938 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
13939 #!/bin/sh
13940 #
13941 (
13942 isenkram-lookup
13943 isenkram-autoinstall-firmware -l
13944 ) | sort -u
13945 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
13946
13947 &lt;p&gt;All in all, a very short and simple implementation making it
13948 trivial to install the hardware dependent package we all may want to
13949 have installed on our machines. I&#39;ve not been able to find a way to
13950 get tasksel to tell you exactly which packages it plan to install
13951 before doing the installation. So if you are curious or careful,
13952 check the output from the isenkram-* command line tools first.&lt;/p&gt;
13953
13954 &lt;p&gt;The information about which packages are handling which hardware is
13955 fetched either from the isenkram package itself in
13956 /usr/share/isenkram/, from git.debian.org or from the APT package
13957 database (using the Modaliases header). The APT package database
13958 parsing have caused a nasty resource leak in the isenkram daemon (bugs
13959 &lt;a href=&quot;http://bugs.debian.org/719837&quot;&gt;#719837&lt;/a&gt; and
13960 &lt;a href=&quot;http://bugs.debian.org/730704&quot;&gt;#730704&lt;/a&gt;). The cause is in
13961 the python-apt code (bug
13962 &lt;a href=&quot;http://bugs.debian.org/745487&quot;&gt;#745487&lt;/a&gt;), but using a
13963 workaround I was able to get rid of the file descriptor leak and
13964 reduce the memory leak from ~30 MiB per hardware detection down to
13965 around 2 MiB per hardware detection. It should make the desktop
13966 daemon a lot more useful. The fix is in version 0.7 uploaded to
13967 unstable today.&lt;/p&gt;
13968
13969 &lt;p&gt;I believe the current way of mapping hardware to packages in
13970 Isenkram is is a good draft, but in the future I expect isenkram to
13971 use the AppStream data source for this. A proposal for getting proper
13972 AppStream support into Debian is floating around as
13973 &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt;, and
13974 &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive&quot;&gt;GSoC
13975 project&lt;/a&gt; will take place this summer to improve the situation. I
13976 look forward to seeing the result, and welcome patches for isenkram to
13977 start using the information when it is ready.&lt;/p&gt;
13978
13979 &lt;p&gt;If you want your package to map to some specific hardware, either
13980 add a &quot;Xb-Modaliases&quot; header to your control file like I did in
13981 &lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;the pymissile
13982 package&lt;/a&gt; or submit a bug report with the details to the isenkram
13983 package. See also
13984 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;all my
13985 blog posts tagged isenkram&lt;/a&gt; for details on the notation. I expect
13986 the information will be migrated to AppStream eventually, but for the
13987 moment I got no better place to store it.&lt;/p&gt;
13988 </description>
13989 </item>
13990
13991 <item>
13992 <title>FreedomBox milestone - all packages now in Debian Sid</title>
13993 <link>https://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</link>
13994 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</guid>
13995 <pubDate>Tue, 15 Apr 2014 22:10:00 +0200</pubDate>
13996 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox
13997 project&lt;/a&gt; is working on providing the software and hardware to make
13998 it easy for non-technical people to host their data and communication
13999 at home, and being able to communicate with their friends and family
14000 encrypted and away from prying eyes. It is still going strong, and
14001 today a major mile stone was reached.&lt;/p&gt;
14002
14003 &lt;p&gt;Today, the last of the packages currently used by the project to
14004 created the system images were accepted into Debian Unstable. It was
14005 the freedombox-setup package, which is used to configure the images
14006 during build and on the first boot. Now all one need to get going is
14007 the build code from the freedom-maker git repository and packages from
14008 Debian. And once the freedombox-setup package enter testing, we can
14009 build everything directly from Debian. :)&lt;/p&gt;
14010
14011 &lt;p&gt;Some key packages used by Freedombox are
14012 &lt;a href=&quot;http://packages.qa.debian.org/freedombox-setup&quot;&gt;freedombox-setup&lt;/a&gt;,
14013 &lt;a href=&quot;http://packages.qa.debian.org/plinth&quot;&gt;plinth&lt;/a&gt;,
14014 &lt;a href=&quot;http://packages.qa.debian.org/pagekite&quot;&gt;pagekite&lt;/a&gt;,
14015 &lt;a href=&quot;http://packages.qa.debian.org/tor&quot;&gt;tor&lt;/a&gt;,
14016 &lt;a href=&quot;http://packages.qa.debian.org/privoxy&quot;&gt;privoxy&lt;/a&gt;,
14017 &lt;a href=&quot;http://packages.qa.debian.org/owncloud&quot;&gt;owncloud&lt;/a&gt; and
14018 &lt;a href=&quot;http://packages.qa.debian.org/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt;. There
14019 are plans to integrate more packages into the setup. User
14020 documentation is maintained on the Debian wiki. Please
14021 &lt;a href=&quot;https://wiki.debian.org/FreedomBox/Manual/Jessie&quot;&gt;check out
14022 the manual&lt;/a&gt; and help us improve it.&lt;/p&gt;
14023
14024 &lt;p&gt;To test for yourself and create boot images with the FreedomBox
14025 setup, run this on a Debian machine using a user with sudo rights to
14026 become root:&lt;/p&gt;
14027
14028 &lt;p&gt;&lt;pre&gt;
14029 sudo apt-get install git vmdebootstrap mercurial python-docutils \
14030 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
14031 u-boot-tools
14032 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
14033 freedom-maker
14034 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
14035 &lt;/pre&gt;&lt;/p&gt;
14036
14037 &lt;p&gt;Root access is needed to run debootstrap and mount loopback
14038 devices. See the README in the freedom-maker git repo for more
14039 details on the build. If you do not want all three images, trim the
14040 make line. Note that the virtualbox-image target is not really
14041 virtualbox specific. It create a x86 image usable in kvm, qemu,
14042 vmware and any other x86 virtual machine environment. You might need
14043 the version of vmdebootstrap in Jessie to get the build working, as it
14044 include fixes for a race condition with kpartx.&lt;/p&gt;
14045
14046 &lt;p&gt;If you instead want to install using a Debian CD and the preseed
14047 method, boot a Debian Wheezy ISO and use this boot argument to load
14048 the preseed values:&lt;/p&gt;
14049
14050 &lt;p&gt;&lt;pre&gt;
14051 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;
14052 &lt;/pre&gt;&lt;/p&gt;
14053
14054 &lt;p&gt;I have not tested it myself the last few weeks, so I do not know if
14055 it still work.&lt;/p&gt;
14056
14057 &lt;p&gt;If you wonder how to help, one task you could look at is using
14058 systemd as the boot system. It will become the default for Linux in
14059 Jessie, so we need to make sure it is usable on the Freedombox. I did
14060 a simple test a few weeks ago, and noticed dnsmasq failed to start
14061 during boot when using systemd. I suspect there are other problems
14062 too. :) To detect problems, there is a test suite included, which can
14063 be run from the plinth web interface.&lt;/p&gt;
14064
14065 &lt;p&gt;Give it a go and let us know how it goes on the mailing list, and help
14066 us get the new release published. :) Please join us on
14067 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC (#freedombox on
14068 irc.debian.org)&lt;/a&gt; and
14069 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
14070 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
14071 </description>
14072 </item>
14073
14074 <item>
14075 <title>S3QL, a locally mounted cloud file system - nice free software</title>
14076 <link>https://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</link>
14077 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</guid>
14078 <pubDate>Wed, 9 Apr 2014 11:30:00 +0200</pubDate>
14079 <description>&lt;p&gt;For a while now, I have been looking for a sensible offsite backup
14080 solution for use at home. My requirements are simple, it must be
14081 cheap and locally encrypted (in other words, I keep the encryption
14082 keys, the storage provider do not have access to my private files).
14083 One idea me and my friends had many years ago, before the cloud
14084 storage providers showed up, was to use Google mail as storage,
14085 writing a Linux block device storing blocks as emails in the mail
14086 service provided by Google, and thus get heaps of free space. On top
14087 of this one can add encryption, RAID and volume management to have
14088 lots of (fairly slow, I admit that) cheap and encrypted storage. But
14089 I never found time to implement such system. But the last few weeks I
14090 have looked at a system called
14091 &lt;a href=&quot;https://bitbucket.org/nikratio/s3ql/&quot;&gt;S3QL&lt;/a&gt;, a locally
14092 mounted network backed file system with the features I need.&lt;/p&gt;
14093
14094 &lt;p&gt;S3QL is a fuse file system with a local cache and cloud storage,
14095 handling several different storage providers, any with Amazon S3,
14096 Google Drive or OpenStack API. There are heaps of such storage
14097 providers. S3QL can also use a local directory as storage, which
14098 combined with sshfs allow for file storage on any ssh server. S3QL
14099 include support for encryption, compression, de-duplication, snapshots
14100 and immutable file systems, allowing me to mount the remote storage as
14101 a local mount point, look at and use the files as if they were local,
14102 while the content is stored in the cloud as well. This allow me to
14103 have a backup that should survive fire. The file system can not be
14104 shared between several machines at the same time, as only one can
14105 mount it at the time, but any machine with the encryption key and
14106 access to the storage service can mount it if it is unmounted.&lt;/p&gt;
14107
14108 &lt;p&gt;It is simple to use. I&#39;m using it on Debian Wheezy, where the
14109 package is included already. So to get started, run &lt;tt&gt;apt-get
14110 install s3ql&lt;/tt&gt;. Next, pick a storage provider. I ended up picking
14111 Greenqloud, after reading their nice recipe on
14112 &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
14113 to use S3QL with their Amazon S3 service&lt;/a&gt;, because I trust the laws
14114 in Iceland more than those in USA when it come to keeping my personal
14115 data safe and private, and thus would rather spend money on a company
14116 in Iceland. Another nice recipe is available from the article
14117 &lt;a href=&quot;http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage&quot;&gt;S3QL
14118 Filesystem for HPC Storage&lt;/a&gt; by Jeff Layton in the HPC section of
14119 Admin magazine. When the provider is picked, figure out how to get
14120 the API key needed to connect to the storage API. With Greencloud,
14121 the key did not show up until I had added payment details to my
14122 account.&lt;/p&gt;
14123
14124 &lt;p&gt;Armed with the API access details, it is time to create the file
14125 system. First, create a new bucket in the cloud. This bucket is the
14126 file system storage area. I picked a bucket name reflecting the
14127 machine that was going to store data there, but any name will do.
14128 I&#39;ll refer to it as &lt;tt&gt;bucket-name&lt;/tt&gt; below. In addition, one need
14129 the API login and password, and a locally created password. Store it
14130 all in ~root/.s3ql/authinfo2 like this:
14131
14132 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14133 [s3c]
14134 storage-url: s3c://s.greenqloud.com:443/bucket-name
14135 backend-login: API-login
14136 backend-password: API-password
14137 fs-passphrase: local-password
14138 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14139
14140 &lt;p&gt;I create my local passphrase using &lt;tt&gt;pwget 50&lt;/tt&gt; or similar,
14141 but any sensible way to create a fairly random password should do it.
14142 Armed with these details, it is now time to run mkfs, entering the API
14143 details and password to create it:&lt;/p&gt;
14144
14145 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14146 # mkdir -m 700 /var/lib/s3ql-cache
14147 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
14148 --ssl s3c://s.greenqloud.com:443/bucket-name
14149 Enter backend login:
14150 Enter backend password:
14151 Before using S3QL, make sure to read the user&#39;s guide, especially
14152 the &#39;Important Rules to Avoid Loosing Data&#39; section.
14153 Enter encryption password:
14154 Confirm encryption password:
14155 Generating random encryption key...
14156 Creating metadata tables...
14157 Dumping metadata...
14158 ..objects..
14159 ..blocks..
14160 ..inodes..
14161 ..inode_blocks..
14162 ..symlink_targets..
14163 ..names..
14164 ..contents..
14165 ..ext_attributes..
14166 Compressing and uploading metadata...
14167 Wrote 0.00 MB of compressed metadata.
14168 # &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14169
14170 &lt;p&gt;The next step is mounting the file system to make the storage available.
14171
14172 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14173 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
14174 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
14175 Using 4 upload threads.
14176 Downloading and decompressing metadata...
14177 Reading metadata...
14178 ..objects..
14179 ..blocks..
14180 ..inodes..
14181 ..inode_blocks..
14182 ..symlink_targets..
14183 ..names..
14184 ..contents..
14185 ..ext_attributes..
14186 Mounting filesystem...
14187 # df -h /s3ql
14188 Filesystem Size Used Avail Use% Mounted on
14189 s3c://s.greenqloud.com:443/bucket-name 1.0T 0 1.0T 0% /s3ql
14190 #
14191 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14192
14193 &lt;p&gt;The file system is now ready for use. I use rsync to store my
14194 backups in it, and as the metadata used by rsync is downloaded at
14195 mount time, no network traffic (and storage cost) is triggered by
14196 running rsync. To unmount, one should not use the normal umount
14197 command, as this will not flush the cache to the cloud storage, but
14198 instead running the umount.s3ql command like this:
14199
14200 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14201 # umount.s3ql /s3ql
14202 #
14203 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14204
14205 &lt;p&gt;There is a fsck command available to check the file system and
14206 correct any problems detected. This can be used if the local server
14207 crashes while the file system is mounted, to reset the &quot;already
14208 mounted&quot; flag. This is what it look like when processing a working
14209 file system:&lt;/p&gt;
14210
14211 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14212 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:443/bucket-name
14213 Using cached metadata.
14214 File system seems clean, checking anyway.
14215 Checking DB integrity...
14216 Creating temporary extra indices...
14217 Checking lost+found...
14218 Checking cached objects...
14219 Checking names (refcounts)...
14220 Checking contents (names)...
14221 Checking contents (inodes)...
14222 Checking contents (parent inodes)...
14223 Checking objects (reference counts)...
14224 Checking objects (backend)...
14225 ..processed 5000 objects so far..
14226 ..processed 10000 objects so far..
14227 ..processed 15000 objects so far..
14228 Checking objects (sizes)...
14229 Checking blocks (referenced objects)...
14230 Checking blocks (refcounts)...
14231 Checking inode-block mapping (blocks)...
14232 Checking inode-block mapping (inodes)...
14233 Checking inodes (refcounts)...
14234 Checking inodes (sizes)...
14235 Checking extended attributes (names)...
14236 Checking extended attributes (inodes)...
14237 Checking symlinks (inodes)...
14238 Checking directory reachability...
14239 Checking unix conventions...
14240 Checking referential integrity...
14241 Dropping temporary indices...
14242 Backing up old metadata...
14243 Dumping metadata...
14244 ..objects..
14245 ..blocks..
14246 ..inodes..
14247 ..inode_blocks..
14248 ..symlink_targets..
14249 ..names..
14250 ..contents..
14251 ..ext_attributes..
14252 Compressing and uploading metadata...
14253 Wrote 0.89 MB of compressed metadata.
14254 #
14255 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14256
14257 &lt;p&gt;Thanks to the cache, working on files that fit in the cache is very
14258 quick, about the same speed as local file access. Uploading large
14259 amount of data is to me limited by the bandwidth out of and into my
14260 house. Uploading 685 MiB with a 100 MiB cache gave me 305 kiB/s,
14261 which is very close to my upload speed, and downloading the same
14262 Debian installation ISO gave me 610 kiB/s, close to my download speed.
14263 Both were measured using &lt;tt&gt;dd&lt;/tt&gt;. So for me, the bottleneck is my
14264 network, not the file system code. I do not know what a good cache
14265 size would be, but suspect that the cache should e larger than your
14266 working set.&lt;/p&gt;
14267
14268 &lt;p&gt;I mentioned that only one machine can mount the file system at the
14269 time. If another machine try, it is told that the file system is
14270 busy:&lt;/p&gt;
14271
14272 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14273 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
14274 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
14275 Using 8 upload threads.
14276 Backend reports that fs is still mounted elsewhere, aborting.
14277 #
14278 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14279
14280 &lt;p&gt;The file content is uploaded when the cache is full, while the
14281 metadata is uploaded once every 24 hour by default. To ensure the
14282 file system content is flushed to the cloud, one can either umount the
14283 file system, or ask S3QL to flush the cache and metadata using
14284 s3qlctrl:
14285
14286 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14287 # s3qlctrl upload-meta /s3ql
14288 # s3qlctrl flushcache /s3ql
14289 #
14290 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14291
14292 &lt;p&gt;If you are curious about how much space your data uses in the
14293 cloud, and how much compression and deduplication cut down on the
14294 storage usage, you can use s3qlstat on the mounted file system to get
14295 a report:&lt;/p&gt;
14296
14297 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14298 # s3qlstat /s3ql
14299 Directory entries: 9141
14300 Inodes: 9143
14301 Data blocks: 8851
14302 Total data size: 22049.38 MB
14303 After de-duplication: 21955.46 MB (99.57% of total)
14304 After compression: 21877.28 MB (99.22% of total, 99.64% of de-duplicated)
14305 Database size: 2.39 MB (uncompressed)
14306 (some values do not take into account not-yet-uploaded dirty blocks in cache)
14307 #
14308 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14309
14310 &lt;p&gt;I mentioned earlier that there are several possible suppliers of
14311 storage. I did not try to locate them all, but am aware of at least
14312 &lt;a href=&quot;https://www.greenqloud.com/&quot;&gt;Greenqloud&lt;/a&gt;,
14313 &lt;a href=&quot;http://drive.google.com/&quot;&gt;Google Drive&lt;/a&gt;,
14314 &lt;a href=&quot;http://aws.amazon.com/s3/&quot;&gt;Amazon S3 web serivces&lt;/a&gt;,
14315 &lt;a href=&quot;http://www.rackspace.com/&quot;&gt;Rackspace&lt;/a&gt; and
14316 &lt;a href=&quot;http://crowncloud.net/&quot;&gt;Crowncloud&lt;/A&gt;. The latter even
14317 accept payment in Bitcoin. Pick one that suit your need. Some of
14318 them provide several GiB of free storage, but the prize models are
14319 quite different and you will have to figure out what suits you
14320 best.&lt;/p&gt;
14321
14322 &lt;p&gt;While researching this blog post, I had a look at research papers
14323 and posters discussing the S3QL file system. There are several, which
14324 told me that the file system is getting a critical check by the
14325 science community and increased my confidence in using it. One nice
14326 poster is titled
14327 &quot;&lt;a href=&quot;http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf&quot;&gt;An
14328 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
14329 Store and Transformative Parallel I/O Approach&lt;/a&gt;&quot; by Hsing-Bung
14330 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
14331 and Pamela Smith. Please have a look.&lt;/p&gt;
14332
14333 &lt;p&gt;Given my problems with different file systems earlier, I decided to
14334 check out the mounted S3QL file system to see if it would be usable as
14335 a home directory (in other word, that it provided POSIX semantics when
14336 it come to locking and umask handling etc). Running
14337 &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
14338 test code to check file system semantics&lt;/a&gt;, I was happy to discover that
14339 no error was found. So the file system can be used for home
14340 directories, if one chooses to do so.&lt;/p&gt;
14341
14342 &lt;p&gt;If you do not want a locally file system, and want something that
14343 work without the Linux fuse file system, I would like to mention the
14344 &lt;a href=&quot;http://www.tarsnap.com/&quot;&gt;Tarsnap service&lt;/a&gt;, which also
14345 provide locally encrypted backup using a command line client. It have
14346 a nicer access control system, where one can split out read and write
14347 access, allowing some systems to write to the backup and others to
14348 only read from it.&lt;/p&gt;
14349
14350 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
14351 activities, please send Bitcoin donations to my address
14352 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
14353 </description>
14354 </item>
14355
14356 <item>
14357 <title>ReactOS Windows clone - nice free software</title>
14358 <link>https://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</link>
14359 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</guid>
14360 <pubDate>Tue, 1 Apr 2014 12:10:00 +0200</pubDate>
14361 <description>&lt;p&gt;Microsoft have announced that Windows XP reaches its end of life
14362 2014-04-08, in 7 days. But there are heaps of machines still running
14363 Windows XP, and depending on Windows XP to run their applications, and
14364 upgrading will be expensive, both when it comes to money and when it
14365 comes to the amount of effort needed to migrate from Windows XP to a
14366 new operating system. Some obvious options (buy new a Windows
14367 machine, buy a MacOSX machine, install Linux on the existing machine)
14368 are already well known and covered elsewhere. Most of them involve
14369 leaving the user applications installed on Windows XP behind and
14370 trying out replacements or updated versions. In this blog post I want
14371 to mention one strange bird that allow people to keep the hardware and
14372 the existing Windows XP applications and run them on a free software
14373 operating system that is Windows XP compatible.&lt;/p&gt;
14374
14375 &lt;p&gt;&lt;a href=&quot;http://www.reactos.org/&quot;&gt;ReactOS&lt;/a&gt; is a free software
14376 operating system (GNU GPL licensed) working on providing a operating
14377 system that is binary compatible with Windows, able to run windows
14378 programs directly and to use Windows drivers for hardware directly.
14379 The project goal is for Windows user to keep their existing machines,
14380 drivers and software, and gain the advantages from user a operating
14381 system without usage limitations caused by non-free licensing. It is
14382 a Windows clone running directly on the hardware, so quite different
14383 from the approach taken by &lt;a href=&quot;http://www.winehq.org/&quot;&gt;the Wine
14384 project&lt;/a&gt;, which make it possible to run Windows binaries on
14385 Linux.&lt;/p&gt;
14386
14387 &lt;p&gt;The ReactOS project share code with the Wine project, so most
14388 shared libraries available on Windows are already implemented already.
14389 There is also a software manager like the one we are used to on Linux,
14390 allowing the user to install free software applications with a simple
14391 click directly from the Internet. Check out the
14392 &lt;a href=&quot;http://www.reactos.org/screenshots&quot;&gt;screen shots on the
14393 project web site&lt;/a&gt; for an idea what it look like (it looks just like
14394 Windows before metro).&lt;/p&gt;
14395
14396 &lt;p&gt;I do not use ReactOS myself, preferring Linux and Unix like
14397 operating systems. I&#39;ve tested it, and it work fine in a virt-manager
14398 virtual machine. The browser, minesweeper, notepad etc is working
14399 fine as far as I can tell. Unfortunately, my main test application
14400 is the software included on a CD with the Lego Mindstorms NXT, which
14401 seem to install just fine from CD but fail to leave any binaries on
14402 the disk after the installation. So no luck with that test software.
14403 No idea why, but hope someone else figure out and fix the problem.
14404 I&#39;ve tried the ReactOS Live ISO on a physical machine, and it seemed
14405 to work just fine. If you like Windows and want to keep running your
14406 old Windows binaries, check it out by
14407 &lt;a href=&quot;http://www.reactos.org/download&quot;&gt;downloading&lt;/a&gt; the
14408 installation CD, the live CD or the preinstalled virtual machine
14409 image.&lt;/p&gt;
14410 </description>
14411 </item>
14412
14413 <item>
14414 <title>Debian Edu interview: Roger Marsal</title>
14415 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</link>
14416 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</guid>
14417 <pubDate>Sun, 30 Mar 2014 11:40:00 +0200</pubDate>
14418 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
14419 keep gaining new users. Some weeks ago, a person showed up on IRC,
14420 &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt;, with a
14421 wish to contribute, and I managed to get a interview with this great
14422 contributor Roger Marsal to learn more about his background.&lt;/p&gt;
14423
14424 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
14425
14426 &lt;p&gt;My name is Roger Marsal, I&#39;m 27 years old (1986 generation) and I
14427 live in Barcelona, Spain. I&#39;ve got a strong business background and I
14428 work as a patrimony manager and as a real estate agent. Additionally,
14429 I&#39;ve co-founded a British based tech company that is nowadays on the
14430 last development phase of a new social networking concept.&lt;/p&gt;
14431
14432 &lt;p&gt;I&#39;m a Linux enthusiast that started its journey with Ubuntu four years
14433 ago and have recently switched to Debian seeking rock solid stability
14434 and as a necessary step to gain expertise.&lt;/p&gt;
14435
14436 &lt;p&gt;In a nutshell, I spend my days working and learning as much as I
14437 can to face both my job, entrepreneur project and feed my Linux
14438 hunger.&lt;/p&gt;
14439
14440 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
14441 project?&lt;/strong&gt;&lt;/p&gt;
14442
14443 &lt;p&gt;I discovered the &lt;a href=&quot;http://www.ltsp.org/&quot;&gt;LTSP&lt;/a&gt; advantages
14444 with &quot;Ubuntu 12.04 alternate install&quot; and after a year of use I
14445 started looking for an alternative. Even though I highly value and
14446 respect the Ubuntu project, I thought it was necessary for me to
14447 change to a more robust and stable alternative. As far as I was using
14448 Debian on my personal laptop I thought it would be fine to install
14449 Debian and configure an LTSP server myself. Surprised, I discovered
14450 that the Debian project also supported a kind of Edubuntu equivalent,
14451 and after having some pain I obtained a Debian Edu network up and
14452 running. I just loved it.&lt;/p&gt;
14453
14454 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
14455 Edu?&lt;/strong&gt;&lt;/p&gt;
14456
14457 &lt;p&gt;I found a main advantage in that, once you know &quot;the tips and
14458 tricks&quot;, a new installation just works out of the box. It&#39;s the most
14459 complete alternative I&#39;ve found to create an LTSP network. All the
14460 other distributions seems to be made of plastic, Debian Edu seems to
14461 be made of steel.&lt;/p&gt;
14462
14463 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
14464 Edu?&lt;/strong&gt;&lt;/p&gt;
14465
14466 &lt;p&gt;I found two main disadvantages.&lt;/p&gt;
14467
14468 &lt;p&gt;I&#39;m not an expert but I&#39;ve got notions and I had to spent a considerable
14469 amount of time trying to bring up a standard network topology. I&#39;m quite
14470 stubborn and I just worked until I did but I&#39;m sure many people with few
14471 resources (not big schools, but academies for example) would have switched
14472 or dropped.&lt;/p&gt;
14473
14474 &lt;p&gt;It&#39;s amazing how such a complex system like Debian Edu has achieved
14475 this out-of-the-box state. Even though tweaking without breaking gets
14476 more difficult, as more factors have to be considered. This can
14477 discourage many people too.&lt;/p&gt;
14478
14479 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
14480
14481 &lt;p&gt;I use Debian, Firefox, Okular, Inkscape, LibreOffice and
14482 Virtualbox.&lt;/p&gt;
14483
14484
14485 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
14486 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
14487
14488 &lt;p&gt;I don&#39;t think there is a need for a particular strategy. The free
14489 attribute in both &quot;freedom&quot; and &quot;no price&quot; meanings is what will
14490 really bring free software to schools. In my experience I can think of
14491 the &lt;a href=&quot;http://www.r-project.org/&quot;&gt;&quot;R&quot; statistical language&lt;/a&gt;; a
14492 few years a ago was an extremely nerd tool for university people.
14493 Today it&#39;s being increasingly used to teach statistics at many
14494 different level of studies. I believe free and open software will
14495 increasingly gain popularity, but I&#39;m sure schools will be one of the
14496 first scenarios where this will happen.&lt;/p&gt;
14497 </description>
14498 </item>
14499
14500 <item>
14501 <title>Public Trusted Timestamping services for everyone</title>
14502 <link>https://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</link>
14503 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</guid>
14504 <pubDate>Tue, 25 Mar 2014 12:50:00 +0100</pubDate>
14505 <description>&lt;p&gt;Did you ever need to store logs or other files in a way that would
14506 allow it to be used as evidence in court, and needed a way to
14507 demonstrate without reasonable doubt that the file had not been
14508 changed since it was created? Or, did you ever need to document that
14509 a given document was received at some point in time, like some
14510 archived document or the answer to an exam, and not changed after it
14511 was received? The problem in these settings is to remove the need to
14512 trust yourself and your computers, while still being able to prove
14513 that a file is the same as it was at some given time in the past.&lt;/p&gt;
14514
14515 &lt;p&gt;A solution to these problems is to have a trusted third party
14516 &quot;stamp&quot; the document and verify that at some given time the document
14517 looked a given way. Such
14518 &lt;a href=&quot;https://en.wikipedia.org/wiki/Notarius&quot;&gt;notarius&lt;/a&gt; service
14519 have been around for thousands of years, and its digital equivalent is
14520 called a
14521 &lt;a href=&quot;http://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
14522 timestamping service&lt;/a&gt;. &lt;a href=&quot;http://www.ietf.org/&quot;&gt;The Internet
14523 Engineering Task Force&lt;/a&gt; standardised how such service could work a
14524 few years ago as &lt;a href=&quot;http://tools.ietf.org/html/rfc3161&quot;&gt;RFC
14525 3161&lt;/a&gt;. The mechanism is simple. Create a hash of the file in
14526 question, send it to a trusted third party which add a time stamp to
14527 the hash and sign the result with its private key, and send back the
14528 signed hash + timestamp. Both email, FTP and HTTP can be used to
14529 request such signature, depending on what is provided by the service
14530 used. Anyone with the document and the signature can then verify that
14531 the document matches the signature by creating their own hash and
14532 checking the signature using the trusted third party public key.
14533 There are several commercial services around providing such
14534 timestamping. A quick search for
14535 &quot;&lt;a href=&quot;https://duckduckgo.com/?q=rfc+3161+service&quot;&gt;rfc 3161
14536 service&lt;/a&gt;&quot; pointed me to at least
14537 &lt;a href=&quot;https://www.digistamp.com/technical/how-a-digital-time-stamp-works/&quot;&gt;DigiStamp&lt;/a&gt;,
14538 &lt;a href=&quot;http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx&quot;&gt;Quo
14539 Vadis&lt;/a&gt;,
14540 &lt;a href=&quot;https://www.globalsign.com/timestamp-service/&quot;&gt;Global Sign&lt;/a&gt;
14541 and &lt;a href=&quot;http://www.globaltrustfinder.com/TSADefault.aspx&quot;&gt;Global
14542 Trust Finder&lt;/a&gt;. The system work as long as the private key of the
14543 trusted third party is not compromised.&lt;/p&gt;
14544
14545 &lt;p&gt;But as far as I can tell, there are very few public trusted
14546 timestamp services available for everyone. I&#39;ve been looking for one
14547 for a while now. But yesterday I found one over at
14548 &lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;Deutches
14549 Forschungsnetz&lt;/a&gt; mentioned in
14550 &lt;a href=&quot;http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/&quot;&gt;a
14551 blog by David Müller&lt;/a&gt;. I then found
14552 &lt;a href=&quot;http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html&quot;&gt;a
14553 good recipe on how to use the service&lt;/a&gt; over at the University of
14554 Greifswald.&lt;/p&gt;
14555
14556 &lt;p&gt;&lt;a href=&quot;http://www.openssl.org/&quot;&gt;The OpenSSL library&lt;/a&gt; contain
14557 both server and tools to use and set up your own signing service. See
14558 the ts(1SSL), tsget(1SSL) manual pages for more details. The
14559 following shell script demonstrate how to extract a signed timestamp
14560 for any file on the disk in a Debian environment:&lt;/p&gt;
14561
14562 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14563 #!/bin/sh
14564 set -e
14565 url=&quot;http://zeitstempel.dfn.de&quot;
14566 caurl=&quot;https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt&quot;
14567 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
14568 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
14569 cafile=chain.txt
14570 if [ ! -f $cafile ] ; then
14571 wget -O $cafile &quot;$caurl&quot;
14572 fi
14573 openssl ts -query -data &quot;$1&quot; -cert | tee &quot;$reqfile&quot; \
14574 | /usr/lib/ssl/misc/tsget -h &quot;$url&quot; -o &quot;$resfile&quot;
14575 openssl ts -reply -in &quot;$resfile&quot; -text 1&gt;&amp;2
14576 openssl ts -verify -data &quot;$1&quot; -in &quot;$resfile&quot; -CAfile &quot;$cafile&quot; 1&gt;&amp;2
14577 base64 &lt; &quot;$resfile&quot;
14578 rm &quot;$reqfile&quot; &quot;$resfile&quot;
14579 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14580
14581 &lt;p&gt;The argument to the script is the file to timestamp, and the output
14582 is a base64 encoded version of the signature to STDOUT and details
14583 about the signature to STDERR. Note that due to
14584 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553&quot;&gt;a bug
14585 in the tsget script&lt;/a&gt;, you might need to modify the included script
14586 and remove the last line. Or just write your own HTTP uploader using
14587 curl. :) Now you too can prove and verify that files have not been
14588 changed.&lt;/p&gt;
14589
14590 &lt;p&gt;But the Internet need more public trusted timestamp services.
14591 Perhaps something for &lt;a href=&quot;http://www.uninett.no/&quot;&gt;Uninett&lt;/a&gt; or
14592 my work place the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
14593 to set up?&lt;/p&gt;
14594 </description>
14595 </item>
14596
14597 <item>
14598 <title>Video DVD reader library / python-dvdvideo - nice free software</title>
14599 <link>https://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</link>
14600 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</guid>
14601 <pubDate>Fri, 21 Mar 2014 15:25:00 +0100</pubDate>
14602 <description>&lt;p&gt;Keeping your DVD collection safe from scratches and curious
14603 children fingers while still having it available when you want to see a
14604 movie is not straight forward. My preferred method at the moment is
14605 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
14606 Hour or other useful players to view the resulting file. This way the
14607 subtitles and bonus material are still available and using the ISO is
14608 just like inserting the original DVD record in the DVD player.&lt;/p&gt;
14609
14610 &lt;p&gt;Earlier I used dd for taking security copies, but it do not handle
14611 DVDs giving read errors (which are quite a few of them). I&#39;ve also
14612 tried using
14613 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html&quot;&gt;dvdbackup
14614 and genisoimage&lt;/a&gt;, but these days I use the marvellous python library
14615 and program
14616 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;python-dvdvideo&lt;/a&gt;
14617 written by Bastian Blank. It is
14618 &lt;a href=&quot;http://packages.qa.debian.org/p/python-dvdvideo.html&quot;&gt;in Debian
14619 already&lt;/a&gt; and the binary package name is python3-dvdvideo. Instead
14620 of trying to read every block from the DVD, it parses the file
14621 structure and figure out which block on the DVD is actually in used,
14622 and only read those blocks from the DVD. This work surprisingly well,
14623 and I have been able to almost backup my entire DVD collection using
14624 this method.&lt;/p&gt;
14625
14626 &lt;p&gt;So far, python-dvdvideo have failed on between 10 and
14627 20 DVDs, which is a small fraction of my collection. The most common
14628 problem is
14629 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720831&quot;&gt;DVDs
14630 using UTF-16 instead of UTF-8 characters&lt;/a&gt;, which according to
14631 Bastian is against the DVD specification (and seem to cause some
14632 players to fail too). A rarer problem is what seem to be inconsistent
14633 DVD structures, as the python library
14634 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723079&quot;&gt;claim
14635 there is a overlap between objects&lt;/a&gt;. An equally rare problem claim
14636 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741878&quot;&gt;some
14637 value is out of range&lt;/a&gt;. No idea what is going on there. I wish I
14638 knew enough about the DVD format to fix these, to ensure my movie
14639 collection will stay with me in the future.&lt;/p&gt;
14640
14641 &lt;p&gt;So, if you need to keep your DVDs safe, back them up using
14642 python-dvdvideo. :)&lt;/p&gt;
14643 </description>
14644 </item>
14645
14646 <item>
14647 <title>Freedombox on Dreamplug, Raspberry Pi and virtual x86 machine</title>
14648 <link>https://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html</link>
14649 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html</guid>
14650 <pubDate>Fri, 14 Mar 2014 11:00:00 +0100</pubDate>
14651 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox
14652 project&lt;/a&gt; is working on providing the software and hardware for
14653 making it easy for non-technical people to host their data and
14654 communication at home, and being able to communicate with their
14655 friends and family encrypted and away from prying eyes. It has been
14656 going on for a while, and is slowly progressing towards a new test
14657 release (0.2).&lt;/p&gt;
14658
14659 &lt;p&gt;And what day could be better than the Pi day to announce that the
14660 new version will provide &quot;hard drive&quot; / SD card / USB stick images for
14661 Dreamplug, Raspberry Pi and VirtualBox (or any other virtualization
14662 system), and can also be installed using a Debian installer preseed
14663 file. The Debian based Freedombox is now based on Debian Jessie,
14664 where most of the needed packages used are already present. Only one,
14665 the freedombox-setup package, is missing. To try to build your own
14666 boot image to test the current status, fetch the freedom-maker scripts
14667 and build using
14668 &lt;a href=&quot;http://packages.qa.debian.org/vmdebootstrap&quot;&gt;vmdebootstrap&lt;/a&gt;
14669 with a user with sudo access to become root:
14670
14671 &lt;pre&gt;
14672 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
14673 freedom-maker
14674 sudo apt-get install git vmdebootstrap mercurial python-docutils \
14675 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
14676 u-boot-tools
14677 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
14678 &lt;/pre&gt;
14679
14680 &lt;p&gt;Root access is needed to run debootstrap and mount loopback
14681 devices. See the README for more details on the build. If you do not
14682 want all three images, trim the make line. But note that thanks to &lt;a
14683 href=&quot;https://bugs.debian.org/741407&quot;&gt;a race condition in
14684 vmdebootstrap&lt;/a&gt;, the build might fail without the patch to the
14685 kpartx call.&lt;/p&gt;
14686
14687 &lt;p&gt;If you instead want to install using a Debian CD and the preseed
14688 method, boot a Debian Wheezy ISO and use this boot argument to load
14689 the preseed values:&lt;/p&gt;
14690
14691 &lt;pre&gt;
14692 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;
14693 &lt;/pre&gt;
14694
14695 &lt;p&gt;But note that due to &lt;a href=&quot;https://bugs.debian.org/740673&quot;&gt;a
14696 recently introduced bug in apt in Jessie&lt;/a&gt;, the installer will
14697 currently hang while setting up APT sources. Killing the
14698 &#39;&lt;tt&gt;apt-cdrom ident&lt;/tt&gt;&#39; process when it hang a few times during the
14699 installation will get the installation going. This affect all
14700 installations in Jessie, and I expect it will be fixed soon.&lt;/p&gt;
14701
14702 &lt;p&gt;Give it a go and let us know how it goes on the mailing list, and help
14703 us get the new release published. :) Please join us on
14704 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC (#freedombox on
14705 irc.debian.org)&lt;/a&gt; and
14706 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
14707 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
14708 </description>
14709 </item>
14710
14711 <item>
14712 <title>How to add extra storage servers in Debian Edu / Skolelinux</title>
14713 <link>https://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html</link>
14714 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html</guid>
14715 <pubDate>Wed, 12 Mar 2014 12:50:00 +0100</pubDate>
14716 <description>&lt;p&gt;On larger sites, it is useful to use a dedicated storage server for
14717 storing user home directories and data. The design for handling this
14718 in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, is
14719 to update the automount rules in LDAP and let the automount daemon on
14720 the clients take care of the rest. I was reminded about the need to
14721 document this better when one of the customers of
14722 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt;, where I am
14723 on the board of directors, asked about how to do this. The steps to
14724 get this working are the following:&lt;/p&gt;
14725
14726 &lt;p&gt;&lt;ol&gt;
14727
14728 &lt;li&gt;Add new storage server in DNS. I use nas-server.intern as the
14729 example host here.&lt;/li&gt;
14730
14731 &lt;li&gt;Add automoun LDAP information about this server in LDAP, to allow
14732 all clients to automatically mount it on reqeust.&lt;/li&gt;
14733
14734 &lt;li&gt;Add the relevant entries in tjener.intern:/etc/fstab, because
14735 tjener.intern do not use automount to avoid mounting loops.&lt;/li&gt;
14736
14737 &lt;/ol&gt;&lt;/p&gt;
14738
14739 &lt;p&gt;DNS entries are added in GOsa², and not described here. Follow the
14740 &lt;a href=&quot;https://wiki.debian.org/DebianEdu/Documentation/Wheezy/GettingStarted&quot;&gt;instructions
14741 in the manual&lt;/a&gt; (Machine Management with GOsa² in section Getting
14742 started).&lt;/p&gt;
14743
14744 &lt;p&gt;Ensure that the NFS export points on the server are exported to the
14745 relevant subnets or machines:&lt;/p&gt;
14746
14747 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14748 root@tjener:~# showmount -e nas-server
14749 Export list for nas-server:
14750 /storage 10.0.0.0/8
14751 root@tjener:~#
14752 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14753
14754 &lt;p&gt;Here everything on the backbone network is granted access to the
14755 /storage export. With NFSv3 it is slightly better to limit it to
14756 netgroup membership or single IP addresses to have some limits on the
14757 NFS access.&lt;/p&gt;
14758
14759 &lt;p&gt;The next step is to update LDAP. This can not be done using GOsa²,
14760 because it lack a module for automount. Instead, use ldapvi and add
14761 the required LDAP objects using an editor.&lt;/p&gt;
14762
14763 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14764 ldapvi --ldap-conf -ZD &#39;(cn=admin)&#39; -b ou=automount,dc=skole,dc=skolelinux,dc=no
14765 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14766
14767 &lt;p&gt;When the editor show up, add the following LDAP objects at the
14768 bottom of the document. The &quot;/&amp;&quot; part in the last LDAP object is a
14769 wild card matching everything the nas-server exports, removing the
14770 need to list individual mount points in LDAP.&lt;/p&gt;
14771
14772 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14773 add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
14774 objectClass: automount
14775 cn: nas-server
14776 automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
14777
14778 add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
14779 objectClass: top
14780 objectClass: automountMap
14781 ou: auto.nas-server
14782
14783 add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
14784 objectClass: automount
14785 cn: /
14786 automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&amp;
14787 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14788
14789 &lt;p&gt;The last step to remember is to mount the relevant mount points in
14790 tjener.intern by adding them to /etc/fstab, creating the mount
14791 directories using mkdir and running &quot;mount -a&quot; to mount them.&lt;/p&gt;
14792
14793 &lt;p&gt;When this is done, your users should be able to access the files on
14794 the storage server directly by just visiting the
14795 /tjener/nas-server/storage/ directory using any application on any
14796 workstation, LTSP client or LTSP server.&lt;/p&gt;
14797 </description>
14798 </item>
14799
14800 <item>
14801 <title>New home and release 1.0 for netgroup and innetgr (aka ng-utils)</title>
14802 <link>https://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html</link>
14803 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html</guid>
14804 <pubDate>Sat, 22 Feb 2014 21:45:00 +0100</pubDate>
14805 <description>&lt;p&gt;Many years ago, I wrote a GPL licensed version of the netgroup and
14806 innetgr tools, because I needed them in
14807 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;. I called the project
14808 ng-utils, and it has served me well. I placed the project under the
14809 &lt;a href=&quot;http://www.hungry.com/&quot;&gt;Hungry Programmer&lt;/a&gt; umbrella, and it was maintained in our CVS
14810 repository. But many years ago, the CVS repository was dropped (lost,
14811 not migrated to new hardware, not sure), and the project have lacked a
14812 proper home since then.&lt;/p&gt;
14813
14814 &lt;p&gt;Last summer, I had a look at the package and made a new release
14815 fixing a irritating crash bug, but was unable to store the changes in
14816 a proper source control system. I applied for a project on
14817 &lt;a href=&quot;https://alioth.debian.org/&quot;&gt;Alioth&lt;/a&gt;, but did not have time
14818 to follow up on it. Until today. :)&lt;/p&gt;
14819
14820 &lt;p&gt;After many hours of cleaning and migration, the ng-utils project
14821 now have a new home, and a git repository with the highlight of the
14822 history of the project. I published all release tarballs and imported
14823 them into the git repository. As the project is really stable and not
14824 expected to gain new features any time soon, I decided to make a new
14825 release and call it 1.0. Visit the new project home on
14826 &lt;a href=&quot;https://alioth.debian.org/projects/ng-utils/&quot;&gt;https://alioth.debian.org/projects/ng-utils/&lt;/a&gt;
14827 if you want to check it out. The new version is also uploaded into
14828 &lt;a href=&quot;http://packages.qa.debian.org/n/ng-utils.html&quot;&gt;Debian Unstable&lt;/a&gt;.&lt;/p&gt;
14829 </description>
14830 </item>
14831
14832 <item>
14833 <title>Testing sysvinit from experimental in Debian Hurd</title>
14834 <link>https://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html</link>
14835 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html</guid>
14836 <pubDate>Mon, 3 Feb 2014 13:40:00 +0100</pubDate>
14837 <description>&lt;p&gt;A few days ago I decided to try to help the Hurd people to get
14838 their changes into sysvinit, to allow them to use the normal sysvinit
14839 boot system instead of their old one. This follow up on the
14840 &lt;a href=&quot;https://teythoon.cryptobitch.de//categories/gsoc.html&quot;&gt;great
14841 Google Summer of Code work&lt;/a&gt; done last summer by Justus Winter to
14842 get Debian on Hurd working more like Debian on Linux. To get started,
14843 I downloaded a prebuilt hard disk image from
14844 &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;,
14845 and started it using virt-manager.&lt;/p&gt;
14846
14847 &lt;p&gt;The first think I had to do after logging in (root without any
14848 password) was to get the network operational. I followed
14849 &lt;a href=&quot;https://www.debian.org/ports/hurd/hurd-install&quot;&gt;the
14850 instructions on the Debian GNU/Hurd ports page&lt;/a&gt; and ran these
14851 commands as root to get the machine to accept a IP address from the
14852 kvm internal DHCP server:&lt;/p&gt;
14853
14854 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14855 settrans -fgap /dev/netdde /hurd/netdde
14856 kill $(ps -ef|awk &#39;/[p]finet/ { print $2}&#39;)
14857 kill $(ps -ef|awk &#39;/[d]evnode/ { print $2}&#39;)
14858 dhclient /dev/eth0
14859 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14860
14861 &lt;p&gt;After this, the machine had internet connectivity, and I could
14862 upgrade it and install the sysvinit packages from experimental and
14863 enable it as the default boot system in Hurd.&lt;/p&gt;
14864
14865 &lt;p&gt;But before I did that, I set a password on the root user, as ssh is
14866 running on the machine it for ssh login to work a password need to be
14867 set. Also, note that a bug somewhere in openssh on Hurd block
14868 compression from working. Remember to turn that off on the client
14869 side.&lt;/p&gt;
14870
14871 &lt;p&gt;Run these commands as root to upgrade and test the new sysvinit
14872 stuff:&lt;/p&gt;
14873
14874 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14875 cat &gt; /etc/apt/sources.list.d/experimental.list &amp;lt;&amp;lt;EOF
14876 deb http://http.debian.net/debian/ experimental main
14877 EOF
14878 apt-get update
14879 apt-get dist-upgrade
14880 apt-get install -t experimental initscripts sysv-rc sysvinit \
14881 sysvinit-core sysvinit-utils
14882 update-alternatives --config runsystem
14883 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14884
14885 &lt;p&gt;To reboot after switching boot system, you have to use
14886 &lt;tt&gt;reboot-hurd&lt;/tt&gt; instead of just &lt;tt&gt;reboot&lt;/tt&gt;, as there is not
14887 yet a sysvinit process able to receive the signals from the normal
14888 &#39;reboot&#39; command. After switching to sysvinit as the boot system,
14889 upgrading every package and rebooting, the network come up with DHCP
14890 after boot as it should, and the settrans/pkill hack mentioned at the
14891 start is no longer needed. But for some strange reason, there are no
14892 longer any login prompt in the virtual console, so I logged in using
14893 ssh instead.
14894
14895 &lt;p&gt;Note that there are some race conditions in Hurd making the boot
14896 fail some times. No idea what the cause is, but hope the Hurd porters
14897 figure it out. At least Justus said on IRC (#debian-hurd on
14898 irc.debian.org) that they are aware of the problem. A way to reduce
14899 the impact is to upgrade to the Hurd packages built by Justus by
14900 adding this repository to the machine:&lt;/p&gt;
14901
14902 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14903 cat &gt; /etc/apt/sources.list.d/hurd-ci.list &amp;lt;&amp;lt;EOF
14904 deb http://darnassus.sceen.net/~teythoon/hurd-ci/ sid main
14905 EOF
14906 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14907
14908 &lt;p&gt;At the moment the prebuilt virtual machine get some packages from
14909 http://ftp.debian-ports.org/debian, because some of the packages in
14910 unstable do not yet include the required patches that are lingering in
14911 BTS. This is the completely list of &quot;unofficial&quot; packages installed:&lt;/p&gt;
14912
14913 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
14914 # aptitude search &#39;?narrow(?version(CURRENT),?origin(Debian Ports))&#39;
14915 i emacs - GNU Emacs editor (metapackage)
14916 i gdb - GNU Debugger
14917 i hurd-recommended - Miscellaneous translators
14918 i isc-dhcp-client - ISC DHCP client
14919 i isc-dhcp-common - common files used by all the isc-dhcp* packages
14920 i libc-bin - Embedded GNU C Library: Binaries
14921 i libc-dev-bin - Embedded GNU C Library: Development binaries
14922 i libc0.3 - Embedded GNU C Library: Shared libraries
14923 i A libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
14924 i libc0.3-dev - Embedded GNU C Library: Development Libraries and Hea
14925 i multiarch-support - Transitional package to ensure multiarch compatibilit
14926 i A x11-common - X Window System (X.Org) infrastructure
14927 i xorg - X.Org X Window System
14928 i A xserver-xorg - X.Org X server
14929 i A xserver-xorg-input-all - X.Org X server -- input driver metapackage
14930 #
14931 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
14932
14933 &lt;p&gt;All in all, testing hurd has been an interesting experience. :)
14934 X.org did not work out of the box and I never took the time to follow
14935 the porters instructions to fix it. This time I was interested in the
14936 command line stuff.&lt;p&gt;
14937 </description>
14938 </item>
14939
14940 <item>
14941 <title>A fist full of non-anonymous Bitcoins</title>
14942 <link>https://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html</link>
14943 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html</guid>
14944 <pubDate>Wed, 29 Jan 2014 14:10:00 +0100</pubDate>
14945 <description>&lt;p&gt;Bitcoin is a incredible use of peer to peer communication and
14946 encryption, allowing direct and immediate money transfer without any
14947 central control. It is sometimes claimed to be ideal for illegal
14948 activity, which I believe is quite a long way from the truth. At least
14949 I would not conduct illegal money transfers using a system where the
14950 details of every transaction are kept forever. This point is
14951 investigated in
14952 &lt;a href=&quot;https://www.usenix.org/publications/login&quot;&gt;USENIX ;login:&lt;/a&gt;
14953 from December 2013, in the article
14954 &quot;&lt;a href=&quot;https://www.usenix.org/system/files/login/articles/03_meiklejohn-online.pdf&quot;&gt;A
14955 Fistful of Bitcoins - Characterizing Payments Among Men with No
14956 Names&lt;/a&gt;&quot; by Sarah Meiklejohn, Marjori Pomarole,Grant Jordan, Kirill
14957 Levchenko, Damon McCoy, Geoffrey M. Voelker, and Stefan Savage. They
14958 analyse the transaction log in the Bitcoin system, using it to find
14959 addresses belong to individuals and organisations and follow the flow
14960 of money from both Bitcoin theft and trades on Silk Road to where the
14961 money end up. This is how they wrap up their article:&lt;/p&gt;
14962
14963 &lt;p&gt;&lt;blockquote&gt;
14964 &lt;p&gt;&quot;To demonstrate the usefulness of this type of analysis, we turned
14965 our attention to criminal activity. In the Bitcoin economy, criminal
14966 activity can appear in a number of forms, such as dealing drugs on
14967 Silk Road or simply stealing someone else’s bitcoins. We followed the
14968 flow of bitcoins out of Silk Road (in particular, from one notorious
14969 address) and from a number of highly publicized thefts to see whether
14970 we could track the bitcoins to known services. Although some of the
14971 thieves attempted to use sophisticated mixing techniques (or possibly
14972 mix services) to obscure the flow of bitcoins, for the most part
14973 tracking the bitcoins was quite straightforward, and we ultimately saw
14974 large quantities of bitcoins flow to a variety of exchanges directly
14975 from the point of theft (or the withdrawal from Silk Road).&lt;/p&gt;
14976
14977 &lt;p&gt;As acknowledged above, following stolen bitcoins to the point at
14978 which they are deposited into an exchange does not in itself identify
14979 the thief; however, it does enable further de-anonymization in the
14980 case in which certain agencies can determine (through, for example,
14981 subpoena power) the real-world owner of the account into which the
14982 stolen bitcoins were deposited. Because such exchanges seem to serve
14983 as chokepoints into and out of the Bitcoin economy (i.e., there are
14984 few alternative ways to cash out), we conclude that using Bitcoin for
14985 money laundering or other illicit purposes does not (at least at
14986 present) seem to be particularly attractive.&quot;&lt;/p&gt;
14987 &lt;/blockquote&gt;&lt;p&gt;
14988
14989 &lt;p&gt;These researches are not the first to analyse the Bitcoin
14990 transaction log. The 2011 paper
14991 &quot;&lt;a href=&quot;http://arxiv.org/abs/1107.4524&quot;&gt;An Analysis of Anonymity in
14992 the Bitcoin System&lt;/A&gt;&quot; by Fergal Reid and Martin Harrigan is
14993 summarized like this:&lt;/p&gt;
14994
14995 &lt;p&gt;&lt;blockquote&gt;
14996 &quot;Anonymity in Bitcoin, a peer-to-peer electronic currency system, is a
14997 complicated issue. Within the system, users are identified by
14998 public-keys only. An attacker wishing to de-anonymize its users will
14999 attempt to construct the one-to-many mapping between users and
15000 public-keys and associate information external to the system with the
15001 users. Bitcoin tries to prevent this attack by storing the mapping of
15002 a user to his or her public-keys on that user&#39;s node only and by
15003 allowing each user to generate as many public-keys as required. In
15004 this chapter we consider the topological structure of two networks
15005 derived from Bitcoin&#39;s public transaction history. We show that the
15006 two networks have a non-trivial topological structure, provide
15007 complementary views of the Bitcoin system and have implications for
15008 anonymity. We combine these structures with external information and
15009 techniques such as context discovery and flow analysis to investigate
15010 an alleged theft of Bitcoins, which, at the time of the theft, had a
15011 market value of approximately half a million U.S. dollars.&quot;
15012 &lt;/blockquote&gt;&lt;/p&gt;
15013
15014 &lt;p&gt;I hope these references can help kill the urban myth that Bitcoin
15015 is anonymous. It isn&#39;t really a good fit for illegal activites. Use
15016 cash if you need to stay anonymous, at least until regular DNA
15017 sampling of notes and coins become the norm. :)&lt;/p&gt;
15018
15019 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
15020 activities, please send Bitcoin donations to my address
15021 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
15022 </description>
15023 </item>
15024
15025 <item>
15026 <title>New chrpath release 0.16</title>
15027 <link>https://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</link>
15028 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html</guid>
15029 <pubDate>Tue, 14 Jan 2014 11:00:00 +0100</pubDate>
15030 <description>&lt;p&gt;&lt;a href=&quot;http://www.coverity.com/&quot;&gt;Coverity&lt;/a&gt; is a nice tool to
15031 find problems in C, C++ and Java code using static source code
15032 analysis. It can detect a lot of different problems, and is very
15033 useful to find memory and locking bugs in the error handling part of
15034 the source. The company behind it provide
15035 &lt;a href=&quot;https://scan.coverity.com/&quot;&gt;check of free software projects as
15036 a community service&lt;/a&gt;, and many hundred free software projects are
15037 already checked. A few days ago I decided to have a closer look at
15038 the Coverity system, and discovered that the
15039 &lt;a href=&quot;http://www.gnu.org/software/gnash/&quot;&gt;gnash&lt;/a&gt; and
15040 &lt;a href=&quot;http://sourceforge.net/projects/ipmitool/&quot;&gt;ipmitool&lt;/a&gt;
15041 projects I am involved with was already registered. But these are
15042 fairly big, and I would also like to have a small and easy project to
15043 check, and decided to &lt;a href=&quot;http://scan.coverity.com/projects/1179&quot;&gt;request
15044 checking of the chrpath project&lt;/a&gt;. It was
15045 added to the checker and discovered seven potential defects. Six of
15046 these were real, mostly resource &quot;leak&quot; when the program detected an
15047 error. Nothing serious, as the resources would be released a fraction
15048 of a second later when the program exited because of the error, but it
15049 is nice to do it right in case the source of the program some time in
15050 the future end up in a library. Having fixed all defects and added
15051 &lt;a href=&quot;https://lists.alioth.debian.org/mailman/listinfo/chrpath-devel&quot;&gt;a
15052 mailing list for the chrpath developers&lt;/a&gt;, I decided it was time to
15053 publish a new release. These are the release notes:&lt;/p&gt;
15054
15055 &lt;p&gt;New in 0.16 released 2014-01-14:&lt;/p&gt;
15056
15057 &lt;ul&gt;
15058
15059 &lt;li&gt;Fixed all minor bugs discovered by Coverity.&lt;/li&gt;
15060 &lt;li&gt;Updated config.sub and config.guess from the GNU project.&lt;/li&gt;
15061 &lt;li&gt;Mention new project mailing list in the documentation.&lt;/li&gt;
15062
15063 &lt;/ul&gt;
15064
15065 &lt;p&gt;You can
15066 &lt;a href=&quot;https://alioth.debian.org/frs/?group_id=31052&quot;&gt;download the
15067 new version 0.16 from alioth&lt;/a&gt;. Please let us know via the Alioth
15068 project if something is wrong with the new release. The test suite
15069 did not discover any old errors, so if you find a new one, please also
15070 include a test suite check.&lt;/p&gt;
15071 </description>
15072 </item>
15073
15074 <item>
15075 <title>Debian Edu interview: Dominik George</title>
15076 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html</link>
15077 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html</guid>
15078 <pubDate>Wed, 25 Dec 2013 13:40:00 +0100</pubDate>
15079 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
15080 project&lt;/a&gt; consist of both newcomers and old timers, and this time I
15081 was able to get an interview with a newcomer in the project who showed
15082 up on the IRC channel a few weeks ago to let us know about his
15083 successful installation of Debian Edu Wheezy in his School. Say hello
15084 to &lt;a href=&quot;https://www.ohloh.net/accounts/Natureshadow&quot;&gt;Dominik
15085 George&lt;/a&gt;.&lt;/p&gt;
15086
15087 &lt;!-- http://www.dominik-george.de/images/foto.jpg --&gt;
15088
15089 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
15090
15091 &lt;p&gt;I am a 23 year-old student from Germany who has spent half of his
15092 life with open source. In &quot;real life&quot;, I am, as already mentioned, a
15093 student in the fields of Computer Science, Electrical Engineering,
15094 Information Technologies and Anglistics. Due to my (only partially
15095 voluntary) huge engagement in the open source world, these things are
15096 a bit vacant right now however.&lt;/p&gt;
15097
15098 &lt;p&gt;I also have been working as a project teacher at a Gymasnium
15099 (public school) for various years now. I took up that work some time
15100 around 2005 when still attending that school myself and have continued
15101 it until today. I also had been running the (kind of very advanced)
15102 network of that school together with a team of very interested and
15103 talented students in the age of 11 to 15 years, who took the chance to
15104 learn a lot about open source and networking before I left the school
15105 to help building another school&#39;s informational education concept from
15106 scratch.&lt;/p&gt;
15107
15108 &lt;p&gt;That said, one might see me as a kind of &quot;glue&quot; between school kids
15109 and the elderly of teachers as well as between the open source
15110 ecosystem and the (even more complex) educational ecosystem.&lt;/p&gt;
15111
15112 &lt;p&gt;When I am not busy with open source or education, I like Geocaching
15113 and cycling.&lt;/p&gt;
15114
15115 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
15116 project?&lt;/strong&gt;&lt;/p&gt;
15117
15118 &lt;p&gt;I think that happened some time around 2009 when I first attended
15119 &lt;a href=&quot;http://www.froscon.org&quot;&gt;FrOSCon&lt;/a&gt; and visited the project
15120 booth. I think I wasn&#39;t too interested back then because I used to
15121 have an attitude of disliking software that does too much stuff on its
15122 own. Maybe I was too inexperienced to realise the upsides of an
15123 &quot;out-of-the-box&quot; solution ;).&lt;/p&gt;
15124
15125 &lt;p&gt;The first time I actively talked to Skolelinux people was at
15126 &lt;a href=&quot;http://www.openrheinruhr.de&quot;&gt;OpenRheinRuhr&lt;/a&gt; 2011 when the
15127 BiscuIT project, a home-grewn software used by my school for various
15128 really cool things from timetables and class contact lists to lunch
15129 ordering, student ID card printing and project elections first got to
15130 a stage where it could have been published. I asked the Skolelinux
15131 guys running the booth if the project were interested in it and gave a
15132 small demonstration, but there wasn&#39;t any real feedback and the guys
15133 seemed rather uninterested.&lt;/p&gt;
15134
15135 &lt;p&gt;After I left the school where I developed the software, it got
15136 mostly lost, but I am now reimplementing it for my new school. I have
15137 reusability and compatibility in mind, and I hop there will be a new
15138 basis for contributing it to the Skolelinux project ;)!&lt;/p&gt;
15139
15140 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
15141 Edu?&lt;/strong&gt;&lt;/p&gt;
15142
15143 &lt;p&gt;The most important advantage seems to be that it &quot;just
15144 works&quot;. After overcoming some minor (but still very annoying) glitches
15145 in the installer, I got a fully functional, working school network,
15146 without the month-long hassle I experienced when setting all that up
15147 from scratch in earlier years. And above that, it rocked - I didn&#39;t
15148 have any real hardware at hand, because the school was just founded
15149 and has no money whatsoever, so I installed a combined server (main
15150 server, terminal services and workstation) in a VM on my personal
15151 notebook, bridging the LTSP network interface to the ethernet port,
15152 and then PXE-booted the Windows notebooks that were lying around from
15153 it. I could use 8 clients without any performance issues, by using a
15154 tiny little VM on a tiny little notebook. I think that&#39;s enough to say
15155 that it rocks!&lt;/p&gt;
15156
15157 &lt;p&gt;Secondly, there are marketing reasons. Life&#39;s bad, and so no
15158 politician will ever permit a setup described as &quot;Debian, an universal
15159 operating system, with some really cool educational tools&quot; while they
15160 will be jsut fine with &quot;Skolelinux, a single-purpose solution for your
15161 school network&quot;, even if both turn out to be the very same thing (yes,
15162 this is unfair towards the Skolelinux project, and must not be taken
15163 too seriously - you get the idea, anyway).&lt;/p&gt;
15164
15165 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
15166 Edu?&lt;/strong&gt;&lt;/p&gt;
15167
15168 &lt;p&gt;I have not been involved with Skolelinux long enough to really
15169 answer this question in a fair way. Thus, please allow me to put it in
15170 other words: &quot;What do you expect from Skolelinux to keep liking it?&quot; I
15171 can list a few points about that:&lt;/p&gt;
15172
15173 &lt;ul&gt;
15174
15175 &lt;li&gt;always strive to get all things integrated into Debian upstream
15176 &lt;li&gt;be open to discussion about changes and the like, even with newcomers
15177 &lt;li&gt;be helpful at being helpful ;)
15178
15179 &lt;/ul&gt;
15180
15181 &lt;p&gt;I&#39;m really sorry I cannot say much more about that :(!&lt;/p&gt;
15182
15183 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
15184
15185 &lt;p&gt;First of all, all software I use is free and open. I have abandoned
15186 all non-free software (except for firmware on my darned phone) this
15187 year.&lt;/p&gt;
15188
15189 &lt;p&gt;I run Debian GNU/Linux on all PC systems I use. On that, I mostly
15190 run text tools. I use
15191 &lt;a href=&quot;https://www.mirbsd.org/mksh.htm&quot;&gt;mksh&lt;/a&gt; as shell,
15192 &lt;a href=&quot;https://www.mirbsd.org/jupp.htm&quot;&gt;jupp&lt;/a&gt; as very advanced
15193 text editor (I even got the developer to help me write a script/macro
15194 based full-featured student management software with the two),
15195 &lt;a href=&quot;http://mcabber.com/&quot;&gt;mcabber&lt;/a&gt; for XMPP and
15196 &lt;a href=&quot;http://www.irssi.org/&quot;&gt;irssi&lt;/a&gt; for IRC. For that overly
15197 coloured world called the WWW, I use
15198 &lt;a href=&quot;https://www.mozilla.org/en-US/firefox/new/&quot;&gt;Iceweasel
15199 (Firefox)&lt;/a&gt;. Oh, and &lt;a href=&quot;http://www.mutt.org/&quot;&gt;mutt&lt;/a&gt; for
15200 e-mail.&lt;/p&gt;
15201
15202 &lt;p&gt;However, while I am personally aware of the fact that text tools
15203 are more efficient and powerful than anything else, I also use (or at
15204 least operate) some tools that are suitable to bring open source to
15205 kids. One of these things is &lt;a href=&quot;http://jappix.org/&quot;&gt;Jappix&lt;/a&gt;,
15206 which I already introduced to some kids even before they got aware of
15207 Facebook, making them see for themselves that they do not need
15208 Facebook now ;).&lt;/p&gt;
15209
15210 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
15211 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
15212
15213 &lt;p&gt;Well, that&#39;s a two-sided thing. One side is what I believe, and one
15214 side is what I have experienced.&lt;/p&gt;
15215
15216 &lt;p&gt;I believe that the right strategy is showing them the benefits. But
15217 that won&#39;t work out as long as the acceptance of free alternatives
15218 grows globally. What I mean is that if all the kids are almost forced
15219 to use Windows, Facebook, Skype, you name it at home, they will not
15220 see why they would want to use alternatives at school. I have seen
15221 students take seat in front of a fully-functional, modern Debian
15222 desktop that could do anything their Windows at home could do, and
15223 they jsut refused to use it because &quot;Linux sucks&quot;. It is something
15224 that makes the council of our city spend around 600000 € to buy
15225 software - not including hardware, mind you - for operating school
15226 networks, and for installing a system that, as has been proved, does
15227 not work. For those of you readers who are good at maths, have you
15228 already found out how many lives could have been saved with that money
15229 if we had instead used it to bring education to parts of the world
15230 that need it? I have, and found it to be nothing less dramatic than
15231 plain criminal.&lt;/p&gt;
15232
15233 &lt;p&gt;That said, the only feasible way appears to be the bottom up
15234 method. We have to bring free software to kids and parents. I have
15235 founded an association named
15236 &lt;a href=&quot;https://www.teckids.org&quot;&gt;Teckids&lt;/a&gt; here in Germany that does
15237 just that. We organise several events for kids and adolescents in the
15238 area of free and open source software, for example the
15239 &lt;a href=&quot;http://kids.froscon.org&quot;&gt;FrogLabs&lt;/a&gt;, which share staff with
15240 Teckids and are the youth programme of
15241 &lt;a href=&quot;http://www.froscon.org&quot;&gt;the Free and Open Source Software
15242 Conference (FrOSCon)&lt;/a&gt;. We do a lot more than most other conferences
15243 - this year, we first offered the FrogLabs as a holiday camp for kids
15244 aged 10 to 16. It was a huge success, with approx. 30 kids taking part
15245 and learning with and about free software through a whole weekend. All
15246 of us had a lot of fun, and the results were really exciting.&lt;/p&gt;
15247
15248 &lt;p&gt;Apart from that, we are preparing a campaign that is supposed to bring
15249 the message of free alternatives to stuff kids use every day to them and
15250 their parents, e.g. the use of Jabber / Jappix instead of Facebook and
15251 Skype. To make that possible, we are planning to get together a team of
15252 clever kids who understand very well what their peers need and can bring
15253 it across to them. So we will have a peer-driven network of adolescents
15254 who teach each other and collect feedback from the community of minors.
15255 We then take that feedback and our own experience to work closely with
15256 open source projects, such as Skolelinux or Jappix, at improving their
15257 software in a way that makes it more and more attractive for the target
15258 group. At least I hope that we will have good cooperation with
15259 Skolelinux in the future ;)!&lt;/p&gt;
15260
15261 &lt;p&gt;So in conclusion, what I believe is that, if it weren&#39;t for the world
15262 being so bad, it should be very clear to the political decision makers
15263 that the only way to go nowadays is free software for various reasons,
15264 but I have learnt that the only way that seems to work is bottom up.&lt;/p&gt;
15265
15266 &lt;!--
15267
15268 &gt; * Who should be interviewed with this questions in the future?
15269
15270 That&#39;s probably the hardest question of them all, as I do not know the
15271 community. However, I would be willing to do the following:
15272
15273 &lt;li&gt;Run an interview with a German headteacher who is very open to
15274 free software, and also prefers it, but cannot really use it because
15275 of the decision makers above;
15276 &lt;li&gt;Run interviews with some kids, both with and without previous
15277 knowledge about free software
15278
15279 If that is wanted, just let me know ;).
15280
15281 --&gt;
15282 </description>
15283 </item>
15284
15285 <item>
15286 <title>Debian Edu interview: Klaus Knopper</title>
15287 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html</link>
15288 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html</guid>
15289 <pubDate>Fri, 6 Dec 2013 09:50:00 +0100</pubDate>
15290 <description>&lt;p&gt;It has been a while since I managed to publish the last interview,
15291 but the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
15292 Skolelinux&lt;/a&gt; community is still going strong, and yesterday we even
15293 had a new school administrator show up on
15294 &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt; to share
15295 his success story with installing Debian Edu at their school. This
15296 time I have been able to get some helpful comments from the creator of
15297 Knoppix, Klaus Knopper, who was involved in a Skolelinux project in
15298 Germany a few years ago.&lt;/p&gt;
15299
15300 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
15301
15302 &lt;p&gt;I am Klaus Knopper. I have a master degree in electrical
15303 engineering, and is currently professor in information management at
15304 the university of applied sciences Kaiserslautern / Germany and
15305 freelance Open Source software developer and consultant.&lt;/p&gt;
15306
15307 &lt;p&gt;All of this is pretty much of the work I spend my days with. Apart
15308 from teaching, I&#39;m also conducting some more or less experimental
15309 projects like the &lt;a href=&quot;http://www.knoppix.org&quot;&gt;Knoppix GNU/Linux live
15310 system&lt;/a&gt; (Debian-based like Skolelinux),
15311 &lt;a href=&quot;http://www.knopper.net/knoppix-adriane/index-en.html&quot;&gt;ADRIANE&lt;/a&gt;
15312 (a blind-friendly talking desktop system) and
15313 &lt;a href=&quot;http://www.knopper.net/linbo/index-en.html&quot;&gt;LINBO&lt;/a&gt;
15314 (Linux-based network boot console, a fast remote install and repair
15315 system supporting various operating systems).&lt;/p&gt;
15316
15317 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
15318 project?&lt;/strong&gt;&lt;/p&gt;
15319
15320 &lt;p&gt;The credit for this have to go to Kurt Gramlich, who is the German
15321 coordinator for Skolelinux. We were looking for an all-in-one open
15322 source community-supported distribution for schools, and Kurt
15323 introduced us to Skolelinux for this purpose.&lt;/p&gt;
15324
15325 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
15326 Edu?&lt;/strong&gt;&lt;/p&gt;
15327
15328 &lt;ul&gt;
15329 &lt;li&gt;Quick installation,&lt;/li&gt;
15330 &lt;li&gt;works (almost) out of the box,&lt;/li&gt;
15331 &lt;li&gt;contains many useful software packages for teaching and learning,&lt;/li&gt;
15332 &lt;li&gt;is a purely community-based distro and not controlled by a
15333 single company,&lt;/li&gt;
15334 &lt;li&gt;has a large number of supporters and teachers who share their
15335 experience and problem solutions.&lt;/li&gt;
15336 &lt;/ul&gt;
15337
15338 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
15339 Edu?&lt;/strong&gt;&lt;/p&gt;
15340
15341 &lt;ul&gt;
15342 &lt;li&gt;Skolelinux is - as we had to learn - not easily upgradable to
15343 the next version. Opposed to its genuine Debian base, upgrading to
15344 a new version means a full new installation from scratch to get it
15345 working again reliably.
15346
15347 &lt;li&gt;Skolelinux is based on Debian/stable, and therefore always a
15348 little outdated in terms of program versions compared to Edubuntu or
15349 similar educational Linux distros, which rather use Debian/testing
15350 as their base.
15351
15352 &lt;li&gt;Skolelinux has some very self-opinionated and stubborn default
15353 configuration which in my opinion adds unnecessary complexity and is
15354 not always suitable for a schools needs, the preset network
15355 configuration is actually a core definition feature of Skolelinux
15356 and not easy to change, so schools sometimes have to change their
15357 network configuration to make it &quot;Skolelinux-compatible&quot;.
15358
15359 &lt;li&gt;Some proposed extensions, which were made available as
15360 contribution, like secure examination mode and lecture material
15361 distribution and collection, were not accepted into the mainline
15362 Skolelinux development and are now not easy to maintain in the
15363 future because of Skolelinux somewhat undeterministic update
15364 schemes.&lt;/li&gt;
15365
15366 &lt;li&gt;Skolelinux has only a very tiny number of base developers
15367 compared to Debian.&lt;/li&gt;
15368
15369 &lt;/ul&gt;
15370
15371 &lt;p&gt;For these reasons and experience from our project, I would now
15372 rather consider using plain Debian for schools next time, until
15373 Skolelinux is more closely integrated into Debian and becomes
15374 upgradeable without reinstallation.&lt;/p&gt;
15375
15376 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
15377
15378 &lt;p&gt;GNU/Linux with LXDE desktop, bash for interactive dialog and
15379 programming, texlive for documentation and correspondence,
15380 occasionally LibreOffice for document format conversion. Various
15381 programming languages for teaching.&lt;/p&gt;
15382
15383 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
15384 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
15385
15386 &lt;p&gt;Strong arguments are&lt;/p&gt;
15387
15388 &lt;ul&gt;
15389
15390 &lt;li&gt;Knowledge is free, and so should be methods and tools for
15391 teaching and learning.&lt;/li&gt;
15392
15393 &lt;li&gt;Students can learn with and use the same software at school, at
15394 home, and at their working place without running into license or
15395 conversion problems.&lt;/li&gt;
15396
15397 &lt;li&gt;Closed source or proprietary software hides knowledge rather
15398 than exposing it, and proprietary software vendors try to bind
15399 customers to certain products. But teachers need to teach
15400 science, not products.&lt;/li&gt;
15401
15402 &lt;li&gt;If you have everything you for daily work as open source, what
15403 would you need proprietary software for?&lt;/li&gt;
15404
15405 &lt;/ul&gt;
15406 </description>
15407 </item>
15408
15409 <item>
15410 <title>Dugnadsnett for alle, a wireless community network in Oslo, take shape</title>
15411 <link>https://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html</link>
15412 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html</guid>
15413 <pubDate>Sat, 30 Nov 2013 10:10:00 +0100</pubDate>
15414 <description>&lt;p&gt;If you want the ability to electronically communicate directly with
15415 your neighbors and friends using a network controlled by your peers in
15416 stead of centrally controlled by a few corporations, or would like to
15417 experiment with interesting network technology, the
15418 &lt;a href=&quot;http://www.dugnadsnett.no/&quot;&gt;Dugnasnett for alle i Oslo&lt;/a&gt;
15419 might be project for you. 39 mesh nodes are currently being planned,
15420 in the freshly started initiative from NUUG and Hackeriet to create a
15421 wireless community network. The work is inspired by
15422 &lt;a href=&quot;http://freifunk.net/&quot;&gt;Freifunk&lt;/a&gt;,
15423 &lt;a href=&quot;http://www.awmn.net/&quot;&gt;Athens Wireless Metropolitan
15424 Network&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Roofnet&quot;&gt;Roofnet&lt;/a&gt;
15425 and other successful mesh networks around the globe. Two days ago we
15426 held a workshop to try to get people started on setting up their own
15427 mesh node, and there we decided to create a new mailing list
15428 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/dugnadsnett&quot;&gt;dugnadsnett
15429 (at) nuug.no&lt;/a&gt; and IRC channel
15430 &lt;a href=&quot;irc://irc.freenode.net/#dugnadsnett.no&quot;&gt;#dugnadsnett.no&lt;/a&gt; to
15431 coordinate the work. See also the NUUG blog post
15432 &lt;a href=&quot;http://www.nuug.no/news/E_postliste_og_IRC_kanal_for_Dugnadsnett_for_alle_i_Oslo.shtml&quot;&gt;announcing
15433 the mailing list and IRC channel&lt;/a&gt;.&lt;/p&gt;
15434 </description>
15435 </item>
15436
15437 <item>
15438 <title>New chrpath release 0.15</title>
15439 <link>https://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html</link>
15440 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html</guid>
15441 <pubDate>Sun, 24 Nov 2013 09:30:00 +0100</pubDate>
15442 <description>&lt;p&gt;After many years break from the package and a vain hope that
15443 development would be continued by someone else, I finally pulled my
15444 acts together this morning and wrapped up a new release of chrpath,
15445 the command line tool to modify the rpath and runpath of already
15446 compiled ELF programs. The update was triggered by the persistence of
15447 Isha Vishnoi at IBM, which needed a new config.guess file to get
15448 support for the ppc64le architecture (powerpc 64-bit Little Endian) he
15449 is working on. I checked the
15450 &lt;a href=&quot;http://packages.qa.debian.org/chrpath&quot;&gt;Debian&lt;/a&gt;,
15451 &lt;a href=&quot;https://launchpad.net/ubuntu/+source/chrpath&quot;&gt;Ubuntu&lt;/a&gt; and
15452 &lt;a href=&quot;https://admin.fedoraproject.org/pkgdb/acls/name/chrpath&quot;&gt;Fedora&lt;/a&gt;
15453 packages for interesting patches (failed to find the source from
15454 OpenSUSE and Mandriva packages), and found quite a few nice fixes.
15455 These are the release notes:&lt;/p&gt;
15456
15457 &lt;p&gt;New in 0.15 released 2013-11-24:&lt;/p&gt;
15458
15459 &lt;ul&gt;
15460
15461 &lt;li&gt;Updated config.sub and config.guess from the GNU project to work
15462 with newer architectures. Thanks to isha vishnoi for the heads
15463 up.&lt;/li&gt;
15464
15465 &lt;li&gt;Updated README with current URLs.&lt;/li&gt;
15466
15467 &lt;li&gt;Added byteswap fix found in Ubuntu, credited Jeremy Kerr and
15468 Matthias Klose.&lt;/li&gt;
15469
15470 &lt;li&gt;Added missing help for -k|--keepgoing option, using patch by
15471 Petr Machata found in Fedora.&lt;/li&gt;
15472
15473 &lt;li&gt;Rewrite removal of RPATH/RUNPATH to make sure the entry in
15474 .dynamic is a NULL terminated string. Based on patch found in
15475 Fedora credited Axel Thimm and Christian Krause.&lt;/li&gt;
15476
15477 &lt;/ul&gt;
15478
15479 &lt;p&gt;You can
15480 &lt;a href=&quot;https://alioth.debian.org/frs/?group_id=31052&quot;&gt;download the
15481 new version 0.15 from alioth&lt;/a&gt;. Please let us know via the Alioth
15482 project if something is wrong with the new release. The test suite
15483 did not discover any old errors, so if you find a new one, please also
15484 include a testsuite check.&lt;/p&gt;
15485 </description>
15486 </item>
15487
15488 <item>
15489 <title>All drones should be radio marked with what they do and who they belong to</title>
15490 <link>https://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</link>
15491 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</guid>
15492 <pubDate>Thu, 21 Nov 2013 15:40:00 +0100</pubDate>
15493 <description>&lt;p&gt;Drones, flying robots, are getting more and more popular. The most
15494 know ones are the killer drones used by some government to murder
15495 people they do not like without giving them the chance of a fair
15496 trial, but the technology have many good uses too, from mapping and
15497 forest maintenance to photography and search and rescue. I am sure it
15498 is just a question of time before &quot;bad drones&quot; are in the hands of
15499 private enterprises and not only state criminals but petty criminals
15500 too. The drone technology is very useful and very dangerous. To have
15501 some control over the use of drones, I agree with Daniel Suarez in his
15502 TED talk
15503 &quot;&lt;a href=&quot;https://archive.org/details/DanielSuarez_2013G&quot;&gt;The kill
15504 decision shouldn&#39;t belong to a robot&lt;/a&gt;&quot;, where he suggested this
15505 little gem to keep the good while limiting the bad use of drones:&lt;/p&gt;
15506
15507 &lt;blockquote&gt;
15508
15509 &lt;p&gt;Each robot and drone should have a cryptographically signed
15510 I.D. burned in at the factory that can be used to track its movement
15511 through public spaces. We have license plates on cars, tail numbers on
15512 aircraft. This is no different. And every citizen should be able to
15513 download an app that shows the population of drones and autonomous
15514 vehicles moving through public spaces around them, both right now and
15515 historically. And civic leaders should deploy sensors and civic drones
15516 to detect rogue drones, and instead of sending killer drones of their
15517 own up to shoot them down, they should notify humans to their
15518 presence. And in certain very high-security areas, perhaps civic
15519 drones would snare them and drag them off to a bomb disposal facility.&lt;/p&gt;
15520
15521 &lt;p&gt;But notice, this is more an immune system than a weapons system. It
15522 would allow us to avail ourselves of the use of autonomous vehicles
15523 and drones while still preserving our open, civil society.&lt;/p&gt;
15524
15525 &lt;/blockquote&gt;
15526
15527 &lt;p&gt;The key is that &lt;em&gt;every citizen&lt;/em&gt; should be able to read the
15528 radio beacons sent from the drones in the area, to be able to check
15529 both the government and others use of drones. For such control to be
15530 effective, everyone must be able to do it. What should such beacon
15531 contain? At least formal owner, purpose, contact information and GPS
15532 location. Probably also the origin and target position of the current
15533 flight. And perhaps some registration number to be able to look up
15534 the drone in a central database tracking their movement. Robots
15535 should not have privacy. It is people who need privacy.&lt;/p&gt;
15536 </description>
15537 </item>
15538
15539 <item>
15540 <title>Lets make a wireless community network in Oslo!</title>
15541 <link>https://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</link>
15542 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</guid>
15543 <pubDate>Wed, 13 Nov 2013 21:00:00 +0100</pubDate>
15544 <description>&lt;p&gt;Today NUUG and Hackeriet announced
15545 &lt;a href=&quot;http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml&quot;&gt;our
15546 plans to join forces and create a wireless community network in
15547 Oslo&lt;/a&gt;. The workshop to help people get started will take place
15548 Thursday 2013-11-28, but we already are collecting the geolocation of
15549 people joining forces to make this happen. We have
15550 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson&quot;&gt;9
15551 locations plotted on the map&lt;/a&gt;, but we will need more before we have
15552 a connected mesh spread across Oslo. If this sound interesting to
15553 you, please join us at the workshop. If you are too impatient to wait
15554 15 days, please join us on the IRC channel
15555 &lt;a href=&quot;irc://irc.freenode.net/%23nuug&quot;&gt;#nuug on irc.freenode.net&lt;/a&gt;
15556 right away. :)&lt;/p&gt;
15557 </description>
15558 </item>
15559
15560 <item>
15561 <title>Running TP-Link MR3040 as a batman-adv mesh node using openwrt</title>
15562 <link>https://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</link>
15563 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</guid>
15564 <pubDate>Sun, 10 Nov 2013 23:00:00 +0100</pubDate>
15565 <description>&lt;p&gt;Continuing my research into mesh networking, I was recommended to
15566 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
15567 bought arrived on Friday. Here are my notes on how to set up the
15568 MR3040 as a mesh node using
15569 &lt;a href=&quot;http://www.openwrt.org/&quot;&gt;OpenWrt&lt;/a&gt;.&lt;/p&gt;
15570
15571 &lt;p&gt;I started by following the instructions on the OpenWRT wiki for
15572 &lt;a href=&quot;http://wiki.openwrt.org/toh/tp-link/tl-mr3040&quot;&gt;TL-MR3040&lt;/a&gt;,
15573 and downloaded
15574 &lt;a href=&quot;http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin&quot;&gt;the
15575 recommended firmware image&lt;/a&gt;
15576 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
15577 uploaded it into the original web interface. The flashing went fine,
15578 and the machine was available via telnet on the ethernet port. After
15579 logging in and setting the root password, ssh was available and I
15580 could start to set it up as a batman-adv mesh node.&lt;/p&gt;
15581
15582 &lt;p&gt;I started off by reading the instructions from
15583 &lt;a href=&quot;http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine&#39;s_Research&quot;&gt;Wireless
15584 Africa&lt;/a&gt;, which had quite a lot of useful information, but
15585 eventually I followed the recipe from the Open Mesh wiki for
15586 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config&quot;&gt;using
15587 batman-adv on OpenWrt&lt;/a&gt;. A small snag was the fact that the
15588 &lt;tt&gt;opkg install kmod-batman-adv&lt;/tt&gt; command did not work as it
15589 should. The batman-adv kernel module would fail to load because its
15590 dependency crc16 was not already loaded. I
15591 &lt;a href=&quot;https://dev.openwrt.org/ticket/14452&quot;&gt;reported the bug&lt;/a&gt; to
15592 the openwrt project and hope it will be fixed soon. But the problem
15593 only seem to affect initial testing of batman-adv, as configuration
15594 seem to work when booting from scratch.&lt;/p&gt;
15595
15596 &lt;p&gt;The setup is done using files in /etc/config/. I did not bridge
15597 the Ethernet and mesh interfaces this time, to be able to hook up the
15598 box on my local network and log into it for configuration updates.
15599 The following files were changed and look like this after modifying
15600 them:&lt;/p&gt;
15601
15602 &lt;p&gt;&lt;tt&gt;/etc/config/network&lt;/tt&gt;&lt;/p&gt;
15603
15604 &lt;pre&gt;
15605
15606 config interface &#39;loopback&#39;
15607 option ifname &#39;lo&#39;
15608 option proto &#39;static&#39;
15609 option ipaddr &#39;127.0.0.1&#39;
15610 option netmask &#39;255.0.0.0&#39;
15611
15612 config globals &#39;globals&#39;
15613 option ula_prefix &#39;fdbf:4c12:3fed::/48&#39;
15614
15615 config interface &#39;lan&#39;
15616 option ifname &#39;eth0&#39;
15617 option type &#39;bridge&#39;
15618 option proto &#39;dhcp&#39;
15619 option ipaddr &#39;192.168.1.1&#39;
15620 option netmask &#39;255.255.255.0&#39;
15621 option hostname &#39;tl-mr3040&#39;
15622 option ip6assign &#39;60&#39;
15623
15624 config interface &#39;mesh&#39;
15625 option ifname &#39;adhoc0&#39;
15626 option mtu &#39;1528&#39;
15627 option proto &#39;batadv&#39;
15628 option mesh &#39;bat0&#39;
15629 &lt;/pre&gt;
15630
15631 &lt;p&gt;&lt;tt&gt;/etc/config/wireless&lt;/tt&gt;&lt;/p&gt;
15632 &lt;pre&gt;
15633
15634 config wifi-device &#39;radio0&#39;
15635 option type &#39;mac80211&#39;
15636 option channel &#39;11&#39;
15637 option hwmode &#39;11ng&#39;
15638 option path &#39;platform/ar933x_wmac&#39;
15639 option htmode &#39;HT20&#39;
15640 list ht_capab &#39;SHORT-GI-20&#39;
15641 list ht_capab &#39;SHORT-GI-40&#39;
15642 list ht_capab &#39;RX-STBC1&#39;
15643 list ht_capab &#39;DSSS_CCK-40&#39;
15644 option disabled &#39;0&#39;
15645
15646 config wifi-iface &#39;wmesh&#39;
15647 option device &#39;radio0&#39;
15648 option ifname &#39;adhoc0&#39;
15649 option network &#39;mesh&#39;
15650 option encryption &#39;none&#39;
15651 option mode &#39;adhoc&#39;
15652 option bssid &#39;02:BA:00:00:00:01&#39;
15653 option ssid &#39;meshfx@hackeriet&#39;
15654 &lt;/pre&gt;
15655 &lt;p&gt;&lt;tt&gt;/etc/config/batman-adv&lt;/tt&gt;&lt;/p&gt;
15656 &lt;pre&gt;
15657
15658 config &#39;mesh&#39; &#39;bat0&#39;
15659 option interfaces &#39;adhoc0&#39;
15660 option &#39;aggregated_ogms&#39;
15661 option &#39;ap_isolation&#39;
15662 option &#39;bonding&#39;
15663 option &#39;fragmentation&#39;
15664 option &#39;gw_bandwidth&#39;
15665 option &#39;gw_mode&#39;
15666 option &#39;gw_sel_class&#39;
15667 option &#39;log_level&#39;
15668 option &#39;orig_interval&#39;
15669 option &#39;vis_mode&#39;
15670 option &#39;bridge_loop_avoidance&#39;
15671 option &#39;distributed_arp_table&#39;
15672 option &#39;network_coding&#39;
15673 option &#39;hop_penalty&#39;
15674
15675 # yet another batX instance
15676 # config &#39;mesh&#39; &#39;bat5&#39;
15677 # option &#39;interfaces&#39; &#39;second_mesh&#39;
15678 &lt;/pre&gt;
15679
15680 &lt;p&gt;The mesh node is now operational. I have yet to test its range,
15681 but I hope it is good. I have not yet tested the TP-Link 3600 box
15682 still wrapped up in plastic.&lt;/p&gt;
15683 </description>
15684 </item>
15685
15686 <item>
15687 <title>Debian init.d boot script example for rsyslog</title>
15688 <link>https://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</link>
15689 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</guid>
15690 <pubDate>Sat, 2 Nov 2013 22:40:00 +0100</pubDate>
15691 <description>&lt;p&gt;If one of the points of switching to a new init system in Debian is
15692 &lt;a href=&quot;http://thomas.goirand.fr/blog/?p=147&quot;&gt;to get rid of huge
15693 init.d scripts&lt;/a&gt;, I doubt we need to switch away from sysvinit and
15694 init.d scripts at all. Here is an example init.d script, ie a rewrite
15695 of /etc/init.d/rsyslog:&lt;/p&gt;
15696
15697 &lt;p&gt;&lt;pre&gt;
15698 #!/lib/init/init-d-script
15699 ### BEGIN INIT INFO
15700 # Provides: rsyslog
15701 # Required-Start: $remote_fs $time
15702 # Required-Stop: umountnfs $time
15703 # X-Stop-After: sendsigs
15704 # Default-Start: 2 3 4 5
15705 # Default-Stop: 0 1 6
15706 # Short-Description: enhanced syslogd
15707 # Description: Rsyslog is an enhanced multi-threaded syslogd.
15708 # It is quite compatible to stock sysklogd and can be
15709 # used as a drop-in replacement.
15710 ### END INIT INFO
15711 DESC=&quot;enhanced syslogd&quot;
15712 DAEMON=/usr/sbin/rsyslogd
15713 &lt;/pre&gt;&lt;/p&gt;
15714
15715 &lt;p&gt;Pretty minimalistic to me... For the record, the original sysv-rc
15716 script was 137 lines, and the above is just 15 lines, most of it meta
15717 info/comments.&lt;/p&gt;
15718
15719 &lt;p&gt;How to do this, you ask? Well, one create a new script
15720 /lib/init/init-d-script looking something like this:
15721
15722 &lt;p&gt;&lt;pre&gt;
15723 #!/bin/sh
15724
15725 # Define LSB log_* functions.
15726 # Depend on lsb-base (&gt;= 3.2-14) to ensure that this file is present
15727 # and status_of_proc is working.
15728 . /lib/lsb/init-functions
15729
15730 #
15731 # Function that starts the daemon/service
15732
15733 #
15734 do_start()
15735 {
15736 # Return
15737 # 0 if daemon has been started
15738 # 1 if daemon was already running
15739 # 2 if daemon could not be started
15740 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test &gt; /dev/null \
15741 || return 1
15742 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
15743 $DAEMON_ARGS \
15744 || return 2
15745 # Add code here, if necessary, that waits for the process to be ready
15746 # to handle requests from services started subsequently which depend
15747 # on this one. As a last resort, sleep for some time.
15748 }
15749
15750 #
15751 # Function that stops the daemon/service
15752 #
15753 do_stop()
15754 {
15755 # Return
15756 # 0 if daemon has been stopped
15757 # 1 if daemon was already stopped
15758 # 2 if daemon could not be stopped
15759 # other if a failure occurred
15760 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
15761 RETVAL=&quot;$?&quot;
15762 [ &quot;$RETVAL&quot; = 2 ] &amp;&amp; return 2
15763 # Wait for children to finish too if this is a daemon that forks
15764 # and if the daemon is only ever run from this initscript.
15765 # If the above conditions are not satisfied then add some other code
15766 # that waits for the process to drop all resources that could be
15767 # needed by services started subsequently. A last resort is to
15768 # sleep for some time.
15769 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
15770 [ &quot;$?&quot; = 2 ] &amp;&amp; return 2
15771 # Many daemons don&#39;t delete their pidfiles when they exit.
15772 rm -f $PIDFILE
15773 return &quot;$RETVAL&quot;
15774 }
15775
15776 #
15777 # Function that sends a SIGHUP to the daemon/service
15778 #
15779 do_reload() {
15780 #
15781 # If the daemon can reload its configuration without
15782 # restarting (for example, when it is sent a SIGHUP),
15783 # then implement that here.
15784 #
15785 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
15786 return 0
15787 }
15788
15789 SCRIPTNAME=$1
15790 scriptbasename=&quot;$(basename $1)&quot;
15791 echo &quot;SN: $scriptbasename&quot;
15792 if [ &quot;$scriptbasename&quot; != &quot;init-d-library&quot; ] ; then
15793 script=&quot;$1&quot;
15794 shift
15795 . $script
15796 else
15797 exit 0
15798 fi
15799
15800 NAME=$(basename $DAEMON)
15801 PIDFILE=/var/run/$NAME.pid
15802
15803 # Exit if the package is not installed
15804 #[ -x &quot;$DAEMON&quot; ] || exit 0
15805
15806 # Read configuration variable file if it is present
15807 [ -r /etc/default/$NAME ] &amp;&amp; . /etc/default/$NAME
15808
15809 # Load the VERBOSE setting and other rcS variables
15810 . /lib/init/vars.sh
15811
15812 case &quot;$1&quot; in
15813 start)
15814 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;
15815 do_start
15816 case &quot;$?&quot; in
15817 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
15818 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
15819 esac
15820 ;;
15821 stop)
15822 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;
15823 do_stop
15824 case &quot;$?&quot; in
15825 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
15826 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
15827 esac
15828 ;;
15829 status)
15830 status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?
15831 ;;
15832 #reload|force-reload)
15833 #
15834 # If do_reload() is not implemented then leave this commented out
15835 # and leave &#39;force-reload&#39; as an alias for &#39;restart&#39;.
15836 #
15837 #log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;
15838 #do_reload
15839 #log_end_msg $?
15840 #;;
15841 restart|force-reload)
15842 #
15843 # If the &quot;reload&quot; option is implemented then remove the
15844 # &#39;force-reload&#39; alias
15845 #
15846 log_daemon_msg &quot;Restarting $DESC&quot; &quot;$NAME&quot;
15847 do_stop
15848 case &quot;$?&quot; in
15849 0|1)
15850 do_start
15851 case &quot;$?&quot; in
15852 0) log_end_msg 0 ;;
15853 1) log_end_msg 1 ;; # Old process is still running
15854 *) log_end_msg 1 ;; # Failed to start
15855 esac
15856 ;;
15857 *)
15858 # Failed to stop
15859 log_end_msg 1
15860 ;;
15861 esac
15862 ;;
15863 *)
15864 echo &quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&quot; &gt;&amp;2
15865 exit 3
15866 ;;
15867 esac
15868
15869 :
15870 &lt;/pre&gt;&lt;/p&gt;
15871
15872 &lt;p&gt;It is based on /etc/init.d/skeleton, and could be improved quite a
15873 lot. I did not really polish the approach, so it might not always
15874 work out of the box, but you get the idea. I did not try very hard to
15875 optimize it nor make it more robust either.&lt;/p&gt;
15876
15877 &lt;p&gt;A better argument for switching init system in Debian than reducing
15878 the size of init scripts (which is a good thing to do anyway), is to
15879 get boot system that is able to handle the kernel events sensibly and
15880 robustly, and do not depend on the boot to run sequentially. The boot
15881 and the kernel have not behaved sequentially in years.&lt;/p&gt;
15882 </description>
15883 </item>
15884
15885 <item>
15886 <title>Browser plugin for SPICE (spice-xpi) uploaded to Debian</title>
15887 <link>https://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</link>
15888 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</guid>
15889 <pubDate>Fri, 1 Nov 2013 11:00:00 +0100</pubDate>
15890 <description>&lt;p&gt;&lt;a href=&quot;http://www.spice-space.org/&quot;&gt;The SPICE protocol&lt;/a&gt; for
15891 remote display access is the preferred solution with oVirt and RedHat
15892 Enterprise Virtualization, and I was sad to discover the other day
15893 that the browser plugin needed to use these systems seamlessly was
15894 missing in Debian. The &lt;a href=&quot;http://bugs.debian.org/668284&quot;&gt;request
15895 for a package&lt;/a&gt; was from 2012-04-10 with no progress since
15896 2013-04-01, so I decided to wrap up a package based on the great work
15897 from Cajus Pollmeier and put it in a collab-maint maintained git
15898 repository to get a package I could use. I would very much like
15899 others to help me maintain the package (or just take over, I do not
15900 mind), but as no-one had volunteered so far, I just uploaded it to
15901 NEW. I hope it will be available in Debian in a few days.&lt;/p&gt;
15902
15903 &lt;p&gt;The source is now available from
15904 &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;
15905 </description>
15906 </item>
15907
15908 <item>
15909 <title>Teaching vmdebootstrap to create Raspberry Pi SD card images</title>
15910 <link>https://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html</link>
15911 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html</guid>
15912 <pubDate>Sun, 27 Oct 2013 17:00:00 +0100</pubDate>
15913 <description>&lt;p&gt;The
15914 &lt;a href=&quot;http://packages.qa.debian.org/v/vmdebootstrap.html&quot;&gt;vmdebootstrap&lt;/a&gt;
15915 program is a a very nice system to create virtual machine images. It
15916 create a image file, add a partition table, mount it and run
15917 debootstrap in the mounted directory to create a Debian system on a
15918 stick. Yesterday, I decided to try to teach it how to make images for
15919 &lt;a href=&quot;https://wiki.debian.org/RaspberryPi&quot;&gt;Raspberry Pi&lt;/a&gt;, as part
15920 of a plan to simplify the build system for
15921 &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the FreedomBox
15922 project&lt;/a&gt;. The FreedomBox project already uses vmdebootstrap for
15923 the virtualbox images, but its current build system made multistrap
15924 based system for Dreamplug images, and it is lacking support for
15925 Raspberry Pi.&lt;/p&gt;
15926
15927 &lt;p&gt;Armed with the knowledge on how to build &quot;foreign&quot; (aka non-native
15928 architecture) chroots for Raspberry Pi, I dived into the vmdebootstrap
15929 code and adjusted it to be able to build armel images on my amd64
15930 Debian laptop. I ended up giving vmdebootstrap five new options,
15931 allowing me to replicate the image creation process I use to make
15932 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html&quot;&gt;Debian
15933 Jessie based mesh node images for the Raspberry Pi&lt;/a&gt;. First, the
15934 &lt;tt&gt;--foreign /path/to/binfm_handler&lt;/tt&gt; option tell vmdebootstrap to
15935 call debootstrap with --foreign and to copy the handler into the
15936 generated chroot before running the second stage. This allow
15937 vmdebootstrap to create armel images on an amd64 host. Next I added
15938 two new options &lt;tt&gt;--bootsize size&lt;/tt&gt; and &lt;tt&gt;--boottype
15939 fstype&lt;/tt&gt; to teach it to create a separate /boot/ partition with the
15940 given file system type, allowing me to create an image with a vfat
15941 partition for the /boot/ stuff. I also added a &lt;tt&gt;--variant
15942 variant&lt;/tt&gt; option to allow me to create smaller images without the
15943 Debian base system packages installed. Finally, I added an option
15944 &lt;tt&gt;--no-extlinux&lt;/tt&gt; to tell vmdebootstrap to not install extlinux
15945 as a boot loader. It is not needed on the Raspberry Pi and probably
15946 most other non-x86 architectures. The changes were accepted by the
15947 upstream author of vmdebootstrap yesterday and today, and is now
15948 available from
15949 &lt;a href=&quot;http://git.liw.fi/cgi-bin/cgit/cgit.cgi/vmdebootstrap/&quot;&gt;the
15950 upstream project page&lt;/a&gt;.&lt;/p&gt;
15951
15952 &lt;p&gt;To use it to build a Raspberry Pi image using Debian Jessie, first
15953 create a small script (the customize script) to add the non-free
15954 binary blob needed to boot the Raspberry Pi and the APT source
15955 list:&lt;/p&gt;
15956
15957 &lt;p&gt;&lt;pre&gt;
15958 #!/bin/sh
15959 set -e # Exit on first error
15960 rootdir=&quot;$1&quot;
15961 cd &quot;$rootdir&quot;
15962 cat &amp;lt;&amp;lt;EOF &gt; etc/apt/sources.list
15963 deb http://http.debian.net/debian/ jessie main contrib non-free
15964 EOF
15965 # Install non-free binary blob needed to boot Raspberry Pi. This
15966 # install a kernel somewhere too.
15967 wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update \
15968 -O $rootdir/usr/bin/rpi-update
15969 chmod a+x $rootdir/usr/bin/rpi-update
15970 mkdir -p $rootdir/lib/modules
15971 touch $rootdir/boot/start.elf
15972 chroot $rootdir rpi-update
15973 &lt;/pre&gt;&lt;/p&gt;
15974
15975 &lt;p&gt;Next, fetch the latest vmdebootstrap script and call it like this
15976 to build the image:&lt;/p&gt;
15977
15978 &lt;pre&gt;
15979 sudo ./vmdebootstrap \
15980 --variant minbase \
15981 --arch armel \
15982 --distribution jessie \
15983 --mirror http://http.debian.net/debian \
15984 --image test.img \
15985 --size 600M \
15986 --bootsize 64M \
15987 --boottype vfat \
15988 --log-level debug \
15989 --verbose \
15990 --no-kernel \
15991 --no-extlinux \
15992 --root-password raspberry \
15993 --hostname raspberrypi \
15994 --foreign /usr/bin/qemu-arm-static \
15995 --customize `pwd`/customize \
15996 --package netbase \
15997 --package git-core \
15998 --package binutils \
15999 --package ca-certificates \
16000 --package wget \
16001 --package kmod
16002 &lt;/pre&gt;&lt;/p&gt;
16003
16004 &lt;p&gt;The list of packages being installed are the ones needed by
16005 rpi-update to make the image bootable on the Raspberry Pi, with the
16006 exception of netbase, which is needed by debootstrap to find
16007 /etc/hosts with the minbase variant. I really wish there was a way to
16008 set up an Raspberry Pi using only packages in the Debian archive, but
16009 that is not possible as far as I know, because it boots from the GPU
16010 using a non-free binary blob.&lt;/p&gt;
16011
16012 &lt;p&gt;The build host need debootstrap, kpartx and qemu-user-static and
16013 probably a few others installed. I have not checked the complete
16014 build dependency list.&lt;/p&gt;
16015
16016 &lt;p&gt;The resulting image will not use the hardware floating point unit
16017 on the Raspberry PI, because the armel architecture in Debian is not
16018 optimized for that use. So the images created will be a bit slower
16019 than &lt;a href=&quot;http://www.raspbian.org/&quot;&gt;Raspbian&lt;/a&gt; based images.&lt;/p&gt;
16020 </description>
16021 </item>
16022
16023 <item>
16024 <title>A Raspberry Pi based batman-adv Mesh network node</title>
16025 <link>https://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html</link>
16026 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html</guid>
16027 <pubDate>Mon, 21 Oct 2013 11:40:00 +0200</pubDate>
16028 <description>&lt;p&gt;The last few days I have been experimenting with
16029 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki&quot;&gt;the
16030 batman-adv mesh technology&lt;/a&gt;. I want to gain some experience to see
16031 if it will fit &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the
16032 Freedombox project&lt;/a&gt;, and together with my neighbors try to build a
16033 mesh network around the park where I live. Batman-adv is a layer 2
16034 mesh system (&quot;ethernet&quot; in other words), where the mesh network appear
16035 as if all the mesh clients are connected to the same switch.&lt;/p&gt;
16036
16037 &lt;p&gt;My hardware of choice was the Linksys WRT54GL routers I had lying
16038 around, but I&#39;ve been unable to get them working with batman-adv. So
16039 instead, I started playing with a
16040 &lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;Raspberry Pi&lt;/a&gt;, and tried to
16041 get it working as a mesh node. My idea is to use it to create a mesh
16042 node which function as a switch port, where everything connected to
16043 the Raspberry Pi ethernet plug is connected (bridged) to the mesh
16044 network. This allow me to hook a wifi base station like the Linksys
16045 WRT54GL to the mesh by plugging it into a Raspberry Pi, and allow
16046 non-mesh clients to hook up to the mesh. This in turn is useful for
16047 Android phones using &lt;a href=&quot;http://servalproject.org/&quot;&gt;the Serval
16048 Project&lt;/a&gt; voip client, allowing every one around the playground to
16049 phone and message each other for free. The reason is that Android
16050 phones do not see ad-hoc wifi networks (they are filtered away from
16051 the GUI view), and can not join the mesh without being rooted. But if
16052 they are connected using a normal wifi base station, they can talk to
16053 every client on the local network.&lt;/p&gt;
16054
16055 &lt;p&gt;To get this working, I&#39;ve created a debian package
16056 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node&quot;&gt;meshfx-node&lt;/a&gt;
16057 and a script
16058 &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;
16059 to create the Raspberry Pi boot image. I&#39;m using Debian Jessie (and
16060 not Raspbian), to get more control over the packages available.
16061 Unfortunately a huge binary blob need to be inserted into the boot
16062 image to get it booting, but I&#39;ll ignore that for now. Also, as
16063 Debian lack support for the CPU features available in the Raspberry
16064 Pi, the system do not use the hardware floating point unit. I hope
16065 the routing performance isn&#39;t affected by the lack of hardware FPU
16066 support.&lt;/p&gt;
16067
16068 &lt;p&gt;To create an image, run the following with a sudo enabled user
16069 after inserting the target SD card into the build machine:&lt;/p&gt;
16070
16071 &lt;p&gt;&lt;pre&gt;
16072 % wget -O build-rpi-mesh-node \
16073 https://raw.github.com/petterreinholdtsen/meshfx-node/master/build-rpi-mesh-node
16074 % sudo bash -x ./build-rpi-mesh-node &gt; build.log 2&gt;&amp;1
16075 % dd if=/root/rpi/rpi_basic_jessie_$(date +%Y%m%d).img of=/dev/mmcblk0 bs=1M
16076 %
16077 &lt;/pre&gt;&lt;/p&gt;
16078
16079 &lt;p&gt;Booting with the resulting SD card on a Raspberry PI with a USB
16080 wifi card inserted should give you a mesh node. At least it does for
16081 me with a the wifi card I am using. The default mesh settings are the
16082 ones used by the Oslo mesh project at Hackeriet, as I mentioned in
16083 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html&quot;&gt;an
16084 earlier blog post about this mesh testing&lt;/a&gt;.&lt;/p&gt;
16085
16086 &lt;p&gt;The mesh node was not horribly expensive either. I bought
16087 everything over the counter in shops nearby. If I had ordered online
16088 from the lowest bidder, the price should be significantly lower:&lt;/p&gt;
16089
16090 &lt;p&gt;&lt;table&gt;
16091
16092 &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;
16093 &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;
16094 &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;
16095 &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;
16096 &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;
16097 &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;
16098
16099 &lt;/table&gt;&lt;/p&gt;
16100
16101 &lt;p&gt;Now my mesh network at home consist of one laptop in the basement
16102 connected to my production network, one Raspberry Pi node on the 1th
16103 floor that can be seen by my neighbor across the park, and one
16104 play-node I use to develop the image building script. And some times
16105 I hook up my work horse laptop to the mesh to test it. I look forward
16106 to figuring out what kind of latency the batman-adv setup will give,
16107 and how much packet loss we will experience around the park. :)&lt;/p&gt;
16108 </description>
16109 </item>
16110
16111 <item>
16112 <title>Perl library to control the Spykee robot moved to github</title>
16113 <link>https://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html</link>
16114 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html</guid>
16115 <pubDate>Sat, 19 Oct 2013 10:20:00 +0200</pubDate>
16116 <description>&lt;p&gt;Back in 2010, I created a Perl library to talk to
16117 &lt;a href=&quot;http://en.wikipedia.org/wiki/Spykee&quot;&gt;the Spykee robot&lt;/a&gt;
16118 (with two belts, wifi, USB and Linux) and made it available from my
16119 web page. Today I concluded that it should move to a site that is
16120 easier to use to cooperate with others, and moved it to github. If
16121 you got a Spykee robot, you might want to check out
16122 &lt;a href=&quot;https://github.com/petterreinholdtsen/libspykee-perl&quot;&gt;the
16123 libspykee-perl github repository&lt;/a&gt;.&lt;/p&gt;
16124 </description>
16125 </item>
16126
16127 <item>
16128 <title>Good causes: Debian Outreach Program for Women, EFF documenting the spying and Open access in Norway</title>
16129 <link>https://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html</link>
16130 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html</guid>
16131 <pubDate>Tue, 15 Oct 2013 21:30:00 +0200</pubDate>
16132 <description>&lt;p&gt;The last few days I came across a few good causes that should get
16133 wider attention. I recommend signing and donating to each one of
16134 these. :)&lt;/p&gt;
16135
16136 &lt;p&gt;Via &lt;a href=&quot;http://www.debian.org/News/weekly/2013/18/&quot;&gt;Debian
16137 Project News for 2013-10-14&lt;/a&gt; I came across the Outreach Program for
16138 Women program which is a Google Summer of Code like initiative to get
16139 more women involved in free software. One debian sponsor has offered
16140 to match &lt;a href=&quot;http://debian.ch/opw2013&quot;&gt;any donation done to Debian
16141 earmarked&lt;/a&gt; for this initiative. I donated a few minutes ago, and
16142 hope you will to. :)&lt;/p&gt;
16143
16144 &lt;p&gt;And the Electronic Frontier Foundation just announced plans to
16145 create &lt;a href=&quot;https://supporters.eff.org/donate/nsa-videos&quot;&gt;video
16146 documentaries about the excessive spying&lt;/a&gt; on every Internet user that
16147 take place these days, and their need to fund the work. I&#39;ve already
16148 donated. Are you next?&lt;/p&gt;
16149
16150 &lt;p&gt;For my Norwegian audience, the organisation Studentenes og
16151 Akademikernes Internasjonale Hjelpefond is collecting signatures for a
16152 statement under the heading
16153 &lt;a href=&quot;http://saih.no/Bloggers_United/&quot;&gt;Bloggers United for Open
16154 Access&lt;/a&gt; for those of us asking for more focus on open access in the
16155 Norwegian government. So far 499 signatures. I hope you will sign it
16156 too.&lt;/p&gt;
16157 </description>
16158 </item>
16159
16160 <item>
16161 <title>Oslo community mesh network - with NUUG and Hackeriet at Hausmania</title>
16162 <link>https://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html</link>
16163 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html</guid>
16164 <pubDate>Fri, 11 Oct 2013 14:10:00 +0200</pubDate>
16165 <description>&lt;p&gt;Wireless mesh networks are self organising and self healing
16166 networks that can be used to connect computers across small and large
16167 areas, depending on the radio technology used. Normal wifi equipment
16168 can be used to create home made radio networks, and there are several
16169 successful examples like
16170 &lt;a href=&quot;http://www.freifunk.net/&quot;&gt;Freifunk&lt;/a&gt; and
16171 &lt;a href=&quot;http://www.awmn.net/&quot;&gt;Athens Wireless Metropolitan Network&lt;/a&gt;
16172 (see
16173 &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece&quot;&gt;wikipedia
16174 for a large list&lt;/a&gt;) around the globe. To give you an idea how it
16175 work, check out the nice overview of the Kiel Freifunk community which
16176 can be seen from their
16177 &lt;a href=&quot;http://freifunk.in-kiel.de/ffmap/nodes.html&quot;&gt;dynamically
16178 updated node graph and map&lt;/a&gt;, where one can see how the mesh nodes
16179 automatically handle routing and recover from nodes disappearing.
16180 There is also a small community mesh network group in Oslo, Norway,
16181 and that is the main topic of this blog post.&lt;/p&gt;
16182
16183 &lt;p&gt;I&#39;ve wanted to check out mesh networks for a while now, and hoped
16184 to do it as part of my involvement with the &lt;a
16185 href=&quot;http://www.nuug.no/&quot;&gt;NUUG member organisation&lt;/a&gt; community, and
16186 my recent involvement in
16187 &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;the Freedombox project&lt;/a&gt;
16188 finally lead me to give mesh networks some priority, as I suspect a
16189 Freedombox should use mesh networks to connect neighbours and family
16190 when possible, given that most communication between people are
16191 between those nearby (as shown for example by research on Facebook
16192 communication patterns). It also allow people to communicate without
16193 any central hub to tap into for those that want to listen in on the
16194 private communication of citizens, which have become more and more
16195 important over the years.&lt;/p&gt;
16196
16197 &lt;p&gt;So far I have only been able to find one group of people in Oslo
16198 working on community mesh networks, over at the hack space
16199 &lt;a href=&quot;http://hackeriet.no/&quot;&gt;Hackeriet&lt;/a&gt; at Husmania. They seem to
16200 have started with some Freifunk based effort using OLSR, called
16201 &lt;a href=&quot;http://oslo.freifunk.net/index.php?title=Main_Page&quot;&gt;the Oslo
16202 Freifunk project&lt;/a&gt;, but that effort is now dead and the people
16203 behind it have moved on to a batman-adv based system called
16204 &lt;a href=&quot;http://meshfx.org/trac&quot;&gt;meshfx&lt;/a&gt;. Unfortunately the wiki
16205 site for the Oslo Freifunk project is no longer possible to update to
16206 reflect this fact, so the old project page can&#39;t be updated to point to
16207 the new project. A while back, the people at Hackeriet invited people
16208 from the Freifunk community to Oslo to talk about mesh networks. I
16209 came across this video where Hans Jørgen Lysglimt interview the
16210 speakers about this talk (from
16211 &lt;a href=&quot;https://www.youtube.com/watch?v=N2Kd7CLkhSY&quot;&gt;youtube&lt;/a&gt;):&lt;/p&gt;
16212
16213 &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;
16214
16215 &lt;p&gt;I mentioned OLSR and batman-adv, which are mesh routing protocols.
16216 There are heaps of different protocols, and I am still struggling to
16217 figure out which one would be &quot;best&quot; for some definitions of best, but
16218 given that the community mesh group in Oslo is so small, I believe it
16219 is best to hook up with the existing one instead of trying to create a
16220 completely different setup, and thus I have decided to focus on
16221 batman-adv for now. It sure help me to know that the very cool
16222 &lt;a href=&quot;http://www.servalproject.org/&quot;&gt;Serval project in Australia&lt;/a&gt;
16223 is using batman-adv as their meshing technology when it create a self
16224 organizing and self healing telephony system for disaster areas and
16225 less industrialized communities. Check out this cool video presenting
16226 that project (from
16227 &lt;a href=&quot;https://www.youtube.com/watch?v=30qNfzJCQOA&quot;&gt;youtube&lt;/a&gt;):&lt;/p&gt;
16228
16229 &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;
16230
16231 &lt;p&gt;According to the wikipedia page on
16232 &lt;a href=&quot;http://en.wikipedia.org/wiki/Wireless_mesh_network&quot;&gt;Wireless
16233 mesh network&lt;/a&gt; there are around 70 competing schemes for routing
16234 packets across mesh networks, and OLSR, B.A.T.M.A.N. and
16235 B.A.T.M.A.N. advanced are protocols used by several free software
16236 based community mesh networks.&lt;/p&gt;
16237
16238 &lt;p&gt;The batman-adv protocol is a bit special, as it provide layer 2
16239 (as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
16240 network. One way to think about it is that it provide a mesh based
16241 vlan you can bridge to or handle like any other vlan connected to your
16242 computer. The required drivers are already in the Linux kernel at
16243 least since Debian Wheezy, and it is fairly easy to set up. A
16244 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide&quot;&gt;good
16245 introduction&lt;/a&gt; is available from the Open Mesh project. These are
16246 the key settings needed to join the Oslo meshfx network:&lt;/p&gt;
16247
16248 &lt;p&gt;&lt;table&gt;
16249 &lt;tr&gt;&lt;th&gt;Setting&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;
16250 &lt;tr&gt;&lt;td&gt;Protocol / kernel module&lt;/td&gt;&lt;td&gt;batman-adv&lt;/td&gt;&lt;/tr&gt;
16251 &lt;tr&gt;&lt;td&gt;ESSID&lt;/td&gt;&lt;td&gt;meshfx@hackeriet&lt;/td&gt;&lt;/tr&gt;
16252 &lt;td&gt;Channel / Frequency&lt;/td&gt;&lt;td&gt;11 / 2462&lt;/td&gt;&lt;/tr&gt;
16253 &lt;td&gt;Cell ID&lt;/td&gt;&lt;td&gt;02:BA:00:00:00:01&lt;/td&gt;
16254 &lt;/table&gt;&lt;/p&gt;
16255
16256 &lt;p&gt;The reason for setting ad-hoc wifi Cell ID is to work around bugs
16257 in firmware used in wifi card and wifi drivers. (See a nice post from
16258 VillageTelco about
16259 &quot;&lt;a href=&quot;http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html&quot;&gt;Information
16260 about cell-id splitting, stuck beacons, and failed IBSS merges!&lt;/a&gt;
16261 for details.) When these settings are activated and you have some
16262 other mesh node nearby, your computer will be connected to the mesh
16263 network and can communicate with any mesh node that is connected to
16264 any of the nodes in your network of nodes. :)&lt;/p&gt;
16265
16266 &lt;p&gt;My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
16267 but that seem to be very hard, as I have not been able to locate a
16268 firmware supporting batman-adv. If anyone know how to use that old
16269 wifi access point with batman-adv these days, please let me know.&lt;/p&gt;
16270
16271 &lt;p&gt;If you find this project interesting and want to join, please join
16272 us on IRC, either channel
16273 &lt;a href=&quot;irc://irc.freenode.net/#oslohackerspace&quot;&gt;#oslohackerspace&lt;/a&gt;
16274 or &lt;a href=&quot;irc://irc.freenode.net/#nuug&quot;&gt;#nuug&lt;/a&gt; on
16275 irc.freenode.net.&lt;/p&gt;
16276
16277 &lt;p&gt;While investigating mesh networks in Oslo, I came across an old
16278 research paper from the university of Stavanger and Telenor Research
16279 and Innovation called
16280 &lt;a href=&quot;http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf&quot;&gt;The
16281 reliability of wireless backhaul mesh networks&lt;/a&gt; and elsewhere
16282 learned that Telenor have been experimenting with mesh networks at
16283 Grünerløkka in Oslo. So mesh networks are also interesting for
16284 commercial companies, even though Telenor discovered that it was hard
16285 to figure out a good business plan for mesh networking and as far as I
16286 know have closed down the experiment. Perhaps Telenor or others would
16287 be interested in a cooperation?&lt;/p&gt;
16288
16289 &lt;p&gt;&lt;strong&gt;Update 2013-10-12&lt;/strong&gt;: I was just
16290 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html&quot;&gt;told
16291 by the Serval project developers&lt;/a&gt; that they no longer use
16292 batman-adv (but are compatible with it), but their own crypto based
16293 mesh system.&lt;/p&gt;
16294 </description>
16295 </item>
16296
16297 <item>
16298 <title>Skolelinux / Debian Edu 7.1 install and overview video from Marcelo Salvador</title>
16299 <link>https://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_7_1_install_and_overview_video_from_Marcelo_Salvador.html</link>
16300 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_7_1_install_and_overview_video_from_Marcelo_Salvador.html</guid>
16301 <pubDate>Tue, 8 Oct 2013 17:10:00 +0200</pubDate>
16302 <description>&lt;p&gt;The other day I was pleased and surprised to discover that Marcelo
16303 Salvador had published a
16304 &lt;a href=&quot;https://www.youtube.com/watch?v=w-GgpdqgLFc&quot;&gt;video on
16305 Youtube&lt;/a&gt; showing how to install the standalone Debian Edu /
16306 Skolelinux profile. This is the profile intended for use at home or
16307 on laptops that should not be integrated into the provided network
16308 services (no central home directory, no Kerberos / LDAP directory etc,
16309 in other word a single user machine). The result is 11 minutes long,
16310 and show some user applications (seem to be rather randomly picked).
16311 Missed a few of my favorites like celestia, planets and chromium
16312 showing the &lt;a href=&quot;http://www.zygotebody.com/&quot;&gt;Zygote Body 3D model
16313 of the human body&lt;/a&gt;, but I guess he did not know about those or find
16314 other programs more interesting. :) And the video do not show the
16315 advantages I believe is one of the most valuable featuers in Debian
16316 Edu, its central school server making it possible to run hundreds of
16317 computers without hard drives by installing one central
16318 &lt;a href=&quot;http://www.ltsp.org/&quot;&gt;LTSP server&lt;/a&gt;.&lt;/p&gt;
16319
16320 &lt;p&gt;Anyway, check out the video, embedded below and linked to above:&lt;/p&gt;
16321
16322 &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;
16323
16324 &lt;p&gt;Are there other nice videos demonstrating Skolelinux? Please let
16325 me know. :)&lt;/p&gt;
16326 </description>
16327 </item>
16328
16329 <item>
16330 <title>Finally, Debian Edu Wheezy is released today!</title>
16331 <link>https://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html</link>
16332 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html</guid>
16333 <pubDate>Sun, 29 Sep 2013 10:20:00 +0200</pubDate>
16334 <description>&lt;p&gt;A few hours ago, the announcement for the first stable release of
16335 Debian Edu Wheezy went out from the Debian publicity team. The
16336 complete announcement text can be found at
16337 &lt;a href=&quot;http://www.debian.org/News/2013/20130928&quot;&gt;the Debian News
16338 section&lt;/a&gt;, translated to several languages. Please check it out.&lt;/p&gt;
16339
16340 &lt;p&gt;There is one minor known problem that we will fix very soon. One
16341 can not install a amd64 Thin Client Server using PXE, as the /var/
16342 partition is too small. A workaround is to extend the partition (use
16343 lvresize + resize2fs in tty 2 while installing).&lt;/p&gt;
16344 </description>
16345 </item>
16346
16347 <item>
16348 <title>Videos about the Freedombox project - for inspiration and learning</title>
16349 <link>https://people.skolelinux.org/pere/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html</link>
16350 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html</guid>
16351 <pubDate>Fri, 27 Sep 2013 14:10:00 +0200</pubDate>
16352 <description>&lt;p&gt;The &lt;a href=&quot;http://www.freedomboxfoundation.org/&quot;&gt;Freedombox
16353 project&lt;/a&gt; have been going on for a while, and have presented the
16354 vision, ideas and solution several places. Here is a little
16355 collection of videos of talks and presentation of the project.&lt;/p&gt;
16356
16357 &lt;ul&gt;
16358
16359 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=ukvUz5taxvA&quot;&gt;FreedomBox -
16360 2,5 minute marketing film&lt;/a&gt; (Youtube)&lt;/li&gt;
16361
16362 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=SzW25QTVWsE&quot;&gt;Eben Moglen
16363 discusses the Freedombox on CBS news 2011&lt;/a&gt; (Youtube)&lt;/li&gt;
16364
16365 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=Ae8SZbxfE0g&quot;&gt;Eben Moglen -
16366 Freedom in the Cloud - Software Freedom, Privacy and and Security for
16367 Web 2.0 and Cloud computing at ISOC-NY Public Meeting 2010&lt;/a&gt;
16368 (Youtube)&lt;/li&gt;
16369
16370 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=vNaIji_3xBE&quot;&gt;Fosdem 2011
16371 Keynote by Eben Moglen presenting the Freedombox&lt;/a&gt; (Youtube)&lt;/li&gt;
16372
16373 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9bDDUyJSQ9s&quot;&gt;Presentation of
16374 the Freedombox by James Vasile at Elevate in Gratz 2011&lt;/a&gt; (Youtube)&lt;/li&gt;
16375
16376 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=zQTmnk27g9s&quot;&gt; Freedombox -
16377 Discovery, Identity, and Trust by Nick Daly at Freedombox Hackfest New
16378 York City in 2012&lt;/a&gt; (Youtube)&lt;/li&gt;
16379
16380 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=tkbSB4Ba7Ck&quot;&gt;Introduction
16381 to the Freedombox at Freedombox Hackfest New York City in 2012&lt;/a&gt;
16382 (Youtube)&lt;/li&gt;
16383
16384 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=z-P2Jaeg0aQ&quot;&gt;Freedom, Out
16385 of the Box! by Bdale Garbee at linux.conf.au Ballarat, 2012&lt;/a&gt; (Youtube) &lt;/li&gt;
16386
16387 &lt;li&gt;&lt;a href=&quot;https://archive.fosdem.org/2013/schedule/event/freedombox/&quot;&gt;Freedombox
16388 1.0 by Eben Moglen and Bdale Garbee at Fosdem 2013&lt;/a&gt; (FOSDEM) &lt;/li&gt;
16389
16390 &lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=e1LpYX2zVYg&quot;&gt;What is the
16391 FreedomBox today by Bdale Garbee at Debconf13 in Vaumarcus
16392 2013&lt;/a&gt; (Youtube)&lt;/li&gt;
16393
16394 &lt;/ul&gt;
16395
16396 &lt;p&gt;A larger list is available from
16397 &lt;a href=&quot;https://wiki.debian.org/FreedomBox/TalksAndPresentations&quot;&gt;the
16398 Freedombox Wiki&lt;/a&gt;.&lt;/p&gt;
16399
16400 &lt;p&gt;On other news, I am happy to report that Freedombox based on Debian
16401 Jessie is coming along quite well, and soon both Owncloud and using
16402 Tor should be available for testers of the Freedombox solution. :) In
16403 a few weeks I hope everything needed to test it is included in Debian.
16404 The withsqlite package is already in Debian, and the plinth package is
16405 pending in NEW. The third and vital part of that puzzle is the
16406 metapackage/setup framework, which is still pending an upload. Join
16407 us on &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC
16408 (#freedombox on irc.debian.org)&lt;/a&gt; and
16409 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
16410 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
16411 </description>
16412 </item>
16413
16414 <item>
16415 <title>Third and probably last beta release of Debian Edu Wheezy</title>
16416 <link>https://people.skolelinux.org/pere/blog/Third_and_probably_last_beta_release_of_Debian_Edu_Wheezy.html</link>
16417 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Third_and_probably_last_beta_release_of_Debian_Edu_Wheezy.html</guid>
16418 <pubDate>Mon, 16 Sep 2013 21:30:00 +0200</pubDate>
16419 <description>&lt;p&gt;The third wheezy based beta release of Debian Edu was wrapped up
16420 today. This is the release announcement from Holger Levsen:&lt;/p&gt;
16421
16422 &lt;blockquote&gt;
16423 &lt;p&gt;Hi,&lt;/p&gt;
16424
16425 &lt;p&gt;it is my pleasure to announce the third beta release (beta 2 for
16426 short) of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
16427 Skolelinux&lt;/a&gt; based on Debian Wheezy!&lt;/p&gt;
16428
16429 &lt;p&gt;Please test these images extensivly, if no new problems are found
16430 we plan to do this final Debian Edu Wheezy release this coming
16431 weekend. We are not aware of any major problems or blockers in beta2,
16432 if you find something, please notify us immediately!&lt;/p&gt;
16433
16434 &lt;p&gt;(More about the remaining steps for the Edu Wheezy release in
16435 another mail to the edu list tonight or tomorrow...)&lt;/p&gt;
16436
16437 &lt;p&gt;Noteworthy changes and software updates for Debian Edu 7.1+edu0~b2
16438 compared to beta1:&lt;/p&gt;
16439
16440 &lt;ul&gt;
16441
16442 &lt;li&gt;The KDE proxy setup has been adjusted to use the provided wpad.dat. This
16443 also gets Chromium to use this proxy.&lt;/li&gt;
16444 &lt;li&gt;Install kdepim-groupware with KDE desktops to make sure korganizer
16445 understand ical/dav sources.&lt;/li&gt;
16446 &lt;li&gt;Increased default maximum size of /var/spool/squid and /skole/backup on the
16447 main server.&lt;/li&gt;
16448 &lt;li&gt;A source DVD image containing all source packages is now available as well.&lt;/li&gt;
16449 &lt;li&gt;Updates for chromium (29.0.1547.57-1~deb7u1), imagemagick
16450 (6.7.7.10-5+deb7u2), php5 (5.4.4-14+deb7u4), libmodplug
16451 (0.8.8.4-3+deb7u1+git20130828), tiff (4.0.2-6+deb7u2), linux-image
16452 (3.2.0-4-486_3.2.46-1+deb7u1).&lt;/li&gt;
16453
16454 &lt;/ul&gt;
16455
16456 &lt;p&gt;Where to get it:&lt;/p&gt;
16457
16458 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
16459
16460 &lt;ul&gt;
16461 &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;
16462 &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;
16463 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso .&lt;/li&gt;
16464 &lt;/ul&gt;
16465
16466 &lt;p&gt;The SHA1SUM of this image is: 3a1c89f4666df80eebcd46c5bf5fedb866f9472f&lt;/p&gt;
16467
16468 &lt;p&gt;To download the multiarch USB stick ISO release you can use
16469 &lt;ul&gt;
16470 &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;
16471 &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;
16472 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso .&lt;/li&gt;
16473 &lt;/ul&gt;
16474
16475 &lt;p&gt;The SHA1SUM of this image is: 702d1718548f401c74bfa6df9f032cc3ee16597e&lt;/p&gt;
16476
16477 &lt;p&gt;The Source DVD image has the filename
16478 debian-edu-7.1+edu0~b2-source-DVD.iso and the SHA1SUM
16479 089eed8b3f962db47aae1f6a9685e9bb2fa30ca5 and is available the same way
16480 as the other isos.&lt;/p&gt;
16481
16482 &lt;p&gt;How to report bugs&lt;/p&gt;
16483
16484 &lt;p&gt;For information how to report bugs please see
16485 &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;
16486
16487
16488 &lt;p&gt;About Debian Edu and Skolelinux&lt;/p&gt;
16489
16490 &lt;p&gt;Debian Edu, also known as Skolelinux, is a Linux distribution based
16491 on Debian providing an out-of-the box environment of a completely
16492 configured school network. Immediately after installation a school
16493 server running all services needed for a school network is set up just
16494 waiting for users and machines being added via GOsa², a comfortable
16495 Web-UI. A netbooting environment is prepared using PXE, so after
16496 initial installation of the main server from CD or USB stick all other
16497 machines can be installed via the network. The provided school server
16498 provides LDAP database and Kerberos authentication service,
16499 centralized home directories, DHCP server, web proxy and many other
16500 services. The desktop contains more than 60 educational software
16501 packages and more are available from the Debian archive, and schools
16502 can choose between KDE, Gnome, LXDE and Xfce desktop environment.&lt;/p&gt;
16503
16504 &lt;p&gt;This is the seventh test release based on Debian Wheezy. Basically
16505 this is an updated and slightly improved version compared to the
16506 Squeeze release.&lt;/p&gt;
16507
16508 &lt;p&gt;Notes for upgrades from Alpha Prereleases&lt;/p&gt;
16509
16510 &lt;p&gt;Alpha based installations should reinstall or downgrade the
16511 versions of gosa and libpam-mklocaluser to the ones used in this beta
16512 release. Both alpha and beta0 based installations should reinstall or
16513 deal with gosa.conf manually; there are two options: (1) Keep
16514 gosa.conf and edit this file as outlined on the mailing list. (2)
16515 Accept the new version of gosa.conf and replace both contained admin
16516 password placeholders with the password hashes found in the old one
16517 (backup copy!). In both cases all users need to change their password
16518 to make sure a password is set for CIFS access to their home
16519 directory.&lt;/p&gt;
16520
16521
16522 &lt;p&gt;cheers,
16523 &lt;br&gt; Holger&lt;/p&gt;
16524 &lt;/blockquote&gt;
16525 </description>
16526 </item>
16527
16528 <item>
16529 <title>Recipe to test the Freedombox project on amd64 or Raspberry Pi</title>
16530 <link>https://people.skolelinux.org/pere/blog/Recipe_to_test_the_Freedombox_project_on_amd64_or_Raspberry_Pi.html</link>
16531 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Recipe_to_test_the_Freedombox_project_on_amd64_or_Raspberry_Pi.html</guid>
16532 <pubDate>Tue, 10 Sep 2013 14:20:00 +0200</pubDate>
16533 <description>&lt;p&gt;I was introduced to the
16534 &lt;a href=&quot;http://www.freedomboxfoundation.org/&quot;&gt;Freedombox project&lt;/a&gt;
16535 in 2010, when Eben Moglen presented his vision about serving the need
16536 of non-technical people to keep their personal information private and
16537 within the legal protection of their own homes. The idea is to give
16538 people back the power over their network and machines, and return
16539 Internet back to its intended peer-to-peer architecture. Instead of
16540 depending on a central service, the Freedombox will give everyone
16541 control over their own basic infrastructure.&lt;/p&gt;
16542
16543 &lt;p&gt;I&#39;ve intended to join the effort since then, but other tasks have
16544 taken priority. But this summers nasty news about the misuse of trust
16545 and privilege exercised by the &quot;western&quot; intelligence gathering
16546 communities increased my eagerness to contribute to a point where I
16547 actually started working on the project a while back.&lt;/p&gt;
16548
16549 &lt;p&gt;The &lt;a href=&quot;https://alioth.debian.org/projects/freedombox/&quot;&gt;initial
16550 Debian initiative&lt;/a&gt; based on the vision from Eben Moglen, is to
16551 create a simple and cheap Debian based appliance that anyone can hook
16552 up in their home and get access to secure and private services and
16553 communication. The initial deployment platform have been the
16554 &lt;a href=&quot;http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx&quot;&gt;Dreamplug&lt;/a&gt;,
16555 which is a piece of hardware I do not own. So to be able to test what
16556 the current Freedombox setup look like, I had to come up with a way to install
16557 it on some hardware I do have access to. I have rewritten the
16558 &lt;a href=&quot;https://github.com/NickDaly/freedom-maker&quot;&gt;freedom-maker&lt;/a&gt;
16559 image build framework to use .deb packages instead of only copying
16560 setup into the boot images, and thanks to this rewrite I am able to
16561 set up any machine supported by Debian Wheezy as a Freedombox, using
16562 the previously mentioned deb (and a few support debs for packages
16563 missing in Debian).&lt;/p&gt;
16564
16565 &lt;p&gt;The current Freedombox setup consist of a set of bootstrapping
16566 scripts
16567 (&lt;a href=&quot;https://github.com/petterreinholdtsen/freedombox-setup&quot;&gt;freedombox-setup&lt;/a&gt;),
16568 and a administrative web interface
16569 (&lt;a href=&quot;https://github.com/NickDaly/Plinth&quot;&gt;plinth&lt;/a&gt; + exmachina +
16570 withsqlite), as well as a privacy enhancing proxy based on
16571 &lt;a href=&quot;http://packages.qa.debian.org/privoxy&quot;&gt;privoxy&lt;/a&gt;
16572 (freedombox-privoxy). There is also a web/javascript based XMPP
16573 client (&lt;a href=&quot;http://packages.qa.debian.org/jwchat&quot;&gt;jwchat&lt;/a&gt;)
16574 trying (unsuccessfully so far) to talk to the XMPP server
16575 (&lt;a href=&quot;http://packages.qa.debian.org/ejabberd&quot;&gt;ejabberd&lt;/a&gt;). The
16576 web interface is pluggable, and the goal is to use it to enable OpenID
16577 services, mesh network connectivity, use of TOR, etc, etc. Not much of
16578 this is really working yet, see
16579 &lt;a href=&quot;https://github.com/NickDaly/freedombox-todos/blob/master/TODO&quot;&gt;the
16580 project TODO&lt;/a&gt; for links to GIT repositories. Most of the code is
16581 on github at the moment. The HTTP proxy is operational out of the
16582 box, and the admin web interface can be used to add/remove plinth
16583 users. I&#39;ve not been able to do anything else with it so far, but
16584 know there are several branches spread around github and other places
16585 with lots of half baked features.&lt;/p&gt;
16586
16587 &lt;p&gt;Anyway, if you want to have a look at the current state, the
16588 following recipes should work to give you a test machine to poke
16589 at.&lt;/p&gt;
16590
16591 &lt;p&gt;&lt;strong&gt;Debian Wheezy amd64&lt;/strong&gt;&lt;/p&gt;
16592
16593 &lt;ol&gt;
16594
16595 &lt;li&gt;Fetch normal Debian Wheezy installation ISO.&lt;/li&gt;
16596 &lt;li&gt;Boot from it, either as CD or USB stick.&lt;/li&gt;
16597 &lt;li&gt;&lt;p&gt;Press [tab] on the boot prompt and add this as a boot argument
16598 to the Debian installer:&lt;p&gt;
16599 &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;
16600
16601 &lt;li&gt;Answer the few language/region/password questions and pick disk to
16602 install on.&lt;/li&gt;
16603
16604 &lt;li&gt;When the installation is finished and the machine have rebooted a
16605 few times, your Freedombox is ready for testing.&lt;/li&gt;
16606
16607 &lt;/ol&gt;
16608
16609 &lt;p&gt;&lt;strong&gt;Raspberry Pi Raspbian&lt;/strong&gt;&lt;/p&gt;
16610
16611 &lt;ol&gt;
16612
16613 &lt;li&gt;Fetch a Raspbian SD card image, create SD card.&lt;/li&gt;
16614 &lt;li&gt;Boot from SD card, extend file system to fill the card completely.&lt;/li&gt;
16615 &lt;li&gt;&lt;p&gt;Log in and add this to /etc/sources.list:&lt;/p&gt;
16616 &lt;pre&gt;
16617 deb &lt;a href=&quot;http://www.reinholdtsen.name/freedombox/&quot;&gt;http://www.reinholdtsen.name/freedombox&lt;/a&gt; wheezy main
16618 &lt;/pre&gt;&lt;/li&gt;
16619 &lt;li&gt;&lt;p&gt;Run this as root:&lt;/p&gt;
16620 &lt;pre&gt;
16621 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
16622 apt-key add -
16623 apt-get update
16624 apt-get install freedombox-setup
16625 /usr/lib/freedombox/setup
16626 &lt;/pre&gt;&lt;/li&gt;
16627 &lt;li&gt;Reboot into your freshly created Freedombox.&lt;/li&gt;
16628
16629 &lt;/ol&gt;
16630
16631 &lt;p&gt;You can test it on other architectures too, but because the
16632 freedombox-privoxy package is binary, it will only work as intended on
16633 the architectures where I have had time to build the binary and put it
16634 in my APT repository. But do not let this stop you. It is only a
16635 short &quot;&lt;tt&gt;apt-get source -b freedombox-privoxy&lt;/tt&gt;&quot; away. :)&lt;/p&gt;
16636
16637 &lt;p&gt;Note that by default Freedombox is a DHCP server on the
16638 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
16639 off the DHCP server by running &quot;&lt;tt&gt;update-rc.d isc-dhcp-server
16640 disable&lt;/tt&gt;&quot; as root.&lt;/p&gt;
16641
16642 &lt;p&gt;Please let me know if this works for you, or if you have any
16643 problems. We gather on the IRC channel
16644 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;#freedombox&lt;/a&gt; on
16645 irc.debian.org and the
16646 &lt;a href=&quot;http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss&quot;&gt;project
16647 mailing list&lt;/a&gt;.&lt;/p&gt;
16648
16649 &lt;p&gt;Once you get your freedombox operational, you can visit
16650 &lt;tt&gt;http://your-host-name:8001/&lt;/tt&gt; to see the state of the plint
16651 welcome screen (dead end - do not be surprised if you are unable to
16652 get past it), and next visit &lt;tt&gt;http://your-host-name:8001/help/&lt;/tt&gt;
16653 to look at the rest of plinth. The default user is &#39;admin&#39; and the
16654 default password is &#39;secret&#39;.&lt;/p&gt;
16655 </description>
16656 </item>
16657
16658 <item>
16659 <title>Second beta release (beta 1) of Debian Edu/Skolelinux based on Debian Wheezy</title>
16660 <link>https://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
16661 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
16662 <pubDate>Thu, 22 Aug 2013 09:30:00 +0200</pubDate>
16663 <description>&lt;p&gt;The second wheezy based beta release of Debian Edu was wrapped up
16664 today, slightly delayed because of some bugs in the initial Windows
16665 integration fixes . This is the release announcement:&lt;/p&gt;
16666
16667 &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;
16668
16669 &lt;p&gt;These are the release notes for Debian Edu / Skolelinux
16670 7.1+edu0~b1, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
16671
16672 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
16673
16674 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
16675 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
16676 out-of-the box environment of a completely configured school
16677 network. Immediately after installation a school server running all
16678 services needed for a school network is set up just waiting for users
16679 and machines being added via GOsa², a comfortable Web-UI. A netbooting
16680 environment is prepared using PXE, so after initial installation of
16681 the main server from CD or USB stick all other machines can be
16682 installed via the network. The provided school server provides LDAP
16683 database and Kerberos authentication service, centralized home
16684 directories, DHCP server, web proxy and many other services. The
16685 desktop contains
16686 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
16687 than 60 educational software packages&lt;/a&gt; and more are available from
16688 the Debian archive, and schools can choose between KDE, Gnome, LXDE
16689 and Xfce desktop environment.&lt;/p&gt;
16690
16691 &lt;p&gt;This is the sixth test release based on Debian Wheezy. Basically this
16692 is an updated and slightly improved version compared to the Squeeze
16693 release.&lt;/p&gt;
16694
16695 &lt;p&gt;ALERT: Alpha based installations should reinstall or downgrade the
16696 versions of gosa and libpam-mklocaluser to the ones used in this beta
16697 release. Both alpha and beta0 based installations should reinstall or
16698 deal with gosa.conf manually; there are two options: (1) Keep
16699 gosa.conf and edit this file as outlined
16700 &lt;a href=&quot;http://lists.debian.org/debian-edu/2013/08/msg00127.html&quot;&gt;on
16701 the mailing list&lt;/a&gt;. (2) Accept the new version of gosa.conf and
16702 replace both contained admin password placeholders with the password
16703 hashes found in the old one (backup copy!). In both cases every user
16704 need to change their their password to make sure a password is set for
16705 CIFS access to their home directory.&lt;/p&gt;
16706
16707 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
16708
16709 &lt;ul&gt;
16710
16711 &lt;li&gt;Added ssh askpass packages to default installation, to ensure ssh
16712 work also without a attached tty.&lt;/li&gt;
16713 &lt;li&gt;Add the command-not-found package to the default installation to
16714 make it easier to figure out where to find missing command line
16715 tools. Please note, that the command &#39;update-command-not-found&#39;
16716 has to be run as root to actually make it useful (internet access
16717 required).&lt;/li&gt;
16718
16719 &lt;/ul&gt;
16720
16721 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
16722
16723 &lt;ul&gt;
16724
16725 &lt;li&gt;Adjusted the USB stick ISO image build to include every tool
16726 needed for desktop=xfce installations.&lt;/li&gt;
16727 &lt;li&gt;Adjust thin-client-server task to work when installing from USB
16728 stick ISO image.&lt;/li&gt;
16729 &lt;li&gt;Made new grub artwork (changed png from indexed to RGB format).&lt;/li&gt;
16730 &lt;li&gt;Minor cleanup in the CUPS setup.&lt;/li&gt;
16731 &lt;li&gt;Make sure that bootstrapping of the Samba domain really happens
16732 during installation of the main server and adjust SID handling to
16733 cope with this.&lt;/li&gt;
16734 &lt;li&gt;Make Samba passwords changeable (again) via GOsa².&lt;/li&gt;
16735 &lt;li&gt;Fix generation of LM and NT password hashes via GOsa² to avoid
16736 empty password hashes.&lt;/li&gt;
16737 &lt;li&gt;Adapted Samba machine domain joining to latest change in the
16738 smbldap-tools Perl package, fixing bugs blocking Windows machines
16739 from joining the Samba domain.&lt;/li&gt;
16740
16741 &lt;/ul&gt;
16742
16743 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
16744
16745 &lt;ul&gt;
16746
16747 &lt;li&gt;KDE fails to understand the wpad.dat file provided, causing it to
16748 not use the http proxy as it should.&lt;/li&gt;
16749 &lt;li&gt;Chromium also fails to use the proxy when using the KDE desktop
16750 (using the KDE configuration).&lt;/li&gt;
16751
16752 &lt;/ul&gt;
16753
16754 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
16755
16756 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
16757
16758 &lt;ul&gt;
16759
16760 &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;
16761
16762 &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;
16763
16764 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .&lt;/li&gt;
16765
16766 &lt;/ul&gt;
16767
16768 &lt;p&gt;The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
16769 &lt;br&gt;The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2&lt;/p&gt;
16770
16771 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
16772
16773 &lt;ul&gt;
16774
16775 &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;
16776 &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;
16777 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .&lt;/li&gt;
16778
16779 &lt;/ul&gt;
16780
16781 &lt;p&gt;The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
16782 &lt;br&gt;The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119&lt;/p&gt;
16783
16784
16785 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
16786
16787 &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;
16788 </description>
16789 </item>
16790
16791 <item>
16792 <title>Intel 180 SSD disk with Lenovo firmware can not use Intel firmware</title>
16793 <link>https://people.skolelinux.org/pere/blog/Intel_180_SSD_disk_with_Lenovo_firmware_can_not_use_Intel_firmware.html</link>
16794 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Intel_180_SSD_disk_with_Lenovo_firmware_can_not_use_Intel_firmware.html</guid>
16795 <pubDate>Sun, 18 Aug 2013 14:00:00 +0200</pubDate>
16796 <description>&lt;p&gt;Earlier, I reported about
16797 &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
16798 problems using an Intel SSD 520 Series 180 GB disk&lt;/a&gt;. Friday I was
16799 told by IBM that the original disk should be thrown away. And as
16800 there no longer was a problem if I bricked the firmware, I decided
16801 today to try to install Intel firmware to replace the Lenovo firmware
16802 currently on the disk.&lt;/p&gt;
16803
16804 &lt;p&gt;I searched the Intel site for firmware, and found
16805 &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;
16806 (aka Intel SATA Solid-State Drive Firmware Update Tool) which
16807 according to the site should contain the latest firmware for SSD
16808 disks. I inserted the broken disk in one of my spare laptops and
16809 booted the ISO from a USB stick. The disk was recognized, but the
16810 program claimed the newest firmware already were installed and refused
16811 to insert any Intel firmware. So no change, and the disk is still
16812 unable to handle write load. :( I guess the only way to get them
16813 working would be if Lenovo releases new firmware. No idea how likely
16814 that is. Anyway, just blogging about this test for completeness. I
16815 got a working Samsung disk, and see no point in spending more time on
16816 the broken disks.&lt;/p&gt;
16817 </description>
16818 </item>
16819
16820 <item>
16821 <title>90 percent done with the Norwegian draft translation of Free Culture</title>
16822 <link>https://people.skolelinux.org/pere/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</link>
16823 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html</guid>
16824 <pubDate>Fri, 2 Aug 2013 10:40:00 +0200</pubDate>
16825 <description>&lt;p&gt;It has been a while since my last update. Since last summer, I
16826 have worked on a Norwegian
16827 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
16828 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
16829 to get a Norwegian text explaining the problems with the copyright
16830 law. Yesterday, I finally broken the 90% mark, when counting the
16831 number of strings to translate. Due to real life constraints, I have
16832 not had time to work on it since March, but when the summer broke out,
16833 I found time to work on it again. Still lots of work left, but the
16834 first draft is nearing completion. I created a graph to show the
16835 progress of the translation:&lt;/p&gt;
16836
16837 &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;
16838
16839 &lt;p&gt;When the first draft is done, the translated text need to be
16840 proof read, and the remaining formatting problems with images and SVG
16841 drawings need to be fixed. There are probably also some index entries
16842 missing that need to be added. This can be done by comparing the
16843 index entries listed in the SiSU version of the book, or comparing the
16844 English docbook version with the paper version. Last, the colophon
16845 page with ISBN numbers etc need to be wrapped up before the release is
16846 done. I should also figure out how to get correct Norwegian sorting
16847 of the index pages. All docbook tools I have tried so far (xmlto,
16848 docbook-xsl, dblatex) get the order of symbols and the special
16849 Norwegian letters ÆØÅ wrong.&lt;/p&gt;
16850
16851 &lt;p&gt;There is still need for translators and people with docbook
16852 knowledge, to be able to get a good looking book (I still struggle
16853 with dblatex, xmlto and docbook-xsl) as well as to do the draft
16854 translation and proof reading. And I would like the figures to be
16855 redrawn as SVGs to make it easy to translate them. Any SVG master
16856 around? There are also some legal terms that are unfamiliar to me.
16857 If you want to help, please get in touch with me, and check out the
16858 project files currently available from
16859 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
16860
16861 &lt;p&gt;If you are curious what the translated book currently look like,
16862 the updated
16863 &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;
16864 and
16865 &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;
16866 are published on github. The HTML version is published as well, but
16867 github hand it out with MIME type text/plain, confusing browsers, so I
16868 saw no point in linking to that version.&lt;/p&gt;
16869 </description>
16870 </item>
16871
16872 <item>
16873 <title>First beta release of Debian Edu/Skolelinux based on Debian Wheezy</title>
16874 <link>https://people.skolelinux.org/pere/blog/First_beta_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
16875 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_beta_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
16876 <pubDate>Sat, 27 Jul 2013 20:30:00 +0200</pubDate>
16877 <description>&lt;p&gt;The first wheezy based beta release of Debian Edu was wrapped up
16878 today. This is the release announcement:&lt;/p&gt;
16879
16880 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.1+edu0~b0 released
16881 2013-07-27&lt;/strong&gt;&lt;/p&gt;
16882
16883 &lt;p&gt;These are the release notes for for Debian Edu / Skolelinux
16884 7.1+edu0~b0, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
16885
16886 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
16887
16888 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
16889 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
16890 out-of-the box environment of a completely configured school
16891 network. Immediately after installation a school server running all
16892 services needed for a school network is set up just waiting for users
16893 and machines being added via GOsa², a comfortable Web-UI. A netbooting
16894 environment is prepared using PXE, so after initial installation of
16895 the main server from CD, DVD or USB stick all other machines can be
16896 installed via the network. The provided school server provides LDAP
16897 database and Kerberos authentication service, centralized home
16898 directories, DHCP server, web proxy and many other services. The
16899 desktop contains
16900 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
16901 than 60 educational software packages&lt;/a&gt; and more are available from
16902 the Debian archive, and schools can choose between KDE, Gnome, LXDE
16903 and Xfce desktop environment.&lt;/p&gt;
16904
16905 &lt;p&gt;This is the fifth test release based on Debian Wheezy. Basically
16906 this is an updated and slightly improved version compared to the
16907 Squeeze release.&lt;/p&gt;
16908
16909 &lt;p&gt;ALERT: Alpha based installations should reinstall or downgrade the
16910 versions of gosa and libpam-mklocaluser to the ones used in this beta
16911 release.&lt;/p&gt;
16912
16913 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
16914
16915 &lt;ul&gt;
16916
16917 &lt;li&gt;Switched roaming workstation profiles from wicd to network-manager
16918 for network configuration, as wicd didn&#39;t work any more.&lt;/li&gt;
16919 &lt;li&gt;Changed version numbers of patched gosa and libpam-mklocaluser
16920 packages to make sure our locally patched versions will be replaced
16921 by the official packages when they are released from Debian. Those
16922 installing alpha version need to reinstall or manually downgrade gosa
16923 and libpam-mklocaluser.&lt;/li&gt;
16924 &lt;li&gt;Added bluetooth tools to the default desktop (bluedevil, blueman).&lt;/li&gt;
16925 &lt;li&gt;Added tools for sharing the desktop on KDE (krdc, krfb).&lt;/li&gt;
16926 &lt;li&gt;Added valgrind to the default installation for easier debugging of
16927 crash bugs.&lt;/li&gt;
16928
16929 &lt;/ul&gt;
16930
16931 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
16932
16933 &lt;ul&gt;
16934
16935 &lt;li&gt;Fixed artwork package to work with gnome, no longer break
16936 desktop=gnome installations.&lt;/li&gt;
16937 &lt;li&gt;Adjusted installer to now work when forced to use a proxy with the
16938 netinst CD.&lt;/li&gt;
16939 &lt;li&gt;Fixed code detecting and setting/loading hardware specific
16940 setup/firmware to work more robust out of the box.&lt;/li&gt;
16941 &lt;li&gt;Adjusted Kerberos setup to detect realm and server settings at
16942 install time instead of dynamically at run time. This avoid a crash
16943 with krb5-auth-dialog on diskless workstations without a DNS name.&lt;/li&gt;
16944 &lt;li&gt;Worked around misfeature in network-manager not calling the dhclient
16945 exit hooks, causing automatic proxy configuration and automatic host
16946 name setting at run time to work again.&lt;/li&gt;
16947 &lt;li&gt;Fixed feature setting the default Iceweasel start page from URL
16948 fetched from LDAP, to allow schools to set the global default by
16949 updating the dc=skole,dc=skolelinux,dc=no LDAP object.&lt;/li&gt;
16950 &lt;li&gt;Changed default host name on all networked machines to be unique
16951 (generated from MAC or reverse DNS) after boot.&lt;/li&gt;
16952 &lt;li&gt;Adjusted partition sizes to make sure they are big enough.&lt;/li&gt;
16953
16954 &lt;/ul&gt;
16955
16956 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
16957
16958 &lt;ul&gt;
16959
16960 &lt;li&gt;Grub is missing the new artwork.&lt;/li&gt;
16961 &lt;li&gt;KDE fail to understand the wpad.dat file provided, causing it to
16962 not use the http proxy as it should.&lt;/li&gt;
16963 &lt;li&gt;Chromium also fail to use the proxy.&lt;/li&gt;
16964
16965 &lt;/ul&gt;
16966
16967 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
16968
16969 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
16970
16971 &lt;ul&gt;
16972
16973 &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;
16974
16975 &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;
16976
16977 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso .&lt;/li&gt;
16978
16979 &lt;/ul&gt;
16980
16981 &lt;p&gt;The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
16982 &lt;br&gt;The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f&lt;/p&gt;
16983
16984 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
16985
16986 &lt;ul&gt;
16987
16988 &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;
16989 &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;
16990 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso .&lt;/li&gt;
16991
16992 &lt;/ul&gt;
16993
16994 &lt;p&gt;The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
16995 &lt;br&gt;The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733&lt;/p&gt;
16996
16997
16998 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
16999
17000 &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;
17001 </description>
17002 </item>
17003
17004 <item>
17005 <title>How to fix a Thinkpad X230 with a broken 180 GB SSD disk</title>
17006 <link>https://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html</link>
17007 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html</guid>
17008 <pubDate>Wed, 17 Jul 2013 23:50:00 +0200</pubDate>
17009 <description>&lt;p&gt;Today I switched to
17010 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html&quot;&gt;my
17011 new laptop&lt;/a&gt;. I&#39;ve previously written about the problems I had with
17012 my new Thinkpad X230, which was delivered with an
17013 &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
17014 GB Intel SSD disk with Lenovo firmware&lt;/a&gt; that did not handle
17015 sustained writes. My hardware supplier have been very forthcoming in
17016 trying to find a solution, and after first trying with another
17017 identical 180 GB disks they decided to send me a 256 GB Samsung SSD
17018 disk instead to fix it once and for all. The Samsung disk survived
17019 the installation of Debian with encrypted disks (filling the disk with
17020 random data during installation killed the first two), and I thus
17021 decided to trust it with my data. I have installed it as a Debian Edu
17022 Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
17023 server at home using Kerberos and LDAP, and will use it as my work
17024 station from now on.&lt;/p&gt;
17025
17026 &lt;p&gt;As this is a solid state disk with no moving parts, I believe the
17027 Debian Wheezy default installation need to be tuned a bit to increase
17028 performance and increase life time of the disk. The Linux kernel and
17029 user space applications do not yet adjust automatically to such
17030 environment. To make it easier for my self, I created a draft Debian
17031 package &lt;tt&gt;ssd-setup&lt;/tt&gt; to handle this tuning. The
17032 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git&quot;&gt;source
17033 for the ssd-setup package&lt;/a&gt; is available from collab-maint, and it
17034 is set up to adjust the setup of the machine by just installing the
17035 package. If there is any non-SSD disk in the machine, the package
17036 will refuse to install, as I did not try to write any logic to sort
17037 file systems in SSD and non-SSD file systems.&lt;/p&gt;
17038
17039 &lt;p&gt;I consider the package a draft, as I am a bit unsure how to best
17040 set up Debian Wheezy with an SSD. It is adjusted to my use case,
17041 where I set up the machine with one large encrypted partition (in
17042 addition to /boot), put LVM on top of this and set up partitions on
17043 top of this again. See the README file in the package source for the
17044 references I used to pick the settings. At the moment these
17045 parameters are tuned:&lt;/p&gt;
17046
17047 &lt;ul&gt;
17048
17049 &lt;li&gt;Set up cryptsetup to pass TRIM commands to the physical disk
17050 (adding discard to /etc/crypttab)&lt;/li&gt;
17051
17052 &lt;li&gt;Set up LVM to pass on TRIM commands to the underlying device (in
17053 this case a cryptsetup partition) by changing issue_discards from
17054 0 to 1 in /etc/lvm/lvm.conf.&lt;/li&gt;
17055
17056 &lt;li&gt;Set relatime as a file system option for ext3 and ext4 file
17057 systems.&lt;/li&gt;
17058
17059 &lt;li&gt;Tell swap to use TRIM commands by adding &#39;discard&#39; to
17060 /etc/fstab.&lt;/li&gt;
17061
17062 &lt;li&gt;Change I/O scheduler from cfq to deadline using a udev rule.&lt;/li&gt;
17063
17064 &lt;li&gt;Run fstrim on every ext3 and ext4 file system every night (from
17065 cron.daily).&lt;/li&gt;
17066
17067 &lt;li&gt;Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
17068 to 50 to reduce the kernel eagerness to swap out processes.&lt;/li&gt;
17069
17070 &lt;/ul&gt;
17071
17072 &lt;p&gt;During installation, I cancelled the part where the installer fill
17073 the disk with random data, as this would kill the SSD performance for
17074 little gain. My goal with the encrypted file system is to ensure
17075 those stealing my laptop end up with a brick and not a working
17076 computer. I have no hope in keeping the really resourceful people
17077 from getting the data on the disk (see
17078 &lt;a href=&quot;http://xkcd.com/538/&quot;&gt;XKCD #538&lt;/a&gt; for an explanation why).
17079 Thus I concluded that adding the discard option to crypttab is the
17080 right thing to do.&lt;/p&gt;
17081
17082 &lt;p&gt;I considered using the noop I/O scheduler, as several recommended
17083 it for SSD, but others recommended deadline and a benchmark I found
17084 indicated that deadline might be better for interactive use.&lt;/p&gt;
17085
17086 &lt;p&gt;I also considered using the &#39;discard&#39; file system option for ext3
17087 and ext4, but read that it would give a performance hit ever time a
17088 file is removed, and thought it best to that that slowdown once a day
17089 instead of during my work.&lt;/p&gt;
17090
17091 &lt;p&gt;My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
17092 this is already done by Debian Edu.&lt;/p&gt;
17093
17094 &lt;p&gt;I have not yet started on the user space tuning. I expect
17095 iceweasel need some tuning, and perhaps other applications too, but
17096 have not yet had time to investigate those parts.&lt;/p&gt;
17097
17098 &lt;p&gt;The package should work on Ubuntu too, but I have not yet tested it
17099 there.&lt;/p&gt;
17100
17101 &lt;p&gt;As for the answer to the question in the title of this blog post,
17102 as far as I know, the only solution I know about is to replace the
17103 disk. It might be possible to flash it with Intel firmware instead of
17104 the Lenovo firmware. But I have not tried and did not want to do so
17105 without approval from Lenovo as I wanted to keep the warranty on the
17106 disk until a solution was found and they wanted the broken disks
17107 back.&lt;/p&gt;
17108 </description>
17109 </item>
17110
17111 <item>
17112 <title>Intel SSD 520 Series 180 GB with Lenovo firmware still lock up from sustained writes</title>
17113 <link>https://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html</link>
17114 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html</guid>
17115 <pubDate>Wed, 10 Jul 2013 13:30:00 +0200</pubDate>
17116 <description>&lt;p&gt;A few days ago, I wrote about
17117 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html&quot;&gt;the
17118 problems I experienced with my new X230 and its SSD disk&lt;/a&gt;, which
17119 was dying during installation because it is unable to cope with
17120 sustained write. My supplier is in contact with
17121 &lt;a href=&quot;http://www.lenovo.com/&quot;&gt;Lenovo&lt;/a&gt;, and they wanted to send a
17122 replacement disk to try to fix the problem. They decided to send an
17123 identical model, so my hopes for a permanent fix was slim.&lt;/p&gt;
17124
17125 &lt;p&gt;Anyway, today I got the replacement disk and tried to install
17126 Debian Edu Wheezy with encrypted disk on it. The new disk have the
17127 same firmware version as the original. This time my hope raised
17128 slightly as the installation progressed, as the original disk used to
17129 die after 4-7% of the disk was written to, while this time it kept
17130 going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
17131 died again and I was back on square one. I still do not have a new
17132 laptop with a disk I can trust. I can not live with a disk that might
17133 lock up when I download a new
17134 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ISO or
17135 other large files. I look forward to hearing from my supplier with
17136 the next proposal from Lenovo.&lt;/p&gt;
17137
17138 &lt;p&gt;The original disk is marked Intel SSD 520 Series 180 GB,
17139 11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
17140 LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
17141 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
17142 SSDSC2BW180A3L 2.5&quot; 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
17143 P/N 45N8295, P0C38732.&lt;/p&gt;
17144
17145 &lt;p&gt;The replacement disk is marked Intel SSD 520 Series 180 GB,
17146 11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
17147 LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
17148 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
17149 SSDSC2BW180A3L 2.5&quot; 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
17150 P/N 45N8295, P0C38732.&lt;/p&gt;
17151
17152 &lt;p&gt;The only difference is in the first number (serial number?), ISN,
17153 SA, date and WNPP values. Mentioning all the details here in case
17154 someone is able to use the information to find a way to identify the
17155 failing disk among working ones (if any such working disk actually
17156 exist).&lt;/p&gt;
17157 </description>
17158 </item>
17159
17160 <item>
17161 <title>July 13th: Debian/Ubuntu BSP and Skolelinux/Debian Edu developer gathering in Oslo</title>
17162 <link>https://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html</link>
17163 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html</guid>
17164 <pubDate>Tue, 9 Jul 2013 10:40:00 +0200</pubDate>
17165 <description>&lt;p&gt;The upcoming Saturday, 2013-07-13, we are organising a combined
17166 Debian Edu developer gathering and Debian and Ubuntu bug squashing
17167 party in Oslo. It is organised by &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the
17168 member assosiation NUUG&lt;/a&gt; and
17169 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;the Debian Edu / Skolelinux
17170 project&lt;/a&gt; together with &lt;a href=&quot;http://bitraf.no/&quot;&gt;the hack space
17171 Bitraf&lt;/a&gt;.&lt;/p&gt;
17172
17173 &lt;p&gt;It starts 10:00 and continue until late evening. Everyone is
17174 welcome, and there is no fee to participate. There is on the other
17175 hand limited space, and only room for 30 people. Please put your name
17176 on &lt;a href=&quot;http://wiki.debian.org/BSP/2013/07/13/no/Oslo&quot;&gt;the event
17177 wiki page&lt;/a&gt; if you plan to join us.&lt;/p&gt;
17178 </description>
17179 </item>
17180
17181 <item>
17182 <title>The Thinkpad is dead, long live the Thinkpad X230?</title>
17183 <link>https://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html</link>
17184 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html</guid>
17185 <pubDate>Fri, 5 Jul 2013 08:30:00 +0200</pubDate>
17186 <description>&lt;p&gt;Half a year ago, I reported that I had to find a
17187 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html&quot;&gt;replacement
17188 for my trusty old Thinkpad X41&lt;/a&gt;. Unfortunately I did not have much
17189 time to spend on it, and it took a while to find a model I believe
17190 will do the job, but two days ago the replacement finally arrived. I
17191 ended up picking a
17192 &lt;a href=&quot;http://www.linlap.com/lenovo_thinkpad_x230&quot;&gt;Thinkpad X230&lt;/a&gt;
17193 with SSD disk (NZDAJMN). I first test installed Debian Edu Wheezy as
17194 a roaming workstation, and it seemed to work flawlessly. But my
17195 second installation with encrypted disk was not as successful. More
17196 on that below.&lt;/p&gt;
17197
17198 &lt;p&gt;I had a hard time trying to track down a good laptop, as my most
17199 important requirements (robust and with a good keyboard) are never
17200 listed in the feature list. But I did get good help from the search
17201 feature at &lt;a href=&quot;http://www.prisjakt.no/&quot;&gt;Prisjakt&lt;/a&gt;, which
17202 allowed me to limit the list of interesting laptops based on my other
17203 requirements. A bit surprising that SSD disk are not disks according
17204 to that search interface, so I had to drop specifying the number of
17205 disks from my search parameters. I also asked around among friends to
17206 get their impression on keyboards and robustness.&lt;/p&gt;
17207
17208 &lt;p&gt;So the new laptop arrived, and it is quite a lot wider than the
17209 X41. I am not quite convinced about the keyboard, as it is
17210 significantly wider than my old keyboard, and I have to stretch my
17211 hand a lot more to reach the edges. But the key response is fairly
17212 good and the individual key shape is fairly easy to handle, so I hope
17213 I will get used to it. My old X40 was starting to fail, and I really
17214 needed a new laptop now. :)&lt;/p&gt;
17215
17216 &lt;p&gt;Turning off the touch pad was simple. All it took was a quick
17217 visit to the BIOS during boot it disable it.&lt;/p&gt;
17218
17219 &lt;p&gt;But there is a fatal problem with the laptop. The 180 GB SSD disk
17220 lock up during load. And this happen when installing Debian Wheezy
17221 with encrypted disk, while the disk is being filled with random data.
17222 I also tested to install Ubuntu Raring, and it happen there too if I
17223 reenable the code to fill the disk with random data (it is disabled by
17224 default in Ubuntu). And the bug with is already known. It was
17225 reported to Debian as &lt;a href=&quot;http://bugs.debian.org/691427&quot;&gt;BTS
17226 report #691427 2012-10-25&lt;/a&gt; (journal commit I/O error on brand-new
17227 Thinkpad T430s ext4 on lvm on SSD). It is also reported to the Linux
17228 kernel developers as
17229 &lt;a href=&quot;https://bugzilla.kernel.org/show_bug.cgi?id=51861&quot;&gt;Kernel bugzilla
17230 report #51861 2012-12-20&lt;/a&gt; (Intel SSD 520 stops working under load
17231 (SSDSC2BW180A3L in Lenovo ThinkPad T430s)). It is also reported on the
17232 Lenovo forums, both for
17233 &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
17234 2012-11-10&lt;/a&gt; and for
17235 &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
17236 03-20-2013&lt;/a&gt;. The problem do not only affect installation. The
17237 reports state that the disk lock up during use if many writes are done
17238 on the disk, so it is much no use to work around the installation
17239 problem and end up with a computer that can lock up at any moment.
17240 There is even a
17241 &lt;a href=&quot;https://git.efficios.com/?p=test-ssd.git&quot;&gt;small C program
17242 available&lt;/a&gt; that will lock up the hard drive after running a few
17243 minutes by writing to a file.&lt;/p&gt;
17244
17245 &lt;p&gt;I&#39;ve contacted my supplier and asked how to handle this, and after
17246 contacting PCHELP Norway (request 01D1FDP) which handle support
17247 requests for Lenovo, his first suggestion was to upgrade the disk
17248 firmware. Unfortunately there is no newer firmware available from
17249 Lenovo, as my disk already have the most recent one (version LF1i). I
17250 hope to hear more from him today and hope the problem can be
17251 fixed. :)&lt;/p&gt;
17252 </description>
17253 </item>
17254
17255 <item>
17256 <title>The Thinkpad is dead, long live the Thinkpad X230</title>
17257 <link>https://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230.html</link>
17258 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230.html</guid>
17259 <pubDate>Thu, 4 Jul 2013 09:20:00 +0200</pubDate>
17260 <description>&lt;p&gt;Half a year ago, I reported that I had to find a replacement for my
17261 trusty old Thinkpad X41. Unfortunately I did not have much time to
17262 spend on it, but today the replacement finally arrived. I ended up
17263 picking a &lt;a href=&quot;http://www.linlap.com/lenovo_thinkpad_x230&quot;&gt;Thinkpad
17264 X230&lt;/a&gt; with SSD disk (NZDAJMN). I first test installed Debian Edu
17265 Wheezy as a roaming workstation, and it worked flawlessly. As I write
17266 this, it is installing what I hope will be a more final installation,
17267 with a encrypted hard drive to ensure any dope head stealing it end up
17268 with an expencive door stop.&lt;/p&gt;
17269
17270 &lt;p&gt;I had a hard time trying to track down a good laptop, as my most
17271 important requirements (robust and with a good keyboard) are never
17272 listed in the feature list. But I did get good help from the search
17273 feature at &lt;ahref=&quot;http://www.prisjakt.no/&quot;&gt;Prisjakt&lt;/a&gt;, which
17274 allowed me to limit the list of interesting laptops based on my other
17275 requirements. A bit surprising that SSD disk are not disks, so I had
17276 to drop number of disks from my search parameters.&lt;/p&gt;
17277
17278 &lt;p&gt;I am not quite convinced about the keyboard, as it is significantly
17279 wider than my old keyboard, and I have to stretch my hand a lot more
17280 to reach the edges. But the key response is fairly good and the
17281 individual key shape is fairly easy to handle, so I hope I will get
17282 used to it. My old X40 was starting to fail, and I really needed a
17283 new laptop now. :)&lt;/p&gt;
17284
17285 &lt;p&gt;I look forward to figuring out how to turn off the touch pad.&lt;/p&gt;
17286 </description>
17287 </item>
17288
17289 <item>
17290 <title>Fourth alpha release of Debian Edu/Skolelinux based on Debian Wheezy</title>
17291 <link>https://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</link>
17292 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html</guid>
17293 <pubDate>Wed, 3 Jul 2013 14:00:00 +0200</pubDate>
17294 <description>&lt;p&gt;The fourth wheezy based alpha release of Debian Edu was wrapped up
17295 today. This is the release announcement:&lt;/p&gt;
17296
17297 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.1+edu0~alpha3 released
17298 2013-07-03&lt;/strong&gt;&lt;/p&gt;
17299
17300 &lt;p&gt;These are the release notes for for Debian Edu / Skolelinux
17301 7.1+edu0~alpha3, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
17302
17303 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
17304
17305 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
17306 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
17307 out-of-the box environment of a completely configured school
17308 network. Immediately after installation a school server running all
17309 services needed for a school network is set up just waiting for users
17310 and machines being added via GOsa², a comfortable Web-UI. A netbooting
17311 environment is prepared using PXE, so after initial installation of
17312 the main server from CD, DVD or USB stick all other machines can be
17313 installed via the network. The provided school server provides LDAP
17314 database and Kerberos authentication service, centralized home
17315 directories, DHCP server, web proxy and many other services. The
17316 desktop contains
17317 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
17318 than 60 educational software packages&lt;/a&gt; and more are available from
17319 the Debian archive, and schools can choose between KDE, Gnome, LXDE
17320 and Xfce desktop environment.&lt;/p&gt;
17321
17322 &lt;p&gt;This is the fourth test release based on Debian Wheezy. Basically
17323 this is an updated and slightly improved version compared to the
17324 Squeeze release.&lt;/p&gt;
17325
17326 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
17327 &lt;ul&gt;
17328 &lt;li&gt;Dropped ispell dictionaries from our default installation.&lt;/li&gt;
17329 &lt;li&gt;Dropped menu-xdg from the KDE desktop option, to drop the Debian
17330 submenu. It was not included with Gnome, LXDE or Xfce, so this
17331 brings KDE in line with the others.&lt;/li&gt;
17332 &lt;li&gt;Dropped xdrawchem, xjig and xsok from our default installation as
17333 they don&#39;t have a desktop menu entry and thus won&#39;t show up in the
17334 menu now that menu-xdg was removed.&lt;/li&gt;
17335 &lt;li&gt;Removed the killer system to kill left behind processes on
17336 multi-user machines, as it was no longer able to understand when a
17337 X display was in use and killed the processes of the active users
17338 too.&lt;/li&gt;
17339 &lt;li&gt;Dropped the golearn (from goplay) package as the debtags in wheezy
17340 are too few to make the package useful.&lt;/li&gt;
17341 &lt;/ul&gt;
17342 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
17343 &lt;ul&gt;
17344 &lt;li&gt;Updated artwork matching http://wiki.debian.org/DebianArt/Themes/Joy
17345 &lt;li&gt;Multi-arch i386/amd64 USB stick ISO available.&lt;/li&gt;
17346 &lt;li&gt;Got rid of ispell/wordlist related debconf questions that showed
17347 up for some language options.&lt;/li&gt;
17348 &lt;li&gt;Switched to using http.debian.net as APT source by default.&lt;/li&gt;
17349 &lt;li&gt;Fixed proxy configuration on Main Server installations.&lt;/li&gt;
17350 &lt;li&gt;Changed LTSP setup to ask dpkg to use force-unsafe-io the same way
17351 d-i is doing it.&lt;/li&gt;
17352 &lt;li&gt;Made sure root and user passwords were not left behind in the
17353 debconf database after installation on Main Server installations.&lt;/li&gt;
17354 &lt;li&gt;Made Roaming Workstation dynamic setup more robust and added draft
17355 script setup-ad-client to hook a Roaming Workstation up to a
17356 Active Directory server instead of a Debian Edu Main Server.&lt;/li&gt;
17357 &lt;li&gt;Update system to install needed firmware packages during
17358 installation, to work properly in Wheezy.&lt;/li&gt;
17359 &lt;li&gt;Update system to handle hardware quirks (debian-edu-hwsetup).&lt;/li&gt;
17360 &lt;li&gt;Corrected PXE installation setup to properly pass selected desktop
17361 and keymap settings to PXE installation clients.&lt;/li&gt;
17362 &lt;li&gt;LTSP diskless workstations use sshfs by default, allowing them to
17363 work without adding them to DNS and NIS netgroups for NFS access.&lt;/li&gt;
17364 &lt;/ul&gt;
17365 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
17366 &lt;ul&gt;
17367 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
17368 available yet (698840).&lt;/li&gt;
17369 &lt;li&gt;Artwork not enabled for all desktops.&lt;/li&gt;
17370 &lt;/ul&gt;
17371 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
17372
17373 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
17374 &lt;ul&gt;
17375 &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;
17376 &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;
17377 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso .&lt;/li&gt;
17378 &lt;/ul&gt;
17379
17380 &lt;p&gt;The MD5SUM of this image is: 2b161a99d2a848c376d8d04e3854e30c
17381 &lt;br&gt;The SHA1SUM of this image is: 498922e9c508c0a7ee9dbe1dfe5bf830d779c3c8&lt;/p&gt;
17382
17383 &lt;p&gt;To download the multiarch USB stick ISO release you can use&lt;/p&gt;
17384 &lt;ul&gt;
17385 &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;
17386 &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;
17387 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso .&lt;/li&gt;
17388 &lt;/ul&gt;
17389
17390 &lt;p&gt;The MD5SUM of this image is: 25e808e403a4c15dbef1d13c37d572ac
17391 &lt;br&gt;The SHA1SUM of this image is: 15ecfc93eb6b4f453b7eb0bc04b6a279262d9721&lt;/p&gt;
17392
17393 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
17394
17395 &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;
17396 </description>
17397 </item>
17398
17399 <item>
17400 <title>Automatically locate and install required firmware packages on Debian (Isenkram 0.4)</title>
17401 <link>https://people.skolelinux.org/pere/blog/Automatically_locate_and_install_required_firmware_packages_on_Debian__Isenkram_0_4_.html</link>
17402 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatically_locate_and_install_required_firmware_packages_on_Debian__Isenkram_0_4_.html</guid>
17403 <pubDate>Tue, 25 Jun 2013 11:50:00 +0200</pubDate>
17404 <description>&lt;p&gt;It annoys me when the computer fail to do automatically what it is
17405 perfectly capable of, and I have to do it manually to get things
17406 working. One such task is to find out what firmware packages are
17407 needed to get the hardware on my computer working. Most often this
17408 affect the wifi card, but some times it even affect the RAID
17409 controller or the ethernet card. Today I pushed version 0.4 of the
17410 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;Isenkram package&lt;/a&gt;
17411 including a new script isenkram-autoinstall-firmware handling the
17412 process of asking all the loaded kernel modules what firmware files
17413 they want, find debian packages providing these files and install the
17414 debian packages. Here is a test run on my laptop:&lt;/p&gt;
17415
17416 &lt;p&gt;&lt;pre&gt;
17417 # isenkram-autoinstall-firmware
17418 info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
17419 info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
17420 info: locating packages with the requested firmware files
17421 info: Updating APT sources after adding non-free APT source
17422 info: trying to install firmware-ipw2x00
17423 firmware-ipw2x00
17424 firmware-ipw2x00
17425 Preconfiguring packages ...
17426 Selecting previously deselected package firmware-ipw2x00.
17427 (Reading database ... 259727 files and directories currently installed.)
17428 Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
17429 Setting up firmware-ipw2x00 (0.28+squeeze1) ...
17430 #
17431 &lt;/pre&gt;&lt;/p&gt;
17432
17433 &lt;p&gt;When all the requested firmware is present, a simple message is
17434 printed instead:&lt;/p&gt;
17435
17436 &lt;p&gt;&lt;pre&gt;
17437 # isenkram-autoinstall-firmware
17438 info: did not find any firmware files requested by loaded kernel modules. exiting
17439 #
17440 &lt;/pre&gt;&lt;/p&gt;
17441
17442 &lt;p&gt;It could use some polish, but it is already working well and saving
17443 me some time when setting up new machines. :)&lt;/p&gt;
17444
17445 &lt;p&gt;So, how does it work? It look at the set of currently loaded
17446 kernel modules, and look up each one of them using modinfo, to find
17447 the firmware files listed in the module meta-information. Next, it
17448 download the Contents file from a nearby APT mirror, and search for
17449 the firmware files in this file to locate the package with the
17450 requested firmware file. If the package is in the non-free section, a
17451 non-free APT source is added and the package is installed using
17452 &lt;tt&gt;apt-get install&lt;/tt&gt;. The end result is a slightly better working
17453 machine.&lt;/p&gt;
17454
17455 &lt;p&gt;I hope someone find time to implement a more polished version of
17456 this script as part of the hw-detect debian-installer module, to
17457 finally fix &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;BTS report
17458 #655507&lt;/a&gt;. There really is no need to insert USB sticks with
17459 firmware during a PXE install when the packages already are available
17460 from the nearby Debian mirror.&lt;/p&gt;
17461 </description>
17462 </item>
17463
17464 <item>
17465 <title>The value of a good distro wide test suite...</title>
17466 <link>https://people.skolelinux.org/pere/blog/The_value_of_a_good_distro_wide_test_suite___.html</link>
17467 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_value_of_a_good_distro_wide_test_suite___.html</guid>
17468 <pubDate>Sat, 22 Jun 2013 07:00:00 +0200</pubDate>
17469 <description>&lt;p&gt;In the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
17470 Skolelinux&lt;/a&gt; project, we include a post-installation test suite,
17471 which check that services are running, working, and return the
17472 expected results. It runs automatically just after the first boot on
17473 test installations (using test ISOs), but not on production
17474 installations (using non-test ISOs). It test that the LDAP service is
17475 operating, Kerberos is responding, DNS is replying, file systems are
17476 online resizable, etc, etc. And it check that the PXE service is
17477 configured, which is the topic of this post.&lt;/p&gt;
17478
17479 &lt;p&gt;The last week I&#39;ve fixed the DVD and USB stick ISOs for our Debian
17480 Edu Wheezy release. These ISOs are supposed to be able to install a
17481 complete system without any Internet connection, but for that to
17482 happen all the needed packages need to be on them. Thanks to our test
17483 suite, I discovered that we had forgotten to adjust our PXE setup to
17484 cope with the new names and paths used by the netboot d-i packages.
17485 When Internet connectivity was available, the installer fall back to
17486 using wget to fetch d-i boot images, but when offline it require
17487 working packages to get it working. And the packages changed name
17488 from debian-installer-6.0-netboot-$arch to
17489 debian-installer-7.0-netboot-$arch, we no longer pulled in the
17490 packages during installation. Without our test suite, I suspect we
17491 would never have discovered this before release. Now it is fixed
17492 right after we got the ISOs operational.&lt;/p&gt;
17493
17494 &lt;p&gt;Another by-product of the test suite is that we can ask system
17495 administrators with problems getting Debian Edu to work, to run the
17496 test suite using &lt;tt&gt;/usr/sbin/debian-edu-test-install&lt;/tt&gt; and see if
17497 any errors are detected. This usually pinpoint the subsystem causing
17498 the problem.&lt;/p&gt;
17499
17500 &lt;p&gt;If you want to help us help kids learn how to share and create,
17501 please join us on
17502 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu on
17503 irc.debian.org&lt;/a&gt; and the
17504 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;debian-edu@&lt;/a&gt; mailing
17505 list.&lt;/p&gt;
17506 </description>
17507 </item>
17508
17509 <item>
17510 <title>Debian Edu interview: Victor Nițu</title>
17511 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html</link>
17512 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html</guid>
17513 <pubDate>Mon, 17 Jun 2013 10:50:00 +0200</pubDate>
17514 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
17515 Skolelinux&lt;/a&gt; distribution have users and contributors all around the
17516 globe. And a while back, an enterprising young man showed up on
17517 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;our IRC channel
17518 #debian-edu&lt;/a&gt; and started asking questions about how Debian Edu
17519 worked. We answered as good as we could, and even convinced him to
17520 help us with translations. And today I managed to get an interview
17521 with him, to learn more about him.&lt;/p&gt;
17522
17523 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
17524
17525 &lt;p&gt;I&#39;m a 25 year old free software enthusiast, living in Romania,
17526 which is also my country of origin. Back in 2009, at a New Year&#39;s Eve
17527 party, I had a very nice &lt;strike&gt;beer&lt;/strike&gt; discussion with a
17528 friend, when we realized we have no organised Debian community in our
17529 country. A few days later, we put together the infrastructure for such
17530 community and even gathered a nice Debian-ish crowd. Since then, I
17531 began my quest as a free software hacker and activist and I am
17532 constantly trying to cover as much ground as possible on that
17533 field.&lt;/p&gt;
17534
17535 &lt;p&gt;A few years ago I founded a small web development company, which
17536 provided me the flexible schedule I needed so much for my
17537 activities. For the last 13 months, I have been the Technical Director
17538 of &lt;a href=&quot;http://ceata.org/&quot;&gt;Fundația Ceata&lt;/a&gt;, which is a free
17539 software activist organisation endorsed by the FSF and the FSFE, and
17540 the only one we have in our country.&lt;/p&gt;
17541
17542 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
17543 project?&lt;/strong&gt;&lt;/p&gt;
17544
17545 &lt;p&gt;The idea of participating in the Debian Edu project was a surprise
17546 even to me, since I never used it before I began getting involved in
17547 it. This year I had a great opportunity to deliver a talk on
17548 educational software, and I knew immediately where to look. It was a
17549 love at first sight, since I was previously involved with some of the
17550 technologies the project incorporates, and I rapidly found a lot of
17551 ways to contribute.&lt;/p&gt;
17552
17553 &lt;p&gt;My first contributions consisted in translating the installer and
17554 configuration dialogs, then I found some bugs to squash (I still
17555 haven&#39;t fixed them yet though), and I even got my eyes on some other
17556 areas where I can prove myself helpful. Since the appetite for free
17557 software in my country is pretty low, I&#39;ll be happy to be the first
17558 one around here advocating for the project&#39;s adoption in educational
17559 environments, and maybe even get my hands dirty in creating a flavour
17560 for our own needs. I am not used to make very advanced plannings, so
17561 from now on, time will tell what I&#39;ll be doing next, but I think I
17562 have a pretty consistent starting point.&lt;/p&gt;
17563
17564 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
17565 Edu?&lt;/strong&gt;&lt;/p&gt;
17566
17567 &lt;p&gt;Not a long time ago, I was in the position of configuring and
17568 maintaining a LDAP server on some Debian derivative, and I must say it
17569 took me a while. A long time ago, I was maintaining a bigger
17570 Samba-powered infrastructure, and I must say I spent quite a lot of
17571 time on it. I have similar stories about many of the services included
17572 with Skolelinux, and the main advantage I see about it is the
17573 out-of-the box availability of them, making it quite competitive when
17574 it comes to managing a school&#39;s network, for example.&lt;/p&gt;
17575
17576 &lt;p&gt;Of course, there is more to say about Skolelinux than the
17577 availability of the software included, its flexibility in various
17578 scenarios is something I can&#39;t wait to experiment &quot;into the wild&quot; (I
17579 only played with virtual machines so far). And I am sure there is a
17580 lot more I haven&#39;t discovered yet about it, being so new within the
17581 project.&lt;/p&gt;
17582
17583 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
17584 Edu?&lt;/strong&gt;&lt;/p&gt;
17585
17586 &lt;p&gt;As usual, when it comes to Debian Blends, I see as the biggest
17587 disadvantage the lack of a numerous team dedicated to the
17588 project. Every day I see the same names in the changelogs, and I have
17589 a constantly fear of the bus factor in this story. I&#39;d like to see
17590 Debian Edu advertised more as an entry point into the Debian
17591 ecosystem, especially amongst newcomers and students. IMHO there are a
17592 lot low-hanging fruits in terms of bug squashing, and enough
17593 opportunities to get the feeling of the Debian Project&#39;s dynamics. Not
17594 to mention it&#39;s a very fun blend to work on!&lt;/p&gt;
17595
17596 &lt;p&gt;Derived from the previous statement, is the delay in catching up
17597 with the main Debian release and documentation. This is common though
17598 to all blends and derivatives, but it&#39;s an issue we can all work
17599 on.&lt;/p&gt;
17600
17601 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
17602
17603 &lt;p&gt;I can hardly imagine myself spending a day without Vim, since my
17604 daily routine covers writing code and hacking configuration files. I
17605 am a fan of the Awesome window manager (but I also like the
17606 Enlightenment project a lot!),
17607 &lt;a href=&quot;http://www.claws-mail.org/‎&quot;&gt;Claws Mail&lt;/a&gt; due to its ease of
17608 use and very configurable behaviour. Recently I fell in love with
17609 &lt;a href=&quot;https://launchpad.net/redshift&quot;&gt;Redshift&lt;/a&gt;, which helps me
17610 get through the night without headaches. Of course, there is much more
17611 stuff in this bag, but I&#39;ll need a blog on my own for doing this!&lt;/p&gt;
17612
17613 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
17614 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
17615
17616 &lt;p&gt;Well, on this field, I cannot do much more than experiment right
17617 now. So, being far from having a recipe for success, I can only assume
17618 that:&lt;/p&gt;
17619
17620 &lt;ul&gt;
17621
17622 &lt;li&gt;schools would like to get rid of proprietary software&lt;/li&gt;
17623
17624 &lt;li&gt;students will love the openness of the system, and will want to
17625 experiment with it - maybe we need to harvest the native curiosity
17626 of teenagers more?&lt;/li&gt;
17627
17628 &lt;li&gt;there is no &quot;right one&quot; when it comes to strategies, but it would
17629 be useful to have some success stories published somewhere, so
17630 other can get some inspiration from them (I know I&#39;d promote
17631 them!)&lt;/li&gt;
17632
17633 &lt;li&gt;more active promotion - talks, conferences, even small school
17634 lectures can do magical things if they encounter at least one
17635 person interested. Who knows who that person might be? ;-)&lt;/li&gt;
17636
17637 &lt;/ul&gt;
17638
17639 &lt;p&gt;I also see some problems in getting Skolelinux into schools; for
17640 example, in our country we have a great deal of corruption issues, so
17641 it might be hard(er) to fight against proprietary solutions. Also,
17642 people who relied on commercial software for all their lives, would be
17643 very hard to convert against their will.&lt;/p&gt;
17644 </description>
17645 </item>
17646
17647 <item>
17648 <title>Debian Edu interview: Jonathan Carter</title>
17649 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html</link>
17650 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html</guid>
17651 <pubDate>Wed, 12 Jun 2013 09:50:00 +0200</pubDate>
17652 <description>&lt;p&gt;There is a certain cross-over between the
17653 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
17654 project&lt;/a&gt; and &lt;a href=&quot;http://www.edubuntu.org/&quot;&gt;the Edubuntu
17655 project&lt;/a&gt;, and for example the LTSP packages in Debian are a joint
17656 effort between the projects. One person with a foot in both camps is
17657 Jonathan Carter, which I am now happy to present to you.&lt;/p&gt;
17658
17659 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
17660
17661 &lt;p&gt;I&#39;m a South-African free software geek who lives in Cape Town. My
17662 days vary quite a bit since I&#39;m involved in too many things. As I&#39;m
17663 getting older I&#39;m learning how to focus a bit more :)&lt;/p&gt;
17664
17665 &lt;p&gt;I&#39;m also an Edubuntu contributor and I love when there are
17666 opportunities for the Edubuntu and Debian Edu projects to benefit from
17667 each other.&lt;/p&gt;
17668
17669 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
17670 project?&lt;/strong&gt;&lt;/p&gt;
17671
17672 &lt;p&gt;I&#39;ve been somewhat familiar with the project before, but I think my
17673 first direct exposure to the project was when I met Petter
17674 [Reinholdtsen] and Knut [Yrvin] at the Edubuntu summit in 2005 in
17675 London. They provided great feedback that helped the bootstrapping of
17676 Edubuntu. Back then Edubuntu (and even Ubuntu) was still very new and
17677 it was great getting input from people who have been around longer. I
17678 was also still very excitable and said yes to everything and to this
17679 day I have a big todo list backlog that I&#39;m catching up with. I think
17680 over the years the relationship between Edubuntu and Debian-Edu has
17681 been gradually improving, although I think there&#39;s a lot that we could
17682 still improve on in terms of working together on packages. I&#39;m sure
17683 we&#39;ll get there one day.&lt;/p&gt;
17684
17685 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
17686 Edu?&lt;/strong&gt;&lt;/p&gt;
17687
17688 &lt;p&gt;Debian itself already has so many advantages. I could go on about
17689 it for pages, but in essence I love that it&#39;s a very honest project
17690 that puts its users first with no hidden agendas and also produces
17691 very high quality work.&lt;/p&gt;
17692
17693 &lt;p&gt;I think the advantage of Debian Edu is that it makes many common
17694 set-up tasks simpler so that administrators can get up and running
17695 with a lot less effort and frustration. At the same time I think it
17696 helps to standardise installations in schools so that it&#39;s easier for
17697 community members and commercial suppliers to support.&lt;/p&gt;
17698
17699 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
17700 Edu?&lt;/strong&gt;&lt;/p&gt;
17701
17702 &lt;p&gt;I had to re-type this one a few times because I&#39;m trying to
17703 separate &quot;disadvantages&quot; from &quot;areas that need improvement&quot; (which is
17704 what I originally rambled on about)&lt;/p&gt;
17705
17706 &lt;p&gt;The biggest disadvantage I can think of is lack of manpower. The
17707 project could do so much more if there were more good contributors. I
17708 think some of the problems are external too. Free software and free
17709 content in education is a no-brainer but it takes some time to catch
17710 on. When you&#39;ve been working with the same proprietary eco-system for
17711 years and have gotten used to it, it can be hard to adjust to some
17712 concepts in the free software world. It would be nice if there were
17713 more Debian Edu consultants across the world. I&#39;d love to be one
17714 myself but I&#39;m already so over-committed that it&#39;s just not possible
17715 currently.&lt;/p&gt;
17716
17717 &lt;p&gt;I think the best short-term solution to that large-scale problem is
17718 for schools to be pro-active and share their experiences and grow
17719 their skills in-house. I&#39;m often saddened to see how much money
17720 educational institutions spend on 3rd party solutions that they don&#39;t
17721 have access to after the service has ended and they could&#39;ve gotten so
17722 much more value otherwise by being more self-sustainable and
17723 autonomous.&lt;/p&gt;
17724
17725 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
17726
17727 &lt;p&gt;My main laptop dual-boots between Debian and Windows 7. I was
17728 Windows free for years but started dual-booting again last year for
17729 some games which help me focus and relax (Starcraft II in
17730 particular). Gaming support on Linux is improving in leaps and bounds
17731 so I suppose I&#39;ll soon be able to regain that disk space :)&lt;/p&gt;
17732
17733 &lt;p&gt;Besides that I rely on Icedove, Chromium, Terminator, Byobu, irssi,
17734 git, Tomboy, KVM, VLC and LibreOffice. Recently I&#39;ve been torn on
17735 which desktop environment I like and I&#39;m taking some refuge in Xfce
17736 while I figure that out. I like tools that keep things simple. I enjoy
17737 Python and shell scripting. I went to an Arduino workshop recently and
17738 it was awesome seeing how easy and simple the IDE software was to get
17739 up and running in Debian compared to the users running Windows and OS
17740 X.&lt;/p&gt;
17741
17742 &lt;p&gt;I also use mc which some people frown upon slightly. I got used to
17743 using Norton Commander in the early 90&#39;s and it stuck (I think the
17744 people who sneer at it is just jealous that they don&#39;t know how to use
17745 it :p)
17746
17747 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
17748 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
17749
17750 &lt;p&gt;I think trying to force it is unproductive. I also think that in
17751 many cases it&#39;s appropriate for schools to use non-free systems and I
17752 don&#39;t think that there&#39;s any particular moral or ethical problem with
17753 that.&lt;/p&gt;
17754
17755 &lt;p&gt;I do think though that free software can already solve so so many
17756 problems in educational institutions and it&#39;s just a shame not taking
17757 advantage of that.&lt;/p&gt;
17758
17759 &lt;p&gt;I also think that some curricula need serious review. For example,
17760 some areas of the world rely heavily on very specific versions of MS
17761 Office, teaching students to parrot menu items instead of learning the
17762 general concepts. I think that&#39;s very unproductive because firstly, MS
17763 Office&#39;s interface changes drastically every few years and on top of
17764 that it also locks in a generation to a product that might not be the
17765 best solution for them.&lt;/p&gt;
17766
17767 &lt;p&gt;To answer your question, I believe that the right strategy is to
17768 educate and inform, giving someone the information they require to
17769 make a decision that would work for them.&lt;/p&gt;
17770 </description>
17771 </item>
17772
17773 <item>
17774 <title>Fixing the Linux black screen of death on machines with Intel HD video</title>
17775 <link>https://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html</link>
17776 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html</guid>
17777 <pubDate>Tue, 11 Jun 2013 11:00:00 +0200</pubDate>
17778 <description>&lt;p&gt;When installing RedHat, Fedora, Debian and Ubuntu on some machines,
17779 the screen just turn black when Linux boot, either during installation
17780 or on first boot from the hard disk. I&#39;ve seen it once in a while the
17781 last few years, but only recently understood the cause. I&#39;ve seen it
17782 on HP laptops, and on my latest acquaintance the Packard Bell laptop.
17783 The reason seem to be in the wiring of some laptops. The system to
17784 control the screen background light is inverted, so when Linux try to
17785 turn the brightness fully on, it end up turning it off instead. I do
17786 not know which Linux drivers are affected, but this post is about the
17787 i915 driver used by the
17788 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Packard Bell
17789 EasyNote LV&lt;/a&gt;, Thinkpad X40 and many other laptops.&lt;/p&gt;
17790
17791 &lt;p&gt;The problem can be worked around two ways. Either by adding
17792 i915.invert_brightness=1 as a kernel option, or by adding a file in
17793 /etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
17794 option when it load the i915 kernel module. On Debian and Ubuntu, it
17795 can be done by running these commands as root:&lt;/p&gt;
17796
17797 &lt;pre&gt;
17798 echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
17799 update-initramfs -u -k all
17800 &lt;/pre&gt;
17801
17802 &lt;p&gt;Since March 2012 there is
17803 &lt;a href=&quot;http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955&quot;&gt;a
17804 mechanism in the Linux kernel&lt;/a&gt; to tell the i915 driver which
17805 hardware have this problem, and get the driver to invert the
17806 brightness setting automatically. To use it, one need to add a row in
17807 &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
17808 intel_quirks array&lt;/a&gt; in the driver source
17809 &lt;tt&gt;drivers/gpu/drm/i915/intel_display.c&lt;/tt&gt; (look for &quot;&lt;tt&gt;static
17810 struct intel_quirk intel_quirks&lt;/tt&gt;&quot;), specifying the PCI device
17811 number (vendor number 8086 is assumed) and subdevice vendor and device
17812 number.&lt;/p&gt;
17813
17814 &lt;p&gt;My Packard Bell EasyNote LV got this output from &lt;tt&gt;lspci
17815 -vvnn&lt;/tt&gt; for the video card in question:&lt;/p&gt;
17816
17817 &lt;p&gt;&lt;pre&gt;
17818 00:02.0 VGA compatible controller [0300]: Intel Corporation \
17819 3rd Gen Core processor Graphics Controller [8086:0156] \
17820 (rev 09) (prog-if 00 [VGA controller])
17821 Subsystem: Acer Incorporated [ALI] Device [1025:0688]
17822 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
17823 ParErr- Stepping- SE RR- FastB2B- DisINTx+
17824 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast &gt;TAbort- \
17825 &lt;TAbort- &lt;MAbort-&gt;SERR- &lt;PERR- INTx-
17826 Latency: 0
17827 Interrupt: pin A routed to IRQ 42
17828 Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
17829 Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
17830 Region 4: I/O ports at 4000 [size=64]
17831 Expansion ROM at &lt;unassigned&gt; [disabled]
17832 Capabilities: &lt;access denied&gt;
17833 Kernel driver in use: i915
17834 &lt;/pre&gt;&lt;/p&gt;
17835
17836 &lt;p&gt;The resulting intel_quirks entry would then look like this:&lt;/p&gt;
17837
17838 &lt;p&gt;&lt;pre&gt;
17839 struct intel_quirk intel_quirks[] = {
17840 ...
17841 /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
17842 { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
17843 ...
17844 }
17845 &lt;/pre&gt;&lt;/p&gt;
17846
17847 &lt;p&gt;According to the kernel module instructions (as seen using
17848 &lt;tt&gt;modinfo i915&lt;/tt&gt;), information about hardware needing the
17849 invert_brightness flag should be sent to the
17850 &lt;a href=&quot;http://lists.freedesktop.org/mailman/listinfo/dri-devel&quot;&gt;dri-devel
17851 (at) lists.freedesktop.org&lt;/a&gt; mailing list to reach the kernel
17852 developers. But my email about the laptop sent 2013-06-03 have not
17853 yet shown up in
17854 &lt;a href=&quot;http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html&quot;&gt;the
17855 web archive for the mailing list&lt;/a&gt;, so I suspect they do not accept
17856 emails from non-subscribers. Because of this, I sent my patch also to
17857 the Debian bug tracking system instead as
17858 &lt;a href=&quot;http://bugs.debian.org/710938&quot;&gt;BTS report #710938&lt;/a&gt;, to make
17859 sure the patch is not lost.&lt;/p&gt;
17860
17861 &lt;p&gt;Unfortunately, it is not enough to fix the kernel to get Laptops
17862 with this problem working properly with Linux. If you use Gnome, your
17863 worries should be over at this point. But if you use KDE, there is
17864 something in KDE ignoring the invert_brightness setting and turning on
17865 the screen during login. I&#39;ve reported it to Debian as
17866 &lt;a href=&quot;http://bugs.debian.org/711237&quot;&gt;BTS report #711237&lt;/a&gt;, and
17867 have no idea yet how to figure out exactly what subsystem is doing
17868 this. Perhaps you can help? Perhaps you know what the Gnome
17869 developers did to handle this, and this can give a clue to the KDE
17870 developers? Or you know where in KDE the screen brightness is changed
17871 during login? If so, please update the BTS report (or get in touch if
17872 you do not know how to update BTS).&lt;/p&gt;
17873
17874 &lt;p&gt;Update 2013-07-19: The correct fix for this machine seem to be
17875 acpi_backlight=vendor, to disable ACPI backlight support completely,
17876 as the ACPI information on the machine is trash and it is better to
17877 leave it to the intel video driver to control the screen
17878 backlight.&lt;/p&gt;
17879 </description>
17880 </item>
17881
17882 <item>
17883 <title>Third alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
17884 <link>https://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
17885 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
17886 <pubDate>Mon, 10 Jun 2013 22:50:00 +0200</pubDate>
17887 <description>&lt;p&gt;The third wheezy based alpha release of Debian Edu was wrapped up
17888 today. This is the release announcement:&lt;/p&gt;
17889
17890 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.0.0 alpha2 released
17891 2013-06-10&lt;/strong&gt;&lt;/p&gt;
17892
17893 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
17894 alpha2, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
17895
17896 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
17897
17898 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
17899 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
17900 out-of-the box environment of a completely configured school
17901 network. Immediately after installation a school server running all
17902 services needed for a school network is set up just waiting for users
17903 and machines being added via GOsa², a comfortable Web-UI. A netbooting
17904 environment is prepared using PXE, so after initial installation of
17905 the main server from CD, DVD or USB stick all other machines can be
17906 installed via the network. The provided school server provides LDAP
17907 database and Kerberos authentication service, centralized home
17908 directories, DHCP server, web proxy and many other services. The
17909 desktop contains
17910 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html&quot;&gt;more
17911 than 60 educational software packages&lt;/a&gt; and more are available from
17912 the Debian archive, and schools can choose between KDE, Gnome, LXDE
17913 and Xfce desktop environment.&lt;/p&gt;
17914
17915 &lt;p&gt;This is the third test release based on Debian Wheezy. Basically
17916 this is an updated and slightly improved version compared to the
17917 Squeeze release.&lt;/p&gt;
17918
17919 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
17920
17921 &lt;ul&gt;
17922
17923 &lt;li&gt;Iceweasel was updated from 10 to 17. (DSA 2699-1)
17924 &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).
17925 &lt;li&gt;Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
17926 &lt;li&gt;Now install software oscilloscope xoscope by default.
17927 &lt;li&gt;Now install music tools gtick, lingot and pianobooster by default.
17928
17929 &lt;/ul&gt;
17930
17931 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
17932
17933 &lt;ul&gt;
17934
17935 &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.
17936 &lt;li&gt;Updated translation of the installation.
17937 &lt;li&gt;New Romanian translation.
17938 &lt;li&gt;Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
17939 &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).
17940 &lt;li&gt;Made roaming workstation setup more robust in non-Debian Edu environments.
17941 &lt;li&gt;New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
17942 &lt;li&gt;Adjust Iceweasel setup to improve performance when $HOME is on NFS.
17943 &lt;li&gt;More testsuite tests.
17944 &lt;li&gt;Make automatic proxy configuration more robust.
17945 &lt;li&gt;Adjust GOsa² GUI configuration.
17946
17947 &lt;li&gt;Update thin client and diskless workstation setup to work with
17948 LTSP in Wheezy.&lt;/li&gt;
17949
17950 &lt;li&gt;Diskless workstations now run out of the box -- no need to set
17951 them up with GOsa².&lt;/li&gt;
17952
17953 &lt;li&gt;Update IMAP server setup. &lt;/li&gt;
17954
17955 &lt;li&gt;Fix login into Skolelinux Backup Tool (Closed in
17956 slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
17957 entered password). &lt;/li&gt;
17958
17959 &lt;/ul&gt;
17960
17961 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
17962
17963 &lt;ul&gt;
17964
17965 &lt;li&gt;DVD binary and source images are not yet ready.&lt;/li&gt;
17966
17967 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
17968 available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
17969 missing import feature).&lt;/li&gt;
17970
17971 &lt;li&gt;Missing artwork for the KDE desktop (and probably a few others). &lt;/li&gt;
17972
17973 &lt;li&gt;KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
17974 own icon names instead of using existing). This will remain
17975 unfixed.&lt;/li&gt;
17976
17977 &lt;/ul&gt;
17978
17979 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
17980
17981 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
17982
17983 &lt;ul&gt;
17984
17985 &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;
17986
17987 &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;
17988
17989 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .&lt;/li&gt;
17990
17991 &lt;/ul&gt;
17992
17993 &lt;p&gt;The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
17994 &lt;br&gt;The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419&lt;/p&gt;
17995
17996 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
17997
17998 &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;
17999 </description>
18000 </item>
18001
18002 <item>
18003 <title>Is there a PHP expert in the building? Debian Edu need help!</title>
18004 <link>https://people.skolelinux.org/pere/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html</link>
18005 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html</guid>
18006 <pubDate>Wed, 5 Jun 2013 17:50:00 +0200</pubDate>
18007 <description>&lt;p&gt;Here is a call for help from the Debian Edu / Skolelinux project.
18008 We have two problems blocking the release of the Wheezy version we
18009 hope to get released soon. The two problems require some with PHP
18010 skills, and we seem to lack anyone with both time and PHP skills in
18011 the project:
18012
18013 &lt;ol&gt;
18014
18015 &lt;li&gt;It is impossible to log into the slbackup web interface
18016 (slbackup-php) using the root user and password. This is
18017 &lt;a href=&quot;http://bugs.debian.org/700257&quot;&gt;BTS report #700257&lt;/a&gt;.
18018 This used to work, but stopped working some time since Squeeze.
18019 Perhaps some obsolete PHP feature was used?&lt;/li&gt;
18020
18021 &lt;li&gt;It is not possible to &quot;mass import&quot; user lists in Gosa, neither
18022 using ldif nor using CSV files. The feature was disabled after a
18023 major rewrite of Gosa, and need to be ported to the new system.
18024 This is &lt;a href=&quot;http://bugs.debian.org/698840&quot;&gt;BTS report
18025 #698840&lt;/a&gt;.&lt;/li&gt;
18026
18027 &lt;/ol&gt;
18028
18029 &lt;p&gt;If you can help us, please join us on IRC
18030 (&lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu on
18031 irc.debian.org&lt;/a&gt;) and provide patches via the BTS.&lt;/p&gt;
18032 </description>
18033 </item>
18034
18035 <item>
18036 <title>Debian Edu interview: Cédric Boutillier</title>
18037 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html</link>
18038 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html</guid>
18039 <pubDate>Tue, 4 Jun 2013 10:30:00 +0200</pubDate>
18040 <description>&lt;p&gt;It has been a while since my last English
18041 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
18042 interview last November. But the developers and translators are still
18043 pulling along to get the Wheezy based release out the door, and this
18044 time I managed to get an interview from one of the French translators
18045 in the project, Cédric Boutillier.&lt;/p&gt;
18046
18047 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
18048
18049 &lt;p&gt;I am 34 year old. I live near Paris, France. I am an assistant
18050 professor in probability theory. I spend my daytime teaching
18051 mathematics at the university and doing fundamental research in
18052 probability in connexion with combinatorics and statistical physics.&lt;/p&gt;
18053
18054 &lt;p&gt;I have been involved in the Debian project for a couple of years
18055 and became Debian Developer a few months ago. I am working on Ruby
18056 packaging, publicity and translation.&lt;/p&gt;
18057
18058 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
18059 project?&lt;/strong&gt;&lt;/p&gt;
18060
18061 &lt;p&gt;I came to the Debian Edu project after a call for translation of
18062 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Manuals&quot;&gt;the
18063 Debian Edu manual&lt;/a&gt; for the release of Debian Edu Squeeze. Since
18064 then, I have been working on updating the French translation of the
18065 manual.
18066
18067 &lt;p&gt;I had the opportunity to make an installation of Debian Edu in a
18068 virtual machine when I was preparing localised version of some screen
18069 shots for the manual. I was amazed to see it worked out of the box and
18070 how comprehensive the list of software installed by default was.&lt;/p&gt;
18071
18072 &lt;p&gt;What amazed me was the complete network infrastructure directly
18073 ready to use, which can and the nice administration interface provided
18074 by &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa²&lt;/a&gt;. What pleased
18075 me also was the fact that among the software installed by default,
18076 there were many &quot;traditional&quot; educative software to learn languages,
18077 to count, to program... but also software to develop creativity and
18078 artistic skills with music (&lt;a href=&quot;http://ardour.org/&quot;&gt;Ardour&lt;/a&gt;,
18079 &lt;a href=&quot;http://audacity.sourceforge.net/&quot;&gt;Audacity&lt;/a&gt;) and
18080 movies/animation (I was especially thinking of
18081 &lt;a href=&quot;http://linuxstopmotion.sourceforge.net/&quot;&gt;Stopmotion&lt;/a&gt;).&lt;/p&gt;
18082
18083 &lt;p&gt;I am following the development of Debian Edu and am hanging out on
18084 &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;#debian-edu&lt;/a&gt;.
18085 Unfortunately, I don&#39;t much time to get more involved in this
18086 beautiful project.&lt;/p&gt;
18087
18088 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
18089 Edu?&lt;/strong&gt;&lt;/p&gt;
18090
18091 &lt;p&gt;For me, the main advantages of Skolelinux/Debian Edu are its
18092 community of experts and its precise documentation, as well as the
18093 fact that it provides a solution ready to use.&lt;/p&gt;
18094
18095 &lt;p&gt;I would add also the fact that it is based on the rock solid Debian
18096 distribution, which ensures stability and provides a huge collection
18097 of educational free software.&lt;/p&gt;
18098
18099 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
18100 Edu?&lt;/strong&gt;&lt;/p&gt;
18101
18102 &lt;p&gt;Maybe the lack of manpower to do lobbying on the
18103 project. Sometimes, people who need to take decisions concerning IT do
18104 not have all the elements to evaluate properly free software
18105 solutions. The fact that support by a company may be difficult to find
18106 is probably a problem if the school does not have IT personnel.&lt;/p&gt;
18107
18108 &lt;p&gt;One can find support from a company by looking at
18109 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp&quot;&gt;the
18110 wiki dokumentation&lt;/a&gt;, where some countries already have a number of
18111 companies providing support for Debian Edu, like Germany or
18112 Norway. This list is easy to find readily from the manual. However,
18113 for other countries, like France, the list is empty. I guess that
18114 consultants proposing support for Debian would be able to provide some
18115 support for Debian Edu as well.&lt;/p&gt;
18116
18117 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
18118
18119 &lt;p&gt;I am using the KDE Plasma Desktop. But the pieces of software I use
18120 most runs in a terminal: Mutt and OfflineIMAP for emails, latex for
18121 scientific documents, mpd for music. VIM is my editor of choice. I am
18122 also using the mathematical software
18123 &lt;a href=&quot;http://www.scilab.org/en/scilab/about‎&quot;&gt;Scilab&lt;/a&gt; and
18124 &lt;a href=&quot;http://www.sagemath.org/index.html‎&quot;&gt;Sage&lt;/a&gt; (built from
18125 source as not completely packaged for Debian, yet).
18126
18127 &lt;p&gt;&lt;strong&gt;Do you have any suggestions for teachers interested in
18128 using the free software in Debian to teach mathematics and
18129 statistics?&lt;/strong&gt;&lt;/p&gt;
18130
18131 &lt;p&gt;I do not have any &quot;nice&quot; recommendations for statistics. At our
18132 university, we use both &lt;a href=&quot;http://www.r-project.org/‎&quot;&gt;R&lt;/a&gt; and
18133 Scilab to teach statistics and probabilistic simulations. For
18134 geometry, there are nice programs:&lt;/p&gt;
18135
18136 &lt;ul&gt;
18137
18138 &lt;li&gt;&lt;a href=&quot;http://www.drgeo.eu/&quot;&gt;drgeo&lt;/a&gt; and
18139 &lt;a href=&quot;http://edu.kde.org/applications/all/kig‎&quot;&gt;kig&lt;/a&gt; to do
18140 constructions in planar geometry
18141
18142 &lt;li&gt;&lt;a href=&quot;http://www.geom.uiuc.edu/software/download/kali.html&quot;&gt;kali&lt;/a&gt;
18143 to discover symmetry groups (the so-called wallpapers and frieze
18144 groups), although the interface looks a bit old.&lt;/li&gt;
18145
18146 &lt;/ul&gt;
18147
18148 &lt;p&gt;I like also
18149 &lt;a href=&quot;http://edu.kde.org/applications/all/cantor&quot;&gt;cantor&lt;/a&gt;, which
18150 provides a uniform interface to SciLab, Sage,
18151 &lt;a href=&quot;http://directory.fsf.org/wiki/Octave‎&quot;&gt;Octave&lt;/a&gt;, etc...&lt;/p&gt;
18152
18153 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
18154 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
18155
18156 &lt;p&gt;My suggestions would be to&lt;/p&gt;
18157
18158 &lt;ul&gt;
18159
18160 &lt;li&gt;advertise the reduction of costs when free software is used.&lt;/li&gt;
18161
18162 &lt;li&gt;communicate about the quality of free software projects, using
18163 well known examples like Firefox, ThunderBird and
18164 OpenOffice.org/LibreOffice.&lt;/li&gt;
18165
18166 &lt;li&gt;advertise the living and strong community around the project.&lt;/li&gt;
18167
18168 &lt;li&gt;show that it is not more difficult to use than any other
18169 system.&lt;/li&gt;
18170
18171 &lt;/ul&gt;
18172 </description>
18173 </item>
18174
18175 <item>
18176 <title>Educational applications included in Debian Edu / Skolelinux (the screenshot collection :-)</title>
18177 <link>https://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html</link>
18178 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html</guid>
18179 <pubDate>Sat, 1 Jun 2013 23:50:00 +0200</pubDate>
18180 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
18181 Skolelinux&lt;/a&gt;, there are quite a lot of educational software.
18182 Created to help teachers teach, and pupils learn. We have tried to
18183 tag them all using debtags use::learning and role::program, and using
18184 the debtags I was happy to be able to create a collage of the
18185 educational software packages installed by default, sorted by the
18186 debtag field. Here it is. Click on a image to learn more about the
18187 program.&lt;/p&gt;
18188
18189 &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;
18190
18191 &lt;p&gt;&lt;strong&gt;field::arts&lt;/strong&gt;&lt;/p&gt;
18192 &lt;p&gt;
18193 &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;
18194 &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;
18195 &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;
18196 &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;
18197 &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;
18198 &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;
18199 &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;
18200 &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;
18201 &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;
18202 &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;
18203 &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;
18204 &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;
18205 &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;
18206 &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;
18207 &lt;/p&gt;
18208
18209 &lt;p&gt;&lt;strong&gt;field::astronomy&lt;/strong&gt;&lt;/p&gt;
18210 &lt;p&gt;
18211 &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;
18212 &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;
18213 &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;
18214 &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;
18215 &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;
18216 &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;
18217 &lt;/p&gt;
18218
18219 &lt;p&gt;&lt;strong&gt;field::biology:structural&lt;/strong&gt;&lt;/p&gt;
18220 &lt;p&gt;
18221 &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;
18222 &lt;/p&gt;
18223
18224 &lt;p&gt;&lt;strong&gt;field::chemistry&lt;/strong&gt;&lt;/p&gt;
18225 &lt;p&gt;
18226 &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;
18227 &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;
18228 &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;
18229 &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;
18230 &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;
18231 &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;
18232 &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;
18233 &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;
18234 &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;
18235 &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;
18236 &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;
18237 &lt;/p&gt;
18238
18239 &lt;p&gt;&lt;strong&gt;field::electronics&lt;/strong&gt;&lt;/p&gt;
18240 &lt;p&gt;
18241 &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;
18242 &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;
18243 &lt;/p&gt;
18244
18245 &lt;p&gt;&lt;strong&gt;field::geography&lt;/strong&gt;&lt;/p&gt;
18246 &lt;p&gt;
18247 &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;
18248 &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;
18249 &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;
18250 &lt;/p&gt;
18251
18252 &lt;p&gt;&lt;strong&gt;field::linguistics&lt;/strong&gt;&lt;/p&gt;
18253 &lt;p&gt;
18254 &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;
18255 &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;
18256 &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;
18257 &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;
18258 &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;
18259 &lt;/p&gt;
18260
18261 &lt;p&gt;&lt;strong&gt;field::mathematics&lt;/strong&gt;&lt;/p&gt;
18262 &lt;p&gt;
18263 &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;
18264 &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;
18265 &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;
18266 &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;
18267 &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;
18268 &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;
18269 &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;
18270 &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;
18271 &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;
18272 &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;
18273 &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;
18274 &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;
18275 &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;
18276 &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;
18277 &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;
18278 &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;
18279 &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;
18280 &lt;/p&gt;
18281
18282 &lt;p&gt;&lt;strong&gt;field::physics&lt;/strong&gt;&lt;/p&gt;
18283 &lt;p&gt;
18284 &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;
18285 &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;
18286 &lt;/p&gt;
18287
18288 &lt;p&gt;&lt;strong&gt;field::TODO&lt;/strong&gt;&lt;/p&gt;
18289 &lt;p&gt;
18290 &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;
18291 &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;
18292 &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;
18293 &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;
18294 &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;
18295 &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;
18296 &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;
18297 &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;
18298 &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;
18299 &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;
18300 &lt;/p&gt;
18301
18302 &lt;p&gt;In total, 61 applications. 3 of them lacked screen shots on
18303 &lt;a href=&quot;http://screenshot.debian.net&quot;&gt;screenshot.debian.net&lt;/a&gt;. If
18304 you know of some packages we should install by default, please let us
18305 know on &lt;a href=&quot;irc://irc.debian.org/%23debian-edu&quot;&gt;IRC, #debian-edu
18306 on irc.debian.org&lt;/a&gt;, or our
18307 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;mailing list
18308 debian-edu@&lt;/a&gt;.&lt;/p&gt;
18309 </description>
18310 </item>
18311
18312 <item>
18313 <title>How to install Linux on a Packard Bell Easynote LV preinstalled with Windows 8</title>
18314 <link>https://people.skolelinux.org/pere/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html</link>
18315 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html</guid>
18316 <pubDate>Mon, 27 May 2013 15:20:00 +0200</pubDate>
18317 <description>&lt;p&gt;Two days ago, I asked
18318 &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
18319 I could install Linux on a Packard Bell EasyNote LV computer
18320 preinstalled with Windows 8&lt;/a&gt;. I found a solution, but am horrified
18321 with the obstacles put in the way of Linux users on a laptop with UEFI
18322 and Windows 8.&lt;/p&gt;
18323
18324 &lt;p&gt;I never found out if the cause of my problems were the use of UEFI
18325 secure booting or fast boot. I suspect fast boot was the problem,
18326 causing the firmware to boot directly from HD without considering any
18327 key presses and alternative devices, but do not know UEFI settings
18328 enough to tell.&lt;/p&gt;
18329
18330 &lt;p&gt;There is no way to install Linux on the machine in question without
18331 opening the box and disconnecting the hard drive! This is as far as I
18332 can tell, the only way to get access to the firmware setup menu
18333 without accepting the Windows 8 license agreement. I am told (and
18334 found description on how to) that it is possible to configure the
18335 firmware setup once booted into Windows 8. But as I believe the terms
18336 of that agreement are completely unacceptable, accepting the license
18337 was never an alternative. I do not enter agreements I do not intend
18338 to follow.&lt;/p&gt;
18339
18340 &lt;p&gt;I feared I had to return the laptops and ask for a refund, and
18341 waste many hours on this, but luckily there was a way to get it to
18342 work. But I would not recommend it to anyone planning to run Linux on
18343 it, and I have become sceptical to Windows 8 certified laptops. Is
18344 this the way Linux will be forced out of the market place, by making
18345 it close to impossible for &quot;normal&quot; users to install Linux without
18346 accepting the Microsoft Windows license terms? Or at least not
18347 without risking to loose the warranty?&lt;/p&gt;
18348
18349 &lt;p&gt;I&#39;ve updated the
18350 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Linux Laptop
18351 wiki page for Packard Bell EasyNote LV&lt;/a&gt;, to ensure the next person
18352 do not have to struggle as much as I did to get Linux into the
18353 machine.&lt;/p&gt;
18354
18355 &lt;p&gt;Thanks to Bob Rosbag, Florian Weimer, Philipp Kern, Ben Hutching,
18356 Michael Tokarev and others for feedback and ideas.&lt;/p&gt;
18357 </description>
18358 </item>
18359
18360 <item>
18361 <title>How can I install Linux on a Packard Bell Easynote LV preinstalled with Windows 8?</title>
18362 <link>https://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html</link>
18363 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html</guid>
18364 <pubDate>Sat, 25 May 2013 18:20:00 +0200</pubDate>
18365 <description>&lt;p&gt;I&#39;ve run into quite a problem the last few days. I bought three
18366 new laptops for my parents and a few others. I bought Packard Bell
18367 Easynote LV to run Kubuntu on and use as their home computer. But I
18368 am completely unable to figure out how to install Linux on it. The
18369 computer is preinstalled with Windows 8, and I suspect it uses UEFI
18370 instead of a BIOS to boot.&lt;/p&gt;
18371
18372 &lt;p&gt;The problem is that I am unable to get it to PXE boot, and unable
18373 to get it to boot the Linux installer from my USB stick. I have yet
18374 to try the DVD install, and still hope it will work. when I turn on
18375 the computer, there is no information on what buttons to press to get
18376 the normal boot menu. I expect to get some boot menu to select PXE or
18377 USB stick booting. When booting, it first ask for the language to
18378 use, then for some regional settings, and finally if I will accept the
18379 Windows 8 terms of use. As these terms are completely unacceptable to
18380 me, I have no other choice but to turn off the computer and try again
18381 to get it to boot the Linux installer.&lt;/p&gt;
18382
18383 &lt;p&gt;I have gathered my findings so far on a Linlap page about the
18384 &lt;a href=&quot;http://www.linlap.com/packard_bell_easynote_lv&quot;&gt;Packard Bell
18385 EasyNote LV&lt;/a&gt; model. If you have any idea how to get Linux
18386 installed on this machine, please get in touch or update that wiki
18387 page. If I can&#39;t find a way to install Linux, I will have to return
18388 the laptop to the seller and find another machine for my parents.&lt;/p&gt;
18389
18390 &lt;p&gt;I wonder, is this the way Linux will be forced out of the market
18391 using UEFI and &quot;secure boot&quot; by making it impossible to install Linux
18392 on new Laptops?&lt;/p&gt;
18393 </description>
18394 </item>
18395
18396 <item>
18397 <title>How to transform a Debian based system to a Debian Edu installation</title>
18398 <link>https://people.skolelinux.org/pere/blog/How_to_transform_a_Debian_based_system_to_a_Debian_Edu_installation.html</link>
18399 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_transform_a_Debian_based_system_to_a_Debian_Edu_installation.html</guid>
18400 <pubDate>Fri, 17 May 2013 11:50:00 +0200</pubDate>
18401 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is
18402 an operating system based on Debian intended for use in schools. It
18403 contain a turn-key solution for the computer network provided to
18404 pupils in the primary schools. It provide both the central server,
18405 network boot servers and desktop environments with heaps of
18406 educational software. The project was founded almost 12 years ago,
18407 2001-07-02. If you want to support the project, which is in need for
18408 cash to fund developer gatherings and other project related activity,
18409 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;please
18410 donate some money&lt;/a&gt;.
18411
18412 &lt;p&gt;A topic that come up again and again on the Debian Edu mailing
18413 lists and elsewhere, is the question on how to transform a Debian or
18414 Ubuntu installation into a Debian Edu installation. It isn&#39;t very
18415 hard, and last week I wrote a script to replicate the steps done by
18416 the Debian Edu installer.&lt;/p&gt;
18417
18418 &lt;p&gt;The script,
18419 &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;
18420 in the debian-edu-config package, will go through these six steps and
18421 transform an existing Debian Wheezy or Ubuntu (untested) installation
18422 into a Debian Edu Workstation:&lt;/p&gt;
18423
18424 &lt;ol&gt;
18425
18426 &lt;li&gt;Add skolelinux related APT sources.&lt;/li&gt;
18427 &lt;li&gt;Create /etc/debian-edu/config with the wanted configuration.&lt;/li&gt;
18428 &lt;li&gt;Install debian-edu-install to load preseeding values and pull in
18429 our configuration.&lt;/li&gt;
18430 &lt;li&gt;Preseed debconf database with profile setup in
18431 /etc/debian-edu/config, and run tasksel to install packages
18432 according to the profile specified in the config above,
18433 overriding some of the Debian automation machinery.&lt;/li&gt;
18434 &lt;li&gt;Run debian-edu-cfengine-D installation to configure everything
18435 that could not be done using preseeding.&lt;/li&gt;
18436 &lt;li&gt;Ask for a reboot to enable all the configuration changes.&lt;/li&gt;
18437
18438 &lt;/ol&gt;
18439
18440 &lt;p&gt;There are some steps in the Debian Edu installation that can not be
18441 replicated like this. Disk partitioning and LVM setup, for example.
18442 So this script just assume there is enough disk space to install all
18443 the needed packages.&lt;/p&gt;
18444
18445 &lt;p&gt;The script was created to help a Debian Edu student working on
18446 setting up &lt;a href=&quot;http://www.raspberrypi.org&quot;&gt;Raspberry Pi&lt;/a&gt; as a
18447 Debian Edu client, and using it he can take the existing
18448 &lt;a href=&quot;http://www.raspbian.org/FrontPage‎&quot;&gt;Raspbian&lt;/a&gt; installation and
18449 transform it into a fully functioning Debian Edu Workstation (or
18450 Roaming Workstation, or whatever :).&lt;/p&gt;
18451
18452 &lt;p&gt;The default setting in the script is to create a KDE Workstation.
18453 If a LXDE based Roaming workstation is wanted instead, modify the
18454 PROFILE and DESKTOP values at the top to look like this instead:&lt;/p&gt;
18455
18456 &lt;p&gt;&lt;pre&gt;
18457 PROFILE=&quot;Roaming-Workstation&quot;
18458 DESKTOP=&quot;lxde&quot;
18459 &lt;/pre&gt;&lt;/p&gt;
18460
18461 &lt;p&gt;The script could even become useful to set up Debian Edu servers in
18462 the cloud, by starting with a virtual Debian installation at some
18463 virtual hosting service and setting up all the services on first
18464 boot.&lt;/p&gt;
18465 </description>
18466 </item>
18467
18468 <item>
18469 <title>Second alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
18470 <link>https://people.skolelinux.org/pere/blog/Second_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
18471 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Second_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
18472 <pubDate>Tue, 14 May 2013 23:30:00 +0200</pubDate>
18473 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux
18474 project&lt;/a&gt; is making great progress and made its second Wheezy based
18475 release today. This is the release announcement:&lt;/p&gt;
18476
18477 &lt;p&gt;&lt;strong&gt;New features for Debian Edu 7.0.0 alpha1 released
18478 2013-05-14&lt;/strong&gt;&lt;/p&gt;
18479
18480 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
18481 alpha1, based on &lt;a href=&quot;http://www.debian.org&quot;&gt;Debian&lt;/a&gt; with
18482 codename &quot;Wheezy&quot;.&lt;/p&gt;
18483
18484 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
18485
18486 &lt;p&gt;Debian Edu, also known as Skolelinux, is a Linux distribution based
18487 on Debian providing an out-of-the box environment of a completely
18488 configured school network. Immediatly after installation a school
18489 server running all services needed for a school network is set up just
18490 waiting for users and machines being added via GOsa², a comfortable
18491 Web-UI. A netbooting environment is prepared using PXE, so after
18492 initial installation of the main server from CD, DVD or USB stick all
18493 other machines can be installed via the network.&lt;/p&gt;
18494
18495 &lt;p&gt;This is the first test release based on Wheezy (which currently is
18496 not released yet). Basically this is an updated and slightly improved
18497 version compared to the Squeeze release.&lt;/p&gt;
18498
18499 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
18500 &lt;ul&gt;
18501 &lt;li&gt;Install freemind (0.9.0) by default, and stop installing vym by
18502 default.&lt;/li&gt;
18503 &lt;li&gt;Install chromium (26.0.1410.43) by default.&lt;/li&gt;
18504 &lt;li&gt;Install goplay (0.5-1.1) to make golearn available by default.&lt;/li&gt;
18505 &lt;li&gt;Updated support for Japanese input methods, now based on
18506 ibus-anthy.&lt;/li&gt;
18507 &lt;/ul&gt;
18508
18509 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
18510 &lt;ul&gt;
18511
18512 &lt;li&gt;Switched default file system from ext3 to ext4 for speed and
18513 reliability improvements.&lt;/li&gt;
18514 &lt;li&gt;Got rid of unwanted winbind daemon and PAM setup activated because
18515 of &lt;a href=&quot;http://bugs.debian.org/706434&quot;&gt;706434&lt;/a&gt;.&lt;/li&gt;
18516 &lt;li&gt;Extended and improved the testsuite tests to detect more possible
18517 problems.&lt;/li&gt;
18518 &lt;li&gt;Corrected proxy handling to not set http_proxy to a bogus
18519 direct:// URL.&lt;/li&gt;
18520 &lt;li&gt;Corrected proxy setup for diskless workstations.&lt;/li&gt;
18521 &lt;li&gt;Corrected PXE setup to use our updated udebs during installation.&lt;/li&gt;
18522 &lt;li&gt;Made installation handling of low entropy level more robust.&lt;/li&gt;
18523 &lt;li&gt;Create larger partitions for Roaming workstations and Thin client
18524 servers, to make room for all the software installed.&lt;/li&gt;
18525 &lt;li&gt;Fix bug in Roaming workstation PAM setup, making it impossible to
18526 log in (&lt;a href=&quot;http://bugs.debian.org/706753&quot;&gt;706753&lt;/a&gt;).&lt;/li&gt;
18527 &lt;/ul&gt;
18528
18529 &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
18530 &lt;ul&gt;
18531
18532 &lt;li&gt;IP resolution for the local hostname give useless IPv6 address
18533 (&lt;a href=&quot;http://bugs.debian.org/705900&quot;&gt;705900&lt;/a&gt;). Only install
18534 libnss-myhostname on roaming workstations until it is fixed.&lt;/li&gt;
18535 &lt;li&gt;DVD images are not yet ready.&lt;/li&gt;
18536 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv)
18537 available yet (&lt;a href=&quot;http://bugs.debian.org/698840&quot;&gt;698840&lt;/a&gt;).&lt;/li&gt;
18538 &lt;li&gt;Missing artwork for the KDE desktop (and probably a few others).&lt;/li&gt;
18539 &lt;li&gt;KDE Debian submenu lacks icons.&lt;/li&gt;
18540 &lt;li&gt;LXDE menu lacks entry for changing GOsa password
18541 (website). Installing gosa-desktop will be an option.&lt;/li&gt;
18542 &lt;li&gt;Backup configuration via web interface is impossible due to
18543 password submission problem
18544 (&lt;a href=&quot;http://bugs.debian.org/700257&quot;&gt;700257&lt;/a&gt;).&lt;/li&gt;
18545
18546 &lt;/ul&gt;
18547
18548 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
18549
18550 &lt;p&gt;To download the multiarch netinstall CD release you can use&lt;/p&gt;
18551 &lt;ul&gt;
18552
18553 &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;
18554 &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;
18555 &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;
18556
18557 &lt;/ul&gt;
18558
18559 &lt;p&gt;The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b&lt;/p&gt;
18560
18561 &lt;p&gt;The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c&lt;/p&gt;
18562
18563 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
18564
18565 &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;
18566 </description>
18567 </item>
18568
18569 <item>
18570 <title>Debian, the Linux distribution of choice for LEGO designers?</title>
18571 <link>https://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html</link>
18572 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html</guid>
18573 <pubDate>Sat, 11 May 2013 20:30:00 +0200</pubDate>
18574 <description>&lt;P&gt;In January,
18575 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html&quot;&gt;I
18576 announced a&lt;/a&gt; new &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;IRC
18577 channel #debian-lego&lt;/a&gt;, for those of us in the Debian and Linux
18578 community interested in &lt;a href=&quot;http://www.lego.com/&quot;&gt;LEGO&lt;/a&gt;, the
18579 marvellous construction system from Denmark. We also created
18580 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;a wiki page&lt;/a&gt; to have
18581 a place to take notes and write down our plans and hopes. And several
18582 people showed up to help. I was very happy to see the effect of my
18583 call. Since the small start, we have a debtags tag
18584 &lt;a href=&quot;http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego&quot;&gt;hardware::hobby:lego&lt;/a&gt;
18585 tag for LEGO related packages, and now count 10 packages related to
18586 LEGO and &lt;a href=&quot;http://mindstorms.lego.com/&quot;&gt;Mindstorms&lt;/a&gt;:&lt;/p&gt;
18587
18588 &lt;p&gt;&lt;table&gt;
18589 &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;
18590 &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;
18591 &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;
18592 &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;
18593 &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;
18594 &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;
18595 &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;
18596 &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;
18597 &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;
18598 &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;
18599 &lt;/table&gt;&lt;/p&gt;
18600
18601 &lt;p&gt;Some of these are available in Wheezy, and all but one are
18602 currently available in Jessie/testing. leocad is so far only
18603 available in experimental.&lt;/p&gt;
18604
18605 &lt;p&gt;If you care about LEGO in Debian, please join us on IRC and help
18606 adding the rest of the great free software tools available on Linux
18607 for LEGO designers.&lt;/p&gt;
18608 </description>
18609 </item>
18610
18611 <item>
18612 <title>Debian Wheezy is out - and Debian Edu / Skolelinux should soon follow! #newinwheezy</title>
18613 <link>https://people.skolelinux.org/pere/blog/Debian_Wheezy_is_out___and_Debian_Edu___Skolelinux_should_soon_follow___newinwheezy.html</link>
18614 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Wheezy_is_out___and_Debian_Edu___Skolelinux_should_soon_follow___newinwheezy.html</guid>
18615 <pubDate>Sun, 5 May 2013 07:40:00 +0200</pubDate>
18616 <description>&lt;p&gt;When I woke up this morning, I was very happy to see that the
18617 &lt;a href=&quot;http://www.debian.org/News/2013/20130504&quot;&gt;release announcement
18618 for Debian Wheezy&lt;/a&gt; was waiting in my mail box. This is a great
18619 Debian release, and I expect to move my machines at home over to it fairly
18620 soon.&lt;/p&gt;
18621
18622 &lt;p&gt;The new debian release contain heaps of new stuff, and one program
18623 in particular make me very happy to see included. The
18624 &lt;a href=&quot;http://scratch.mit.edu/&quot;&gt;Scratch&lt;/a&gt; program, made famous by
18625 the &lt;a href=&quot;http://www.code.org/&quot;&gt;Teach kids code&lt;/a&gt; movement, is
18626 included for the first time. Alongside similar programs like
18627 &lt;a href=&quot;http://edu.kde.org/kturtle/&quot;&gt;kturtle&lt;/a&gt; and
18628 &lt;a href=&quot;http://wiki.sugarlabs.org/go/Activities/Turtle_Art&quot;&gt;turtleart&lt;/a&gt;,
18629 it allow for visual programming where syntax errors can not happen,
18630 and a friendly programming environment for learning to control the
18631 computer. Scratch will also be included in the next release of Debian
18632 Edu.&lt;/a&gt;
18633
18634 &lt;p&gt;And now that Wheezy is wrapped up, we can wrap up the next Debian
18635 Edu/Skolelinux release too. The
18636 &lt;a href=&quot;http://lists.debian.org/debian-edu/2013/04/msg00132.html&quot;&gt;first
18637 alpha release&lt;/a&gt; went out last week, and the next should soon
18638 follow.&lt;p&gt;
18639 </description>
18640 </item>
18641
18642 <item>
18643 <title>First alpha release of Debian Edu / Skolelinux based on Debian Wheezy</title>
18644 <link>https://people.skolelinux.org/pere/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</link>
18645 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html</guid>
18646 <pubDate>Fri, 26 Apr 2013 08:30:00 +0200</pubDate>
18647 <description>&lt;p&gt;The Debian Edu / Skolelinux project is still going strong and made
18648 its first Wheezy based release today. This is the release
18649 announcement:&lt;/p&gt;
18650
18651 &lt;p&gt;&lt;strong&gt;New features for Debian Edu ~7.0.0 alpha0 released
18652 2013-04-26&lt;/strong&gt;&lt;/p&gt;
18653
18654 &lt;p&gt;This is the release notes for for Debian Edu / Skolelinux ~7.0.0
18655 edu alpha0, based on Debian with codename &quot;Wheezy&quot;.&lt;/p&gt;
18656
18657 &lt;p&gt;&lt;strong&gt;About Debian Edu and Skolelinux&lt;/strong&gt;&lt;/p&gt;
18658
18659 &lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu, also known as
18660 Skolelinux&lt;/a&gt;, is a Linux distribution based on Debian providing an
18661 out-of-the box environment of a completely configured school
18662 network. Immediatly after installation a school server running all
18663 services needed for a school network is set up just waiting for users
18664 and machines being added via GOsa², a comfortable Web-UI. A netbooting
18665 environment is prepared using PXE, so after initial installation of
18666 the main server from CD, DVD or USB stick all other machines can be
18667 installed via the network.&lt;/p&gt;
18668
18669 &lt;p&gt;This is the first test release based on Wheezy (which currently is
18670 not released yet). Basically this is an updated and slightly improved
18671 version compared to the Squeeze release.&lt;/p&gt;
18672
18673 &lt;p&gt;&lt;strong&gt;Software updates&lt;/strong&gt;&lt;/p&gt;
18674
18675 &lt;ul&gt;
18676 &lt;li&gt;Everything which is new in Debian Wheezy, eg:
18677 &lt;ul&gt;
18678 &lt;li&gt;Linux kernel 3.2.x&lt;/li&gt;
18679 &lt;li&gt;Desktop environments KDE &quot;Plasma&quot; 4.8.4, GNOME 3.4, and LXDE 4
18680 (KDE is installed by default; to choose GNOME or LXDE: see
18681 manual.)&lt;/li&gt;
18682 &lt;li&gt;Web browser Iceweasel 10 ESR&lt;/li&gt;
18683 &lt;li&gt;LibreOffice 3.5.4&lt;/li&gt;
18684 &lt;li&gt;LTSP 5.4.2&lt;/li&gt;
18685 &lt;li&gt;GOsa 2.7.4&lt;/li&gt;
18686 &lt;li&gt;CUPS print system 1.5.3&lt;/li&gt;
18687 &lt;li&gt;Educational toolbox GCompris 12.01&lt;/li&gt;
18688 &lt;li&gt;Music creator Rosegarden 12.04&lt;/li&gt;
18689 &lt;li&gt;Image editor Gimp 2.8.2&lt;/li&gt;
18690 &lt;li&gt;Virtual universe Celestia 1.6.1&lt;/li&gt;
18691 &lt;li&gt;Virtual stargazer Stellarium 0.11.3&lt;/li&gt;
18692 &lt;li&gt;Scratch visual programming environment 1.4.0.6&lt;/li&gt;
18693 &lt;li&gt;New version of debian-installer from Debian Wheezy, see
18694 &lt;a href=&quot;http://www.debian.org/releases/wheezy/installmanual&quot;&gt;installation
18695 manual&lt;/a&gt; for more details.&lt;/li&gt;
18696 &lt;li&gt;Debian Wheezy includes about 37000 packages available for
18697 installation.&lt;/li&gt;
18698 &lt;li&gt;More information about Debian Wheezy 7.0 is provided in the
18699 &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;
18700 &lt;/ul&gt;&lt;/li&gt;
18701 &lt;/ul&gt;
18702
18703 &lt;p&gt;&lt;strong&gt;Documentation&lt;/strong&gt;&lt;/p&gt;
18704 &lt;ul&gt;
18705 &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
18706 German, French, Italian and Danish. Partly translated versions exist
18707 for Norwegian Bokmal and Spanish.&lt;/li&gt;
18708 &lt;/ul&gt;
18709
18710 &lt;p&gt;&lt;Strong&gt;LDAP related changes&lt;/strong&gt;&lt;/p&gt;
18711 &lt;ul&gt;
18712 &lt;li&gt;Slight changes to some objects and acls to have more types to
18713 choose from when adding systems in GOsa. Now systems can be of type
18714 server, workstation, printer, terminal or netdevice.&lt;/li&gt;
18715 &lt;/ul&gt;
18716
18717 &lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;
18718 &lt;ul&gt;
18719 &lt;li&gt;LTSP clients start as diskless workstation / thin client can be
18720 configured via command line argument -- or individually adding an
18721 entry in lts.conf or LDAP.&lt;li&gt;
18722 &lt;li&gt;GOsa gui: Now some options that seemed to be available, but are non
18723 functional, are greyed out (or are not clickable). Some tabs are
18724 completely hidden to the end user, others even to the GOsa admin.&lt;/li&gt;
18725 &lt;/ul&gt;
18726
18727 &lt;p&gt;&lt;strong&gt;Regressions&lt;/strong&gt;&lt;/p&gt;
18728 &lt;ul&gt;
18729 &lt;li&gt;No mass import of user account data in GOsa (ldif or csv) available
18730 yet.&lt;/li&gt;
18731 &lt;/ul&gt;
18732
18733 &lt;p&gt;&lt;strong&gt;No updated artwork&lt;/strong&gt;&lt;/p&gt;
18734
18735 &lt;ul&gt;
18736 &lt;li&gt;Updated artwork which is visible during installation, in the login
18737 screen and as desktop wallpaper is still missing or the same as we
18738 had for our Squeeze based release.&lt;/li&gt;
18739 &lt;/ul&gt;
18740
18741 &lt;p&gt;&lt;strong&gt;Where to get it&lt;/strong&gt;&lt;/p&gt;
18742
18743 To download the multiarch netinstall CD release you can use
18744 &lt;ul&gt;
18745 &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;
18746 &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;
18747 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/&lt;/li&gt;
18748 &lt;/ul&gt;
18749
18750 &lt;p&gt;The MD5SUM of this image is: c5e773ddafdaa4f48c409c682f598b6c&lt;/p&gt;
18751
18752 &lt;p&gt;The SHA1SUM of this image is: 25934fabb9b7d20235499a0a51f08ce6c54215f2&lt;/p&gt;
18753
18754 &lt;p&gt;&lt;strong&gt;How to report bugs&lt;/strong&gt;&lt;/p&gt;
18755
18756 &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;
18757 </description>
18758 </item>
18759
18760 <item>
18761 <title>First Debian Edu / Skolelinux developer gathering in 2013 take place in Trondheim</title>
18762 <link>https://people.skolelinux.org/pere/blog/First_Debian_Edu___Skolelinux_developer_gathering_in_2013_take_place_in_Trondheim.html</link>
18763 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_Debian_Edu___Skolelinux_developer_gathering_in_2013_take_place_in_Trondheim.html</guid>
18764 <pubDate>Tue, 16 Apr 2013 15:00:00 +0200</pubDate>
18765 <description>&lt;p&gt;This years first &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux /
18766 Debian Edu&lt;/a&gt; developer gathering take place the coming weekend in Trondheim.
18767 Details about the gathering can be found
18768 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2013-04-19-21-Trondheim&quot;&gt;on
18769 the FRiSK wiki&lt;/a&gt;. The dates are 19-21th of April 2013, and online
18770 participation for those unable to make it in person is very welcome,
18771 and I plan to participate online myself as I could not leave Oslo this
18772 weekend.&lt;/p&gt;
18773
18774 &lt;p&gt;The focus of the gathering is to work on the web pages and project
18775 infrastructure, and to continue the work on the Wheezy based Debian
18776 Edu release.&lt;/p&gt;
18777
18778 &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;
18779 </description>
18780 </item>
18781
18782 <item>
18783 <title>Isenkram 0.2 finally in the Debian archive</title>
18784 <link>https://people.skolelinux.org/pere/blog/Isenkram_0_2_finally_in_the_Debian_archive.html</link>
18785 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Isenkram_0_2_finally_in_the_Debian_archive.html</guid>
18786 <pubDate>Wed, 3 Apr 2013 23:40:00 +0200</pubDate>
18787 <description>&lt;p&gt;Today the &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;Isenkram
18788 package&lt;/a&gt; finally made it into the archive, after lingering in NEW
18789 for many months. I uploaded it to the Debian experimental suite
18790 2013-01-27, and today it was accepted into the archive.&lt;/p&gt;
18791
18792 &lt;p&gt;Isenkram is a system for suggesting to users what packages to
18793 install to work with a pluggable hardware device. The suggestion pop
18794 up when the device is plugged in. For example if a Lego Mindstorm NXT
18795 is inserted, it will suggest to install the program needed to program
18796 the NXT controller. Give it a go, and report bugs and suggestions to
18797 BTS. :)&lt;/p&gt;
18798 </description>
18799 </item>
18800
18801 <item>
18802 <title>Change the font, save the world (and save some money in the process)</title>
18803 <link>https://people.skolelinux.org/pere/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html</link>
18804 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html</guid>
18805 <pubDate>Tue, 26 Mar 2013 15:10:00 +0100</pubDate>
18806 <description>&lt;p&gt;Would you like to help the environment and save money at the same
18807 time, without much sacrifice? A small step could be to change the
18808 font you use when printing.&lt;/p&gt;
18809
18810 &lt;p&gt;Three years ago,
18811 &lt;a href=&quot;http://arstechnica.com/business/2010/04/last-year-printer-comparison-website/&quot;&gt;Ars
18812 Technica&lt;/a&gt; reported how the University of Wisconsin-Green Bay
18813 changed their default front from
18814 &lt;a href=&quot;http://en.wikipedia.org/wiki/Arial&quot;&gt;Arial&lt;/a&gt; to
18815 &lt;a href=&quot;http://en.wikipedia.org/wiki/Century_Gothic&quot;&gt;Century
18816 Gothic&lt;/a&gt; to save money. The Century Gothic font uses 30% less toner
18817 than Arial to print the same text. In other word, you could cut your
18818 toner costs by 30% (or actually, increase your toner supply life time
18819 by more than 30%), by simply changing the default font used in your
18820 prints.&lt;/p&gt;
18821
18822 &lt;p&gt;But it is not quite obvious how much one will save by switching.
18823 The University of Wisconsin-Green Bay said it used $100,000 per year
18824 on ink and toner cartridges, according to
18825 &lt;a href=&quot;http://www.twincities.com/ci_14833097&quot;&gt;a report from
18826 TwinCities.com&lt;/a&gt;, and expected to save between $5,000 and $10,000
18827 per year by asking staff and students to use a different font. Not
18828 all PDFs and documents are created internally, and those from external
18829 sources will most likely still use a different font. Also, the
18830 Century Gothic font is slightly wider than Arial, and thus might use
18831 more sheets of paper to print the same text, so the total saving
18832 depend on the documents printed.&lt;/p&gt;
18833
18834 &lt;p&gt;But it is definitely something to consider, if you want to reduce
18835 the amount of trash, decrease the amount of toner used in the world,
18836 and save some money in the process.&lt;/p&gt;
18837
18838 &lt;p&gt;Update 2013-04-10: If you want to know how much ink/toner could be
18839 saved when switching between fonts, Inkfarm got a
18840 &lt;a href=&quot;http://www.inkfarm.com/What-the-Font&quot;&gt;service to calculate the
18841 difference between font pairs&lt;/a&gt;. They also
18842 &lt;a href=&quot;http://www.inkfarm.com/Recommended-Ink-Saving-Fonts---&quot;&gt;recommend
18843 which fonts to use&lt;/a&gt; to save ink. Check it out. :) While updating
18844 this blog post, I also came across a blog post from InkCloners,
18845 &lt;a href=&quot;http://inkcloners.com/blog/ink-cartridges/change-fonts-to-save-ink-costs/&quot;&gt;listing
18846 the fonts they recommend&lt;/a&gt;, with Centory Gothic at the top.&lt;/p&gt;
18847 </description>
18848 </item>
18849
18850 <item>
18851 <title>Typesetting a short story using docbook for PDF, HTML and EPUB</title>
18852 <link>https://people.skolelinux.org/pere/blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html</link>
18853 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html</guid>
18854 <pubDate>Sun, 24 Mar 2013 17:30:00 +0100</pubDate>
18855 <description>&lt;p&gt;A few days ago, during a discussion in
18856 &lt;a href=&quot;http://www.efn.no/&quot;&gt;EFN&lt;/a&gt; about interesting books to read
18857 about copyright and the data retention directive, a suggestion to read
18858 the 1968 short story Kodémus by
18859 &lt;a href=&quot;http://web2.gyldendal.no/toraage/&quot;&gt;Tore Åge Bringsværd&lt;/a&gt;
18860 came up. The text was only available in old paper books, and thus not
18861 easily available for current and future generations. Some of the
18862 people participating in the discussion contacted the author, and
18863 reported back 2013-03-19 that the author was OK with releasing the
18864 short story using a &lt;a href=&quot;http://www.creativecommons.org/&quot;&gt;Creative
18865 Commons&lt;/a&gt; license. The text was quickly scanned and OCR-ed, and we
18866 were ready to start on the editing and typesetting.&lt;/p&gt;
18867
18868 &lt;p&gt;As I already had some experience formatting text in my project to
18869 provide a Norwegian version of the Free Culture book by Lawrence
18870 Lessig, I chipped in and set up a
18871 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;DocBook&lt;/a&gt; processing framework to
18872 generate PDF, HTML and EPUB version of the short story. The tools to
18873 transform DocBook to different formats are already in my Linux
18874 distribution of choice, &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt;, so
18875 all I had to do was to use the
18876 &lt;a href=&quot;http://dblatex.sourceforge.net/&quot;&gt;dblatex&lt;/a&gt;,
18877 &lt;a href=&quot;http://docbook.sourceforge.net/release/xsl/current/epub/README&quot;&gt;dbtoepub&lt;/a&gt;
18878 and &lt;a href=&quot;https://fedorahosted.org/xmlto/&quot;&gt;xmlto&lt;/a&gt; tools to do the
18879 conversion. After a few days, we decided to replace dblatex with
18880 xsltproc/fop (aka
18881 &lt;a href=&quot;http://wiki.docbook.org/DocBookXslStylesheets&quot;&gt;docbook-xsl&lt;/a&gt;),
18882 to get the copyright information to show up in the PDF and to get a
18883 nicer &amp;lt;variablelist&amp;gt; typesetting, but that is just a minor
18884 technical detail.&lt;/p&gt;
18885
18886 &lt;p&gt;There were a few challenges, of course. We want to typeset the
18887 short story to look like the original, and that require fairly good
18888 control over the layout. The original short story have three
18889 parts/scenes separated by a single horizontally centred star (*), and
18890 the paragraphs do not contain only flowing text, but dialogs and text
18891 that started on a new line in the middle of the paragraph.&lt;/p&gt;
18892
18893 &lt;p&gt;I initially solved the first challenge by using a paragraph with a
18894 single star in it, ie &amp;lt;para&amp;gt;*&amp;lt;/para&amp;gt;, but it made sure a
18895 placeholder indicated where the scene shifted. This did not look too
18896 good without the centring. The next approach was to create a new
18897 preprocessor directive &amp;lt;?newscene?&amp;gt;, mapping to &quot;&amp;lt;hr/&amp;gt;&quot;
18898 for HTML and &quot;&amp;lt;fo:block text-align=&quot;center&quot;&amp;gt;&amp;lt;fo:leader
18899 leader-pattern=&quot;rule&quot; rule-thickness=&quot;0.5pt&quot;/&amp;gt;&amp;lt;/fo:block&amp;gt;&quot;
18900 for FO/PDF output (did not try to implement this in dblatex, as we had
18901 switched at this time). The HTML XSL file looked like this:&lt;/p&gt;
18902
18903 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
18904 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
18905 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
18906 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;newscene&#39;)&quot;&amp;gt;
18907 &amp;lt;hr/&amp;gt;
18908 &amp;lt;/xsl:template&amp;gt;
18909 &amp;lt;/xsl:stylesheet&amp;gt;
18910 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
18911
18912 &lt;p&gt;And the FO/PDF XSL file looked like this:&lt;/p&gt;
18913
18914 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
18915 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
18916 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
18917 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;newscene&#39;)&quot;&amp;gt;
18918 &amp;lt;fo:block text-align=&quot;center&quot;&amp;gt;
18919 &amp;lt;fo:leader leader-pattern=&quot;rule&quot; rule-thickness=&quot;0.5pt&quot;/&amp;gt;
18920 &amp;lt;/fo:block&amp;gt;
18921 &amp;lt;/xsl:template&amp;gt;
18922 &amp;lt;/xsl:stylesheet&amp;gt;
18923 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
18924
18925 &lt;p&gt;Finally, I came across the &amp;lt;bridgehead&amp;gt; tag, which seem to be
18926 a good fit for the task at hand, and I replaced &amp;lt;?newscene?&amp;gt;
18927 with &amp;lt;bridgehead&amp;gt;*&amp;lt;/bridgehead&amp;gt;. It isn&#39;t centred, but we
18928 can fix it with some XSL rule if the current visual layout isn&#39;t
18929 enough.&lt;/p&gt;
18930
18931 &lt;p&gt;I did not find a good DocBook compliant way to solve the
18932 linebreak/paragraph challenge, so I ended up creating a new processor
18933 directive &amp;lt;?linebreak?&amp;gt;, mapping to &amp;lt;br/&amp;gt; in HTML, and
18934 &amp;lt;fo:block/&amp;gt; in FO/PDF. I suspect there are better ways to do
18935 this, and welcome ideas and patches on github. The HTML XSL file now
18936 look like this:&lt;/p&gt;
18937
18938 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
18939 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
18940 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;&amp;gt;
18941 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;linebreak)&quot;&amp;gt;
18942 &amp;lt;br/&amp;gt;
18943 &amp;lt;/xsl:template&amp;gt;
18944 &amp;lt;/xsl:stylesheet&amp;gt;
18945 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
18946
18947 &lt;p&gt;And the FO/PDF XSL file looked like this:&lt;/p&gt;
18948
18949 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
18950 &amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;
18951 &amp;lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&#39;1.0&#39;
18952 xmlns:fo=&quot;http://www.w3.org/1999/XSL/Format&quot;&amp;gt;
18953 &amp;lt;xsl:template match=&quot;processing-instruction(&#39;linebreak)&quot;&amp;gt;
18954 &amp;lt;fo:block/&amp;gt;
18955 &amp;lt;/xsl:template&amp;gt;
18956 &amp;lt;/xsl:stylesheet&amp;gt;
18957 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
18958
18959 &lt;p&gt;One unsolved challenge is our wish to expose different ISBN numbers
18960 per publication format, while keeping all of them in some conditional
18961 structure in the DocBook source. No idea how to do this, so we ended
18962 up listing all the ISBN numbers next to their format in the colophon
18963 page.&lt;/p&gt;
18964
18965 &lt;p&gt;If you want to check out the finished result, check out the
18966 &lt;a href=&quot;https://github.com/sickel/kodemus&quot;&gt;source repository at
18967 github&lt;/a&gt;
18968 (&lt;a href=&quot;https://github.com/EFN/kodemus&quot;&gt;future/new/official
18969 repository&lt;/a&gt;). We expect it to be ready and announced in a few
18970 days.&lt;/p&gt;
18971 </description>
18972 </item>
18973
18974 <item>
18975 <title>Skolelinux 6 got a video review from Pcwizz</title>
18976 <link>https://people.skolelinux.org/pere/blog/Skolelinux_6_got_a_video_review_from_Pcwizz.html</link>
18977 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Skolelinux_6_got_a_video_review_from_Pcwizz.html</guid>
18978 <pubDate>Sun, 17 Mar 2013 10:30:00 +0100</pubDate>
18979 <description>&lt;p&gt;Via
18980 &lt;a href=&quot;https://twitter.com/pcwizz/status/313044373262716930&quot;&gt;twitter&lt;/a&gt;
18981 I just discovered that &lt;a href=&quot;http://pcwizz.net/&quot;&gt;Pcwizz&lt;/a&gt; have
18982 done a &lt;a href=&quot;http://www.youtube.com/watch?v=wPzTZ61Pcuc&quot;&gt;video
18983 review&lt;/a&gt; on Youtube of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
18984 / Debian Edu&lt;/a&gt; version 6. He installed the standalone profile and
18985 the video show a walk-through of of the menu content, demonstration of
18986 a few programs and his view of our distribution.&lt;/p&gt;
18987
18988 &lt;p&gt;There is also some really nice quotes (transcribed by me, might
18989 have heard wrong). While looking thought the Graphics menu:&lt;/p&gt;
18990
18991 &lt;blockquote&gt;
18992 &quot;Basically everything you ever need in a school environment.&quot;
18993 &lt;/blockquote&gt;
18994
18995 &lt;p&gt;And as a general evaluation of the entire distribution:&lt;/p&gt;
18996
18997 &lt;blockquote&gt;
18998 &quot;So, yeah, a bit bloated. It kept all the Debian stuff in there, just
18999 to keep it nice and GNU. So, I do not want to go on about it, but
19000 lets give it 7 out of 10. I am not going to use it. That is because
19001 I am not deploying a school network. There may be some mythical
19002 feature to help you deploy Skolelinux on a school network.&quot;
19003 &lt;/blockquote&gt;
19004
19005 &lt;p&gt;To bad he did not test the server profile, and discovered the PXE
19006 installation option. It make it possible to install only the main
19007 server from CD, and the rest of the machines via the net, and might be
19008 considered the mythical feature he talk about. :)&lt;/p&gt;
19009
19010 &lt;p&gt;While looking through the menus, there is also this funny comment
19011 about the part of the K menu generated from the Debian menu subsystem:
19012
19013 &lt;blockquote&gt;
19014 &quot;[The K menu] have a special Debian section for software that no-one
19015 is going to look at, because it contain lots of junky stuff that you
19016 actually don&#39;t need in the education distribution, but have just been
19017 included because it isn&#39;t stripped out for some reason.&quot;
19018 &lt;/blockquote&gt;
19019
19020 &lt;p&gt;I guess it is yet another argument for merging the Debian menu and
19021 Gnome/KDE desktop menu entries into
19022 &lt;a href=&quot;http://wiki.debian.org/Proposals/DebianMenuUsingDesktopEntries&quot;&gt;one
19023 consistent menu system&lt;/a&gt; instead of two incomplete and partly
19024 inconsistent menu systems.&lt;/p&gt;
19025
19026 &lt;p&gt;The entire video is available below for those accepting iframe
19027 embedding:&lt;/p&gt;
19028
19029 &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;
19030 </description>
19031 </item>
19032
19033 <item>
19034 <title>First Skolelinux / Debian Edu Squeeze update released</title>
19035 <link>https://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html</link>
19036 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html</guid>
19037 <pubDate>Fri, 8 Mar 2013 09:30:00 +0100</pubDate>
19038 <description>&lt;p&gt;Last Sunday, 2013-03-03,, Holger Levsen announced the first update
19039 of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt;
19040 based on Debian Squeeze. This is the first update since
19041 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
19042 initial release 2012-03-11&lt;/a&gt;. This is the
19043 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2013/03/msg00000.html&quot;&gt;release
19044 announcement email from Holger&lt;/a&gt;:&lt;/p&gt;
19045
19046 &lt;blockquote&gt;&lt;p&gt;Hi,&lt;/p&gt;
19047
19048 &lt;p&gt;it&#39;s my pleasure to announce the immediate availability of Debian
19049 Edu 6.0.7+r1 (&quot;Debian Edu Squeeze&quot;).&lt;/p&gt;
19050
19051 &lt;p&gt;Debian Edu 6.0.7+r1 is an incremental update to Debian Edu
19052 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as
19053 well Debian Edu specific bugfixes and enhancements. See below (in this
19054 mail) for the full list of (edu) changes. Please see
19055 &lt;a href=&quot;http://www.debian.org/News/2012/20120311&quot;&gt;http://www.debian.org/News/2012/20120311&lt;/a&gt;
19056 for more information on &quot;Debian Edu Squeeze&quot;.&lt;/p&gt;
19057
19058 &lt;p&gt;Images are available for download at
19059 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/&lt;/a&gt;&lt;/p&gt;
19060
19061 &lt;p&gt;md5sums:
19062 &lt;br&gt;1fe79eb4f0f9ae1c58fc318e26cc1e2e debian-edu-6.0.7+r1-CD.iso
19063 &lt;br&gt;a6ddd924a8bd9a1b5ca122e8fe1c34ec debian-edu-6.0.7+r1-DVD.iso
19064 &lt;br&gt;ac6c72cd7925ccec51bfbf58e2a7c69c debian-edu-6.0.7+r1-source-DVD.iso&lt;/p&gt;
19065
19066 &lt;p&gt;sha1sums:
19067 &lt;br&gt;a4b58233b672a99c7df8dc24fb6de3327654a5c3 debian-edu-6.0.7+r1-CD.iso
19068 &lt;br&gt;9b524915e0ff2aa793f13d93123e5bd2bab2dbaa debian-edu-6.0.7+r1-DVD.iso
19069 &lt;br&gt;43997614893fc5e9e59ad6ce066b05d07fd836fa debian-edu-6.0.7+r1-source-DVD.iso&lt;/p&gt;
19070
19071 &lt;p&gt;These images are suitable for amd64+i386.&lt;/p&gt;
19072
19073 &lt;p&gt;Changes for Debian Edu 6.0.7+r1 Codename &quot;Squeeze&quot;, released
19074 2013-03-03:&lt;/p&gt;
19075
19076 &lt;ul&gt;
19077 &lt;li&gt;sitesummary was updated from 0.1.3 to 0.1.8
19078 &lt;ul&gt;
19079 &lt;li&gt;Make Nagios configuration more robust and efficient&lt;/li&gt;
19080 &lt;li&gt;Comply with 3.X kernel&lt;/li&gt;
19081 &lt;/ul&gt;&lt;/li&gt;
19082 &lt;li&gt;debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1
19083 &lt;ul&gt;
19084 &lt;li&gt;Minor updates from the wiki&lt;/li&gt;
19085 &lt;li&gt;Danish translation now complete&lt;/li&gt;
19086 &lt;/ul&gt;&lt;/li&gt;
19087 &lt;li&gt;debian-edu-config from 1.453 to 1.455
19088 &lt;ul&gt;
19089 &lt;li&gt;Fix /etc/hosts for LTSP diskless workstations. Closes: #699880&lt;/li&gt;
19090 &lt;li&gt;Make ltsp_local_mount script work for multiple devices.&lt;/li&gt;
19091 &lt;li&gt;Correct Kerberos user policy: don&#39;t expire password after 2 days.
19092 Closes: #664596&lt;/li&gt;
19093 &lt;li&gt;Handle &#39;#&#39; characters in the root or first users password.
19094 Closes: #664976&lt;/li&gt;
19095 &lt;li&gt;Fixes for gosa-sync:
19096 &lt;ul&gt;
19097 &lt;li&gt;Don&#39;t fail if password contains &quot;&lt;/li&gt;
19098 &lt;li&gt;Don&#39;t disclose new password string in syslog&lt;/li&gt;
19099 &lt;/ul&gt;&lt;/li&gt;
19100 &lt;li&gt;Fixes for gosa-create:
19101 &lt;ul&gt;
19102 &lt;li&gt;Invalidate libnss cache before applying changes&lt;/li&gt;
19103 &lt;li&gt;Multiple failures during mass user import into GOsa²&lt;/li&gt;
19104 &lt;li&gt;gosa-netgroups plugin: don&#39;t erase entries of attribute type
19105 &quot;memberNisNetgroup&quot;. Closes: #687256&lt;/li&gt;
19106 &lt;li&gt;First user now uses the same Kerberos policy as all other users&lt;/li&gt;
19107 &lt;/ul&gt;&lt;/li&gt;
19108 &lt;li&gt;Add Danish web page&lt;/li&gt;
19109 &lt;/ul&gt;
19110 &lt;li&gt;debian-edu-install from 1.528 to 1.530
19111 &lt;ul&gt;
19112 &lt;li&gt;Improve preseeding support and documentation&lt;/li&gt;
19113 &lt;/ul&gt;&lt;/li&gt;
19114 &lt;/ul&gt;
19115
19116 &lt;p&gt;End-user documentation in English is available at
19117 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/&quot;&gt;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/&lt;/a&gt;
19118 - translations to French, Italian, Danish and German are available in
19119 the debian-edu-doc package. (Other languages could use your help!)&lt;/p&gt;
19120
19121 &lt;p&gt;If you want to contribute to Debian Edu, please join our
19122 mailinglist
19123 &lt;a href=&quot;http://lists.debian.org/debian-edu/&quot;&gt;debian-edu@lists.debian.org&lt;/a&gt;!
19124 &lt;/p&gt;&lt;/blockquote&gt;
19125
19126 &lt;p&gt;I am very happy to see the fruits of a year of hard work. :)&lt;/p&gt;
19127 </description>
19128 </item>
19129
19130 <item>
19131 <title>Frikanalen - Complete TV station organised using the web</title>
19132 <link>https://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html</link>
19133 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html</guid>
19134 <pubDate>Sun, 3 Mar 2013 07:15:00 +0100</pubDate>
19135 <description>&lt;p&gt;Do you want to set up your own TV station, schedule videos and
19136 broadcast them on the air? Using free software? With video on demand
19137 support using
19138 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
19139 open standards&lt;/a&gt;? Included a web based video stream as well? And
19140 administrate it all in your web browser from anywhere in the world? A
19141 few years now the Norwegian public access TV-channel
19142 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt; have been building a
19143 system to do just this. The source code for the solution is licensed
19144 using the GNU LGPL, and
19145 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from github&lt;/a&gt;.&lt;/p&gt;
19146
19147 &lt;p&gt;The idea is simple. You upload a video file over the web, and
19148 attach meta information to the file. You select a time slot in the
19149 program schedule, and when the time come it is played on the air and
19150 in the web stream. It is also made available in a video on demand
19151 solution for anyone to see it also outside its scheduled time. All
19152 you need to run a TV station - using your web browser.&lt;/p&gt;
19153
19154 &lt;p&gt;There are several parts to this web based solution. I&#39;ll mention
19155 the three most important ones. The first part is the database of
19156 videos and the schedule. This is written in Django and include a REST
19157 API. The current database is SQLite, but the plan is to migrate it to
19158 PostgreSQL. At the moment this system can be tested on
19159 &lt;a href=&quot;http://beta.frikanalen.tv/&quot;&gt;beta.frikanalen.tv&lt;/a&gt;. The
19160 second part is the video playout, taking the schedule information from
19161 the database and providing a video stream to broadcast. This is done
19162 using &lt;a href=&quot;http://www.casparcg.com/&quot;&gt;CasparCG from SVT&lt;/a&gt; and
19163 &lt;a href=&quot;http://www.mltframework.org/&quot;&gt;Media Lovin&#39; Toolkit&lt;/a&gt;. Video
19164 signal distribution is handled using
19165 &lt;a href=&quot;http://www.ob-encoder.com/&quot;&gt;Open Broadcast Encoder&lt;/a&gt;. The
19166 third part is the converter, handling the transformation of uploaded
19167 video files to a format useful for broadcasting, streaming and video
19168 on demand. It is still very much work in progress, so it is not yet
19169 decided what it will end up using. Note that the source of the latter
19170 two parts are not yet pushed to github. The lead author want to clean
19171 them up a bit more first.&lt;/p&gt;
19172
19173 &lt;p&gt;The development is coordinated on the
19174 &lt;a href=&quot;irc://irc.freenode.net/%23frikanalen&quot;&gt;#frikanalen IRC
19175 channel&lt;/a&gt; (irc.freenode.net), and discussed on
19176 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/frikanalen&quot;&gt;the
19177 frikanalen mailing list&lt;/a&gt;. The lead developer is Benjamin Bruheim
19178 (phed on IRC). Anyone is welcome to participate in the
19179 development.&lt;/p&gt;
19180 </description>
19181 </item>
19182
19183 <item>
19184 <title>Dr. Richard Stallman, founder of Free Software Foundation, give a talk in Oslo March 1st 2013</title>
19185 <link>https://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html</link>
19186 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html</guid>
19187 <pubDate>Wed, 27 Feb 2013 20:20:00 +0100</pubDate>
19188 <description>&lt;p&gt;Dr. &lt;a href=&quot;http://www.stallman.org/&quot;&gt;Richard Stallman&lt;/a&gt;,
19189 founder of &lt;a href=&quot;http://www.fsf.org/&quot;&gt;Free Software Foundation&lt;/a&gt;,
19190 is giving &lt;a href=&quot;http://www.nuug.no/aktiviteter/20130301-rms/&quot;&gt;a
19191 talk in Oslo March 1st 2013 17:00 to 19:00&lt;/a&gt;. The event is public
19192 and organised by &lt;a href=&quot;&quot;&gt;Norwegian Unix Users Group (NUUG)&lt;/a&gt;
19193 (where I am the chair of the board) and
19194 &lt;a href=&quot;http://www.friprog.no/&quot;&gt;The Norwegian Open Source Competence
19195 Center&lt;/a&gt;. The title of the talk is «The Free Software Movement and
19196 GNU», with this description:
19197
19198 &lt;p&gt;&lt;blockquote&gt;
19199 The Free Software Movement campaigns for computer users&#39; freedom to
19200 cooperate and control their own computing. The Free Software Movement
19201 developed the GNU operating system, typically used together with the
19202 kernel Linux, specifically to make these freedoms possible.
19203 &lt;/blockquote&gt;&lt;/p&gt;
19204
19205 &lt;p&gt;The meeting is open for everyone. Due to space limitations, the
19206 doors opens for NUUG members at 16:15, and everyone else at 16:45. I
19207 am really curious how many will show up. See
19208 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20130301-rms/&quot;&gt;the event
19209 page&lt;/a&gt; for the location details.&lt;/p&gt;
19210 </description>
19211 </item>
19212
19213 <item>
19214 <title>Frikart - Free Garmin maps for European countries based on OpenStreetmap</title>
19215 <link>https://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html</link>
19216 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html</guid>
19217 <pubDate>Fri, 15 Feb 2013 09:30:00 +0100</pubDate>
19218 <description>&lt;p&gt;If you, like me, want an updated a map for your Garmin GPS, there is
19219 now a great source of free maps available from
19220 &lt;a href=&quot;http://www.frikart.no/garmin/index.html&quot;&gt;Frikart&lt;/a&gt;. To
19221 download a map, just click on the country you are interested in, and
19222 download the map type you want. There are 8 different maps available,
19223 using different colours and data selection. Pick one of Roadmap, Topo
19224 Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II,
19225 &quot;Trails - overlay map&quot; and &quot;Cross country - overlay map&quot; (see the web
19226 page for descriptions).&lt;/p&gt;
19227
19228 &lt;p&gt;The maps are updated weekly, so if you find something wrong in the
19229 map you can just edit the
19230 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; map source
19231 (anyone can contribute) and fetch a fixed map a week later. :)&lt;/p&gt;
19232 </description>
19233 </item>
19234
19235 <item>
19236 <title>&quot;Electronic&quot; paper invoices - using vCard in a QR code</title>
19237 <link>https://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html</link>
19238 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html</guid>
19239 <pubDate>Tue, 12 Feb 2013 10:30:00 +0100</pubDate>
19240 <description>&lt;p&gt;Here in Norway, electronic invoices are spreading, and the
19241 &lt;a href=&quot;http://www.anskaffelser.no/e-handel/faktura&quot;&gt;solution promoted
19242 by the Norwegian government&lt;/a&gt; require that invoices are sent through
19243 one of the approved facilitators, and it is not possible to send
19244 electronic invoices without an agreement with one of these
19245 facilitators. This seem like a needless limitation to be able to
19246 transfer invoice information between buyers and sellers. My preferred
19247 solution would be to just transfer the invoice information directly
19248 between seller and buyer, for example using SMTP, or some HTTP based
19249 protocol like REST or SOAP. But this might also be overkill, as the
19250 &quot;electronic&quot; information can be transferred using paper invoices too,
19251 using a simple bar code. My bar code encoding of choice would be QR
19252 codes, as this encoding can be read by any smart phone out there. The
19253 content of the code could be anything, but I would go with
19254 &lt;a href=&quot;http://en.wikipedia.org/wiki/VCard&quot;&gt;the vCard format&lt;/a&gt;, as
19255 it too is supported by a lot of computer equipment these days.&lt;/p&gt;
19256
19257 &lt;p&gt;The vCard format support extentions, and the invoice specific
19258 information can be included using such extentions. For example an
19259 invoice from SLX Debian Labs (picked because we
19260 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;ask
19261 for donations to the Debian Edu project&lt;/a&gt; and thus have bank account
19262 information publicly available) for NOK 1000.00 could have these extra
19263 fields:&lt;/p&gt;
19264
19265 &lt;p&gt;&lt;pre&gt;
19266 X-INVOICE-NUMBER:1
19267 X-INVOICE-AMOUNT:NOK1000.00
19268 X-INVOICE-KID:123412341234
19269 X-INVOICE-MSG:Donation to Debian Edu
19270 X-BANK-ACCOUNT-NUMBER:16040884339
19271 X-BANK-IBAN-NUMBER:NO8516040884339
19272 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
19273 &lt;/pre&gt;&lt;/p&gt;
19274
19275 &lt;p&gt;The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
19276 answer regarding
19277 &lt;a href=&quot;http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file&quot;&gt;how
19278 to put bank account information into a vCard&lt;/a&gt;. For payments in
19279 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
19280 used to pass on information to the seller when paying the invoice.&lt;/p&gt;
19281
19282 &lt;p&gt;The complete vCard could look like this:&lt;/p&gt;
19283
19284 &lt;p&gt;&lt;pre&gt;
19285 BEGIN:VCARD
19286 VERSION:2.1
19287 ORG:SLX Debian Labs Foundation
19288 ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
19289 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
19290 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
19291 REV:20130212T095000Z
19292 X-INVOICE-NUMBER:1
19293 X-INVOICE-AMOUNT:NOK1000.00
19294 X-INVOICE-MSG:Donation to Debian Edu
19295 X-BANK-ACCOUNT-NUMBER:16040884339
19296 X-BANK-IBAN-NUMBER:NO8516040884339
19297 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
19298 END:VCARD
19299 &lt;/pre&gt;&lt;/p&gt;
19300
19301 &lt;p&gt;The resulting QR code created using
19302 &lt;a href=&quot;http://fukuchi.org/works/qrencode/&quot;&gt;qrencode&lt;/a&gt; would look
19303 like this, and should be readable (and thus checkable) by any smart
19304 phone, or for example the &lt;a href=&quot;http://zbar.sourceforge.net/&quot;&gt;zbar
19305 bar code reader&lt;/a&gt; and feed right into the approval and accounting
19306 system.&lt;/p&gt;
19307
19308 &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;
19309
19310 &lt;p&gt;The extension fields will most likely not show up in any normal
19311 vCard reader, so those parts would have to go directly into a system
19312 handling invoices. I am a bit unsure how vCards without name parts
19313 are handled, but a simple test indicate that this work just fine.&lt;/p&gt;
19314
19315 &lt;p&gt;&lt;strong&gt;Update 2013-02-12 11:30&lt;/strong&gt;: Added KID to the proposal
19316 based on feedback from Sturle Sunde.&lt;/p&gt;
19317 </description>
19318 </item>
19319
19320 <item>
19321 <title>Sleep until morning - home automation for the kids</title>
19322 <link>https://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html</link>
19323 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html</guid>
19324 <pubDate>Sun, 10 Feb 2013 12:50:00 +0100</pubDate>
19325 <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;
19326
19327 &lt;p&gt;With kids in the house, one challenge is getting them to sleep
19328 during the night and wake up when it is morning. I mean, when I
19329 believe it is morning, and not two hours earlier. In our household we
19330 have decided that 07:00 is the turning point, but getting the kids to
19331 sleep until 07:00 is a small challenge every day. They have adapted
19332 quite well, and rarely wake up at 05:00 any more, but some times wake
19333 up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
19334 the awake one to bed again without disturbing and waking the rest.
19335 And I understand perfectly well that they fail to sleep until 07:00
19336 some times, as there is no way for them to know if it is before or
19337 after the magic moment without coming and asking us parents.&lt;/p&gt;
19338
19339 &lt;p&gt;But yesterday I came up with a method to solve this problem. It
19340 involve home automation. A few years ago I bought a
19341 &lt;a href=&quot;http://www.telldus.se/products/tellstick&quot;&gt;Tellstick&lt;/a&gt; and RF
19342 switches at the local &lt;a href=&quot;http://www.clasohlson.com/&quot;&gt;Clas
19343 Ohlson&lt;/a&gt; shop, allowing me to control lights and other electrical
19344 gadgets using my Linux server. When I moved from the old flat to a
19345 small house, I put away all this equipment as most of the lighting in
19346 the house was not using wall sockets and thus not easy to connect to
19347 the gadgets I had. But recently I bought a
19348 &lt;a href=&quot;http://www.telldus.se/products/tellstick_net&quot;&gt;Tellstick
19349 Net&lt;/a&gt; to be able to read sensor input as well as control power
19350 sockets. I want to control ovens in the basement to avoid the pipes
19351 to freeze, and monitor the humidity to detect flooding. The default
19352 setup for Tellstick Net is to be controlled by the vendor web service,
19353 which to me is a security problem, but it is also possible to build
19354 ones own
19355 &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
19356 with local access&lt;/A&gt; instead of being controlled by a Swedish
19357 company, thanks to the release of the GPL licensed firmware source
19358 code. I plan to get that running before I let it control anything
19359 important. But while working on this, one idea to make it easier for
19360 the kids came to me yesterday. We can set up a night light controlled
19361 by the computer, and turn it automatically on at 07:00. The kids can
19362 then check the light in the morning to know if they are supposed to
19363 get up or not. They joined me in setting everything up, and I
19364 repeated the concept several times before bed times to make sure they
19365 remembered to check the light before getting up in the morning.&lt;/p&gt;
19366
19367 &lt;p&gt;We tested it this morning, and all the kids stayed in bed until
19368 after 07:00, and every one of them commented on the fact that the
19369 &quot;morning light&quot; was turned on and signalled that the morning had
19370 arrived. So this look like a success, and I am excited to see how
19371 this develops the next few days. :) I really hope this can allow us
19372 all to sleep a bit longer in the morning.&lt;/p&gt;
19373
19374 &lt;p&gt;A nice advantage of this setup is that we can remote control when
19375 to tell the kids to get up. We do not have to wait until 07:00, and
19376 can also delay it if we want to.&lt;/p&gt;
19377 </description>
19378 </item>
19379
19380 <item>
19381 <title>Bitcoin GUI now available from Debian/unstable (and Ubuntu/raring)</title>
19382 <link>https://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html</link>
19383 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html</guid>
19384 <pubDate>Sat, 2 Feb 2013 09:00:00 +0100</pubDate>
19385 <description>&lt;p&gt;My
19386 &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
19387 bitcoin related blog post&lt;/a&gt; mentioned that the new
19388 &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;bitcoin package&lt;/a&gt; for
19389 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
19390 2013-01-19, and have been available in unstable since then. It was
19391 automatically copied to Ubuntu, and is available in their Raring
19392 version too.&lt;/p&gt;
19393
19394 &lt;p&gt;But there is a strange problem with the build that block this new
19395 version from being available on the i386 and kfreebsd-i386
19396 architectures. For some strange reason, the autobuilders in Debian
19397 for these architectures fail to run the test suite on these
19398 architectures (&lt;a href=&quot;http://bugs.debian.org/672524&quot;&gt;BTS #672524&lt;/a&gt;).
19399 We are so far unable to reproduce it when building it manually, and
19400 no-one have been able to propose a fix. If you got an idea what is
19401 failing, please let us know via the BTS.&lt;/p&gt;
19402
19403 &lt;p&gt;One feature that is annoying me with of the bitcoin client, because
19404 I often run low on disk space, is the fact that the client will exit
19405 if it run short on space (&lt;a href=&quot;http://bugs.debian.org/696715&quot;&gt;BTS
19406 #696715&lt;/a&gt;). So make sure you have enough disk space when you run
19407 it. :)&lt;/p&gt;
19408
19409 &lt;p&gt;As usual, if you use bitcoin and want to show your support of my
19410 activities, please send Bitcoin donations to my address
19411 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
19412 </description>
19413 </item>
19414
19415 <item>
19416 <title>Welcome to the world, Isenkram!</title>
19417 <link>https://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</link>
19418 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</guid>
19419 <pubDate>Tue, 22 Jan 2013 22:00:00 +0100</pubDate>
19420 <description>&lt;p&gt;Yesterday, I
19421 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html&quot;&gt;asked
19422 for testers&lt;/a&gt; for my prototype for making Debian better at handling
19423 pluggable hardware devices, which I
19424 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;set
19425 out to create&lt;/a&gt; earlier this month. Several valuable testers showed
19426 up, and caused me to really want to to open up the development to more
19427 people. But before I did this, I want to come up with a sensible name
19428 for this project. Today I finally decided on a new name, and I have
19429 renamed the project from hw-support-handler to this new name. In the
19430 process, I moved the source to git and made it available as a
19431 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git&quot;&gt;collab-maint&lt;/a&gt;
19432 repository in Debian. The new name? It is &lt;strong&gt;Isenkram&lt;/strong&gt;.
19433 To fetch and build the latest version of the source, use&lt;/p&gt;
19434
19435 &lt;pre&gt;
19436 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
19437 cd isenkram &amp;&amp; git-buildpackage -us -uc
19438 &lt;/pre&gt;
19439
19440 &lt;p&gt;I have not yet adjusted all files to use the new name yet. If you
19441 want to hack on the source or improve the package, please go ahead.
19442 But please talk to me first on IRC or via email before you do major
19443 changes, to make sure we do not step on each others toes. :)&lt;/p&gt;
19444
19445 &lt;p&gt;If you wonder what &#39;isenkram&#39; is, it is a Norwegian word for iron
19446 stuff, typically meaning tools, nails, screws, etc. Typical hardware
19447 stuff, in other words. I&#39;ve been told it is the Norwegian variant of
19448 the German word eisenkram, for those that are familiar with that
19449 word.&lt;/p&gt;
19450
19451 &lt;p&gt;&lt;strong&gt;Update 2013-01-26&lt;/strong&gt;: Added -us -us to build
19452 instructions, to avoid confusing people with an error from the signing
19453 process.&lt;/p&gt;
19454
19455 &lt;p&gt;&lt;strong&gt;Update 2013-01-27&lt;/strong&gt;: Switch to HTTP URL for the git
19456 clone argument to avoid the need for authentication.&lt;/p&gt;
19457 </description>
19458 </item>
19459
19460 <item>
19461 <title>First prototype ready making hardware easier to use in Debian</title>
19462 <link>https://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</link>
19463 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</guid>
19464 <pubDate>Mon, 21 Jan 2013 12:00:00 +0100</pubDate>
19465 <description>&lt;p&gt;Early this month I set out to try to
19466 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;improve
19467 the Debian support for pluggable hardware devices&lt;/a&gt;. Now my
19468 prototype is working, and it is ready for a larger audience. To test
19469 it, fetch the
19470 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;source
19471 from the Debian Edu subversion repository&lt;/a&gt;, build and install the
19472 package. You might have to log out and in again activate the
19473 autostart script.&lt;/p&gt;
19474
19475 &lt;p&gt;The design is simple:&lt;/p&gt;
19476
19477 &lt;ul&gt;
19478
19479 &lt;li&gt;Add desktop entry in /usr/share/autostart/ causing a program
19480 hw-support-handlerd to start when the user log in.&lt;/li&gt;
19481
19482 &lt;li&gt;This program listen for kernel events about new hardware (directly
19483 from the kernel like udev does), not using HAL dbus events as I
19484 initially did.&lt;/li&gt;
19485
19486 &lt;li&gt;When new hardware is inserted, look up the hardware modalias in
19487 the APT database, a database
19488 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup&quot;&gt;available
19489 via HTTP&lt;/a&gt; and a database available as part of the package.&lt;/li&gt;
19490
19491 &lt;li&gt;If a package is mapped to the hardware in question, the package
19492 isn&#39;t installed yet and this is the first time the hardware was
19493 plugged in, show a desktop notification suggesting to install the
19494 package or packages.&lt;/li&gt;
19495
19496 &lt;li&gt;If the user click on the &#39;install package now&#39; button, ask
19497 aptdaemon via the PackageKit API to install the requrired package.&lt;/li&gt;
19498
19499 &lt;li&gt;aptdaemon ask for root password or sudo password, and install the
19500 package while showing progress information in a window.&lt;/li&gt;
19501
19502 &lt;/ul&gt;
19503
19504 &lt;p&gt;I still need to come up with a better name for the system. Here
19505 are some screen shots showing the prototype in action. First the
19506 notification, then the password request, and finally the request to
19507 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.&lt;/p&gt;
19508
19509 &lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png&quot;&gt;
19510 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png&quot;&gt;
19511 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png&quot;&gt;
19512 &lt;br&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png&quot;&gt;
19513 &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;
19514
19515 &lt;p&gt;The prototype still need to be improved with longer timeouts, but
19516 is already useful. The database of hardware to package mappings also
19517 need more work. It is currently compatible with the Ubuntu way of
19518 storing such information in the package control file, but could be
19519 changed to use other formats instead or in addition to the current
19520 method. I&#39;ve dropped the use of discover for this mapping, as the
19521 modalias approach is more flexible and easier to use on Linux as long
19522 as the Linux kernel expose its modalias strings directly.&lt;/p&gt;
19523
19524 &lt;p&gt;&lt;strong&gt;Update 2013-01-21 16:50&lt;/strong&gt;: Due to popular demand,
19525 here is the command required to check out and build the source: Use
19526 &#39;&lt;tt&gt;svn checkout
19527 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
19528 hw-support-handler; debuild&lt;/tt&gt;&#39;. If you lack debuild, install the
19529 devscripts package.&lt;/p&gt;
19530
19531 &lt;p&gt;&lt;strong&gt;Update 2013-01-23 12:00&lt;/strong&gt;: The project is now
19532 renamed to Isenkram and the source moved from the Debian Edu
19533 subversion repository to a Debian collab-maint git repository. See
19534 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html&quot;&gt;build
19535 instructions&lt;/a&gt; for details.&lt;/p&gt;
19536 </description>
19537 </item>
19538
19539 <item>
19540 <title>Thank you Thinkpad X41, for your long and trustworthy service</title>
19541 <link>https://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</link>
19542 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</guid>
19543 <pubDate>Sat, 19 Jan 2013 09:20:00 +0100</pubDate>
19544 <description>&lt;p&gt;This Christmas my trusty old laptop died. It died quietly and
19545 suddenly in bed. With a quiet whimper, it went completely quiet and
19546 black. The power button was no longer able to turn it on. It was a
19547 IBM Thinkpad X41, and the best laptop I ever had. Better than both
19548 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
19549 Compaq I had before that. Now I need to find a replacement. To keep
19550 going during Christmas, I moved the one year old SSD disk to my old
19551 X40 where it fitted (only one I had left that could use it), but it is
19552 not a durable solution.
19553
19554 &lt;p&gt;My laptop needs are fairly modest. This is my wishlist from when I
19555 got a new one more than 10 years ago. It still holds true.:)&lt;/p&gt;
19556
19557 &lt;ul&gt;
19558
19559 &lt;li&gt;Lightweight (around 1 kg) and small volume (preferably smaller
19560 than A4).&lt;/li&gt;
19561 &lt;li&gt;Robust, it will be in my backpack every day.&lt;/li&gt;
19562 &lt;li&gt;Three button mouse and a mouse pin instead of touch pad.&lt;/li&gt;
19563 &lt;li&gt;Long battery life time. Preferable a week.&lt;/li&gt;
19564 &lt;li&gt;Internal WIFI network card.&lt;/li&gt;
19565 &lt;li&gt;Internal Twisted Pair network card.&lt;/li&gt;
19566 &lt;li&gt;Some USB slots (2-3 is plenty)&lt;/li&gt;
19567 &lt;li&gt;Good keyboard - similar to the Thinkpad.&lt;/li&gt;
19568 &lt;li&gt;Video resolution at least 1024x768, with size around 12&quot; (A4 paper
19569 size).&lt;/li&gt;
19570 &lt;li&gt;Hardware supported by Debian Stable, ie the default kernel and
19571 X.org packages.&lt;/li&gt;
19572 &lt;li&gt;Quiet, preferably fan free (or at least not using the fan most of
19573 the time).
19574
19575 &lt;/ul&gt;
19576
19577 &lt;p&gt;You will notice that there are no RAM and CPU requirements in the
19578 list. The reason is simply that the specifications on laptops the
19579 last 10-15 years have been sufficient for my needs, and I have to look
19580 at other features to choose my laptop. But are there still made as
19581 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
19582 robust, and Thinkpads seem to be heading in the wrong direction since
19583 Lenovo took over. But I&#39;ve been told that X220 and X1 Carbon might
19584 still be useful.&lt;/p&gt;
19585
19586 &lt;p&gt;Perhaps I should rethink my needs, and look for a pad with an
19587 external keyboard? I&#39;ll have to check the
19588 &lt;a href=&quot;http://www.linux-laptop.net/&quot;&gt;Linux Laptops site&lt;/a&gt; for
19589 well-supported laptops, or perhaps just buy one preinstalled from one
19590 of the vendors listed on the &lt;a href=&quot;http://linuxpreloaded.com/&quot;&gt;Linux
19591 Pre-loaded site&lt;/a&gt;.&lt;/p&gt;
19592 </description>
19593 </item>
19594
19595 <item>
19596 <title>How to find a browser plugin supporting a given MIME type</title>
19597 <link>https://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</link>
19598 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</guid>
19599 <pubDate>Fri, 18 Jan 2013 10:40:00 +0100</pubDate>
19600 <description>&lt;p&gt;Some times I try to figure out which Iceweasel browser plugin to
19601 install to get support for a given MIME type. Thanks to
19602 &lt;a href=&quot;https://wiki.ubuntu.com/MozillaTeam/Plugins&quot;&gt;specifications
19603 done by Ubuntu&lt;/a&gt; and Mozilla, it is possible to do this in Debian.
19604 Unfortunately, not very many packages provide the needed meta
19605 information, Anyway, here is a small script to look up all browser
19606 plugin packages announcing ther MIME support using this specification:&lt;/p&gt;
19607
19608 &lt;pre&gt;
19609 #!/usr/bin/python
19610 import sys
19611 import apt
19612 def pkgs_handling_mimetype(mimetype):
19613 cache = apt.Cache()
19614 cache.open(None)
19615 thepkgs = []
19616 for pkg in cache:
19617 version = pkg.candidate
19618 if version is None:
19619 version = pkg.installed
19620 if version is None:
19621 continue
19622 record = version.record
19623 if not record.has_key(&#39;Npp-MimeType&#39;):
19624 continue
19625 mime_types = record[&#39;Npp-MimeType&#39;].split(&#39;,&#39;)
19626 for t in mime_types:
19627 t = t.rstrip().strip()
19628 if t == mimetype:
19629 thepkgs.append(pkg.name)
19630 return thepkgs
19631 mimetype = &quot;audio/ogg&quot;
19632 if 1 &lt; len(sys.argv):
19633 mimetype = sys.argv[1]
19634 print &quot;Browser plugin packages supporting %s:&quot; % mimetype
19635 for pkg in pkgs_handling_mimetype(mimetype):
19636 print &quot; %s&quot; %pkg
19637 &lt;/pre&gt;
19638
19639 &lt;p&gt;It can be used like this to look up a given MIME type:&lt;/p&gt;
19640
19641 &lt;pre&gt;
19642 % ./apt-find-browserplug-for-mimetype
19643 Browser plugin packages supporting audio/ogg:
19644 gecko-mediaplayer
19645 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
19646 Browser plugin packages supporting application/x-shockwave-flash:
19647 browser-plugin-gnash
19648 %
19649 &lt;/pre&gt;
19650
19651 &lt;p&gt;In Ubuntu this mechanism is combined with support in the browser
19652 itself to query for plugins and propose to install the needed
19653 packages. It would be great if Debian supported such feature too. Is
19654 anyone working on adding it?&lt;/p&gt;
19655
19656 &lt;p&gt;&lt;strong&gt;Update 2013-01-18 14:20&lt;/strong&gt;: The Debian BTS
19657 request for icweasel support for this feature is
19658 &lt;a href=&quot;http://bugs.debian.org/484010&quot;&gt;#484010&lt;/a&gt; from 2008 (and
19659 &lt;a href=&quot;http://bugs.debian.org/698426&quot;&gt;#698426&lt;/a&gt; from today). Lack
19660 of manpower and wish for a different design is the reason thus feature
19661 is not yet in iceweasel from Debian.&lt;/p&gt;
19662 </description>
19663 </item>
19664
19665 <item>
19666 <title>What is the most supported MIME type in Debian?</title>
19667 <link>https://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</link>
19668 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</guid>
19669 <pubDate>Wed, 16 Jan 2013 10:10:00 +0100</pubDate>
19670 <description>&lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/AppStreamDebianProposal&quot;&gt;DEP-11
19671 proposal to add AppStream information to the Debian archive&lt;/a&gt;, is a
19672 proposal to make it possible for a Desktop application to propose to
19673 the user some package to install to gain support for a given MIME
19674 type, font, library etc. that is currently missing. With such
19675 mechanism in place, it would be possible for the desktop to
19676 automatically propose and install leocad if some LDraw file is
19677 downloaded by the browser.&lt;/p&gt;
19678
19679 &lt;p&gt;To get some idea about the current content of the archive, I decided
19680 to write a simple program to extract all .desktop files from the
19681 Debian archive and look up the claimed MIME support there. The result
19682 can be found on the
19683 &lt;a href=&quot;http://ftp.skolelinux.org/pub/AppStreamTest&quot;&gt;Skolelinux FTP
19684 site&lt;/a&gt;. Using the collected information, it become possible to
19685 answer the question in the title. Here are the 20 most supported MIME
19686 types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
19687 The complete list is available from the link above.&lt;/p&gt;
19688
19689 &lt;p&gt;&lt;strong&gt;Debian Stable:&lt;/strong&gt;&lt;/p&gt;
19690
19691 &lt;pre&gt;
19692 count MIME type
19693 ----- -----------------------
19694 32 text/plain
19695 30 audio/mpeg
19696 29 image/png
19697 28 image/jpeg
19698 27 application/ogg
19699 26 audio/x-mp3
19700 25 image/tiff
19701 25 image/gif
19702 22 image/bmp
19703 22 audio/x-wav
19704 20 audio/x-flac
19705 19 audio/x-mpegurl
19706 18 video/x-ms-asf
19707 18 audio/x-musepack
19708 18 audio/x-mpeg
19709 18 application/x-ogg
19710 17 video/mpeg
19711 17 audio/x-scpls
19712 17 audio/ogg
19713 16 video/x-ms-wmv
19714 &lt;/pre&gt;
19715
19716 &lt;p&gt;&lt;strong&gt;Debian Testing:&lt;/strong&gt;&lt;/p&gt;
19717
19718 &lt;pre&gt;
19719 count MIME type
19720 ----- -----------------------
19721 33 text/plain
19722 32 image/png
19723 32 image/jpeg
19724 29 audio/mpeg
19725 27 image/gif
19726 26 image/tiff
19727 26 application/ogg
19728 25 audio/x-mp3
19729 22 image/bmp
19730 21 audio/x-wav
19731 19 audio/x-mpegurl
19732 19 audio/x-mpeg
19733 18 video/mpeg
19734 18 audio/x-scpls
19735 18 audio/x-flac
19736 18 application/x-ogg
19737 17 video/x-ms-asf
19738 17 text/html
19739 17 audio/x-musepack
19740 16 image/x-xbitmap
19741 &lt;/pre&gt;
19742
19743 &lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
19744
19745 &lt;pre&gt;
19746 count MIME type
19747 ----- -----------------------
19748 31 text/plain
19749 31 image/png
19750 31 image/jpeg
19751 29 audio/mpeg
19752 28 application/ogg
19753 27 image/gif
19754 26 image/tiff
19755 26 audio/x-mp3
19756 23 audio/x-wav
19757 22 image/bmp
19758 21 audio/x-flac
19759 20 audio/x-mpegurl
19760 19 audio/x-mpeg
19761 18 video/x-ms-asf
19762 18 video/mpeg
19763 18 audio/x-scpls
19764 18 application/x-ogg
19765 17 audio/x-musepack
19766 16 video/x-ms-wmv
19767 16 video/x-msvideo
19768 &lt;/pre&gt;
19769
19770 &lt;p&gt;I am told that PackageKit can provide an API to access the kind of
19771 information mentioned in DEP-11. I have not yet had time to look at
19772 it, but hope the PackageKit people in Debian are on top of these
19773 issues.&lt;/p&gt;
19774
19775 &lt;p&gt;&lt;strong&gt;Update 2013-01-16 13:35&lt;/strong&gt;: Updated numbers after
19776 discovering a typo in my script.&lt;/p&gt;
19777 </description>
19778 </item>
19779
19780 <item>
19781 <title>Using modalias info to find packages handling my hardware</title>
19782 <link>https://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</link>
19783 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</guid>
19784 <pubDate>Tue, 15 Jan 2013 08:00:00 +0100</pubDate>
19785 <description>&lt;p&gt;Yesterday, I wrote about the
19786 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html&quot;&gt;modalias
19787 values provided by the Linux kernel&lt;/a&gt; following my hope for
19788 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html&quot;&gt;better
19789 dongle support in Debian&lt;/a&gt;. Using this knowledge, I have tested how
19790 modalias values attached to package names can be used to map packages
19791 to hardware. This allow the system to look up and suggest relevant
19792 packages when I plug in some new hardware into my machine, and replace
19793 discover and discover-data as the database used to map hardware to
19794 packages.&lt;/p&gt;
19795
19796 &lt;p&gt;I create a modaliases file with entries like the following,
19797 containing package name, kernel module name (if relevant, otherwise
19798 the package name) and globs matching the relevant hardware
19799 modalias.&lt;/p&gt;
19800
19801 &lt;p&gt;&lt;blockquote&gt;
19802 Package: package-name
19803 &lt;br&gt;Modaliases: module(modaliasglob, modaliasglob, modaliasglob)&lt;/p&gt;
19804 &lt;/blockquote&gt;&lt;/p&gt;
19805
19806 &lt;p&gt;It is fairly trivial to write code to find the relevant packages
19807 for a given modalias value using this file.&lt;/p&gt;
19808
19809 &lt;p&gt;An entry like this would suggest the video and picture application
19810 cheese for many USB web cameras (interface bus class 0E01):&lt;/p&gt;
19811
19812 &lt;p&gt;&lt;blockquote&gt;
19813 Package: cheese
19814 &lt;br&gt;Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)&lt;/p&gt;
19815 &lt;/blockquote&gt;&lt;/p&gt;
19816
19817 &lt;p&gt;An entry like this would suggest the pcmciautils package when a
19818 CardBus bridge (bus class 0607) PCI device is present:&lt;/p&gt;
19819
19820 &lt;p&gt;&lt;blockquote&gt;
19821 Package: pcmciautils
19822 &lt;br&gt;Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
19823 &lt;/blockquote&gt;&lt;/p&gt;
19824
19825 &lt;p&gt;An entry like this would suggest the package colorhug-client when
19826 plugging in a ColorHug with USB IDs 04D8:F8DA:&lt;/p&gt;
19827
19828 &lt;p&gt;&lt;blockquote&gt;
19829 Package: colorhug-client
19830 &lt;br&gt;Modaliases: colorhug-client(usb:v04D8pF8DAd*)&lt;/p&gt;
19831 &lt;/blockquote&gt;&lt;/p&gt;
19832
19833 &lt;p&gt;I believe the format is compatible with the format of the Packages
19834 file in the Debian archive. Ubuntu already uses their Packages file
19835 to store their mappings from packages to hardware.&lt;/p&gt;
19836
19837 &lt;p&gt;By adding a XB-Modaliases: header in debian/control, any .deb can
19838 announce the hardware it support in a way my prototype understand.
19839 This allow those publishing packages in an APT source outside the
19840 Debian archive as well as those backporting packages to make sure the
19841 hardware mapping are included in the package meta information. I&#39;ve
19842 tested such header in the pymissile package, and its modalias mapping
19843 is working as it should with my prototype. It even made it to Ubuntu
19844 Raring.&lt;/p&gt;
19845
19846 &lt;p&gt;To test if it was possible to look up supported hardware using only
19847 the shell tools available in the Debian installer, I wrote a shell
19848 implementation of the lookup code. The idea is to create files for
19849 each modalias and let the shell do the matching. Please check out and
19850 try the
19851 &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;
19852 shell script. It run without any extra dependencies and fetch the
19853 hardware mappings from the Debian archive and the subversion
19854 repository where I currently work on my prototype.&lt;/p&gt;
19855
19856 &lt;p&gt;When I use it on a machine with a yubikey inserted, it suggest to
19857 install yubikey-personalization:&lt;/p&gt;
19858
19859 &lt;p&gt;&lt;blockquote&gt;
19860 % ./hw-support-lookup
19861 &lt;br&gt;yubikey-personalization
19862 &lt;br&gt;%
19863 &lt;/blockquote&gt;&lt;/p&gt;
19864
19865 &lt;p&gt;When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
19866 propose to install the pcmciautils package:&lt;/p&gt;
19867
19868 &lt;p&gt;&lt;blockquote&gt;
19869 % ./hw-support-lookup
19870 &lt;br&gt;pcmciautils
19871 &lt;br&gt;%
19872 &lt;/blockquote&gt;&lt;/p&gt;
19873
19874 &lt;p&gt;If you know of any hardware-package mapping that should be added to
19875 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co&quot;&gt;my
19876 database&lt;/a&gt;, please tell me about it.&lt;/p&gt;
19877
19878 &lt;p&gt;It could be possible to generate several of the mappings between
19879 packages and hardware. One source would be to look at packages with
19880 kernel modules, ie packages with *.ko files in /lib/modules/, and
19881 extract their modalias information. Another would be to look at
19882 packages with udev rules, ie packages with files in
19883 /lib/udev/rules.d/, and extract their vendor/model information to
19884 generate a modalias matching rule. I have not tested any of these to
19885 see if it work.&lt;/p&gt;
19886
19887 &lt;p&gt;If you want to help implementing a system to let us propose what
19888 packages to install when new hardware is plugged into a Debian
19889 machine, please send me an email or talk to me on
19890 &lt;a href=&quot;irc://irc.debian.org/%23debian-devel&quot;&gt;#debian-devel&lt;/a&gt;.&lt;/p&gt;
19891 </description>
19892 </item>
19893
19894 <item>
19895 <title>Modalias strings - a practical way to map &quot;stuff&quot; to hardware</title>
19896 <link>https://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html</link>
19897 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html</guid>
19898 <pubDate>Mon, 14 Jan 2013 11:20:00 +0100</pubDate>
19899 <description>&lt;p&gt;While looking into how to look up Debian packages based on hardware
19900 information, to find the packages that support a given piece of
19901 hardware, I refreshed my memory regarding modalias values, and decided
19902 to document the details. Here are my findings so far, also available
19903 in
19904 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;the
19905 Debian Edu subversion repository&lt;/a&gt;:
19906
19907 &lt;p&gt;&lt;strong&gt;Modalias decoded&lt;/strong&gt;&lt;/p&gt;
19908
19909 &lt;p&gt;This document try to explain what the different types of modalias
19910 values stands for. It is in part based on information from
19911 &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;,
19912 &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;,
19913 &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
19914 &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;.
19915
19916 &lt;p&gt;The modalias entries for a given Linux machine can be found using
19917 this shell script:&lt;/p&gt;
19918
19919 &lt;pre&gt;
19920 find /sys -name modalias -print0 | xargs -0 cat | sort -u
19921 &lt;/pre&gt;
19922
19923 &lt;p&gt;The supported modalias globs for a given kernel module can be found
19924 using modinfo:&lt;/p&gt;
19925
19926 &lt;pre&gt;
19927 % /sbin/modinfo psmouse | grep alias:
19928 alias: serio:ty05pr*id*ex*
19929 alias: serio:ty01pr*id*ex*
19930 %
19931 &lt;/pre&gt;
19932
19933 &lt;p&gt;&lt;strong&gt;PCI subtype&lt;/strong&gt;&lt;/p&gt;
19934
19935 &lt;p&gt;A typical PCI entry can look like this. This is an Intel Host
19936 Bridge memory controller:&lt;/p&gt;
19937
19938 &lt;p&gt;&lt;blockquote&gt;
19939 pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
19940 &lt;/blockquote&gt;&lt;/p&gt;
19941
19942 &lt;p&gt;This represent these values:&lt;/p&gt;
19943
19944 &lt;pre&gt;
19945 v 00008086 (vendor)
19946 d 00002770 (device)
19947 sv 00001028 (subvendor)
19948 sd 000001AD (subdevice)
19949 bc 06 (bus class)
19950 sc 00 (bus subclass)
19951 i 00 (interface)
19952 &lt;/pre&gt;
19953
19954 &lt;p&gt;The vendor/device values are the same values outputted from &#39;lspci
19955 -n&#39; as 8086:2770. The bus class/subclass is also shown by lspci as
19956 0600. The 0600 class is a host bridge. Other useful bus values are
19957 0300 (VGA compatible card) and 0200 (Ethernet controller).&lt;/p&gt;
19958
19959 &lt;p&gt;Not sure how to figure out the interface value, nor what it
19960 means.&lt;/p&gt;
19961
19962 &lt;p&gt;&lt;strong&gt;USB subtype&lt;/strong&gt;&lt;/p&gt;
19963
19964 &lt;p&gt;Some typical USB entries can look like this. This is an internal
19965 USB hub in a laptop:&lt;/p&gt;
19966
19967 &lt;p&gt;&lt;blockquote&gt;
19968 usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
19969 &lt;/blockquote&gt;&lt;/p&gt;
19970
19971 &lt;p&gt;Here is the values included in this alias:&lt;/p&gt;
19972
19973 &lt;pre&gt;
19974 v 1D6B (device vendor)
19975 p 0001 (device product)
19976 d 0206 (bcddevice)
19977 dc 09 (device class)
19978 dsc 00 (device subclass)
19979 dp 00 (device protocol)
19980 ic 09 (interface class)
19981 isc 00 (interface subclass)
19982 ip 00 (interface protocol)
19983 &lt;/pre&gt;
19984
19985 &lt;p&gt;The 0900 device class/subclass means hub. Some times the relevant
19986 class is in the interface class section. For a simple USB web camera,
19987 these alias entries show up:&lt;/p&gt;
19988
19989 &lt;p&gt;&lt;blockquote&gt;
19990 usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
19991 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
19992 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
19993 &lt;br&gt;usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
19994 &lt;/blockquote&gt;&lt;/p&gt;
19995
19996 &lt;p&gt;Interface class 0E01 is video control, 0E02 is video streaming (aka
19997 camera), 0101 is audio control device and 0102 is audio streaming (aka
19998 microphone). Thus this is a camera with microphone included.&lt;/p&gt;
19999
20000 &lt;p&gt;&lt;strong&gt;ACPI subtype&lt;/strong&gt;&lt;/p&gt;
20001
20002 &lt;p&gt;The ACPI type is used for several non-PCI/USB stuff. This is an IR
20003 receiver in a Thinkpad X40:&lt;/p&gt;
20004
20005 &lt;p&gt;&lt;blockquote&gt;
20006 acpi:IBM0071:PNP0511:
20007 &lt;/blockquote&gt;&lt;/p&gt;
20008
20009 &lt;p&gt;The values between the colons are IDs.&lt;/p&gt;
20010
20011 &lt;p&gt;&lt;strong&gt;DMI subtype&lt;/strong&gt;&lt;/p&gt;
20012
20013 &lt;p&gt;The DMI table contain lots of information about the computer case
20014 and model. This is an entry for a IBM Thinkpad X40, fetched from
20015 /sys/devices/virtual/dmi/id/modalias:&lt;/p&gt;
20016
20017 &lt;p&gt;&lt;blockquote&gt;
20018 dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
20019 &lt;/blockquote&gt;&lt;/p&gt;
20020
20021 &lt;p&gt;The values present are&lt;/p&gt;
20022
20023 &lt;pre&gt;
20024 bvn IBM (BIOS vendor)
20025 bvr 1UETB6WW(1.66) (BIOS version)
20026 bd 06/15/2005 (BIOS date)
20027 svn IBM (system vendor)
20028 pn 2371H4G (product name)
20029 pvr ThinkPadX40 (product version)
20030 rvn IBM (board vendor)
20031 rn 2371H4G (board name)
20032 rvr NotAvailable (board version)
20033 cvn IBM (chassis vendor)
20034 ct 10 (chassis type)
20035 cvr NotAvailable (chassis version)
20036 &lt;/pre&gt;
20037
20038 &lt;p&gt;The chassis type 10 is Notebook. Other interesting values can be
20039 found in the dmidecode source:&lt;/p&gt;
20040
20041 &lt;pre&gt;
20042 3 Desktop
20043 4 Low Profile Desktop
20044 5 Pizza Box
20045 6 Mini Tower
20046 7 Tower
20047 8 Portable
20048 9 Laptop
20049 10 Notebook
20050 11 Hand Held
20051 12 Docking Station
20052 13 All In One
20053 14 Sub Notebook
20054 15 Space-saving
20055 16 Lunch Box
20056 17 Main Server Chassis
20057 18 Expansion Chassis
20058 19 Sub Chassis
20059 20 Bus Expansion Chassis
20060 21 Peripheral Chassis
20061 22 RAID Chassis
20062 23 Rack Mount Chassis
20063 24 Sealed-case PC
20064 25 Multi-system
20065 26 CompactPCI
20066 27 AdvancedTCA
20067 28 Blade
20068 29 Blade Enclosing
20069 &lt;/pre&gt;
20070
20071 &lt;p&gt;The chassis type values are not always accurately set in the DMI
20072 table. For example my home server is a tower, but the DMI modalias
20073 claim it is a desktop.&lt;/p&gt;
20074
20075 &lt;p&gt;&lt;strong&gt;SerIO subtype&lt;/strong&gt;&lt;/p&gt;
20076
20077 &lt;p&gt;This type is used for PS/2 mouse plugs. One example is from my
20078 test machine:&lt;/p&gt;
20079
20080 &lt;p&gt;&lt;blockquote&gt;
20081 serio:ty01pr00id00ex00
20082 &lt;/blockquote&gt;&lt;/p&gt;
20083
20084 &lt;p&gt;The values present are&lt;/p&gt;
20085
20086 &lt;pre&gt;
20087 ty 01 (type)
20088 pr 00 (prototype)
20089 id 00 (id)
20090 ex 00 (extra)
20091 &lt;/pre&gt;
20092
20093 &lt;p&gt;This type is supported by the psmouse driver. I am not sure what
20094 the valid values are.&lt;/p&gt;
20095
20096 &lt;p&gt;&lt;strong&gt;Other subtypes&lt;/strong&gt;&lt;/p&gt;
20097
20098 &lt;p&gt;There are heaps of other modalias subtypes according to
20099 file2alias.c. There is the rest of the list from that source: amba,
20100 ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
20101 mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
20102 vmbus, x86cpu and zorro. I did not spend time documenting all of
20103 these, as they do not seem relevant for my intended use with mapping
20104 hardware to packages when new stuff is inserted during run time.&lt;/p&gt;
20105
20106 &lt;p&gt;&lt;strong&gt;Looking up kernel modules using modalias values&lt;/strong&gt;&lt;/p&gt;
20107
20108 &lt;p&gt;To check which kernel modules provide support for a given modalias,
20109 one can use the following shell script:&lt;/p&gt;
20110
20111 &lt;pre&gt;
20112 for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
20113 echo &quot;$id&quot; ; \
20114 /sbin/modprobe --show-depends &quot;$id&quot;|sed &#39;s/^/ /&#39; ; \
20115 done
20116 &lt;/pre&gt;
20117
20118 &lt;p&gt;The output can look like this (only the first few entries as the
20119 list is very long on my test machine):&lt;/p&gt;
20120
20121 &lt;pre&gt;
20122 acpi:ACPI0003:
20123 insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
20124 acpi:device:
20125 FATAL: Module acpi:device: not found.
20126 acpi:IBM0068:
20127 insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
20128 insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
20129 insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
20130 insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
20131 acpi:IBM0071:PNP0511:
20132 insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
20133 insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
20134 insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
20135 [...]
20136 &lt;/pre&gt;
20137
20138 &lt;p&gt;If you want to help implementing a system to let us propose what
20139 packages to install when new hardware is plugged into a Debian
20140 machine, please send me an email or talk to me on
20141 &lt;a href=&quot;irc://irc.debian.org/%23debian-devel&quot;&gt;#debian-devel&lt;/a&gt;.&lt;/p&gt;
20142
20143 &lt;p&gt;&lt;strong&gt;Update 2013-01-15:&lt;/strong&gt; Rewrite &quot;cat $(find ...)&quot; to
20144 &quot;find ... -print0 | xargs -0 cat&quot; to make sure it handle directories
20145 in /sys/ with space in them.&lt;/p&gt;
20146 </description>
20147 </item>
20148
20149 <item>
20150 <title>Moved the pymissile Debian packaging to collab-maint</title>
20151 <link>https://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html</link>
20152 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html</guid>
20153 <pubDate>Thu, 10 Jan 2013 20:40:00 +0100</pubDate>
20154 <description>&lt;p&gt;As part of my investigation on how to improve the support in Debian
20155 for hardware dongles, I dug up my old Mark and Spencer USB Rocket
20156 Launcher and updated the Debian package
20157 &lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;pymissile&lt;/a&gt; to make
20158 sure udev will fix the device permissions when it is plugged in. I
20159 also added a &quot;Modaliases&quot; header to test it in the Debian archive and
20160 hopefully make the package be proposed by jockey in Ubuntu when a user
20161 plug in his rocket launcher. In the process I moved the source to a
20162 git repository under collab-maint, to make it easier for any DD to
20163 contribute. &lt;a href=&quot;http://code.google.com/p/pymissile/&quot;&gt;Upstream&lt;/a&gt;
20164 is not very active, but the software still work for me even after five
20165 years of relative silence. The new git repository is not listed in
20166 the uploaded package yet, because I want to test the other changes a
20167 bit more before I upload the new version. If you want to check out
20168 the new version with a .desktop file included, visit the
20169 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git&quot;&gt;gitweb
20170 view&lt;/a&gt; or use &quot;&lt;tt&gt;git clone
20171 git://anonscm.debian.org/collab-maint/pymissile.git&lt;/tt&gt;&quot;.&lt;/p&gt;
20172 </description>
20173 </item>
20174
20175 <item>
20176 <title>Lets make hardware dongles easier to use in Debian</title>
20177 <link>https://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</link>
20178 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</guid>
20179 <pubDate>Wed, 9 Jan 2013 15:40:00 +0100</pubDate>
20180 <description>&lt;p&gt;One thing that annoys me with Debian and Linux distributions in
20181 general, is that there is a great package management system with the
20182 ability to automatically install software packages by downloading them
20183 from the distribution mirrors, but no way to get it to automatically
20184 install the packages I need to use the hardware I plug into my
20185 machine. Even if the package to use it is easily available from the
20186 Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
20187 suggest to automatically install the python-nxt, nbc and t2n packages
20188 I need to talk to it. When I plug in a Yubikey, it could propose the
20189 yubikey-personalization package. The information required to do this
20190 is available, but no-one have pulled all the pieces together.&lt;/p&gt;
20191
20192 &lt;p&gt;Some years ago, I proposed to
20193 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg01206.html&quot;&gt;use
20194 the discover subsystem to implement this&lt;/a&gt;. The idea is fairly
20195 simple:
20196
20197 &lt;ul&gt;
20198
20199 &lt;li&gt;Add a desktop entry in /usr/share/autostart/ pointing to a program
20200 starting when a user log in.&lt;/li&gt;
20201
20202 &lt;li&gt;Set this program up to listen for kernel events emitted when new
20203 hardware is inserted into the computer.&lt;/li&gt;
20204
20205 &lt;li&gt;When new hardware is inserted, look up the hardware ID in a
20206 database mapping to packages, and take note of any non-installed
20207 packages.&lt;/li&gt;
20208
20209 &lt;li&gt;Show a message to the user proposing to install the discovered
20210 package, and make it easy to install it.&lt;/li&gt;
20211
20212 &lt;/ul&gt;
20213
20214 &lt;p&gt;I am not sure what the best way to implement this is, but my
20215 initial idea was to use dbus events to discover new hardware, the
20216 discover database to find packages and
20217 &lt;a href=&quot;http://www.packagekit.org/&quot;&gt;PackageKit&lt;/a&gt; to install
20218 packages.&lt;/p&gt;
20219
20220 &lt;p&gt;Yesterday, I found time to try to implement this idea, and the
20221 draft package is now checked into
20222 &lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;the
20223 Debian Edu subversion repository&lt;/a&gt;. In the process, I updated the
20224 &lt;a href=&quot;http://packages.qa.debian.org/d/discover-data.html&quot;&gt;discover-data&lt;/a&gt;
20225 package to map the USB ids of LEGO Mindstorms and Yubikey devices to
20226 the relevant packages in Debian, and uploaded a new version
20227 2.2013.01.09 to unstable. I also discovered that the current
20228 &lt;a href=&quot;http://packages.qa.debian.org/d/discover.html&quot;&gt;discover&lt;/a&gt;
20229 package in Debian no longer discovered any USB devices, because
20230 /proc/bus/usb/devices is no longer present. I ported it to use
20231 libusb as a fall back option to get it working. The fixed package
20232 version 2.1.2-6 is now in experimental (didn&#39;t upload it to unstable
20233 because of the freeze).&lt;/p&gt;
20234
20235 &lt;p&gt;With this prototype in place, I can insert my Yubikey, and get this
20236 desktop notification to show up (only once, the first time it is
20237 inserted):&lt;/p&gt;
20238
20239 &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;
20240
20241 &lt;p&gt;For this prototype to be really useful, some way to automatically
20242 install the proposed packages by pressing the &quot;Please install
20243 program(s)&quot; button should to be implemented.&lt;/p&gt;
20244
20245 &lt;p&gt;If this idea seem useful to you, and you want to help make it
20246 happen, please help me update the discover-data database with mappings
20247 from hardware to Debian packages. Check if &#39;discover-pkginstall -l&#39;
20248 list the package you would like to have installed when a given
20249 hardware device is inserted into your computer, and report bugs using
20250 reportbug if it isn&#39;t. Or, if you know of a better way to provide
20251 such mapping, please let me know.&lt;/p&gt;
20252
20253 &lt;p&gt;This prototype need more work, and there are several questions that
20254 should be considered before it is ready for production use. Is dbus
20255 the correct way to detect new hardware? At the moment I look for HAL
20256 dbus events on the system bus, because that is the events I could see
20257 on my Debian Squeeze KDE desktop. Are there better events to use?
20258 How should the user be notified? Is the desktop notification
20259 mechanism the best option, or should the background daemon raise a
20260 popup instead? How should packages be installed? When should they
20261 not be installed?&lt;/p&gt;
20262
20263 &lt;p&gt;If you want to help getting such feature implemented in Debian,
20264 please send me an email. :)&lt;/p&gt;
20265 </description>
20266 </item>
20267
20268 <item>
20269 <title>New IRC channel for LEGO designers using Debian</title>
20270 <link>https://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html</link>
20271 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html</guid>
20272 <pubDate>Wed, 2 Jan 2013 15:40:00 +0100</pubDate>
20273 <description>&lt;p&gt;During Christmas, I have worked a bit on the Debian support for
20274 &lt;a href=&quot;http://mindstorms.lego.com/en-us/Default.aspx&quot;&gt;LEGO Mindstorm
20275 NXT&lt;/a&gt;. My son and I have played a bit with my NXT set, and I
20276 discovered I had to build all the tools myself because none were
20277 already in Debian Squeeze. If Debian support for LEGO is something
20278 you care about, please join me on the IRC channel
20279 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; (server
20280 irc.debian.org). There is a lot that could be done to improve the
20281 Debian support for LEGO designers. For example both CAD software
20282 and Mindstorm compilers are missing. :)&lt;/p&gt;
20283
20284 &lt;p&gt;Update 2012-01-03: A
20285 &lt;a href=&quot;http://wiki.debian.org/LegoDesigners&quot;&gt;project page&lt;/a&gt;
20286 including links to Lego related packages is now available.&lt;/p&gt;
20287 </description>
20288 </item>
20289
20290 <item>
20291 <title>A Christmas present for Skolelinux / Debian Edu</title>
20292 <link>https://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html</link>
20293 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html</guid>
20294 <pubDate>Fri, 28 Dec 2012 09:20:00 +0100</pubDate>
20295 <description>&lt;p&gt;I was happy to discover a few days ago that the
20296 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt;
20297 project also this year received a Christmas present from Another
20298 Agency in Trondheim. NOK 1000,- showed up on our donation account
20299 December 24th. I want to express our thanks for this very welcome
20300 present. As the Debian Edu / Skolelinux project is very short on
20301 funding these days, and thus lack the money to do regular developer
20302 gatherings, this donation was most welcome. One developer gathering
20303 cost around NOK 15&amp;nbsp;000,-, so we need quite a lot more to keep the
20304 development pace we want. Thus, I hope their example this year is
20305 followed by many others. :)&lt;/p&gt;
20306
20307 &lt;p&gt;The public list of donors can be found on
20308 &lt;a href=&quot;http://www.linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;the
20309 donation page&lt;/a&gt; for the project, which also contain instructions if
20310 you want to donate to the project.&lt;/p&gt;
20311 </description>
20312 </item>
20313
20314 <item>
20315 <title>How to backport bitcoin-qt version 0.7.2-2 to Debian Squeeze</title>
20316 <link>https://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html</link>
20317 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html</guid>
20318 <pubDate>Tue, 25 Dec 2012 20:50:00 +0100</pubDate>
20319 <description>&lt;p&gt;Let me start by wishing you all marry Christmas and a happy new
20320 year! I hope next year will prove to be a good year.&lt;/p&gt;
20321
20322 &lt;p&gt;&lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;Bitcoin&lt;/a&gt;, the digital
20323 decentralised &quot;currency&quot; that allow people to transfer bitcoins
20324 between each other with minimal overhead, is a very interesting
20325 experiment. And as I wrote a few days ago, the bitcoin situation in
20326 &lt;a href=&quot;http://www.debian.org/&quot;&gt;Debian&lt;/a&gt; is about to improve a bit.
20327 The &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;new debian source
20328 package&lt;/a&gt; (version 0.7.2-2) was uploaded yesterday, and is waiting
20329 in &lt;a href=&quot;http://ftp-master.debian.org/new.html&quot;&gt;the NEW queue&lt;/A&gt;
20330 for one of the ftpmasters to approve the new bitcoin-qt package
20331 name.&lt;/p&gt;
20332
20333 &lt;p&gt;And thanks to the great work of Jonas and the rest of the bitcoin
20334 team in Debian, you can easily test the package in Debian Squeeze
20335 using the following steps to get a set of working packages:&lt;/p&gt;
20336
20337 &lt;blockquote&gt;&lt;pre&gt;
20338 git clone git://git.debian.org/git/collab-maint/bitcoin
20339 cd bitcoin
20340 DEB_MAINTAINER_MODE=1 DEB_BUILD_OPTIONS=noupnp fakeroot debian/rules clean
20341 DEB_BUILD_OPTIONS=noupnp git-buildpackage --git-ignore-new
20342 &lt;/pre&gt;&lt;/blockquote&gt;
20343
20344 &lt;p&gt;You might have to install some build dependencies as well. The
20345 list of commands should give you two packages, bitcoind and
20346 bitcoin-qt, ready for use in a Squeeze environment. Note that the
20347 client will download the complete set of bitcoin &quot;blocks&quot;, which need
20348 around 5.6 GiB of data on my machine at the moment. Make sure your
20349 ~/.bitcoin/ directory have lots of spare room if you want to download
20350 all the blocks. The client will warn if the disk is getting full, so
20351 there is not really a problem if you got too little room, but you will
20352 not be able to get all the features out of the client.&lt;/p&gt;
20353
20354 &lt;p&gt;As usual, if you use bitcoin and want to show your support of my
20355 activities, please send Bitcoin donations to my address
20356 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
20357 </description>
20358 </item>
20359
20360 <item>
20361 <title>A word on bitcoin support in Debian</title>
20362 <link>https://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html</link>
20363 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html</guid>
20364 <pubDate>Fri, 21 Dec 2012 23:59:00 +0100</pubDate>
20365 <description>&lt;p&gt;It has been a while since I wrote about
20366 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;bitcoin&lt;/a&gt;, the decentralised
20367 peer-to-peer based crypto-currency, and the reason is simply that I
20368 have been busy elsewhere. But two days ago, I started looking at the
20369 state of &lt;a href=&quot;http://packages.qa.debian.org/bitcoin&quot;&gt;bitcoin in
20370 Debian&lt;/a&gt; again to try to recover my old bitcoin wallet. The package
20371 is now maintained by a
20372 &lt;a href=&quot;https://alioth.debian.org/projects/pkg-bitcoin/&quot;&gt;team of
20373 people&lt;/a&gt;, and the grunt work had already been done by this team. We
20374 owe a huge thank you to all these team members. :)
20375 But I was sad to discover that the bitcoin client is missing in
20376 Wheezy. It is only available in Sid (and an outdated client from
20377 backports). The client had several RC bugs registered in BTS blocking
20378 it from entering testing. To try to help the team and improve the
20379 situation, I spent some time providing patches and triaging the bug
20380 reports. I also had a look at the bitcoin package available from Matt
20381 Corallo in a
20382 &lt;a href=&quot;https://launchpad.net/~bitcoin/+archive/bitcoin&quot;&gt;PPA for
20383 Ubuntu&lt;/a&gt;, and moved the useful pieces from that version into the
20384 Debian package.&lt;/p&gt;
20385
20386 &lt;p&gt;After checking with the main package maintainer Jonas Smedegaard on
20387 IRC, I pushed several patches into the collab-maint git repository to
20388 improve the package. It now contains fixes for the RC issues (not from
20389 me, but fixed by Scott Howard), build rules for a Qt GUI client
20390 package, konqueror support for the bitcoin: URI and bash completion
20391 setup. As I work on Debian Squeeze, I also created
20392 &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html&quot;&gt;a
20393 patch to backport&lt;/a&gt; the latest version. Jonas is going to look at
20394 it and try to integrate it into the git repository before uploading a
20395 new version to unstable.
20396
20397 &lt;p&gt;I would very much like bitcoin to succeed, to get rid of the
20398 centralized control currently exercised in the monetary system. I
20399 find it completely unacceptable that the USA government is collecting
20400 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
20401 that the major credit card companies can block legal money
20402 transactions to Wikileaks. But for bitcoin to succeed, more people
20403 need to use bitcoins, and more people need to accept bitcoins when
20404 they sell products and services. Improving the bitcoin support in
20405 Debian is a small step in the right direction, but not enough.
20406 Unfortunately the user experience when browsing the web and wanting to
20407 pay with bitcoin is still not very good. The bitcoin: URI is a step
20408 in the right direction, but need to work in most or every browser in
20409 use. Also the bitcoin-qt client is too heavy to fire up to do a
20410 quick transaction. I believe there are other clients available, but
20411 have not tested them.&lt;/p&gt;
20412
20413 &lt;p&gt;My
20414 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html&quot;&gt;experiment
20415 with bitcoins&lt;/a&gt; showed that at least some of my readers use bitcoin.
20416 I received 20.15 BTC so far on the address I provided in my blog two
20417 years ago, as can be
20418 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;seen
20419 on the blockexplorer service&lt;/a&gt;. Thank you everyone for your
20420 donation. The blockexplorer service demonstrates quite well that
20421 bitcoin is not quite anonymous and untracked. :) I wonder if the
20422 number of users have gone up since then. If you use bitcoin and want
20423 to show your support of my activity, please send Bitcoin donations to
20424 the same address as last time,
20425 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
20426 </description>
20427 </item>
20428
20429 <item>
20430 <title>Ledger - double-entry accounting using text based storage format</title>
20431 <link>https://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html</link>
20432 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html</guid>
20433 <pubDate>Tue, 18 Dec 2012 23:30:00 +0100</pubDate>
20434 <description>&lt;p&gt;A few days ago I came across
20435 &lt;a href=&quot;http://joeyh.name/blog/entry/hledger/&quot;&gt;a blog post from Joey
20436 Hess&lt;/a&gt; describing &lt;a href=&quot;http://ledger-cli.org/&quot;&gt;ledger&lt;/a&gt; and
20437 hledger, a text based system for double-entry accounting. I found it
20438 interesting, as I am involved with several organizations where
20439 accounting is an issue, and I have not really become too friendly with
20440 the different web based systems we use. I find it hard to find what I
20441 look for in the menus and even harder try to get sensible data out of
20442 the systems. Ledger seem different. The accounting data is kept in
20443 text files that can be stored in a version control system, and there
20444
20445 are at least &lt;a href=&quot;https://github.com/ledger/ledger/wiki/Ports&quot;&gt;five
20446 different implementations&lt;/a&gt; able to read the format. An example
20447 entry look like this, and is simple enough that it will be trivial to
20448 generate entries based on CVS files fetched from the bank:&lt;/p&gt;
20449
20450 &lt;blockquote&gt;&lt;pre&gt;
20451 2004-05-27 Book Store
20452 Expenses:Books $20.00
20453 Liabilities:Visa
20454 &lt;/pre&gt;&lt;/blockquote&gt;
20455
20456 &lt;p&gt;The concept seemed interesting enough for me to check it out and
20457 look for others using it. I found blog posts from
20458 &lt;a href=&quot;http://blog.spang.cc/posts/hledger_rocks_my_world/&quot;&gt;Christine
20459 Spang&lt;/a&gt;,
20460 &lt;a href=&quot;http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html&quot;&gt;Pete
20461 Keen&lt;/a&gt;,
20462 &lt;a href=&quot;http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/&quot;&gt;Andrew
20463 Cantino&lt;/a&gt; and
20464 &lt;a href=&quot;http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/&quot;&gt;Ronald
20465 Ip&lt;/a&gt; describing how they use it, as well as a post from
20466 &lt;a href=&quot;https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo&quot;&gt;Bradley
20467 M. Kuhn&lt;/a&gt; at the Software Freedom Conservancy. All seemed like good
20468 recommendations fitting my need.&lt;/p&gt;
20469
20470 &lt;p&gt;The &lt;a href=&quot;http://packages.qa.debian.org/l/ledger.html&quot;&gt;ledger&lt;/a&gt;
20471 package is available in Debian Squeeze, while the
20472 &lt;a href=&quot;http://packages.qa.debian.org/h/haskell-hledger.html&quot;&gt;hledger&lt;/a&gt;
20473 package only is available in Debian Sid. As I use Squeeze, ledger
20474 seemed the best choice to get started.&lt;/p&gt;
20475
20476 &lt;p&gt;To get some real data to test on, I wrote a
20477 &lt;a href=&quot;http://www.nuug.no/tools/lodo2ledger&quot;&gt;web scraper&lt;/a&gt; for
20478 &lt;a href=&quot;http://www.lodo.no/&quot;&gt;LODO&lt;/a&gt;, the accounting system used by
20479 the &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt; association, and started to
20480 play with the data set. I&#39;m not really deeply into accounting, but I
20481 am able to get a simple balance and accounting status for example
20482 using the &quot;&lt;tt&gt;ledger balance&lt;/tt&gt;&quot; command. But I will have to
20483 gather more experience before I know if the ledger way is a good fit
20484 for the organisations I am involved in.&lt;/p&gt;
20485 </description>
20486 </item>
20487
20488 <item>
20489 <title>Scripting the Cerebrum/bofhd user administration system using XML-RPC</title>
20490 <link>https://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html</link>
20491 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html</guid>
20492 <pubDate>Thu, 6 Dec 2012 10:30:00 +0100</pubDate>
20493 <description>&lt;p&gt;Where I work at the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of
20494 Oslo&lt;/a&gt;, we use the
20495 &lt;a href=&quot;http://sourceforge.net/projects/cerebrum/&quot;&gt;Cerebrum user
20496 administration system&lt;/a&gt; to maintain users, groups, DNS, DHCP, etc.
20497 I&#39;ve known since the system was written that the server is providing
20498 an &lt;a href=&quot;http://en.wikipedia.org/wiki/XML-RPC&quot;&gt;XML-RPC&lt;/a&gt; API, but
20499 I have never spent time to try to figure out how to use it, as we
20500 always use the bofh command line client at work. Until today. I want
20501 to script the updating of DNS and DHCP to make it easier to set up
20502 virtual machines. Here are a few notes on how to use it with
20503 Python.&lt;/p&gt;
20504
20505 &lt;p&gt;I started by looking at the source of the Java
20506 &lt;a href=&quot;http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/&quot;&gt;bofh
20507 client&lt;/a&gt;, to figure out how it connected to the API server. I also
20508 googled for python examples on how to use XML-RPC, and found
20509 &lt;a href=&quot;http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html&quot;&gt;a
20510 simple example in&lt;/a&gt; the XML-RPC howto.&lt;/p&gt;
20511
20512 &lt;p&gt;This simple example code show how to connect, get the list of
20513 commands (as a JSON dump), and how to get the information about the
20514 user currently logged in:&lt;/p&gt;
20515
20516 &lt;blockquote&gt;&lt;pre&gt;
20517 #!/usr/bin/env python
20518 import getpass
20519 import xmlrpclib
20520 server_url = &#39;https://cerebrum-uio.uio.no:8000&#39;;
20521 username = getpass.getuser()
20522 password = getpass.getpass()
20523 server = xmlrpclib.Server(server_url);
20524 #print server.get_commands(sessionid)
20525 sessionid = server.login(username, password)
20526 print server.run_command(sessionid, &quot;user_info&quot;, username)
20527 result = server.logout(sessionid)
20528 print result
20529 &lt;/pre&gt;&lt;/blockquote&gt;
20530
20531 &lt;p&gt;Armed with this knowledge I can now move forward and script the DNS
20532 and DHCP updates I wanted to do.&lt;/p&gt;
20533 </description>
20534 </item>
20535
20536 <item>
20537 <title>Why isn&#39;t the value of copyright taxed?</title>
20538 <link>https://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html</link>
20539 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html</guid>
20540 <pubDate>Sat, 17 Nov 2012 11:30:00 +0100</pubDate>
20541 <description>&lt;p&gt;While working on a
20542 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Norwegian
20543 translation of the Free Culture by Lawrence Lessig&lt;/a&gt; (76% done),
20544 which cover the problems with todays copyright law and how it stifles
20545 creativity, one idea occurred to me. The idea is to get the tax
20546 office to help make more works enter the public domain and also help
20547 make it easier to clear rights for using copyrighted works.&lt;/p&gt;
20548
20549 &lt;p&gt;I mentioned this idea briefly during Yesterdays
20550 &lt;a href=&quot;http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
20551 -15-30-19-00/&quot;&gt;presentation
20552 by John Perry Barlow&lt;/a&gt;, and concluded that it was best to put it
20553 in writing for a wider audience. The idea is not really based on the
20554 argument that copyrighted works are &quot;intellectual property&quot;, as the
20555 core requirement is that copyrighted work have value for the copyright
20556 holder and the tax office like to collect their share from any value
20557 controlled by the citizens in a country. I&#39;m sharing the idea here to
20558 let others consider it and perhaps shoot it down with a fresh set of
20559 arguments.&lt;/p&gt;
20560
20561 &lt;p&gt;Most valuables are taxed by the government. At least here in
20562 Norway, the amount of money you have, the value of our land property,
20563 the value of your house, the value of your car, the value of our
20564 stocks and other valuables are all added together. If the tax value
20565 of these values exceed your debt, you have to pay the tax office some
20566 taxes for these values. And copyrighted work have value. It have
20567 value for the rights holder, who can earn money selling access to the
20568 work. But it is not included in the tax calculations? Why not?&lt;/p&gt;
20569
20570 &lt;p&gt;If the government want to tax copyrighted works, it would want to
20571 maintain a database of all the copyrighted works and who are the
20572 rights holders for a given works, to be able to associate the works
20573 value to the right citizen or company for tax purposes. If such
20574 database exist, it will become a lot easier to find out who to talk to
20575 for clearing permissions to use a copyrighted work, which is a very
20576 hard operation with todays copyright law. To ensure that copyright
20577 holders keep the database up-to-date, it would have to become a
20578 requirement to be able to collect money for granting access to
20579 copyrighted works that the work is listed in the database with the
20580 correct right holder.&lt;/p&gt;
20581
20582 &lt;p&gt;If copyright causes copyright holders to have to pay more taxes,
20583 they will have a small incentive to &quot;disown&quot; their copyright, and let
20584 the work enter the public domain. For works with several right holders
20585 one of the right holders could state (and get it registered in the
20586 database) that she do not need to be consulted when clearing rights to
20587 use the work in question and thus will not get any income from that
20588 work. Stating this would have to be impossible to revert and stop the
20589 tax office from adding the value of that work to the given citizens
20590 tax calculation. I assume the copyright law would stay the same,
20591 allowing creators to pick a license of their choosing, and also
20592 allowing them to put their work directly in the public domain. The
20593 existence of such database will make it even easier to clear rights,
20594 and if the right holders listed in the database is taxed, this system
20595 would increase the amount of works that enter the public domain.&lt;/p&gt;
20596
20597 &lt;p&gt;The effect would be that the tax office help to make it easier to
20598 get rights to use the works that have not yet entered the public
20599 domain and help to get more work into the public domain.&lt;/p&gt;
20600
20601 &lt;p&gt;Why have such taxing not happened yet? I am sure the tax office
20602 would like to tax copyrighted work values if they could.&lt;/p&gt;
20603 </description>
20604 </item>
20605
20606 <item>
20607 <title>Debian Edu interview: Angela Fuß</title>
20608 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html</link>
20609 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html</guid>
20610 <pubDate>Wed, 14 Nov 2012 21:30:00 +0100</pubDate>
20611 <description>&lt;p&gt;Here is another interview with one of the people in the &lt;a
20612 href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
20613 community. I am running short on people willing to be interviewed, so
20614 if you know about someone I should interview, Please send me an email.
20615 After asking for many months, I finally managed to lure another one of
20616 the people behind the German
20617 &quot;&lt;a href=&quot;http://wiki.it-zukunft-schule.de/&quot;&gt;IT-Zukunft Schule&lt;/a&gt;&quot;
20618 project out from maternity leave to conduct an interview. Give a warm
20619 welcome to Angela Fuß. :)&lt;/p&gt;
20620
20621 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
20622
20623 &lt;p&gt;I am a 39-year-old woman living in the very north of Germany near
20624 Denmark. I live in a patchwork family with &quot;my man&quot; Mike Gabriel, my
20625 two daughters, Mikes daughter and Mikes and my rather newborn son.
20626
20627 &lt;p&gt;At the moment - because of our little baby - I am spending most of
20628 the day by being a caring and organising mom for all the kids.
20629 Besides that I am really involved into and occupied with several inner
20630 growth processes: New born souls always bring the whole familiar
20631 system into movement and that needs time and focus ;-). We are also
20632 in the middle of buying a house and moving to it.&lt;/p&gt;
20633
20634 &lt;p&gt;In 2013 I will work again in my job in a German foundation for
20635 nature conservation. I am doing public relation work there. Besides
20636 that - and that is the connection to Skolelinux / Debian Edu - I am
20637 working in our own school project &quot;IT-Zukunft Schule&quot; in North
20638 Germany. I am responsible for the quality assurance, the customer
20639 relationship management and the communication processes in the
20640 project.&lt;/p&gt;
20641
20642 &lt;p&gt;Since 2001 I constantly have been training myself in communication
20643 and leadership. Besides that I am a forester, a landscaping gardener
20644 and a yoga teacher.&lt;/p&gt;
20645
20646 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
20647 project?&lt;/strong&gt;&lt;/p&gt;
20648
20649 &lt;p&gt;I fell in love with Mike ;-).&lt;/p&gt;
20650
20651 &lt;p&gt;Very soon after getting to know him I was completely enrolled into
20652 Free Software. At this time Mike did IT-services for one newly
20653 founded school in Kiel. Other schools in Kiel needed concepts for
20654 their IT environment. Often when Mike came home from working at the
20655 newly founded school I found myself listening to his complaints about
20656 several points where the communication with the schools head or the
20657 teachers did not work. So we were clear that he would not work for
20658 one more school if we did not set up a structure for communication
20659 between him, the schools head, the teachers, the students and the
20660 parents.&lt;/p&gt;
20661
20662 &lt;p&gt;Together with our friend and hardware supplier Andreas Buchholz we
20663 started to get an overview of free software solutions suitable for
20664 schools. One day before Christmas 2010 Mike and I had a date with Kurt
20665 Gramlich in Gütersloh. As Kurt and I are really interested in building
20666 networks of people and in being in communication we dived into
20667 Skolelinux and brought it to the first grammar schools in Northern
20668 Germany.&lt;/p&gt;
20669
20670 &lt;p&gt;For information about our school project you can read
20671 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html&quot;&gt;the
20672 interview with Mike Gabriel&lt;/a&gt;.&lt;/p&gt;
20673
20674 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
20675 Edu?&lt;/strong&gt;&lt;/p&gt;
20676
20677 &lt;p&gt;First I have to say: I cannot answer this question technically. My
20678 answer comes rather from a social point of view.&lt;/p&gt;
20679
20680 &lt;p&gt;The biggest advantage of Skolelinux / Debian Edu I see is the large
20681 and strong international community of Debian Developers in the
20682 background which is very alive and connected over mailinglists, blogs
20683 and meetings. My constant feeling for the Debian Community is: If
20684 something does not work they will somehow fix it. All is well
20685 ;-). This is of course a user experience. What I also get as a big
20686 advantage of Skolelinux / Debian Edu is that everybody who uses it and
20687 works with it can also contribute to it - that includes students,
20688 teachers, parents...&lt;/p&gt;
20689
20690 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
20691 Edu?&lt;/strong&gt;&lt;/p&gt;
20692
20693 &lt;p&gt;I will answer this question relating to the internal structure of
20694 Skolelinux / Debian Edu.&lt;/p&gt;
20695
20696 &lt;p&gt;What I see as a major disadvantage is that there is a gap between
20697 the group of developers for Debian Edu and the people who make the
20698 marketing, that means the people that bring Skolelinux to the
20699 schools. There is a lack of communication between these two groups and
20700 I think that does not really work for Skolelinux / Debian Edu.&lt;/p&gt;
20701
20702 &lt;p&gt;Further I appreciate that Skolelinux / Debian Edu is known as a
20703 do-ocracy. Nevertheless I keep asking myself if at some points a
20704 democracy or some kind of hierarchical project structure would be good
20705 and helpful. I am also missing some kind of contact between the
20706 Skolelinux / Debian Edu communities in Europe or on an international
20707 level. I think it would be good if there was more sharing between the
20708 different countries using Skolelinux / Debian Edu.&lt;/p&gt;
20709
20710 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
20711
20712 &lt;p&gt;On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
20713 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
20714 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
20715 my N900 running with Maemo.&lt;/p&gt;
20716
20717 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
20718 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
20719
20720 &lt;p&gt;I am really convinced that in our school project &quot;IT-Zukunft
20721 Schule&quot; we have developed (and keep developing) a great way to get
20722 schools to use Free Software. We have written a detailed concept for
20723 that so I cannot explain the whole thing here. But in a nutshell the
20724 strategy has three crucial pillars:&lt;/p&gt;
20725
20726 &lt;ul&gt;
20727
20728 &lt;li&gt;We really take time to get what sort of stories, questions and
20729 concerns the schools head and the teachers have about using different
20730 kinds of IT and we take time to enrol them into Free Software.&lt;/li&gt;
20731
20732 &lt;li&gt;Our solution for schools is never just technical. In the centre
20733 are always the people who are going to use the software. From the very
20734 beginning of the planning for a school, we tell the schools head that
20735 they are paying us not only for a technical solution for their school,
20736 they also pay us for leading all the communication processes
20737 needed. If they do not want that, we are not working with them because
20738 we cannot give a guarantee for the quality of our work then.&lt;/li&gt;
20739
20740 &lt;li&gt;Another focus lies in the training of teachers and students in
20741 co-administrating the IT-System at their school. They start getting in
20742 contact with the Skolelinux / Debian Edu community and they get the
20743 offer to become more and more independent from us.&lt;/li&gt;
20744
20745 &lt;/ul&gt;
20746 </description>
20747 </item>
20748
20749 <item>
20750 <title>The European Central Bank (ECB) take a look at bitcoin</title>
20751 <link>https://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html</link>
20752 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html</guid>
20753 <pubDate>Sun, 4 Nov 2012 08:30:00 +0100</pubDate>
20754 <description>&lt;p&gt;Slashdot just ran a story about the European Central Bank (ECB)
20755 &lt;a href=&quot;http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf&quot;&gt;releasing
20756 a report (PDF)&lt;/a&gt; about virtual currencies and
20757 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;bitcoin&lt;/a&gt;. It is interesting to
20758 see how a member of the bitcoin community
20759 &lt;a href=&quot;http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html&quot;&gt;receive
20760 the report&lt;/a&gt;. As for the future, I suspect the central banks and
20761 the governments will outlaw bitcoin if it gain any popularity, to avoid
20762 competition. My thoughts go to the
20763 &lt;a href=&quot;http://en.wikipedia.org/wiki/Wörgl&quot;&gt;Wörgl experiment&lt;/a&gt; with
20764 negative inflation on cash which was such a success that it was
20765 terminated by the Austrian National Bank in 1933. A successful
20766 alternative would be a threat to the current money system and gain
20767 powerful forces to work against it.&lt;/p&gt;
20768
20769 &lt;p&gt;While checking out the current status of bitcoin, I also discovered
20770 that the community already seem to have
20771 &lt;a href=&quot;http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down&quot;&gt;experienced
20772 its first pyramid game / Ponzi scheme&lt;/a&gt;. Not very surprising, given
20773 how members of &quot;small&quot; communities tend to trust each other. I guess
20774 enterprising crocks will try again and again, as they do anywhere
20775 wealth is available.&lt;/p&gt;
20776 </description>
20777 </item>
20778
20779 <item>
20780 <title>12 years of outages - summarised by Stuart Kendrick</title>
20781 <link>https://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html</link>
20782 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html</guid>
20783 <pubDate>Fri, 26 Oct 2012 14:20:00 +0200</pubDate>
20784 <description>&lt;p&gt;I work at the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
20785 looking after the computers, mostly on the unix side, but in general
20786 all over the place. I am also a member (and currently leader) of
20787 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;the NUUG association&lt;/a&gt;, which in turn
20788 make me a member of &lt;a href=&quot;http://www.usenix.org/&quot;&gt;USENIX&lt;/a&gt;. NUUG
20789 is an member organisation for us in Norway interested in free
20790 software, open standards and unix like operating systems, and USENIX
20791 is a US based member organisation with similar targets. And thanks to
20792 these memberships, I get all issues of the great USENIX magazine
20793 &lt;a href=&quot;https://www.usenix.org/publications/login&quot;&gt;;login:&lt;/a&gt; in the
20794 mail several times a year. The magazine is great, and I read most of
20795 it every time.&lt;/p&gt;
20796
20797 &lt;p&gt;In the last issue of the USENIX magazine ;login:, there is an
20798 article by &lt;a href=&quot;http://www.skendric.com/&quot;&gt;Stuart Kendrick&lt;/a&gt; from
20799 Fred Hutchinson Cancer Research Center titled
20800 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down&quot;&gt;What
20801 Takes Us Down&lt;/a&gt;&quot; (longer version also
20802 &lt;a href=&quot;http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf&quot;&gt;available
20803 from his own site&lt;/a&gt;), where he report what he found when he
20804 processed the outage reports (both planned and unplanned) from the
20805 last twelve years and classified them according to cause, time of day,
20806 etc etc. The article is a good read to get some empirical data on
20807 what kind of problems affect a data centre, but what really inspired
20808 me was the kind of reporting they had put in place since 2000.&lt;p&gt;
20809
20810 &lt;p&gt;The centre set up a mailing list, and started to send fairly
20811 standardised messages to this list when a outage was planned or when
20812 it already occurred, to announce the plan and get feedback on the
20813 assumtions on scope and user impact. Here is the two example from the
20814 article: First the unplanned outage:
20815
20816 &lt;blockquote&gt;&lt;pre&gt;
20817 Subject: Exchange 2003 Cluster Issues
20818 Severity: Critical (Unplanned)
20819 Start: Monday, May 7, 2012, 11:58
20820 End: Monday, May 7, 2012, 12:38
20821 Duration: 40 minutes
20822 Scope: Exchange 2003
20823 Description: The HTTPS service on the Exchange cluster crashed, triggering
20824 a cluster failover.
20825
20826 User Impact: During this period, all Exchange users were unable to
20827 access e-mail. Zimbra users were unaffected.
20828 Technician: [xxx]
20829 &lt;/pre&gt;&lt;/blockquote&gt;
20830
20831 Next the planned outage:
20832
20833 &lt;blockquote&gt;&lt;pre&gt;
20834 Subject: H Building Switch Upgrades
20835 Severity: Major (Planned)
20836 Start: Saturday, June 16, 2012, 06:00
20837 End: Saturday, June 16, 2012, 16:00
20838 Duration: 10 hours
20839 Scope: H2 Transport
20840 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
20841 stations. We will replace these with newer Catalyst
20842 4510s.
20843 User Impact: All users on H2 will be isolated from the network during
20844 this work. Afterward, they will have gigabit
20845 connectivity.
20846 Technician: [xxx]
20847 &lt;/pre&gt;&lt;/blockquote&gt;
20848
20849 &lt;p&gt;He notes in his article that the date formats and other fields have
20850 been a bit too free form to make it easy to automatically process them
20851 into a database for further analysis, and I would have used ISO 8601
20852 dates myself to make it easier to process (in other words I would ask
20853 people to write &#39;2012-06-16 06:00 +0000&#39; instead of the start time
20854 format listed above). There are also other issues with the format
20855 that could be improved, read the article for the details.&lt;/p&gt;
20856
20857 &lt;p&gt;I find the idea of standardising outage messages seem to be such a
20858 good idea that I would like to get it implemented here at the
20859 university too. We do register
20860 &lt;a href=&quot;http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/&quot;&gt;planned
20861 changes and outages in a calendar&lt;/a&gt;, and report the to a mailing
20862 list, but we do not do so in a structured format and there is not a
20863 report to the same location for unplanned outages. Perhaps something
20864 for other sites to consider too?&lt;/p&gt;
20865 </description>
20866 </item>
20867
20868 <item>
20869 <title>Amazon steal books from customer and throw out her out without any explanation</title>
20870 <link>https://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html</link>
20871 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html</guid>
20872 <pubDate>Mon, 22 Oct 2012 20:30:00 +0200</pubDate>
20873 <description>&lt;p&gt;A blog post from Martin Bekkelund today tell the story of
20874 &lt;a href=&quot;http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/&quot;&gt;how
20875 Amazon erased the books from a customer&#39;s kindle, locked the account
20876 and refuse to tell the customer why&lt;/a&gt;. If a real book store did
20877 this to a customer, it would be called breaking into private property
20878 and theft. The story has spread around the net today. A bit more
20879 background information is available in Norwegian from
20880 &lt;a href=&quot;http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon&quot;&gt;digi.no&lt;/a&gt;.
20881 It is no surprise that digital restriction mechanisms (DRM) are used
20882 this way, as it has been warned about such abuse since DRM was
20883 introduced many years back. And Amazon proved in 2009 that it was
20884 willing to
20885 &lt;a href=&quot;http://boingboing.net/2009/07/20/amazons-orwellian-de.html&quot;&gt;
20886 break into customers equipment and remove the books&lt;/a&gt; people had
20887 bought, when it removed the book 1984 by George Orwell from all the
20888 customers who had bought it. From the official comments, it even
20889 sounded like
20890 &lt;a href=&quot;http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html&quot;&gt;Amazon
20891 would never do that again&lt;/a&gt;. And here we are, three years
20892 later.&lt;/p&gt;
20893
20894 &lt;p&gt;And thought this action is
20895 &lt;a href=&quot;http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende&quot;&gt;against
20896 Norwegian regulations and law&lt;/a&gt;, it is according to the terms of use
20897 as written by Amazon, and it is hard to hold Amazon accountable to
20898 Norwegian laws. It is just yet another example of unacceptable terms
20899 of use on the web, and how they are used to remove customer
20900 rights.&lt;/p&gt;
20901
20902 &lt;p&gt;Luckily for electronic books, there are alternatives without
20903 unacceptable terms. For example
20904 &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (about 40,000
20905 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt; (1,652
20906 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The Internet
20907 Archive&lt;/a&gt; (3,641,797 books) have heaps of books without DRM, which
20908 can read by anyone and shared with anyone.&lt;/p&gt;
20909
20910 &lt;p&gt;Update 2012-10-23: This story broke in the morning on Monday. In
20911 the evening after the story had spread all across the Internet, Amazon
20912 restored the account of the user, as reported by
20913 &lt;a href=&quot;http://www.digi.no/904675/helomvending-fra-amazon&quot;&gt;digi.no&lt;/a&gt;
20914 and &lt;a href=&quot;http://nrk.no/kultur-og-underholdning/1.8368487&quot;&gt;NRK&lt;/a&gt;.
20915 Apparently public pressure work. The story from Martin have seen
20916 several twitter messages per minute the last 24 hours, which is quite
20917 a lot, and is still drawing a lot of attention. But even when the
20918 account is restored, the fundamental problem still exist. I recommend
20919 reading two opinions from
20920 &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
20921 Phipps&lt;/a&gt; and
20922 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm&quot;&gt;Glen
20923 Moody&lt;/a&gt; if you want to learn more about the fundamentals and more
20924 details about the original story.&lt;/p&gt;
20925 </description>
20926 </item>
20927
20928 <item>
20929 <title>The fight for freedom and privacy</title>
20930 <link>https://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</link>
20931 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</guid>
20932 <pubDate>Thu, 18 Oct 2012 10:50:00 +0200</pubDate>
20933 <description>&lt;p&gt;Civil liberties and privacy in the western world are going down the
20934 drain, and it is hard to fight against it. I try to do my best, but
20935 time is limited. I hope you do your best too. A few years ago I came
20936 across a marvellous drawing by
20937 &lt;a href=&quot;http://www.claybennett.com/about.html&quot;&gt;Clay Bennett&lt;/a&gt;
20938 visualising some of what is going on.
20939
20940 &lt;p&gt;&lt;a href=&quot;http://www.claybennett.com/pages/security_fence.html&quot;&gt;
20941 &lt;img src=&quot;http://www.claybennett.com/images/archivetoons/security_fence.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;
20942
20943 &lt;blockquote&gt;
20944 «They who can give up essential liberty to obtain a little temporary
20945 safety, deserve neither liberty nor safety.» - Benjamin Franklin
20946 &lt;/blockquote&gt;
20947
20948 &lt;p&gt;Do you feel safe at the airport? I do not. Do you feel safe when
20949 you see a surveillance camera? I do not. Do you feel safe when you
20950 leave electronic traces of your behaviour and opinions? I do not. I
20951 just remember &lt;a href=&quot;http://en.wikipedia.org/wiki/Panopticon&quot;&gt;the
20952 Panopticon&lt;/a&gt;, and can not help to think that we are slowly
20953 transforming our society to a huge Panopticon on our own.&lt;/p&gt;
20954 </description>
20955 </item>
20956
20957 <item>
20958 <title>ColonHelp produser sue WordPress to silence critic</title>
20959 <link>https://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</link>
20960 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</guid>
20961 <pubDate>Fri, 12 Oct 2012 23:50:00 +0200</pubDate>
20962 <description>&lt;p&gt;Thanks to a blog post by
20963 &lt;a href=&quot;http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html&quot;&gt;Eddy
20964 Petrișor&lt;/a&gt;, I became aware of yet another &quot;alternative medicine&quot;
20965 company using legal intimidation tactics to scare off critics.
20966 According to the originating blog post about the detox &quot;cure&quot;
20967 &lt;a href=&quot;http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/&quot;&gt;ColonHelp
20968 and its producers Zenyth Pharmaceuticals actions&lt;/a&gt;, the producer
20969 sues Wordpress to get rid of the critical information. To check if
20970 the story was for real, I contacted Automattic, the company behind
20971 wordpress.com, and they reply was &quot;We can confirm that Zenyth is
20972 seeking a court order against WordPress / Automattic. However, we
20973 don&#39;t believe the Terms of Service have been violated in this
20974 matter&quot;.&lt;/p&gt;
20975
20976 &lt;p&gt;The story seem to be simply that a blogger checked the scientific
20977 foundation for a popular health product in Rumania, ColonHelp, and
20978 reported that there was no reason at all to believe it improved the
20979 health of its users. This caused the company behind the product,
20980 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
20981 the critic, instead of presenting its views and scientific foundation
20982 to argue its side.&lt;/p&gt;
20983
20984 &lt;p&gt;This is the usual story, and the Zenyth Pharmaceuticals company
20985 deserve everyone to know how it failed to act properly. Lets hope the
20986 &lt;a href=&quot;http://en.wikipedia.org/wiki/Streisand_effect&quot;&gt;Streisand
20987 effect&lt;/a&gt; can make it rethink its strategy.&lt;/p&gt;
20988
20989 &lt;p&gt;What is the harm, you might think. I suggest you take a look at
20990 &lt;a href=&quot;http://www.whatstheharm.net/detoxification.html&quot;&gt;a list of
20991 victims of detoxification&lt;/a&gt;.&lt;/p&gt;
20992 </description>
20993 </item>
20994
20995 <item>
20996 <title>Why is your local library collecting the &quot;wrong&quot; computer books?</title>
20997 <link>https://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</link>
20998 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</guid>
20999 <pubDate>Wed, 3 Oct 2012 10:00:00 +0200</pubDate>
21000 <description>&lt;p&gt;I just read the blog post from Tim Retout
21001 &lt;a href=&quot;http://retout.co.uk/blog/2012/10/02/the-library-challenge&quot;&gt;about
21002 the computer science book collection available in his local
21003 library&lt;/a&gt;, and just wanted to share my comment on his theory about
21004 computer books becoming obsolete so soon. That is part of the reason
21005 why the selection is so sad in almost any local library (it is in mine
21006 too), but I believe the major contributing factor is that the people
21007 buying books to the library have no way to know a good and future
21008 computer classic from trash. And they need to know which one will
21009 become a classic in the future, as they would normally buy one of the
21010 recently published books.&lt;/p&gt;
21011
21012 &lt;p&gt;During my university years, I worked for a while at the university
21013 library, and even there the person in charge of buying computer
21014 related books (and in fact any natural science related book), did not
21015 know enough about computers to make a good educated guess. Once, just
21016 before Christmas, they had some leftover money on the book budget and
21017 I was asked if I could pick out a lot of computer books in the
21018 university book store, for the library to buy for their collection. I
21019 had a great time picking all the books I dreamt of buying and reading,
21020 and the books I knew were classics (like most of the
21021 &lt;a href=&quot;http://en.wikipedia.org/wiki/W._Richard_Stevens&quot;&gt;Stevens
21022 collection&lt;/a&gt;). I picked several of the generic O&#39;Reilly books (ie
21023 documenting protocols, formats and systems, not specific versions of
21024 products) and stayed away from the &#39;teach yourself X in N days&#39; class.
21025 I had a great time, and probably picked out more than a hundred books
21026 for the library that evening.&lt;/p&gt;
21027
21028 &lt;p&gt;The sad fact is that there is no way a overworked librarian is
21029 going to know that for example
21030 &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Practice_of_Programming&quot;&gt;The
21031 Practice of Programming&lt;/a&gt; is a must-have in any computer library,
21032 and they will most of the time end up picking the wrong books to buy.
21033 Perhaps you can help your local library make better choices by giving
21034 the suggestions for books to get? I know they would love to hear from
21035 you, even if their budget might block them from getting your favourite
21036 book right away.&lt;/p&gt;
21037 </description>
21038 </item>
21039
21040 <item>
21041 <title>Seventy percent done with Norwegian docbook version of Free Culture</title>
21042 <link>https://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</link>
21043 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</guid>
21044 <pubDate>Sun, 23 Sep 2012 09:30:00 +0200</pubDate>
21045 <description>&lt;p&gt;Since this summer, I have worked in my spare time on a Norwegian &lt;a
21046 href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book &lt;a
21047 href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
21048 The reason is that this book is a great primer on what problems exist
21049 in the current copyright laws, and I want it to be available also for
21050 those that are reluctant do read an English book.
21051
21052 When I started, I
21053 &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
21054 for volunteers&lt;/a&gt; to help me, but too few have volunteered so far,
21055 and progress is a bit slow. Anyway, today I broken the 70 percent
21056 mark for the first rough translation. At the moment, less than 700
21057 strings (paragraphs, index terms, titles) are left to translate. With
21058 my current progress of 10-20 strings per day, it will take a while to
21059 complete the translation. This graph show the updated progress:&lt;/p&gt;
21060
21061 &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;
21062
21063 &lt;p&gt;Progress have slowed down lately due to family and work
21064 commitments. If you want to help, please get in touch, and check out
21065 the project files currently available from
21066 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
21067
21068 &lt;p&gt;If you are curious what the translated book currently look like,
21069 the updated
21070 &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;
21071 and
21072 &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;
21073 are published on github. The HTML version is published as well, but
21074 github hand it out with MIME type text/plain, confusing browsers, so I
21075 saw no point in linking to that version.&lt;/p&gt;
21076 </description>
21077 </item>
21078
21079 <item>
21080 <title>Debian Edu interview: Giorgio Pioda</title>
21081 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</link>
21082 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</guid>
21083 <pubDate>Mon, 17 Sep 2012 14:10:00 +0200</pubDate>
21084 <description>&lt;p&gt;After a long break in my row of interviews with people in the
21085 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
21086 community, I finally found time to wrap up another. This time it is
21087 Giorgio Pioda, which showed up on the mailing list at the start of
21088 this year, asking questions and inspiring us to improve the first time
21089 administrators experience with Skolelinux. :) The interview was
21090 conduced in May, but I only found time to publish it now.&lt;/p&gt;
21091
21092 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
21093
21094 &lt;p&gt;I have a PhD in chemistry but since several years I work as teacher
21095 in secondary (15-18 year old students) and tertiary (a kind of &quot;light&quot;
21096 university) schools. Five years ago I started to manage a Learning
21097 Management Service server and slowly I got more and more involved with
21098 IT. 3 years ago the graduating schools moved completely to Linux and I
21099 got the head of the IT for this. The experience collected in chemistry
21100 labs computers (for example NMR analysis of protein folding) and in
21101 the IT-courses during university where sufficient to start. Self
21102 training is anyway very important&lt;/p&gt;
21103
21104 &lt;p&gt;I live in the Italian speaking part of Switzerland, and the
21105 &lt;a href=&quot;http://www.spse.ch/&quot;&gt;SPSE school&lt;/a&gt; (secondary) is a very
21106 special sport school for young people who try to became sport pro (for
21107 all sports, we have dozens of disciplines represented) and we are
21108 recognised by the Olympic Swiss Organisation.
21109
21110 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
21111 project?&lt;/strong&gt;&lt;/p&gt;
21112
21113 &lt;p&gt;Looking for Linux / Primary Domain Controller (PDC) I found it
21114 already several years ago. But since the system was still not
21115 Kerberized and since our schools relies strongly on laptops I didn&#39;t
21116 use it. I plan to introduce it in the next future, probably for the
21117 next school year, since the squeeze release solved this security
21118 hole.&lt;/p&gt;
21119
21120 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
21121 Edu?&lt;/strong&gt;&lt;/p&gt;
21122
21123 &lt;p&gt;Many. First of all there is a strong and living community that is
21124 very generous for help and hints. Chat help is crucial, together with
21125 the mailing list. Second. With Skolelinux you get an already well
21126 engineered platform and you don&#39;t have to start to build up your PDC
21127 and your clients from GNU/scratch; I&#39;ve already done this once and I
21128 can tell it, it is hard. Third, since Skolelinux is a standard
21129 platform, it is way easier to educate other IT people and even if the
21130 head IT is sick another one could pick up the task without too much
21131 hassle.&lt;/p&gt;
21132
21133 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
21134 Edu?&lt;/strong&gt;&lt;/p&gt;
21135
21136 &lt;p&gt;The only real problem I see is that it is a little too less
21137 flexible at client level. Debian stable is rocky and desirable, but
21138 there are many reasons that force for another choice. For example the
21139 need of new drivers for new PC, or the need for a specific OS for some
21140 devices that have specific software packages for another specific
21141 distribution (I have such a case for whiteboards that have only
21142 Ubuntu packages). Thus, I prepared compatibility packages educlient
21143 and eduroaming, hoping not to use them ;-)&lt;/p&gt;
21144
21145 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
21146
21147 &lt;p&gt;I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
21148 mixed Debian and Ubuntu clients. If you think that this triad
21149 combination is exotic... well I discovered right yesterday that
21150 &lt;a href=&quot;http://moo.nac.uci.edu/~hjm/Perceus-Report.html&quot;&gt;Perceus&lt;/a&gt;
21151 has the same...&lt;/p&gt;
21152
21153 &lt;p&gt;For myself I run Debian wheezy/sid, but this combination is good
21154 only I you have enough competence to fix stuff for yourself, if
21155 something breaks. Daily I use texmacs, gnumeric, a little bit of R
21156 statistics, kmplot, and less frequently OpenOffice.org.&lt;/p&gt;
21157
21158 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
21159 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
21160
21161 &lt;P&gt;I think that the only real argument that school managers &quot;hear&quot; is
21162 cost reduction. They don&#39;t give too much weight on quality, stability,
21163 just because they are normally not open to change.&lt;/p&gt;
21164
21165 &lt;p&gt;Students adapts very quickly to GNU/Linux (and for them being able
21166 to switch between different OS is a plus value); teachers and managers
21167 don&#39;t.&lt;/p&gt;
21168
21169 &lt;p&gt;We decided to move to Linux because students at our school have own
21170 laptop and we have the responsibility to keep the laptop ready to use;
21171 we were really unsatisfied with Microsoft since every Monday we had 20
21172 machine to fix for viral infections... With Linux this has been
21173 reduced to zero, since people installs almost only from official
21174 repositories. I think that our special needs brought us to Linux.
21175 Those who don&#39;t have such needs will hardly move to Linux.&lt;/p&gt;
21176 </description>
21177 </item>
21178
21179 <item>
21180 <title>IETF activity to standardise video codec</title>
21181 <link>https://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</link>
21182 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</guid>
21183 <pubDate>Sat, 15 Sep 2012 20:00:00 +0200</pubDate>
21184 <description>&lt;p&gt;After the
21185 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html&quot;&gt;Opus
21186 codec made&lt;/a&gt; it into &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; as
21187 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716&lt;/a&gt;, I had a look
21188 to see if there is any activity in IETF to standardise a video codec
21189 too, and I was happy to discover that there is some activity in this
21190 area. A non-&quot;working group&quot; mailing list
21191 &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/video-codec&quot;&gt;video-codec&lt;/a&gt;
21192 was
21193 &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
21194 formal working group should be formed.&lt;/p&gt;
21195
21196 &lt;p&gt;I look forward to see how this plays out. There is already
21197 &lt;a href=&quot;http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html&quot;&gt;an
21198 email from someone&lt;/a&gt; in the MPEG group at ISO asking people to
21199 participate in the ISO group. Given how ISO failed with OOXML and given
21200 that it so far (as far as I can remember) only have produced
21201 multimedia formats requiring royalty payments, I suspect
21202 joining the ISO group would be a complete waste of time, but I am not
21203 involved in any codec work and my opinion will not matter much.&lt;/p&gt;
21204
21205 &lt;p&gt;If one of my readers is involved with codec work, I hope she will
21206 join this work to standardise a royalty free video codec within
21207 IETF.&lt;/p&gt;
21208 </description>
21209 </item>
21210
21211 <item>
21212 <title>IETF standardize its first multimedia codec: Opus</title>
21213 <link>https://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</link>
21214 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</guid>
21215 <pubDate>Wed, 12 Sep 2012 13:50:00 +0200</pubDate>
21216 <description>&lt;p&gt;Yesterday, &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; announced the
21217 publication of of
21218 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716, the Definition
21219 of the Opus Audio Codec&lt;/a&gt;, a low latency, variable bandwidth, codec
21220 intended for both VoIP, film and music. This is the first time, as
21221 far as I know, that IETF have standardized a multimedia codec. In
21222 &lt;a href=&quot;http://tools.ietf.org/html/rfc3533&quot;&gt;RFC 3533&lt;/a&gt;, IETF
21223 standardized the OGG container format, and it has proven to be a great
21224 royalty free container for audio, video and movies. I hope IETF will
21225 continue to standardize more royalty free codeces, after ISO and MPEG
21226 have proven incapable of securing everyone equal rights to publish
21227 multimedia content on the Internet.&lt;/p&gt;
21228
21229 &lt;p&gt;IETF require two interoperating independent implementations to
21230 ratify a standard, and have so far ensured to only standardize royalty
21231 free specifications. Both are key factors to allow everyone (rich and
21232 poor), to compete on equal terms on the Internet.&lt;/p&gt;
21233
21234 &lt;p&gt;Visit the &lt;a href=&quot;http://opus-codec.org/&quot;&gt;Opus project page&lt;/a&gt; if
21235 you want to learn more about the solution.&lt;/p&gt;
21236 </description>
21237 </item>
21238
21239 <item>
21240 <title>Git repository for song book for Computer Scientists</title>
21241 <link>https://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</link>
21242 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</guid>
21243 <pubDate>Fri, 7 Sep 2012 13:50:00 +0200</pubDate>
21244 <description>&lt;p&gt;As I
21245 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html&quot;&gt;mentioned
21246 this summer&lt;/a&gt;, I have created a Computer Science song book a few
21247 years ago, and today I finally found time to create a public
21248 &lt;a href=&quot;https://gitorious.org/pere-cs-songbook/pere-cs-songbook&quot;&gt;Gitorious
21249 repository for the project&lt;/a&gt;.&lt;/p&gt;
21250
21251 &lt;p&gt;If you want to help out, please clone the source and submit patches
21252 to the HTML version. To generate the PDF and PostScript version,
21253 please use prince XML, or let me know about a useful free software
21254 processor capable of creating a good looking PDF from the HTML.&lt;/p&gt;
21255
21256 &lt;p&gt;Want to sing? You can still find the song book in HTML, PDF and
21257 PostScript formats at
21258 &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s Computer
21259 Science Songbook&lt;/a&gt;.&lt;/p&gt;
21260 </description>
21261 </item>
21262
21263 <item>
21264 <title>Free software forced Microsoft to open Office (and don&#39;t forget Officeshots)</title>
21265 <link>https://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</link>
21266 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</guid>
21267 <pubDate>Thu, 23 Aug 2012 14:20:00 +0200</pubDate>
21268 <description>&lt;p&gt;I came across a great comment from Simon Phipps today, about how
21269 &lt;a href=&quot;http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233&quot;&gt;Microsoft
21270 have been forced to open Office&lt;/a&gt;, and it made me remember and
21271 revisit the great site
21272 &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;officeshots&lt;/a&gt; which allow you
21273 to check out how different programs present the ODF file format. I
21274 recommend both to those of my readers interested in ODF. :)&lt;/p&gt;
21275 </description>
21276 </item>
21277
21278 <item>
21279 <title>Half way there with translated docbook version of Free Culture</title>
21280 <link>https://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</link>
21281 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</guid>
21282 <pubDate>Fri, 17 Aug 2012 21:50:00 +0200</pubDate>
21283 <description>&lt;p&gt;In my spare time, I currently work on a Norwegian
21284 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
21285 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
21286 to get a Norwegian text explaining the problems with the copyright law
21287 I can give to my parents and others that are reluctant to read an
21288 English book. It is a marvellous set of examples on how the ever
21289 expanding copyright regulations hurt culture and society. When the
21290 translation is done, I hope to find funding to print and ship a copy
21291 to all the members of the Norwegian parliament, before they sit down
21292 to debate the latest revisions to the Norwegian copyright law. This
21293 summer I
21294 &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
21295 for volunteers&lt;/a&gt; to help me, and I have been able to secure the
21296 valuable contribution from at least one other Norwegian.&lt;/p&gt;
21297
21298 &lt;p&gt;Two days ago, we finally broke the 50% mark. Then more than 50% of
21299 the number of strings to translate (normally paragraphs, but also
21300 titles and index entries are also counted). All parts from the
21301 beginning up to and including chapter four is translated. So is
21302 chapters six, seven and the conclusion. I created a graph to show the
21303 progress:&lt;/p&gt;
21304
21305 &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;
21306
21307 &lt;p&gt;The number of strings to translate increase as I insert the index
21308 entries into the docbook. They were missing with the docbook version
21309 I initially started with. There are still quite a few index entries
21310 missing, but everyone starting with A, B, O, Z and Y are done. I
21311 currently focus on completing the index entries, to get a complete
21312 english version of the docbook source.&lt;/p&gt;
21313
21314 &lt;p&gt;There is still need for translators and people with docbook
21315 knowledge, to be able to get a good looking book (I still struggle
21316 with dblatex, xmlto and docbook-xsl) as well as to do the draft
21317 translation and proof reading. And I would like the figures to be
21318 redrawn as SVGs to make it easy to translate them. Any SVG master
21319 around? I am sure there are some legal terms that are unfamiliar to
21320 me. If you want to help, please get in touch, and check out the
21321 project files currently available from &lt;a
21322 href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
21323
21324 &lt;p&gt;If you are curious what the translated book currently look like,
21325 the updated
21326 &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;
21327 and
21328 &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;
21329 are published on github. The HTML version is published as well, but
21330 github hand it out with MIME type text/plain, confusing browsers, so I
21331 saw no point in linking to that version.&lt;/p&gt;
21332 </description>
21333 </item>
21334
21335 <item>
21336 <title>Notes on language codes for Norwegian docbook processing...</title>
21337 <link>https://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</link>
21338 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</guid>
21339 <pubDate>Fri, 10 Aug 2012 21:00:00 +0200</pubDate>
21340 <description>&lt;p&gt;In &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; one can specify
21341 the language used at the top, and the processing pipeline will use
21342 this information to pick the correct translations for &#39;chapter&#39;, &#39;see
21343 also&#39;, &#39;index&#39; etc. And for most languages used with docbook, I guess
21344 this work just fine. For example a German user can start the document
21345 with &amp;lt;book lang=&quot;de&quot;&amp;gt;, and the document will show up with the
21346 correct content with any of the docbook processors. This is not the
21347 case for the language
21348 &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
21349 am working with at the moment&lt;/a&gt;, Norwegian Bokmål.&lt;/p&gt;
21350
21351 &lt;p&gt;For a while, I was confused about which language code to use,
21352 because I was unable to find any language code that would work across
21353 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
21354 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
21355 of them do not handle it at all.&lt;/p&gt;
21356
21357 &lt;p&gt;A bit of background information is probably needed to understand
21358 this mess. Norwegian is not one, but two written variants. The
21359 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
21360 two letter language codes associated with these languages, Norwegian
21361 is &#39;no&#39;, Norwegian Nynorsk is &#39;nn&#39; and Norwegian Bokmål is &#39;nb&#39;.
21362 Historically the &#39;no&#39; language code was used for Norwegian Bokmål, but
21363 many years ago this was found to be å bad idea, and the recommendation
21364 is to use the most specific language code instead, to avoid confusion.
21365 In the transition period it is a good idea to make sure &#39;no&#39; was an
21366 alias for &#39;nb&#39;.&lt;/p&gt;
21367
21368 &lt;p&gt;Back to docbook processing tools in Debian. The dblatex tool only
21369 understand &#39;nn&#39;. There are translations for &#39;no&#39;, but not &#39;nb&#39; (BTS
21370 &lt;a href=&quot;http://bugs.debian.org/684391&quot;&gt;#684391&lt;/a&gt;), but due to a bug
21371 (BTS &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;#682936&lt;/a&gt;) the &#39;no&#39;
21372 language code is not recognised. The docbook-xsl tool chain only
21373 recognise &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The xmlto tool only recognise
21374 &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The end result that there is no language
21375 code I can use to get the docbook file working with all of these tools
21376 at the same time. :(&lt;/p&gt;
21377
21378 &lt;p&gt;The correct solution is to use &amp;lt;book lang=&quot;nb&quot;&amp;gt;, but it will
21379 take time before that will work with all the free software docbook
21380 processors. :(&lt;/p&gt;
21381
21382 &lt;p&gt;Oh, the joy of well integrated tools. :/&lt;/p&gt;
21383 </description>
21384 </item>
21385
21386 <item>
21387 <title>Best way to create a docbook book?</title>
21388 <link>https://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</link>
21389 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</guid>
21390 <pubDate>Tue, 31 Jul 2012 22:00:00 +0200</pubDate>
21391 <description>&lt;p&gt;I tried to send this text to the
21392 &lt;a href=&quot;https://lists.oasis-open.org/archives/docbook-apps/&quot;&gt;docbook-apps
21393 mailing list at lists.oasis-open.org&lt;/a&gt;, but it only accept messages
21394 from subscribers and rejected my post, and I completely lack the
21395 bandwidth required to subscribe to another mailing list, so instead I
21396 try to post my message here and hope my blog readers can help me
21397 out.&lt;/p&gt;
21398
21399 &lt;p&gt;I am quite new to docbook processing, and am climbing a steep
21400 learning curve at the moment.&lt;/p&gt;
21401
21402 &lt;p&gt;To give you some background, I am working on a Norwegian
21403 translation of the book Free Culture by Lawrence Lessig, and I use
21404 docbook to handle the process. The files to build the book are
21405 available from
21406 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.
21407 The book got around 400 pages with parts, images, footnotes, tables,
21408 index entries etc, which has proven to be a challenge for the free
21409 software docbook processors. My build platform is Debian GNU/Linux
21410 Squeeze.&lt;/p&gt;
21411
21412 &lt;p&gt;I want to build PDF, EPUB and HTML version of the book, and have
21413 tried different tool chains to do the conversion from docbook to these
21414 formats. I am currently focusing on the PDF version, and have a few
21415 problems.&lt;/p&gt;
21416
21417 &lt;ul&gt;
21418
21419 &lt;li&gt;Using dblatex, the &amp;lt;part&amp;gt; handling is not the way I want to,
21420 as &amp;lt;/part&amp;gt; do not really end the &amp;lt;part&amp;gt;. (See
21421 &lt;a href=&quot;http://bugs.debian.org/683166&quot;&gt;BTS report #683166&lt;/a&gt;), the
21422 xetex backend (needed to process UTF-8) give incorrect hyphens in
21423 index references spanning several pages (See
21424 &lt;a href=&quot;http://bugs.debian.org/682901&quot;&gt;BTS report #682901&lt;/a&gt;), and
21425 I am unable to get the norwegian template texts (See
21426 &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;BTS report #682936&lt;/a&gt;).&lt;/li&gt;
21427
21428 &lt;li&gt;Using straight xmlto fail with some latex error (See
21429 &lt;a href=&quot;http://bugs.debian.org/683163&quot;&gt;BTS report
21430 #683163&lt;/a&gt;).&lt;/li&gt;
21431
21432 &lt;li&gt;Using xmlto with the fop backend fail to handle images (do not
21433 show up in the PDF), fail to handle a long footnote (overlap
21434 footnote and text body, see
21435 &lt;a href=&quot;http://bugs.debian.org/683197&quot;&gt;BTS report #683197&lt;/a&gt;), and
21436 fail to create a correct index (some lack page ref, and the page
21437 refs listed are not right).&lt;/li&gt;
21438
21439 &lt;li&gt;Using xmlto with the dblatex backend behave like dblatex.&lt;/li&gt;
21440
21441 &lt;li&gt;Using docbook-xls with xsltproc + fop have the same footnote and
21442 index problems the xmlto + fop processing.&lt;/li&gt;
21443
21444 &lt;/ul&gt;
21445
21446 &lt;p&gt;So I wonder, what would be the best way to create the PDF version
21447 of this book? Are some of the bugs found above solved in new or
21448 experimental versions of some docbook tool chain?&lt;/p&gt;
21449
21450 &lt;p&gt;What about HTML and EPUB versions?&lt;/p&gt;
21451 </description>
21452 </item>
21453
21454 <item>
21455 <title>Free Culture in Norwegian - 5 chapters done, 74 percent left to do</title>
21456 <link>https://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</link>
21457 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</guid>
21458 <pubDate>Sat, 21 Jul 2012 20:00:00 +0200</pubDate>
21459 <description>&lt;p&gt;I reported earlier that I am working on
21460 &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
21461 norwegian version&lt;/a&gt; of the book
21462 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
21463 Progress is good, and yesterday I got a major contribution from Anders
21464 Hagen Jarmund completing chapter six. The source files as well as a
21465 PDF and EPUB version of this book are available from
21466 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
21467
21468 &lt;p&gt;I am happy to report that the draft for the first two chapters
21469 (preface, introduction) is complete, and three other chapters are also
21470 completely translated. This completes 26 percent of the number of
21471 strings (equivalent to paragraphs) in the book, and there is thus 74
21472 percent left to translate. A graph of the progress is present at the
21473 bottom of the github project page. There is still room for more
21474 contributors. Get in touch or send github pull requests with fixes if
21475 you got time and are willing to help make this book make it to
21476 print. :)&lt;/p&gt;
21477
21478 &lt;p&gt;The book translation framework could also be a good basis for other
21479 translations, if you want the book to be available in your
21480 language.&lt;/p&gt;
21481 </description>
21482 </item>
21483
21484 <item>
21485 <title>Call for help from docbook expert to tag Free Culture by Lawrence Lessig</title>
21486 <link>https://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</link>
21487 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</guid>
21488 <pubDate>Mon, 16 Jul 2012 22:50:00 +0200</pubDate>
21489 <description>&lt;p&gt;I am currently working on a
21490 &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
21491 to translate&lt;/a&gt; the book
21492 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig
21493 to Norwegian. And the source we base our translation on is the
21494 &lt;a href=&quot;http://en.wikipedia.org/wiki/DocBook&quot;&gt;docbook&lt;/a&gt; version, to
21495 allow us to use po4a and .po files to handle the translation, and for
21496 this to work well the docbook source document need to be properly
21497 tagged. The source files of this project is available from
21498 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
21499
21500 &lt;p&gt;The problem is that the docbook source have flaws, and we have
21501 no-one involved in the project that is a docbook expert. Is there a
21502 docbook expert somewhere that is interested in helping us create a
21503 well tagged docbook version of the book, and adjust our build process
21504 for the PDF, EPUB and HTML version of the book? This will provide a
21505 well tagged English version (our source document), and make it a lot
21506 easier for us to create a good Norwegian version. If you can and want
21507 to help, please get in touch with me or fork the github project and
21508 send pull requests with fixes. :)&lt;/p&gt;
21509 </description>
21510 </item>
21511
21512 <item>
21513 <title>Debian Edu interview: George Bredberg</title>
21514 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</link>
21515 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</guid>
21516 <pubDate>Mon, 9 Jul 2012 00:30:00 +0200</pubDate>
21517 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
21518 Skolelinux&lt;/a&gt; project have users all over the globe, but until
21519 recently we have not known about any users in Norway&#39;s neighbour
21520 country Sweden. This changed when George Bredberg showed up in March
21521 this year on the mailing list, asking interesting questions about how
21522 to adjust and scale the just released
21523 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
21524 Wheezy&lt;/a&gt; setup to his liking. He granted me an interview, and I am
21525 happy to share his answers with you here.&lt;/p&gt;
21526
21527 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
21528
21529 &lt;p&gt;I&#39;m a 44 year old country guy that have been working 12 years at
21530 the same school as 50% IT-manager and 50% Teacher. My educational
21531 background is fil.kand in history and religious beliefs, an exam as a
21532 &quot;folkhighschool&quot; teacher, that is, for teaching grownups. In
21533 Norwegian I believe it&#39;s called &quot;Vuxenupplaring&quot;. I also have a master
21534 in &quot;Technology and social change&quot;. So I&#39;m not really a tech guy, I
21535 just like to study how humans and technology interact and that is my
21536 perspective when working with IT.&lt;/p&gt;
21537
21538 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
21539 project?&lt;/strong&gt;&lt;/p&gt;
21540
21541 I have followed the Skolelinux project for quite some time by
21542 now. Earlier I tested out the K12-LTSP project, which we used for some
21543 time, but I really like the idea of having a distribution aimed to be
21544 a complete solution for schools with necessary tools integrated. When
21545 K12-LTSP abandoned that idea some years ago, I started to look more
21546 seriously into Skolelinux instead.
21547
21548 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
21549 Edu?&lt;/strong&gt;&lt;/p&gt;
21550
21551 The big point of Skolelinux to me is that it is a complete
21552 distribution, ready to install. It has LDAP-support, MS Windows
21553 integration tools and so forth already configured, saving an
21554 administrator a lot of time and headache. We were using another Linux
21555 based thin-client system called Thinlinc, that has served us very
21556 well. But that Skolelinux is based on VNC and LTSP, to me, is better
21557 when it comes to the kind of multimedia used in schools. That is
21558 showing videos from Youtube or educational TV. It is also easier to
21559 mix thin clients with workstations, since the user settings will be the
21560 same. In our VNC-based solution you had to &quot;beat around the bush&quot; by
21561 setting up a second, hidden, home-directory for user settings for the
21562 workstations, because they will be different from the ones used on the
21563 thin clients. Skolelinux support for diskless workstations are very
21564 convenient since a school today often need to use a class room
21565 projector showing videos in full screen. That is easily done with a
21566 small integrated media computer running as a diskless workstation. You
21567 have only two installs to update and configure. One for the thin
21568 clients and one for the workstations. Also saving a lot of time. Our
21569 old system was also based on Redhat and CentOS. They are both very
21570 nice distributions, but they are sometimes painfully slow when it
21571 comes to updating multimedia support and multimedia programs (even
21572 such as Gimp), leaving us with a bit &quot;oldish&quot; applications. Debian is
21573 quicker to update.
21574
21575 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
21576 Edu?&lt;/strong&gt;&lt;/p&gt;
21577
21578 &lt;p&gt;Debian is a bit too quick when it comes to updating. As an example
21579 we use old HP terminals as thinclients, and two times already this
21580 year (2012) the updates you get from the repositories has stopped
21581 sound from working with them. It&#39;s a kernel/ALSA issue. So you have
21582 to be more careful properly testing the updates before you run them in
21583 a production environment. This has never happened with CentOS.&lt;/p&gt;
21584
21585 &lt;p&gt;I also would like to be able to set my own domain-settings at
21586 install time. In Skolelinux they are kind of hard coded into the
21587 distribution, when it comes to LDAP and at least samba integration.
21588 That is more a cosmetic/translation issue, and not a real problem.
21589 Running MS Windows applications within the Skolelinux environment needs
21590 to be better supported. That is, running them seamlessly via RDP, and
21591 support for single-sign on. That will make the transition to free
21592 software easier, because you can keep the applications you really
21593 need. No support will make it impossible if you work in a school where
21594 some applications can&#39;t be open source. As for us we really need to
21595 run Adobe InDesign in our journalist classes. We run a journalist
21596 education, and is one of the very few non university ones that is ok:d
21597 by Svenska journalistförbundet (Swedish journalist association). Our
21598 education gives the pupils the right of membership there, once they
21599 are done. This is important if you want to get a job.&lt;/p&gt;
21600
21601 &lt;p&gt;Adobe InDesign is the program most commonly used in newspapers and
21602 magazines. We used Quark Express before, but they seem to loose there
21603 market to Adobe. The only &quot;equivalent&quot; to InDesign in the opensource
21604 world is Scribus, and its not advanced enough. At least not according
21605 to the teacher. I think it would be possible to use it, because they
21606 are not supposed to learn a program, they are supposed to learn how to
21607 edit and compile a newspaper. But politically at our school we are not
21608 there yet. And Scribus lacks a lot of things you find i InDesign.&lt;/p&gt;
21609
21610 &lt;p&gt;We used even a windows program for sound editing when it comes to
21611 the radio-journalist part. The year to come we are going to try
21612 Audacity. That software has the same kind of limitations compared to
21613 Adobe Audition, but that teacher is a bit more open minded. We have
21614 tried Ardour also, but that instead is more like a music studio
21615 program, not intended for the kind of editing taking place in a radio
21616 studio. Its way to complex and the GUI is to scattered when you only
21617 want to cut, make pass-overs, add extra channels and normalise. Those
21618 things you can do in Audacity, but its not as easy as in Audition. You
21619 have to do more things manually with envelopes, and that is a bit old
21620 fashion and timewasting. Its also harder to cut and move sound from
21621 one channel to another, which is a thing that you do frequently
21622 because you often find yourself needing to rearrange parts of the
21623 sound file.&lt;/p&gt;
21624
21625 &lt;p&gt;So, I am not sure we will succeed in replacing even Audition, but we
21626 will try. The problem is the students have certain expectations when
21627 they start an education towards a profession. So the programs has to
21628 look and feel professional. Good thing with radio, there are many
21629 programs out there, that radio studios use, so its not as standardised
21630 as Newspaper editing. That means, it does not really matter what
21631 program they learn, because once they start working they still have to
21632 learn the program the studio uses, so instead focus has to be to learn
21633 the editing part without to much focus on a specific software.&lt;/p&gt;
21634
21635 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
21636
21637 &lt;p&gt;Myself I&#39;m running Linux Mint, or Ubuntu these days. I use almost
21638 only open source software, and preferably Linux based. When it comes
21639 to most used applications its OpenOffice, and Firefox (of course ;)
21640 )&lt;/p&gt;
21641
21642 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
21643 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
21644
21645 &lt;p&gt;To get schools to use free software there has to be good open
21646 source software that are windows based, to ease the transition. But
21647 it&#39;s also very important that the multimedia support is working
21648 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
21649 will create problems when it comes to both teachers and
21650 students. Economy are also important for schools, so using thin
21651 clients, as long as they have good multimedia support, is a very good
21652 idea. It&#39;s also important that the open source software works even for
21653 the administration. It&#39;s hard to convince the teachers to stick with
21654 open source, if the principal has to run Windows. It also creates a
21655 problem if some classes has to use Windows for there tasks, since that
21656 will create a difference in &quot;status&quot; between classes, so a good
21657 support for running windows applications via the thin client (Linux)
21658 desktop is essential. At least at our school, where we have mixed
21659 level of educations, from high-school to journalist-school.&lt;/p&gt;
21660
21661 &lt;p&gt;Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
21662 useful sources related to Free Software for radio stations: the LWN
21663 article &lt;a href=&quot;https://lwn.net/Articles/481607/&quot;&gt;Radio station
21664 management with Airtime&lt;/a&gt;,
21665 &lt;a href=&quot;http://www.sourcefabric.org/en/airtime/&quot;&gt;Airtime&lt;/a&gt; which
21666 claim to be a Free open source radio automation software and
21667 &lt;a href=&quot;http://www.rivendellaudio.org/&quot;&gt;Rivendell&lt;/a&gt; which claim to
21668 be complete radio broadcast automation solution. All of them seem
21669 useful to the aspiring radio producer.&lt;/p&gt;
21670 </description>
21671 </item>
21672
21673 <item>
21674 <title>Why do schools waste money on IT?</title>
21675 <link>https://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</link>
21676 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</guid>
21677 <pubDate>Sun, 8 Jul 2012 09:40:00 +0200</pubDate>
21678 <description>&lt;p&gt;In the Debian Edu / Skolelinux project, we have realised that one
21679 of the major blockers for the project success is the purchasing skills
21680 in schools and municipalities. We provide what the happy users of
21681 Debian Edu / Skolelinux say they need and to a lower cost than the
21682 alternatives, and yet so few schools decide to use our solution. I
21683 was pleased to discover the same observation done by mySociety and Tom
21684 Steinberg in his blog post
21685 &quot;&lt;a href=&quot;http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/&quot;&gt;Can
21686 you recognize the million pound chair?&lt;/a&gt;&quot;. Read it and weep for the
21687 spending of your tax money.&lt;/p&gt;
21688
21689 &lt;p&gt;Of course there are other factors involved as well, like our
21690 projects bad marketing skills and the Linux community fragmentation
21691 causing worry with the people on the outside, so we as a project need
21692 to keep working hard to gain users, but it is a up-hill battle when
21693 public decision makers are unable to understand computer system
21694 purchases.&lt;/p&gt;
21695 </description>
21696 </item>
21697
21698 <item>
21699 <title>Free Timetabling Software - nice free software</title>
21700 <link>https://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</link>
21701 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</guid>
21702 <pubDate>Sat, 7 Jul 2012 09:50:00 +0200</pubDate>
21703 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
21704 Skolelinux&lt;/a&gt; is a large collection of end user and school specific
21705 software. It is one of the packages not installed by default but
21706 provided in the Debian archive for schools to install if they want to,
21707 is a system to automatically plan the school time table using
21708 information about available teachers, classes and rooms, combined with
21709 the list of required courses and how many hours each topic should
21710 receive. The software is
21711
21712 &lt;a href=&quot;http://lalescu.ro/liviu/fet/&quot;&gt;named FET&lt;/a&gt;, and it provide a
21713 graphical user interface to input the required information, save the
21714 result in a fairly simple XML format, and generate time tables for
21715 both teachers and students. It is available both for
21716 &lt;a href=&quot;http://lalescu.ro/liviu/fet/download.html&quot;&gt;Linux, MacOSX and
21717 Windows&lt;/a&gt;.&lt;/p&gt;
21718
21719 &lt;p&gt;This is &lt;a href=&quot;http://lalescu.ro/liviu/fet/features.html&quot;&gt;the
21720 feature list&lt;/a&gt;, liftet from the project web site:&lt;/p&gt;
21721
21722 &lt;p&gt;&lt;ul&gt;
21723
21724 &lt;li&gt;FET is free software, licensed under the GNU GPL v2 or later.
21725 You can freely use, copy, modify and redistribute it &lt;/li&gt;
21726
21727 &lt;li&gt;Localized to en_US (US English, default), ar (Arabic), ca
21728 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
21729 (Persian), fr (French), gl (Galician), he (Hebrew), hu
21730 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
21731 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
21732 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
21733 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
21734 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
21735 &lt;/li&gt;
21736
21737 &lt;li&gt;Fully automatic generation algorithm, allowing also
21738 semi-automatic or manual allocation&lt;/li&gt;
21739
21740 &lt;li&gt;Platform independent implementation, allowing running on
21741 GNU/Linux, Windows, Mac and any system that Qt supports &lt;/li&gt;
21742
21743 &lt;li&gt;Flexible modular XML format for the input file, allowing editing
21744 with an XML editor or by hand (besides FET interface)&lt;/li&gt;
21745
21746 &lt;li&gt;Import/export from CSV format&lt;/li&gt;
21747
21748 &lt;li&gt;The resulted timetables are exported into HTML, XML and CSV
21749 formats &lt;/li&gt;
21750
21751 &lt;li&gt;Flexible students structure, organized into sets: years, groups
21752 and subgroups. FET allows overlapping years and groups and
21753 non-overlapping subgroups. You can even define individual students
21754 (as separate sets)&lt;/li&gt;
21755
21756 &lt;li&gt;Each constraint has a weight percentage, from 0.0% to 100.0%
21757 (but some special constraints are allowed to have only 100% weight
21758 percentage)&lt;/li&gt;
21759
21760 &lt;li&gt;Limits for the algorithm (all these limits can be increased on
21761 demand, as a custom version, because this would require a bit more
21762 memory):
21763 &lt;ul&gt;
21764 &lt;li&gt;Maximum total number of hours (periods) per day: 60&lt;/li&gt;
21765 &lt;li&gt;Maximum number of working days per week: 35&lt;/li&gt;
21766 &lt;li&gt;Maximum total number of teachers: 6000&lt;/li&gt;
21767 &lt;li&gt;Maximum total number of sets of students: 30000&lt;/li&gt;
21768 &lt;li&gt;Maximum total number of subjects: 6000&lt;/li&gt;
21769 &lt;li&gt;Virtually unlimited number of activity tags&lt;/li&gt;
21770 &lt;li&gt;Maximum number of activities: 30000&lt;/li&gt;
21771 &lt;li&gt;Maximum number of rooms: 6000&lt;/li&gt;
21772 &lt;li&gt;Maximum number of buildings: 6000&lt;/li&gt;
21773 &lt;li&gt;Possibility of adding multiple teachers and
21774 students sets for each activity. (it is possible
21775 also to have no teachers or no students sets for an
21776 activity)&lt;/li&gt;
21777 &lt;li&gt;Virtually unlimited number of time constraints&lt;/li&gt;
21778 &lt;li&gt;Virtually unlimited number of space constraints&lt;/li&gt;
21779 &lt;/ul&gt;&lt;/li&gt;
21780
21781 &lt;li&gt;A large and flexible palette of time constraints:
21782 &lt;ul&gt;
21783 &lt;li&gt;Break periods&lt;/li&gt;
21784 &lt;li&gt;For teacher(s):
21785 &lt;ul&gt;
21786 &lt;li&gt;Not available periods&lt;/li&gt;
21787 &lt;li&gt;Max/min days per week&lt;/li&gt;
21788 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
21789 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
21790 &lt;li&gt;Min hours daily&lt;/li&gt;
21791 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
21792
21793 &lt;li&gt;Respect working in an hourly interval a max number of
21794 days per week&lt;/li&gt;
21795 &lt;/ul&gt;&lt;/li&gt;
21796 &lt;li&gt;For students (sets):
21797 &lt;ul&gt;
21798 &lt;li&gt;Not available periods&lt;/li&gt;
21799 &lt;li&gt;Begins early (specify max allowed beginnings at second hour)&lt;/li&gt;
21800 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
21801 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
21802 &lt;li&gt;Min hours daily&lt;/li&gt;
21803 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
21804
21805 &lt;li&gt;Respect working in an hourly interval a max number of
21806 days per week&lt;/li&gt;
21807 &lt;/ul&gt;&lt;/li&gt;
21808 &lt;li&gt;For an activity or a set of activities/subactivities:
21809 &lt;ul&gt;
21810 &lt;li&gt;A single preferred starting time&lt;/li&gt;
21811 &lt;li&gt;A set of preferred starting times&lt;/li&gt;
21812 &lt;li&gt;A set of preferred time slots&lt;/li&gt;
21813 &lt;li&gt;Min/max days between them&lt;/li&gt;
21814 &lt;li&gt;End(s) students day&lt;/li&gt;
21815 &lt;li&gt;Same starting time/day/hour&lt;/li&gt;
21816 &lt;li&gt;Occupy max time slots from selection (a complex and
21817 flexible constraint, useful in many situations)&lt;/li&gt;
21818 &lt;li&gt;Consecutive, ordered, grouped (for 2 or 3 (sub)activities)&lt;/li&gt;
21819 &lt;li&gt;Not overlapping&lt;/li&gt;
21820 &lt;li&gt;Max simultaneous in selected time slots&lt;/li&gt;
21821 &lt;li&gt;Min gaps between a set of (sub)activities&lt;/li&gt;
21822 &lt;/ul&gt;&lt;/li&gt;
21823 &lt;/ul&gt;&lt;/li&gt;
21824
21825 &lt;li&gt;A large and flexible palette of space constraints:
21826 &lt;ul&gt;
21827 &lt;li&gt;Room not available periods&lt;/li&gt;
21828 &lt;li&gt;For teacher(s):
21829 &lt;ul&gt;
21830 &lt;li&gt;Home room(s)&lt;/li&gt;
21831 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
21832 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
21833 &lt;/ul&gt;
21834 &lt;/li&gt;
21835
21836 &lt;li&gt;For students (sets):
21837 &lt;ul&gt;
21838 &lt;li&gt;Home room(s)&lt;/li&gt;
21839 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
21840 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
21841 &lt;/ul&gt;
21842 &lt;/li&gt;
21843 &lt;li&gt;Preferred room(s):
21844 &lt;ul&gt;
21845 &lt;li&gt;For a subject&lt;/li&gt;
21846 &lt;li&gt;For an activity tag&lt;/li&gt;
21847 &lt;li&gt;For a subject and an activity tag&lt;/li&gt;
21848 &lt;li&gt;Individually for a (sub)activity&lt;/li&gt;
21849 &lt;/ul&gt;
21850 &lt;/li&gt;
21851
21852 &lt;li&gt;For a set of activities:
21853 &lt;ul&gt;
21854 &lt;li&gt;Occupy a maximum number of different rooms&lt;/li&gt;
21855 &lt;/ul&gt;
21856 &lt;/li&gt;
21857 &lt;/ul&gt;
21858 &lt;/li&gt;
21859 &lt;/ul&gt;&lt;/p&gt;
21860
21861 &lt;p&gt;I have not used it myself, as I am not involved in time table
21862 planning at a school, but it seem to work fine when I test it. If you
21863 need to set up your schools time table, and is tired of doing it
21864 manually, check it out.
21865
21866 A quick summary on how to use it can be found in
21867 &lt;a href=&quot;http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/&quot;&gt;a
21868 blog post from MarvelSoft&lt;/a&gt;. If you find FET useful, please provide
21869 a recipe for the Debian Edu project in the
21870 &lt;a href=&quot;http://wiki.debian.org/DebianEdu#Howtos&quot;&gt;Debian Edu HowTo
21871 section&lt;/a&gt;.&lt;/p&gt;
21872 </description>
21873 </item>
21874
21875 <item>
21876 <title>Can Zimbra be told to send autoreplies to the From: address?</title>
21877 <link>https://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</link>
21878 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</guid>
21879 <pubDate>Tue, 3 Jul 2012 23:30:00 +0200</pubDate>
21880 <description>&lt;p&gt;In the NUUG &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt;
21881 project (Norwegian version of
21882 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; from
21883 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;), we have discovered
21884 a problem with the municipalities using
21885 &lt;a href=&quot;http://www.zimbra.com/&quot;&gt;Zimbra&lt;/a&gt;. When FiksGataMi send a
21886 problem report to the government, the email From: address is set to
21887 the address of the person reporting the problem, while envelope sender
21888 is set to the FiksGataMi contact address. The intention is to make
21889 sure the municipality send any replies to the person reporting the
21890 problem, while any email delivery problems are sent to us in NUUG.
21891 This work well in most cases, but not for Karmøy municipality using
21892 Zimbra. Karmøy is using the vacation message function in Zimbra to
21893 send an automatic reply to report that the message has been received,
21894 and this message is sent to the envelope sender and not the address in
21895 the From: header.&lt;/p&gt;
21896
21897 &lt;p&gt;This causes the automatic message from Karmøy to go to NUUGs
21898 request-tracker instance instead of to the person reporting the
21899 problem. We can not really change the envelope sender address, as
21900 this would make it impossible for us to discover when there are
21901 problems with the MTAs receiving problem reports. We have been in
21902 contact with the people at Karmøy municipality, and they are willing
21903 to adjust Zimbra if something can be changed there to get a better
21904 behaviour.&lt;/p&gt;
21905
21906 &lt;p&gt;The default behaviour of Zimbra is as far as I can tell according
21907 to the specification in RFC 3834, which recommend that vacation
21908 messages are sent to the envelope sender and not to the From: address.
21909 But I wonder if it is possible to adjust or configure Zimbra to behave
21910 differently. Anyone know? Please let us know at
21911 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
21912 (at) nuug.no&lt;/a&gt;.&lt;/p&gt;
21913 </description>
21914 </item>
21915
21916 <item>
21917 <title>Debian Edu interview: José Luis Redrejo Rodríguez</title>
21918 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</link>
21919 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</guid>
21920 <pubDate>Tue, 26 Jun 2012 08:30:00 +0200</pubDate>
21921 <description>&lt;p&gt;I&#39;ve been too busy at home, but finally I found time to wrap up
21922 another interview with the people behind
21923 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
21924 This time we get to know José Luis Redrejo Rodríguez, one of our great
21925 helpers from Spain. His effort was the reason we added support for
21926 several desktop types (KDE, Gnome and most recently LXDE) in Debian
21927 Edu, and have all of these available in the recently published
21928 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
21929 Squeeze&lt;/a&gt; version.&lt;/p&gt;
21930
21931 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
21932
21933 &lt;p&gt;I&#39;m a father, teacher and engineer who is working for the Education
21934 ministry of the Region of Extremadura (Spain) in the implementation of
21935 ICT in schools&lt;/p&gt;
21936
21937 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
21938 project?&lt;/strong&gt;&lt;/p&gt;
21939
21940 &lt;p&gt;At 2006, I verified that both, we in Extremadura and Skolelinux
21941 project, had been working in parallel for some years, doing very
21942 similar things, using very similar tools and with similar targets, so
21943 I decided it was time to join forces as much as possible.&lt;/p&gt;
21944
21945 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
21946 Edu?&lt;/strong&gt;&lt;/p&gt;
21947
21948 &lt;p&gt;A community of highly skilled experts working together, with a
21949 really open schema of collaboration and work. I really love the
21950 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
21951 been used everyday inside Debian Edu.&lt;/p&gt;
21952
21953 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
21954 Edu?&lt;/strong&gt;&lt;/p&gt;
21955
21956 &lt;p&gt;Sometimes the differences in the implementations, laws or
21957 economical and technical resources in the different countries don&#39;t
21958 allow us to agree in the same solution for all of us, and several
21959 approaches are needed, what is a waste of effort. Also, there is a
21960 lack of more man power to be able to follow the fast evolution of the
21961 technologies in school.&lt;/p&gt;
21962
21963 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
21964
21965 &lt;p&gt;Debian, of course, and due to my kind of job I am most of my time
21966 between Iceweasel, &lt;a href=&quot;http://www.geany.org/&quot;&gt;Geany&lt;/a&gt; and
21967 &lt;a href=&quot;http://www.ohloh.net/p/gnome-terminator&quot;&gt;Terminator&lt;/a&gt;.&lt;/p&gt;
21968
21969 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
21970 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
21971
21972 &lt;p&gt;I think there is not a single strategy because there are very
21973 different scenarios: schools with mixed proprietary and free
21974 environments, schools using only workstations, other schools using
21975 laptops, netbooks, tablets, interactive white-boards, etc.&lt;/p&gt;
21976
21977 &lt;p&gt;Also the range of ages of the students is very broad and you can
21978 not use the same solutions for primary schools and secondary or even
21979 universities. So different strategies are needed.&lt;/p&gt;
21980
21981 &lt;p&gt;But, looking at these differences, and looking back to the things
21982 we&#39;ve done and implemented, and the places were we have spent most of
21983 our forces, I think we should focus as much as possible in free
21984 multi-platform environments, using only standards tools, and moving
21985 more and more to Internet or network solutions that could be deployed
21986 using wireless. I think we&#39;ll see more and more personal devices in
21987 the schools, devices the students and teachers will take home with
21988 them, so the solutions must be able to be taken at home and continue
21989 working there.&lt;/p&gt;
21990 </description>
21991 </item>
21992
21993 <item>
21994 <title>Song book for Computer Scientists</title>
21995 <link>https://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</link>
21996 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</guid>
21997 <pubDate>Sun, 24 Jun 2012 13:30:00 +0200</pubDate>
21998 <description>&lt;p&gt;Many years ago, while studying Computer Science at the
21999 &lt;a href=&quot;http://www.uit.no/&quot;&gt;University of Tromsø&lt;/a&gt;, I started
22000 collecting computer related songs for use at parties. The original
22001 version was written in LaTeX, but a few years ago I got help from
22002 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
22003 while keeping the ability to create a nice book in PDF format. I have
22004 not had time to maintain the book for a while now, and guess I should
22005 put it up on some public version control repository where others can
22006 help me extend and update the book. If anyone is volunteering to help
22007 me with this, send me an email. Also let me know if there are songs
22008 missing in my book.&lt;/p&gt;
22009
22010 &lt;p&gt;I have not mentioned the book on my blog so far, and it occured to
22011 me today that I really should let all my readers share the joys of
22012 singing out load about programming, computers and computer networks.
22013 Especially now that &lt;a href=&quot;http://debconf12.debconf.org/&quot;&gt;Debconf
22014 12&lt;/a&gt; is about to start (and I am not going). Want to sing? Check
22015 out &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s
22016 Computer Science Songbook&lt;/a&gt;.
22017 </description>
22018 </item>
22019
22020 <item>
22021 <title>Debian Edu - some ideas for the future versions</title>
22022 <link>https://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</link>
22023 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</guid>
22024 <pubDate>Mon, 11 Jun 2012 14:30:00 +0200</pubDate>
22025 <description>&lt;p&gt;During my work on
22026 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.nb.html&quot;&gt;Debian Edu
22027 based on Squeeze&lt;/a&gt;, I came across some issues that should be
22028 addressed in the Wheezy release. I finally found time to wrap up my
22029 notes and provide quick summary of what I found, with a bit
22030 explanation.&lt;/p&gt;
22031
22032 &lt;p&gt;&lt;ul&gt;
22033
22034 &lt;li&gt;We need to rewrite our package installation framework, as tasksel
22035 changed from using tasksel tasks to using meta packages (aka packages
22036 with dependencies like our education-* packages), and our installation
22037 system depend on tasksel tasks in
22038 /usr/share/tasksel/debian-edu-tasks.desc for package
22039 installation.&lt;/li&gt;
22040
22041 &lt;li&gt;Enable Kerberos login for more services. Now with the Kerberos
22042 foundation in place, we should use it to get single sign on with more
22043 services, and avoiding unneeded password / login questions. We should
22044 at least try to enable it for these services:
22045 &lt;ul&gt;
22046
22047 &lt;li&gt;CUPS for admins to add/configure printers and users when using
22048 quotas.&lt;/li&gt;
22049 &lt;li&gt;Nagios for admins checking the system status.&lt;/li&gt;
22050 &lt;li&gt;GOsa for admins updating LDAP and users changing their passwords.&lt;/li&gt;
22051 &lt;li&gt;LDAP for admins updating LDAP.&lt;/li&gt;
22052 &lt;li&gt;Squid for users when exam mode / filtering is active.&lt;/li&gt;
22053 &lt;li&gt;ssh for admins and users to save a password prompt.&lt;/li&gt;
22054
22055 &lt;/ul&gt;&lt;/li&gt;
22056
22057 &lt;li&gt;When we move GOsa to use Kerberos instead of LDAP bind to
22058 authenticate users, we should try to block or at least limit access to
22059 use LDAP bind for authentication, to ensure Kerberos is used when it
22060 is intended, and nothing fall back to using the less safe LDAP bind&lt;/li&gt;
22061
22062 &lt;li&gt;Merge debian-edu-config and debian-edu-install. The split made
22063 sense when d-e-install did a lot more, but these days it is just an
22064 inconvenience when we update the debconf preseeding values.&lt;/li&gt;
22065
22066 &lt;li&gt;Fix partman-auto to allow us to abort the installation before
22067 touching the disk if the disk is too small. This is
22068 &lt;a href=&quot;http://bugs.debian.org/653305&quot;&gt;BTS report #653305&lt;/a&gt; and the
22069 d-i developers are fine with the patch and someone just need to apply
22070 it and upload. After this is done we need to adjust
22071 debian-edu-install to use this new hook.&lt;/li&gt;
22072
22073 &lt;li&gt;Adjust to new LTSP framework (boot time config instead of install
22074 time config). LTSP changed its design, and our hooks to install
22075 packages and update the configuration is most likely not going to work
22076 in Wheezy.
22077
22078 &lt;li&gt;Consider switching to NBD instead of NFS for LTSP root, to allow
22079 the Kernel to cache files in its normal file cache, possibly speeding
22080 up KDE login on slow networks.&lt;/li&gt;
22081
22082 &lt;li&gt;Make it possible to create expired user passwords that need to
22083 change on first login. This is useful when handing out password on
22084 paper, to make sure only the user know the password. This require
22085 fixes to the PAM handling of kdm and gdm.&lt;/li&gt;
22086
22087 &lt;li&gt;Make GUI for adding new machines automatically from sitesummary.
22088 The current command line script is not very friendly to people most
22089 familiar with GUIs. This should probably be integrated into GOsa to
22090 have it available where the admin will be looking for it..&lt;/li&gt;
22091
22092 &lt;li&gt;We should find way for Nagios to check that the DHCP service
22093 actually is working (as in handling out IP addresses). None of the
22094 Nagios checks I have found so far have been working for me.&lt;/li&gt;
22095
22096 &lt;li&gt;We should switch from libpam-nss-ldapd to sssd for all profiles
22097 using LDAP, and not only on for roaming workstations, to have less
22098 packages to configure and consistent setup across all profiles.&lt;/li&gt;
22099
22100 &lt;li&gt;We should configure Kerberos to update LDAP and Samba password
22101 when changing password using the Kerberos protocol. The hook was
22102 requested in &lt;a href=&quot;http://bugs.debian.org/588968&quot;&gt;BTS report
22103 #588968&lt;/a&gt; and is now available in Wheezy. We might need to write a
22104 MIT Kerberos plugin in C to get this.&lt;/li&gt;
22105
22106 &lt;li&gt;We should clean up the set of applications installed by default.
22107 &lt;ul&gt;
22108
22109 &lt;li&gt;reduce the number of chemistry visualisers&lt;/li&gt;
22110 &lt;li&gt;consider dropping xpaint&lt;/li&gt;
22111 &lt;li&gt;and probably more?&lt;/li&gt;
22112 &lt;/ul&gt;&lt;/li&gt;
22113
22114 &lt;li&gt;Some hardware need external firmware to work properly. This is
22115 mostly the case for WiFi network cards, but there are some other
22116 examples too. For popular laptops to work out of the box, such
22117 firmware need to be installed from non-free, and we should provide
22118 some GUI to do this. Ubuntu already have this implemented, and we
22119 could consider using their packages. At the moment we have some
22120 command line script to do this (one for the running system, another
22121 for the LTSP chroot).&lt;/li&gt;
22122
22123
22124 &lt;li&gt;In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
22125 should extend the list to Xfce and Sugar, and preferably find a way to
22126 install several and allow the admin or the user to select which one to
22127 use.&lt;/li&gt;
22128
22129 &lt;li&gt;The golearn tool from the goplay package make it easy to check out
22130 interesting educational packages. We should work on the package
22131 tagging in Debian to ensure it represent all the useful educational
22132 packages, and extend the tool to allow it to use packagekit to install
22133 new applications with a simple mouse click.&lt;/li&gt;
22134
22135 &lt;li&gt;The Squeeze version got half a exam solution already in place,
22136 with the introduction of iptable based network blocking, but for it to
22137 be a complete exam solution the Squid proxy need to enable
22138 filtering/blocking as well when the exam mode is enabled. We should
22139 implement a way to easily enable this for the schools that want it,
22140 instead of the &quot;it is documented&quot; method of today.&lt;/li&gt;
22141
22142 &lt;li&gt;A feature used in several schools is the ability for a teacher to
22143 &quot;take over&quot; the desktop of individual or all computers in the room.
22144 There are at least three implementations,
22145 &lt;a href=&quot;italc.sourceforge.net/&quot;&gt;italc&lt;/a&gt;,
22146 &lt;a href=&quot;http://www.itais.net/help/en/&quot;&gt;controlaula&lt;/a&gt; og
22147 &lt;a href=&quot;http://www.epoptes.org/&quot;&gt;epoptes&lt;/a&gt; and we should pick one of
22148 them and make it trivial to set it up in a school. The challenges is
22149 how to distribute crypto keys and how to group computers in one room
22150 and how to set up which machine/user can control the machines in a
22151 given room.&lt;/li&gt;
22152
22153 &lt;li&gt;Tablets and surf boards are getting more and more popular, and we
22154 should look into providing a good solution for integrating these into
22155 the Debian Edu network. Not quite sure how. Perhaps we should
22156 provide a installation profile with better touch screen support for
22157 them, or add some sync services to allow them to exchange
22158 configuration and data with the central server. This should be
22159 investigated.&lt;/li&gt;
22160
22161 &lt;/ul&gt;&lt;/p&gt;
22162
22163 &lt;p&gt;I guess we will discover more as we continue to work on the Wheezy
22164 version.&lt;/p&gt;
22165 </description>
22166 </item>
22167
22168 <item>
22169 <title>TV with face recognition, for improved viewer experience</title>
22170 <link>https://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</link>
22171 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</guid>
22172 <pubDate>Sat, 9 Jun 2012 22:00:00 +0200</pubDate>
22173 <description>&lt;p&gt;Slashdot got a story about Intel planning a
22174 &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
22175 with face recognition&lt;/a&gt; to recognise the viewer, and it occurred to
22176 me that it would be more interesting to turn it around, and do face
22177 recognition on the TV image itself. It could let the viewer know who
22178 is present on the screen, and perhaps look up their credibility,
22179 company affiliation, previous appearances etc for the viewer to better
22180 evaluate what is being said and done. That would be a feature I would
22181 be willing to pay for.&lt;/p&gt;
22182
22183 &lt;p&gt;I would not be willing to pay for a TV that point a camera on my
22184 household, like the big brother feature apparently proposed by Intel.
22185 It is the telescreen idea fetched straight out of the book
22186 &lt;a href=&quot;http://gutenberg.net.au/ebooks01/0100021.txt&quot;&gt;1984 by George
22187 Orwell&lt;/a&gt;.&lt;/p&gt;
22188 </description>
22189 </item>
22190
22191 <item>
22192 <title>Web service to look up HP and Dell computer hardware support status</title>
22193 <link>https://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</link>
22194 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</guid>
22195 <pubDate>Wed, 6 Jun 2012 23:15:00 +0200</pubDate>
22196 <description>&lt;p&gt;A few days ago
22197 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html&quot;&gt;I
22198 reported how to get&lt;/a&gt; the support status out of Dell using an
22199 unofficial and undocumented SOAP API, which I since have found out was
22200 &lt;a href=&quot;http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html&quot;&gt;discovered
22201 by Daniel De Marco in february&lt;/a&gt;. Combined with my web scraping
22202 code for HP, Dell and IBM
22203 &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
22204 2009&lt;/a&gt;, I got inspired and wrote
22205 &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/&quot;&gt;a
22206 web service&lt;/a&gt; based on Scraperwiki to make it easy to look up the
22207 support status and get a machine readable result back.&lt;/p&gt;
22208
22209 &lt;p&gt;This is what it look like at the moment when asking for the JSON
22210 output:
22211
22212 &lt;blockquote&gt;&lt;pre&gt;
22213 % 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;
22214 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;})
22215 %
22216 &lt;/pre&gt;&lt;/blockquote&gt;
22217
22218 &lt;p&gt;It currently support Dell and HP, and I am hoping for help to add
22219 support for other vendors. The python source is available on
22220 Scraperwiki and I welcome help with adding more features.&lt;/p&gt;
22221 </description>
22222 </item>
22223
22224 <item>
22225 <title>Debian Edu interview: Mike Gabriel</title>
22226 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</link>
22227 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</guid>
22228 <pubDate>Sat, 2 Jun 2012 15:00:00 +0200</pubDate>
22229 <description>&lt;p&gt;Back in 2010, Mike Gabriel showed up on the
22230 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
22231 mailing list. He quickly proved to be a valuable developer, and
22232 thanks to his tireless effort we now have Kerberos integrated into the
22233 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
22234 Squeeze&lt;/a&gt; version.&lt;/p&gt;
22235
22236 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
22237
22238 &lt;p&gt;My name is Mike Gabriel, I am 38 years old and live near Kiel,
22239 Schleswig-Holstein, Germany. I live together with a wonderful partner
22240 (Angela Fuß) and two own children and two bonus children (contributed
22241 by Angela).&lt;/p&gt;
22242
22243 &lt;p&gt;During the day I am part-time employed as a system administrator
22244 and part-time working as an IT consultant. The consultancy work
22245 touches free software topics wherever and whenever possible. During
22246 the nights I am a free software developer. In the gaps I also train in
22247 becoming an osteopath.&lt;/p&gt;
22248
22249 &lt;p&gt;Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
22250 have set up a free software project in the area of Kiel that aims at
22251 introducing free software into schools. The project&#39;s name is
22252 &quot;IT-Zukunft Schule&quot; (IT future for schools). The project links IT
22253 skills with communication skills.&lt;/p&gt;
22254
22255 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
22256 project?&lt;/strong&gt;&lt;/p&gt;
22257
22258 &lt;p&gt;While preparing our own customised Linux distribution for
22259 &quot;IT-Zukunft Schule&quot; we were repeatedly asked if we really wanted to
22260 reinvent the wheel. What schools really need is already available,
22261 people said. From this impulse we started evaluating other Linux
22262 distributions that target being used for school networks.&lt;/p&gt;
22263
22264 &lt;p&gt;At the end we short-listed two approaches and compared them: a
22265 commercial Linux distribution developed by a company in Bremen,
22266 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
22267 went to several events and met people being responsible for marketing
22268 and development of either of the distributions. Skolelinux / Debian
22269 Edu was by far much more convincing compared to the other product that
22270 got short-listed beforehand--across the full spectrum. What was most
22271 attractive for me personally: the perspective of collaboration within
22272 the developmental branch of the Debian Edu project itself.&lt;/p&gt;
22273
22274 &lt;p&gt;In parallel with this, we talked to many local and not-so-local
22275 people. People teaching at schools, headmasters, politicians, data
22276 protection experts, other IT professionals.&lt;/p&gt;
22277
22278 &lt;p&gt;We came to two conclusions:&lt;/p&gt;
22279
22280 &lt;p&gt;First, a technical conclusion: What schools need is available in
22281 bits and pieces here and there, and none of the solutions really fit
22282 by 100%. Any school we have seen has a very individual IT setup
22283 whereas most of each school&#39;s requirements could mapped by a standard
22284 IT solution. The requirement to this IT solution is flexibility and
22285 customisability, so that individual adaptations here and there are
22286 possible. In terms of re-distributing and rolling out such a
22287 standardised IT system for schools (a system that is still to some
22288 degree customisable) there is still a lot of work to do here
22289 locally. Debian Edu / Skolelinux has been our choice as the starting
22290 point.&lt;/p&gt;
22291
22292 &lt;p&gt;Second, a holistic conclusion: What schools need does not exist at
22293 all (or we missed it so far). There are several technical solutions
22294 for handling IT at schools that tend to make a good impression. What
22295 has been missing completely here in Germany, though, is the enrolment
22296 of people into using IT and teaching with IT. &quot;IT-Zukunft Schule&quot;
22297 tries to provide an approach for this.&lt;/p&gt;
22298
22299 &lt;p&gt;Only some schools have some sort of a media concept which explains,
22300 defines and gives guidance on how to use IT in class. Most schools in
22301 Northern Germany do not have an IT service provider, the school&#39;s IT
22302 equipment is managed by one or (if the school is lucky) two (admin)
22303 teachers, most of the workload these admin teachers get done in there
22304 spare time.&lt;/p&gt;
22305
22306 &lt;p&gt;We were surprised that only a very few admin teachers were
22307 networked with colleagues from other schools. Basically, every school
22308 here around has its individual approach of providing IT equipment to
22309 teachers and students and the exchange of ideas has been quasi
22310 non-existent until 2010/2011.&lt;/p&gt;
22311
22312 &lt;p&gt;Quite some (non-admin) teachers try to avoid using IT technology in
22313 class as a learning medium completely. Several reasons for this
22314 avoidance do exist.&lt;/p&gt;
22315
22316 &lt;p&gt;We discovered that no-one has ever taken a closer look at this
22317 social part of IT management in schools, so far. On our quest journey
22318 for a technical IT solution for schools, we discussed this issue with
22319 several teachers, headmasters, politicians, other IT professionals and
22320 they all confirmed: a holistic approach of considering IT management
22321 at schools, an approach that includes the people in place, will be new
22322 and probably a gain for all.&lt;/p&gt;
22323
22324 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
22325 Edu?&lt;/strong&gt;&lt;/p&gt;
22326
22327 &lt;p&gt;There is a list of advantages: international context, openness to
22328 any kind of contributions, do-ocracy policy, the closeness to Debian,
22329 the different installation scenarios possible (from stand-alone
22330 workstation to complex multi-server sites), the transparency within
22331 project communication, honest communication within the group of
22332 developers, etc.&lt;/p&gt;
22333
22334 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
22335 Edu?&lt;/strong&gt;&lt;/p&gt;
22336
22337 &lt;p&gt;Every coin has two sides:&lt;/p&gt;
22338
22339 &lt;p&gt;Technically: &lt;a href=&quot;http://bugs.debian.org/311188&quot;&gt;BTS issue
22340 #311188&lt;/a&gt;, tricky upgradability of a Debian Edu main server, network
22341 client installations on top of a plain vanilla Debian installation
22342 should become possible sometime in the near future, one could think
22343 about splitting the very complex package debian-edu-config into
22344 several portions (to make it easier for new developers to
22345 contribute).&lt;/p&gt;
22346
22347 &lt;p&gt;Another issue I see is that we (as Debian Edu developers) should
22348 find out more about the network of people who do the marketing for
22349 Debian Edu / Skolelinux. There is a very active group in Germany
22350 promoting Skolelinux on the bigger Linux Days within Germany. Are
22351 there other groups like that in other countries? How can we bring
22352 these marketing people together (marketing group A with group B and
22353 all of them with the group of Debian Edu developers)? During the last
22354 meeting of the German Skolelinux group, I got the impression of people
22355 there being rather disconnected from the development department of
22356 Debian Edu / Skolelinux.&lt;/p&gt;
22357
22358 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
22359
22360 &lt;p&gt;For my daily business, I do not use commercial software at all.&lt;/p&gt;
22361
22362 &lt;p&gt;For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
22363 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
22364 more artistic tasks. I run virtual machines in KVM and Virtualbox.&lt;/p&gt;
22365
22366 &lt;p&gt;I am one of the upstream developers of X2Go. In 2010 I started the
22367 development of a Python based X2Go Client, called PyHoca-GUI.
22368 PyHoca-GUI has brought forth a Python X2Go Client API that currently
22369 is being integrated in Ubuntu&#39;s software center.&lt;/p&gt;
22370
22371 &lt;p&gt;For communications I have my own Kolab server running using Horde
22372 as web-based groupware client. For IRC I love to use irssi, for Jabber
22373 I have several clients that I use, mostly pidgin, though. I am also
22374 the Debian maintainer of Coccinella, a Jabber-based interactive
22375 whiteboard.&lt;/p&gt;
22376
22377 &lt;p&gt;My favourite terminal emulator is KDE&#39;s Yakuake.&lt;/p&gt;
22378
22379 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
22380 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
22381
22382 &lt;p&gt;Communicate, communicate, communicate. Enrol people, enrol people,
22383 enrol people.&lt;/p&gt;
22384 </description>
22385 </item>
22386
22387 <item>
22388 <title>SOAP based webservice from Dell to check server support status</title>
22389 <link>https://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</link>
22390 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</guid>
22391 <pubDate>Fri, 1 Jun 2012 15:20:00 +0200</pubDate>
22392 <description>&lt;p&gt;A few years ago I wrote
22393 &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
22394 to extract support status&lt;/a&gt; for your Dell and HP servers. Recently
22395 I have learned from colleges here at the
22396 &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; that Dell have
22397 made this even easier, by providing a SOAP based web service. Given
22398 the service tag, one can now query the Dell servers and get machine
22399 readable information about the support status. This perl code
22400 demonstrate how to do it:&lt;/p&gt;
22401
22402 &lt;p&gt;&lt;pre&gt;
22403 use strict;
22404 use warnings;
22405 use SOAP::Lite;
22406 use Data::Dumper;
22407 my $GUID = &#39;11111111-1111-1111-1111-111111111111&#39;;
22408 my $App = &#39;test&#39;;
22409 my $servicetag = $ARGV[0] or die &quot;Please supply a servicetag. $!\n&quot;;
22410 my ($deal, $latest, @dates);
22411 my $s = SOAP::Lite
22412 -&gt; uri(&#39;http://support.dell.com/WebServices/&#39;)
22413 -&gt; on_action( sub { join &#39;&#39;, @_ } )
22414 -&gt; proxy(&#39;http://xserv.dell.com/services/assetservice.asmx&#39;)
22415 ;
22416 my $a = $s-&gt;GetAssetInformation(
22417 SOAP::Data-&gt;name(&#39;guid&#39;)-&gt;value($GUID)-&gt;type(&#39;&#39;),
22418 SOAP::Data-&gt;name(&#39;applicationName&#39;)-&gt;value($App)-&gt;type(&#39;&#39;),
22419 SOAP::Data-&gt;name(&#39;serviceTags&#39;)-&gt;value($servicetag)-&gt;type(&#39;&#39;),
22420 );
22421 print Dumper($a -&gt; result) ;
22422 &lt;/pre&gt;&lt;/p&gt;
22423
22424 &lt;p&gt;The output can look like this:&lt;/p&gt;
22425
22426 &lt;p&gt;&lt;pre&gt;
22427 $VAR1 = {
22428 &#39;Asset&#39; =&gt; {
22429 &#39;Entitlements&#39; =&gt; {
22430 &#39;EntitlementData&#39; =&gt; [
22431 {
22432 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
22433 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
22434 &#39;Provider&#39; =&gt; &#39;&#39;,
22435 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
22436 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
22437 },
22438 {
22439 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
22440 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
22441 &#39;Provider&#39; =&gt; &#39;&#39;,
22442 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
22443 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
22444 },
22445 {
22446 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
22447 &#39;EndDate&#39; =&gt; &#39;2007-07-29T00:00:00&#39;,
22448 &#39;Provider&#39; =&gt; &#39;&#39;,
22449 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
22450 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
22451 }
22452 ]
22453 },
22454 &#39;AssetHeaderData&#39; =&gt; {
22455 &#39;SystemModel&#39; =&gt; &#39;GX620&#39;,
22456 &#39;ServiceTag&#39; =&gt; &#39;8DSGD2J&#39;,
22457 &#39;SystemShipDate&#39; =&gt; &#39;2006-07-29T19:00:00-05:00&#39;,
22458 &#39;Buid&#39; =&gt; &#39;2323&#39;,
22459 &#39;Region&#39; =&gt; &#39;Europe&#39;,
22460 &#39;SystemID&#39; =&gt; &#39;PLX_GX620&#39;,
22461 &#39;SystemType&#39; =&gt; &#39;OptiPlex&#39;
22462 }
22463 }
22464 };
22465 &lt;/pre&gt;&lt;/p&gt;
22466
22467 &lt;p&gt;I have not been able to find any documentation from Dell about this
22468 service outside the
22469 &lt;a href=&quot;http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation&quot;&gt;inline
22470 documentation&lt;/a&gt;, and according to
22471 &lt;a href=&quot;http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/&quot;&gt;one
22472 comment&lt;/a&gt; it can have stability issues, but it is a lot better than
22473 scraping HTML pages. :)&lt;/p&gt;
22474
22475 &lt;p&gt;Wonder if HP and other server vendors have a similar service. If
22476 you know of one, drop me an email. :)&lt;/p&gt;
22477 </description>
22478 </item>
22479
22480 <item>
22481 <title>First monitor calibration using ColorHug</title>
22482 <link>https://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</link>
22483 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</guid>
22484 <pubDate>Thu, 31 May 2012 22:10:00 +0200</pubDate>
22485 <description>&lt;p&gt;A few days ago my color calibration gadget
22486 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;ColorHug&lt;/a&gt; arrived in the
22487 mail, and I&#39;ve had a few days to test it. As all my machines are
22488 running Debian Squeeze, where
22489 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;the
22490 calibration software&lt;/a&gt; is missing (it is present in Wheezy and Sid),
22491 I ran the calibration using the Fedora based live CD. This worked
22492 just fine. So far I have only done the quick calibration. It was
22493 slow enough for me, so I will leave the more extensive calibration for
22494 another day.&lt;/p&gt;
22495
22496 &lt;p&gt;After calibration, I get a
22497 &lt;a href=&quot;http://en.wikipedia.org/wiki/ICC_profile&quot;&gt;ICC color
22498 profile&lt;/a&gt; file that can be passed to programs understanding such
22499 tools. KDE do not seem to understand it out of the box, so I searched
22500 for command line tools to use to load the color profile into X.
22501 xcalib was the first one I found, and it seem to work fine for single
22502 monitor setups. But for my video player, a laptop with a flat screen
22503 attached, it was unable to load the color profile for the correct
22504 monitor. After searching a bit, I
22505 &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1347896&quot;&gt;discovered&lt;/a&gt;
22506 that the dispwin tool from the argyll package would do what I wanted,
22507 and a simple&lt;/p&gt;
22508
22509 &lt;p&gt;&lt;pre&gt;
22510 dispwin -d 1 profile.icc
22511 &lt;/pre&gt;&lt;/p&gt;
22512
22513 &lt;p&gt;later I had the color profile loaded for the correct monitor. The
22514 result was a bit more pink than I expected. I guess I picked the
22515 wrong monitor type for the &quot;led&quot; monitor I got, but the result is good
22516 enough for now.&lt;/p&gt;
22517 </description>
22518 </item>
22519
22520 <item>
22521 <title>Debian Edu interview: Ralf Gesellensetter</title>
22522 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</link>
22523 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</guid>
22524 <pubDate>Sun, 27 May 2012 17:15:00 +0200</pubDate>
22525 <description>&lt;p&gt;In 2003, a German teacher showed up on the
22526 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
22527 mailing list with interesting problems and reports proving he setting
22528 up Linux for a (for us at the time) lot of pupils. His name was Ralf
22529 Gesellensetter, and he has been an important tester and contributor
22530 since then, helping to make sure the
22531 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
22532 Squeeze&lt;/a&gt; release became as good as it is..&lt;/p&gt;
22533
22534 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
22535
22536 &lt;p&gt;I am a teacher from Germany, and my subjects are Geography,
22537 Mathematics, and Computer Science (&quot;Informatik&quot;). During the past 12
22538 years (since 2000), I have been working for a comprehensive (and soon,
22539 also inclusive) school leading to all kind of general levels, such as
22540 O- or A-level (&quot;Abitur&quot;). For quite as long, I&#39;ve been taking care of
22541 our computer network.&lt;/p&gt;
22542
22543 &lt;p&gt;Now, in my early 40s, I enjoy the privilege of spending a lot of my
22544 spare time together with my wife, our son (3 years) and our daughter
22545 (4 months).&lt;/p&gt;
22546
22547 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
22548 project?&lt;/strong&gt;&lt;/p&gt;
22549
22550 &lt;p&gt;We had tried different Linux based school servers, when members of
22551 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
22552 very well, being part of a party celebrating the Linux New Media Award
22553 (&quot;Best Newcomer Distribution&quot;, also nominated: Ubuntu) that was given
22554 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
22555 months later, I had the chance to join a developer meeting in Ulsrud
22556 (Oslo) and to hand out the award to Knut Yrvin and others. For more
22557 than 7 years, Skolelinux is part of our schools infrastructure, namely
22558 our main server (tjener), one LTSP (today without thin clients), and
22559 approximately 50 work stations. Most of these have the option to boot a
22560 locally installed Skolelinux image. As a consequence, I joined quite
22561 a few events dealing with free software or Linux, and met many Debian
22562 (Edu) developers. All of them seemed quite nice and competent to me,
22563 one more reason to stick to Skolelinux.&lt;/p&gt;
22564
22565 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
22566 Edu?&lt;/strong&gt;&lt;/p&gt;
22567
22568 &lt;p&gt;Debian driven, you are given all the advantages of a community
22569 project including well maintained updates. Once, you are familiar with
22570 the network layout, you can easily roll out an entire educational
22571 computer infrastructure, from just one installation media. As only
22572 free software (FOSS) is used, that supports even elderly hardware,
22573 up-sizing your IT equipment is only limited by space (i.e. available
22574 labs). Especially if you run a LTSP thin client server, your
22575 administration costs tend towards zero.&lt;/p&gt;
22576
22577 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
22578 Edu?&lt;/strong&gt;&lt;/p&gt;
22579
22580 &lt;p&gt;While Debian&#39;s stability has loads of advantages for servers, this
22581 might be different in some cases for clients: Schools with unlimited
22582 budget might buy new hardware with components that are not yet
22583 supported by Debian stable, or wish to use more recent versions of
22584 office packages or desktop environments. These schools have the
22585 option to run Debian testing or other distributions - if they have the
22586 capacity to do so. Another issue is that Debian release cycles
22587 include a wide range of changes; therefor a high percentage of human
22588 power seems to be absorbed by just keeping the features of Skolelinux
22589 within the new setting of the version to come. During this process,
22590 the cogs of Debian Edu are getting more and more professional,
22591 i.e. harder to understand for novices.&lt;/p&gt;
22592
22593 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
22594
22595 &lt;p&gt;LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
22596 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
22597 PC, Laptop, Mobile, but also our SAT receiver)&lt;/p&gt;
22598
22599 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
22600 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
22601
22602 &lt;p&gt;&lt;ol&gt;
22603
22604 &lt;li&gt;Support computer science as regular subject in schools to make
22605 people really &quot;own&quot; their hardware, to make them understand the
22606 difference between proprietary software products, and free software
22607 developing.&lt;/li&gt;
22608
22609 &lt;li&gt;Make budget baskets corresponding: In Germany&#39;s public schools
22610 there are more or less fixed budgets for IT equipment (including
22611 licenses), so schools won&#39;t benefit from any savings here. This
22612 privilege is left to private schools which have consequently a large
22613 share among German Skolelinux schools.&lt;/li&gt;
22614
22615 &lt;li&gt;Get free software in the seminars where would-be teachers are
22616 trained. In many cases, teachers&#39; software customs are respected by
22617 decision makers rather than the expertise of any IT experts.&lt;/li&gt;
22618
22619 &lt;li&gt;Don&#39;t limit ourself to free software run natively. Everybody uses
22620 free software or free licenses (for instance Wikipedia), and this
22621 general concept should get expanded to free educational content to be
22622 shared world wide (school books e.g.).&lt;/li&gt;
22623
22624 &lt;li&gt;Make clear where ever you can that the market share of free (libre)
22625 office suites is much above 20 p.c. today, and that you pupils don&#39;t
22626 need to know the &quot;ribbon menu&quot; in order to get employed.&lt;/li&gt;
22627
22628 &lt;li&gt;Talk about the difference between freeware and free software.&lt;/li&gt;
22629
22630 &lt;li&gt;Spread free software, or even collections of portable free apps
22631 for USB pen drives. Endorse students to get a legal copy of
22632 Libreoffice rather than accepting them to use illegal serials. And
22633 keep sending documents in ODF formats.&lt;/li&gt;
22634
22635 &lt;/ol&gt;&lt;/p&gt;
22636 </description>
22637 </item>
22638
22639 <item>
22640 <title>The cost of ODF and OOXML</title>
22641 <link>https://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</link>
22642 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</guid>
22643 <pubDate>Sat, 26 May 2012 18:00:00 +0200</pubDate>
22644 <description>&lt;p&gt;I just come across a blog post from Glyn Moody reporting the
22645 claimed cost from Microsoft on requiring ODF to be used by the UK
22646 government. I just sent him an email to let him know that his
22647 assumption are most likely wrong. Sharing it here in case some of my
22648 blog readers have seem the same numbers float around in the UK.&lt;/p&gt;
22649
22650 &lt;p&gt;&lt;blockquote&gt; &lt;p&gt;Hi. I just noted your
22651 &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;
22652 comment:&lt;/p&gt;
22653
22654 &lt;p&gt;&lt;blockquote&gt;&quot;They&#39;re all in Danish, not unreasonably, but even
22655 with the help of Google Translate I can&#39;t find any figures about the
22656 savings of &quot;moving to a flexible two standard&quot; as claimed by the
22657 Microsoft email. But I assume it is backed up somewhere, so let&#39;s take
22658 it, and the £500 million figure for the UK, on trust.&quot;
22659 &lt;/blockquote&gt;&lt;/p&gt;
22660
22661 &lt;p&gt;I can tell you that the Danish reports are inflated. I believe it is
22662 the same reports that were used in the Norwegian debate around 2007,
22663 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
22664 at the content. In short, the reason it is claimed that using ODF
22665 will be so costly, is based on the assumption that this mean every
22666 existing document need to be converted from one of the MS Office
22667 formats to ODF, transferred to the receiver, and converted back from
22668 ODF to one of the MS Office formats, and that the conversion will cost
22669 10 minutes of work time for both the sender and the receiver. In
22670 reality the sender would have a tool capable of saving to ODF, and the
22671 receiver would have a tool capable of reading it, and the time spent
22672 would at most be a few seconds for saving and loading, not 20 minutes
22673 of wasted effort.&lt;/p&gt;
22674
22675 &lt;p&gt;Microsoft claimed all these costs were saved by allowing people to
22676 transfer the original files from MS Office instead of spending 10
22677 minutes converting to ODF. :)&lt;/p&gt;
22678
22679 &lt;p&gt;See
22680 &lt;a href=&quot;http://hannemyr.com/no/ms12_vl02.php&quot;&gt;http://hannemyr.com/no/ms12_vl02.php&lt;/a&gt;
22681 and
22682 &lt;a href=&quot;http://hannemyr.com/no/ms12.php&quot;&gt;http://hannemyr.com/no/ms12.php&lt;/a&gt;
22683 for background information. Norwegian only, sorry. :)&lt;/p&gt;
22684 &lt;/blockquote&gt;&lt;/p&gt;
22685 </description>
22686 </item>
22687
22688 <item>
22689 <title>ColorHug - USB and free software based screen color calibration</title>
22690 <link>https://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</link>
22691 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</guid>
22692 <pubDate>Fri, 18 May 2012 10:00:00 +0200</pubDate>
22693 <description>&lt;p&gt;In january, I
22694 &lt;a href=&quot;http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/&quot;&gt;discovered
22695 the ColorHug&lt;/a&gt;, a USB dongle from
22696 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;Hughski&lt;/a&gt; to calibrate
22697 the color on a computer screen. The software required is
22698 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;included
22699 in Debian&lt;/a&gt;, and I decided back then to preorder from the next
22700 batch. Yesterday I finally heard back from them, and got the
22701 opportunity to order. Today I ordered mine, and eagerly await the
22702 delivery. I hope it arrive next week, as I got a confirmation that it
22703 should go in the mail on monday. :)&lt;/p&gt;
22704
22705 &lt;p&gt;If you want to ensure the colors on the screen match the intended
22706 colors, I suggest you check out this cheap tool with free software
22707 drivers. :)&lt;/p&gt;
22708 </description>
22709 </item>
22710
22711 <item>
22712 <title>Debian Edu interview: Jürgen Leibner</title>
22713 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</link>
22714 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</guid>
22715 <pubDate>Sun, 13 May 2012 20:30:00 +0200</pubDate>
22716 <description>&lt;p&gt;It has been a few busy weeks for me, but I am finally back to
22717 publish another interview with the people behind
22718 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
22719 This time it is one of our German developers, who have helped out over the
22720 years to make sure both a lot of major but also a lot of the minor
22721 details get right before release.
22722
22723 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
22724
22725 &lt;p&gt;My name is Jürgen Leibner, I&#39;m 49 years old and living in
22726 Bielefeld, a town in northern Germany. I worked nearly 20 years as
22727 certified engineer in the department for plant design and layout of an
22728 international company for machinery and equipment. Since 2011 I&#39;m a
22729 certified technical writer (tekom e.V.) and doing technical
22730 documentations for a steam turbine manufacturer. From April this year
22731 I will manage the department of technical documentation at a
22732 manufacturer of automation and assembly line engineering.&lt;/p&gt;
22733
22734 &lt;p&gt;My first contact with linux was around 1993. Since that time I used
22735 it at work and at home repeatedly but not exclusively as I do now at
22736 home since 2006.&lt;/p&gt;
22737
22738 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
22739 project?&lt;/strong&gt;&lt;/p&gt;
22740
22741 &lt;p&gt;Once a day in the early year of 2001 when I wanted to fetch my
22742 daughter from primary school, there was a teacher sitting in the
22743 middle of 20 old computers trying to boot them and he failed. I helped
22744 him to get them booting. That was seen by the school director and she
22745 asked me if I would like to manage that the school gets all that old
22746 computers in use. I answered: &quot;Yes&quot;.&lt;/p&gt;
22747
22748 &lt;p&gt;Some weeks later every of the 10 classrooms had one computer
22749 running Windows98. I began to collect old computers and equipment as
22750 gifts and installed the first computer room with a peer-to-peer
22751 network. I did my work at school without being payed in my spare time
22752 and with a lot of fun. About one year later the school was connected
22753 to Internet and a local area network was installed in the school
22754 building. That was the time to have a server and I knew it must be a
22755 Linux server to be able to fulfil all the wishes of the teachers and
22756 being able to do this in a transparent and economic way, without extra
22757 costs for things like licence and software. So I searched for a
22758 school server system running under Linux and I found a couple of
22759 people nearby who founded &#39;skolelinux.de&#39;. It was the Skolelinux
22760 prerelease 32 I first tried out for being used at the school. I
22761 managed the IT of that school until the municipal authority took over
22762 the IT management and centralised the services for all schools in
22763 Bielefeld in December of 2006.&lt;/p&gt;
22764
22765 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
22766 Edu?&lt;/strong&gt;&lt;/p&gt;
22767
22768 &lt;p&gt;When I&#39;m looking back to the beginning, there were other advantages
22769 for me as today.&lt;/p&gt;
22770
22771 &lt;p&gt;In the past there were advantages like:&lt;/p&gt;
22772
22773 &lt;p&gt;&lt;ul&gt;
22774
22775 &lt;li&gt;I don&#39;t need to buy it so it generates no costs to the school as
22776 they had little money to spent for computers and software.&lt;/li&gt;
22777
22778 &lt;li&gt;It has a licence which grands all rights to use it without
22779 cost.&lt;/li&gt;
22780
22781 &lt;li&gt;It was more able to fit all requirements of a server system for
22782 schools than a Microsoft server system, even if there are only Windows
22783 clients because of it&#39;s preconfigured overall concept of being a
22784 infrastructure solution and community for schools, not only a
22785 server&lt;/li&gt;
22786
22787 &lt;li&gt;I was able to configure the server to the needs of the
22788 school.&lt;/li&gt;
22789
22790 &lt;/ul&gt;&lt;/p&gt;
22791
22792 &lt;p&gt;Today some of the advantages has been lost, changed or new ones
22793 came up in this way:&lt;/p&gt;
22794
22795 &lt;p&gt;&lt;ul&gt;
22796
22797 &lt;li&gt;Most schools here do have money to buy hardware and software
22798 now.&lt;/li&gt;
22799
22800 &lt;li&gt;They are today mostly managed from central IT departments which
22801 have own concepts which often do not fit to Debian Edu concepts
22802 because they are to close to Microsoft ideology.&lt;/li&gt;
22803
22804 &lt;li&gt;With the Squeeze version of Debian Edu which now uses GOsa² for
22805 management I feel more able to manage the daily tasks than with the
22806 interfaces used in the past.&lt;/li&gt;
22807
22808 &lt;li&gt;It is more modular than in the past and fits even better to the
22809 different needs.&lt;/li&gt;
22810
22811 &lt;li&gt;The documentation is usable and gets better every day.&lt;/li&gt;
22812
22813 &lt;li&gt;More people than ever before are using Debian Edu all over the
22814 world and so the community, which is an very important part I think,
22815 is sharing knowledge and minds.&lt;/li&gt;
22816
22817 &lt;li&gt;Most, maybe all, of the technical requirements for schools are
22818 solved today by Debian Edu. &lt;/li&gt;
22819
22820 &lt;/ul&gt;&lt;/p&gt;
22821
22822 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
22823 Edu?&lt;/strong&gt;&lt;/p&gt;
22824
22825 &lt;p&gt;&lt;ul&gt;
22826
22827 &lt;li&gt;There are too few IT companies able to integrate Debian Edu into
22828 their product portfolio for serving schools with concepts or even
22829 whole municipality areas.&lt;/li&gt;
22830
22831 &lt;li&gt;Debian Edu has beside other free and open software projects not
22832 enough lobbyists which promote free and open software to
22833 politicians.&lt;/li&gt;
22834
22835 &lt;li&gt;Technically there are no disadvantages I&#39;m aware of.&lt;/li&gt;
22836
22837 &lt;/ul&gt;&lt;/p&gt;
22838
22839 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
22840
22841 &lt;p&gt;I use Debian stable on my home server and on my little desktop
22842 computer. On my laptop I use Debian testing/sid. The applications I
22843 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
22844 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
22845 need from the KDE environment. On console I use newsbeuter, mutt,
22846 screen, irssi and all the other famous and useful tools.&lt;/p&gt;
22847
22848 &lt;p&gt;My home server provides mail services with exim, dovecot, roundcube
22849 and mutt over ssh on the console, file services with samba, NFS,
22850 rsync, web services with apache, moinmoin-wiki, multimedia services
22851 with gallery2 and mediatomb and database services with MySQL for me
22852 and the whole family. I probably forgot something.&lt;/p&gt;
22853
22854 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
22855 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
22856
22857 &lt;p&gt;I believe, we should provide concepts for IT companies to integrate
22858 Debian Edu into their product portfolio with use cases for different
22859 countries and areas all over the world.&lt;/p&gt;
22860 </description>
22861 </item>
22862
22863 <item>
22864 <title>Cutting it short - and picking the right tool for the job</title>
22865 <link>https://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</link>
22866 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</guid>
22867 <pubDate>Mon, 30 Apr 2012 23:30:00 +0200</pubDate>
22868 <description>&lt;p&gt;&lt;!-- IMG_5869.JPG --&gt;
22869 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg&quot;&gt;&lt;/p&gt;
22870
22871 &lt;p&gt;I normally cut my hair short, and my tool of choice has been a
22872 common hair/beard cutter, bought in a electrical shop here in Norway.
22873 But the last ones have not really been up to the task. My last
22874 cutter, some model from Braun, could only cut a few of my hairs at the
22875 time, and cutting my head took forever. And the one before that did
22876 not work very well either. We have looked for something better for a
22877 while, but it was not until I ended up visiting a hairdresser that we
22878 discovered that there are indeed better tools available. But these
22879 are not marketed and sold to &quot;regular consumers&quot;. The hair saloons
22880 can get them through their suppliers, but their suppliers only sell
22881 companies. The models they sell, are very different from the ones
22882 available from Elkjøp and Lefdal. The main difference is their
22883 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
22884 minutes required by my impotent Braun. The hairdresser I visited had
22885 a Panasonic ER160, which unfortunately is no longer available from the
22886 producer. But I found it had a successor, the Panasonic ER1611.&lt;/p&gt;
22887
22888 &lt;p&gt;The next step was to find somewhere to buy it. This was not
22889 straight forward. The list of suppliers I got from the hairdresser
22890 did not want to sell anything to me. But searching for the model on
22891 the web we found a supplier in Norway willing to sell it to us for
22892 around NOK 4000,-. This was a bit much. We kept searching and
22893 finally found a Danish supplier
22894 &lt;a href=&quot;http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html&quot;&gt;selling
22895 it for around NOK 1800,-&lt;/a&gt;. We ordered one, and it arrived a few
22896 days ago.&lt;/p&gt;
22897
22898 &lt;p&gt;The instructions said it had to charge for 8 hours when we started
22899 to use it, so we left it charging over night. Normally it will only
22900 need one hour to charge. The following evening we successfully tested
22901 it, and I can warmly recommend it to anyone looking for a real hair
22902 cutter. The ones we have used until now have been hair cutter
22903 toys.&lt;/p&gt;
22904 </description>
22905 </item>
22906
22907 <item>
22908 <title>HTC One X - Your video? What do you mean?</title>
22909 <link>https://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</link>
22910 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</guid>
22911 <pubDate>Thu, 26 Apr 2012 13:20:00 +0200</pubDate>
22912 <description>&lt;p&gt;In &lt;a href=&quot;http://www.idg.no/computerworld/article243690.ece&quot;&gt;an
22913 article today&lt;/a&gt; published by Computerworld Norway, the photographer
22914 &lt;a href=&quot;http://www.urke.com/eirik/&quot;&gt;Eirik Helland Urke&lt;/a&gt; reports
22915 that the video editor application included with
22916 &lt;a href=&quot;http://www.htc.com/www/smartphones/htc-one-x/#specs&quot;&gt;HTC One
22917 X&lt;/a&gt; have some quite surprising terms of use. The article is mostly
22918 based on the twitter message from mister Urke, stating:
22919
22920 &lt;p&gt;&lt;blockquote&gt;
22921 &quot;&lt;a href=&quot;http://twitter.com/urke/status/194062269724897280&quot;&gt;Drøy
22922 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
22923 kan jeg KUN bruke dem privat.&lt;/a&gt;&quot;
22924 &lt;/blockquote&gt;&lt;/p&gt;
22925
22926 &lt;p&gt;I quickly translated it to this English message:&lt;/p&gt;
22927
22928 &lt;p&gt;&lt;blockquote&gt;
22929 &quot;Arrogant user agreement: HTC can use MY edited videos
22930 commercially. Although I can ONLY use them privately.&quot;
22931 &lt;/blockquote&gt;&lt;/p&gt;
22932
22933 &lt;p&gt;I&#39;ve been unable to find the text of the license term myself, but
22934 suspect it is a variation of the MPEG-LA terms I
22935 &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
22936 with my Canon IXUS 130&lt;/a&gt;. The HTC One X specification specifies that
22937 the recording format of the phone is .amr for audio and .mp3 for
22938 video. AMR is
22939 &lt;a href=&quot;http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues&quot;&gt;Adaptive
22940 Multi-Rate audio codec&lt;/a&gt; with patents which according to the
22941 Wikipedia article require an license agreement with
22942 &lt;a href=&quot;http://www.voiceage.com/&quot;&gt;VoiceAge&lt;/a&gt;. MP4 is
22943 &lt;a href=&quot;http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing&quot;&gt;MPEG4 with
22944 H.264&lt;/a&gt;, which according to Wikipedia require a licence agreement
22945 with &lt;a href=&quot;http://www.mpegla.com/&quot;&gt;MPEG-LA&lt;/a&gt;.&lt;/p&gt;
22946
22947 &lt;p&gt;I know why I prefer
22948 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and open
22949 standards&lt;/a&gt; also for video.&lt;/p&gt;
22950 </description>
22951 </item>
22952
22953 <item>
22954 <title>RAND terms - non-reasonable and discriminatory</title>
22955 <link>https://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</link>
22956 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</guid>
22957 <pubDate>Thu, 19 Apr 2012 22:20:00 +0200</pubDate>
22958 <description>&lt;p&gt;Here in Norway, the
22959 &lt;a href=&quot;http://www.regjeringen.no/nb/dep/fad.html?id=339&quot;&gt; Ministry of
22960 Government Administration, Reform and Church Affairs&lt;/a&gt; is behind
22961 a &lt;a href=&quot;http://standard.difi.no/forvaltningsstandarder&quot;&gt;directory of
22962 standards&lt;/a&gt; that are recommended or mandatory for use by the
22963 government. When the directory was created, the people behind it made
22964 an effort to ensure that everyone would be able to implement the
22965 standards and compete on equal terms to supply software and solutions
22966 to the government. Free software and non-free software could compete
22967 on the same level.&lt;/p&gt;
22968
22969 &lt;p&gt;But recently, some standards with RAND
22970 (&lt;a href=&quot;http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing&quot;&gt;Reasonable
22971 And Non-Discriminatory&lt;/a&gt;) terms have made their way into the
22972 directory. And while this might not sound too bad, the fact is that
22973 standard specifications with RAND terms often block free software from
22974 implementing them. The reasonable part of RAND mean that the cost per
22975 user/unit is low,and the non-discriminatory part mean that everyone
22976 willing to pay will get a license. Both sound great in theory. In
22977 practice, to get such license one need to be able to count users, and
22978 be able to pay a small amount of money per unit or user. By
22979 definition, users of free software do not need to register their use.
22980 So counting users or units is not possible for free software projects.
22981 And given that people will use the software without handing any money
22982 to the author, it is not really economically possible for a free
22983 software author to pay a small amount of money to license the rights
22984 to implement a standard when the income available is zero. The result
22985 in these situations is that free software are locked out from
22986 implementing standards with RAND terms.&lt;/p&gt;
22987
22988 &lt;p&gt;Because of this, when I see someone claiming the terms of a
22989 standard is reasonable and non-discriminatory, all I can think of is
22990 how this really is non-reasonable and discriminatory. Because free
22991 software developers are working in a global market, it does not really
22992 help to know that software patents are not supposed to be enforceable
22993 in Norway. The patent regimes in other countries affect us even here.
22994 I really hope the people behind the standard directory will pay more
22995 attention to these issues in the future.&lt;/p&gt;
22996
22997 &lt;p&gt;You can find more on the issues with RAND, FRAND and RAND-Z terms
22998 from Simon Phipps
22999 (&lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/&quot;&gt;RAND:
23000 Not So Reasonable?&lt;/a&gt;).&lt;/p&gt;
23001
23002 &lt;p&gt;Update 2012-04-21: Just came across a
23003 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm&quot;&gt;blog
23004 post from Glyn Moody&lt;/a&gt; over at Computer World UK warning about the
23005 same issue, and urging people to speak out to the UK government. I
23006 can only urge Norwegian users to do the same for
23007 &lt;a href=&quot;http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder&quot;&gt;the
23008 hearing taking place at the moment&lt;/a&gt; (respond before 2012-04-27).
23009 It proposes to require video conferencing standards including
23010 specifications with RAND terms.&lt;/p&gt;
23011 </description>
23012 </item>
23013
23014 <item>
23015 <title>Debian Edu interview: Andreas Mundt</title>
23016 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</link>
23017 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</guid>
23018 <pubDate>Sun, 15 Apr 2012 12:10:00 +0200</pubDate>
23019 <description>&lt;p&gt;Behind &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
23020 Skolelinux&lt;/a&gt; there are a lot of people doing the hard work of
23021 setting together all the pieces. This time I present to you Andreas
23022 Mundt, who have been part of the technical development team several
23023 years. He was also a key contributor in getting GOsa and Kerberos set
23024 up in the recently released
23025 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
23026 Edu Squeeze&lt;/a&gt; version.&lt;/p&gt;
23027
23028 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
23029
23030 &lt;p&gt;My name is Andreas Mundt, I grew up in south Germany. After
23031 studying Physics I spent several years at university doing research in
23032 Quantum Optics. After that I worked some years in an optics company.
23033 Finally I decided to turn over a new leaf in my life and started
23034 teaching 10 to 19 years old kids at school. I teach math, physics,
23035 information technology and science/technology.&lt;/p&gt;
23036
23037 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
23038 project?&lt;/strong&gt;&lt;/p&gt;
23039
23040 &lt;p&gt;Already before I switched to teaching, I followed the Debian Edu
23041 project because of my interest in education and Debian. Within the
23042 qualification/training period for the teaching, I started
23043 contributing.&lt;/p&gt;
23044
23045 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
23046 Edu?&lt;/strong&gt;&lt;/p&gt;
23047
23048 &lt;p&gt;The advantages of Debian Edu are the well known name, the
23049 out-of-the-box philosophy and of course the great free software of the
23050 Debian Project!&lt;/p&gt;
23051
23052 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
23053 Edu?&lt;/strong&gt;&lt;/p&gt;
23054
23055 &lt;p&gt;As every coin has two sides, the out-of-the-box philosophy has its
23056 downside, too. In my opinion, it is hard to modify and tweak the
23057 setup, if you need or want that. Further more, it is not easily
23058 possible to upgrade the system to a new release. It takes much too
23059 long after a Debian release to prepare the -Edu release, perhaps
23060 because the number of developers working on the core of the code is
23061 rather small and often busy elsewhere.&lt;/p&gt;
23062
23063 &lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/DebianLAN&quot;&gt;Debian LAN&lt;/a&gt;
23064 project might fill the use case of a more flexible system.&lt;/p&gt;
23065
23066 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
23067
23068 &lt;p&gt;I am only using non-free software if I am forced to and run Debian
23069 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
23070 mutt and iceweasel for email respectively web browsing. At school I
23071 have Arduino and Fritzing in use for a micro controller project.&lt;/p&gt;
23072
23073 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
23074 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
23075
23076 &lt;p&gt;One of the major problems is the vendor lock-in from top to bottom:
23077 Especially in combination with ignorant government employees and
23078 politicians, this works out great for the &quot;market-leader&quot;. The school
23079 administration here in Baden-Wuerttemberg is occupied by that vendor.
23080 Documents have to be prepared in non-free, proprietary formats. Even
23081 free browsers do not work for the school administration. Publishers
23082 of school books provide software only for proprietary platforms.&lt;/p&gt;
23083
23084 &lt;p&gt;To change this, political work is very important. Parts of the
23085 political spectrum have become aware of the problem in the last years.
23086 However it takes quite some time and courageous politicians to &#39;free&#39;
23087 the system. There is currently some discussion about &quot;Open Data&quot; and
23088 &quot;Free/Open Standards&quot;. I am not sure if all the involved parties have
23089 a clue about the potential of these ideas, and probably only a
23090 fraction takes them seriously. However it might slowly make free
23091 software and the philosophy behind it more known and popular.&lt;/p&gt;
23092 </description>
23093 </item>
23094
23095 <item>
23096 <title>Debian Edu interview: Justin B. Rye</title>
23097 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</link>
23098 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</guid>
23099 <pubDate>Sun, 8 Apr 2012 10:50:00 +0200</pubDate>
23100 <description>&lt;p&gt;It take all kind of contributions to create a Linux distribution
23101 like &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;,
23102 and this time I lend the ear to Justin B. Rye, who is listed as a big
23103 contributor to the
23104 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
23105 Edu Squeeze release manual&lt;/a&gt;.
23106
23107 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
23108
23109 &lt;p&gt;I&#39;m a 44-year-old linguistics graduate living in Edinburgh who has
23110 occasionally been employed as a sysadmin.&lt;/p&gt;
23111
23112 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
23113 project?&lt;/strong&gt;&lt;/p&gt;
23114
23115 &lt;p&gt;I&#39;m neither a developer nor a Skolelinux/Debian Edu user! The only
23116 reason my name&#39;s in the credits for the documentation is that I hang
23117 around on debian-l10n-english waiting for people to mention things
23118 they&#39;d like a native English speaker to proofread... So I did a sweep
23119 through the wiki for typos and Norglish and inconsistent spellings of
23120 &quot;localisation&quot;.&lt;/p&gt;
23121
23122 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
23123 Edu?&lt;/strong&gt;&lt;/p&gt;
23124
23125 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
23126 Edu?&lt;/strong&gt;&lt;/p&gt;
23127
23128 &lt;p&gt;These questions are too hard for me - I don&#39;t use it! In fact I
23129 had hardly any contact with I.T. until long after I&#39;d got out of the
23130 education system.&lt;/p&gt;
23131
23132 &lt;p&gt;I can tell you the advantages of Debian for me though: it soaks up
23133 as much of my free time as I want and no more, and lets me do
23134 everything I want a computer for without ever forcing me to spend
23135 money on the latest hardware.&lt;/p&gt;
23136
23137 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
23138
23139 &lt;p&gt;I&#39;ve been using Debian since Rex; popularity-contest says the
23140 software that I use most is xinit, xterm, and xulrunner (in other
23141 words, I use a distinctly retro sort of desktop).&lt;/p&gt;
23142
23143 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
23144 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
23145
23146 &lt;p&gt;Well, I don&#39;t know. I suppose I&#39;d be inclined to try reasoning
23147 with the people who make the decisions, but obviously if that worked
23148 you would hardly need a strategy.&lt;/p&gt;
23149 </description>
23150 </item>
23151
23152 <item>
23153 <title>Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</title>
23154 <link>https://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</link>
23155 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</guid>
23156 <pubDate>Fri, 6 Apr 2012 22:40:00 +0200</pubDate>
23157 <description>&lt;p&gt;Recently I have spent time with
23158 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt; on speeding
23159 up a &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
23160 Lenny installation using LTSP diskless workstations, and in the
23161 process I discovered something very surprising. The reason the KDE
23162 menu was responding slow when using it for the first time, was mostly
23163 due to the way KDE find application icons. I discovered that showing
23164 the Multimedia menu would cause more than 20 000 IP packages to be
23165 passed between the LTSP client and the NFS server. Most of these were
23166
23167 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
23168 ping times between the client and the server were in the range 2-20
23169 ms, the menus would be very slow. Looking at the strace of kicker in
23170 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
23171 the source of these NFS calls are access(2) system calls for
23172 non-existing files. KDE can do hundreds of access(2) calls to find
23173 one icon file. In my example, just finding the mplayer icon required
23174 around 230 access(2) calls.&lt;/p&gt;
23175
23176 &lt;p&gt;The KDE code seem to search for icons using a list of icon
23177 directories, and the list of possible directories is large. In
23178 (almost) each directory, it look for files ending in .png, .svgz, .svg
23179 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
23180 mounted. Showing a single sub menu may result in thousands of NFS
23181 requests. I am not the first one to discover this. I found a
23182 &lt;a href=&quot;https://bugs.kde.org/show_bug.cgi?id=211416&quot;&gt;KDE bug report
23183 from 2009&lt;/a&gt; about this problem, and it is still unsolved.&lt;/p&gt;
23184
23185 &lt;p&gt;My solution to speed up the KDE menu was to create a package
23186 kde-icon-cache that upon installation will look at all .desktop files
23187 used to generate the KDE menu, find their icons, search the icon paths
23188 for the file that KDE will end up finding at run time, and copying the
23189 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
23190 these icon files in one of the first directories where KDE will look
23191 for them. This cut down the number of file accesses required to find
23192 one icon from several hundred to less than 5, and make the KDE menu
23193 almost instantaneous. I&#39;m not quite sure where to make the package
23194 publicly available, so for now it is only available on request.&lt;/p&gt;
23195
23196 &lt;p&gt;The bug report mention that this do not only affect the KDE menu
23197 and icon handling, but also the login process. Not quite sure how to
23198 speed up that part without replacing NFS with for example NBD, and
23199 that is not really an option at the moment.&lt;/p&gt;
23200
23201 &lt;p&gt;If you got feedback on this issue, please let us know on debian-edu
23202 (at) lists.debian.org.&lt;/p&gt;
23203
23204 &lt;p&gt;Update 2015-08-04: The
23205 &lt;a href=&quot;http://anonscm.debian.org/cgit/debian-edu/upstream/kde-icon-cache.git/&quot;&gt;source
23206 of the scripts and associated Debian package&lt;/a&gt; is available from the
23207 Debian Edu github repository.&lt;/p&gt;
23208 </description>
23209 </item>
23210
23211 <item>
23212 <title>Debian Edu in the Linux Weekly News</title>
23213 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</link>
23214 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</guid>
23215 <pubDate>Thu, 5 Apr 2012 08:00:00 +0200</pubDate>
23216 <description>&lt;p&gt;About two weeks ago, I was interviewed via email about
23217 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt; by
23218 Bruce Byfield in Linux Weekly News. The result was made public for
23219 non-subscribers today. I am pleased to see liked our Linux solution
23220 for schools. Check out his article
23221 &lt;a href=&quot;https://lwn.net/Articles/488805/&quot;&gt;Debian Edu/Skolelinux: A
23222 distribution for education&lt;/a&gt; if you want to learn more.&lt;/p&gt;
23223 </description>
23224 </item>
23225
23226 <item>
23227 <title>Debian Edu interview: Wolfgang Schweer</title>
23228 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</link>
23229 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</guid>
23230 <pubDate>Sun, 1 Apr 2012 23:00:00 +0200</pubDate>
23231 <description>&lt;p&gt;Germany is a core area for the
23232 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
23233 user community, and this time I managed to get hold of Wolfgang
23234 Schweer, a valuable contributor to the project from Germany.
23235
23236 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
23237
23238 &lt;p&gt;I&#39;ve studied Mathematics at the university &#39;Ruhr-Universität&#39; in
23239 Bochum, Germany. Since 1981 I&#39;m working as a teacher at the school
23240 &quot;&lt;a href=&quot;http://www.westfalenkolleg-dortmund.de/&quot;&gt;Westfalen-Kolleg
23241 Dortmund&lt;/a&gt;&quot;, a second chance school. Here, young adults is given
23242 the opportunity to get further education in order to do the school
23243 examination &#39;Abitur&#39;, which will allow to study at a university. This
23244 second chance is of value for those who want a better job perspective
23245 or failed to get a higher school examination being teens.&lt;/p&gt;
23246
23247 &lt;p&gt;Besides teaching I was involved in developing online courses for a
23248 blended learning project called &#39;abitur-online.nrw&#39; and in some other
23249 information technology related projects. For about ten years I&#39;ve been
23250 teacher and coordinator for the &#39;abitur-online&#39; project at my
23251 school. Being now in my early sixties, I&#39;ve decided to leave school at
23252 the end of April this year.&lt;/p&gt;
23253
23254 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
23255 project?&lt;/strong&gt;&lt;/p&gt;
23256
23257 &lt;p&gt;The first information about Skolelinux must have come to my
23258 attention years ago and somehow related to LTSP (Linux Terminal Server
23259 Project). At school, we had set up a network at the beginning of 1997
23260 using Suse Linux on the desktop, replacing a Novell network. Since
23261 2002, we used old machines from the city council of Dortmund as thin
23262 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
23263 reach. At home I&#39;m using Debian since years and - subscribed to the
23264 Debian news letter - heard from time to time about Skolelinux. About
23265 two years ago I proposed to replace the (somehow undocumented and only
23266 known to me) system at school by a well known Debian based system:
23267 Skolelinux.&lt;/p&gt;
23268
23269 &lt;p&gt;Students and teachers appreciated the new system because of a
23270 better look and feel and an enhanced access to local media on thin
23271 clients. The possibility to alter and/or reset passwords using a GUI
23272 was welcomed, too. Being able to do administrative tasks using a GUI
23273 and to easily set up workstations using PXE was of very high value for
23274 the admin teachers.&lt;/p&gt;
23275
23276 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
23277 Edu?&lt;/strong&gt;&lt;/p&gt;
23278
23279 &lt;p&gt;It&#39;s open source, easy to set up, stable and flexible due to it&#39;s
23280 Debian base. It integrates LTSP out-of-the-box. And it is documented!
23281 So it was a perfect choice.&lt;/p&gt;
23282
23283 &lt;p&gt;Being open source, there are no license problems and so it&#39;s
23284 possible to point teachers and students to programs like
23285 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It&#39;s of
23286 high value to be able to adapt parts of the system to special needs of
23287 a school and to choose where to get support for this.&lt;/p&gt;
23288
23289 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
23290 Edu?&lt;/strong&gt;&lt;/p&gt;
23291
23292 &lt;p&gt;Nothing yet.&lt;/p&gt;
23293
23294 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
23295
23296 &lt;p&gt;At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
23297 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
23298 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
23299 LibreOffice.&lt;/p&gt;
23300
23301 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
23302 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
23303
23304 &lt;p&gt;Some time ago I thought it was enough to tell people about it. But
23305 that doesn&#39;t seem to work quite well. Now I concentrate on those more
23306 interested and hope to get multiplicators that way.&lt;/p&gt;
23307 </description>
23308 </item>
23309
23310 <item>
23311 <title>Debian Edu screencast: Checking email with kmail using Kerberos authentication</title>
23312 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</link>
23313 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</guid>
23314 <pubDate>Sun, 25 Mar 2012 10:00:00 +0200</pubDate>
23315 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
23316
23317 &lt;p&gt;The same Debian Edu developer that did the last screen cast I
23318 published, Wolfgang Schweer, has created a new screen cast showing how
23319 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
23320 allowing users to check their local email account without providing
23321 any password. The video is embedded here in quarter size,
23322 and also available from &lt;a href=&quot;https://vimeo.com/38601767&quot;&gt;vimeo&lt;/a&gt;
23323 and download as a
23324 &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
23325 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
23326
23327 &lt;p&gt;&lt;video id=&quot;kmail-kerberos-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
23328 &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;
23329 &lt;p&gt;Download video as
23330 &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;
23331 &lt;/video&gt;&lt;/p&gt;
23332 </description>
23333 </item>
23334
23335 <item>
23336 <title>Debian Edu interview: John Ingleby</title>
23337 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</link>
23338 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</guid>
23339 <pubDate>Mon, 19 Mar 2012 21:15:00 +0100</pubDate>
23340 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
23341 users are spread all across the globe. The second inteview after
23342 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
23343 Squeeze release&lt;/a&gt; was publised is with John Ingleby, a teacher and
23344 long time Linux user in United Kingdom.&lt;/p&gt;
23345
23346 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
23347
23348 &lt;p&gt;I teach ICT part time at the Rudolf Steiner School in Kings
23349 Langley, near London, UK. Previously I worked as a technical
23350 author/trainer while my children attended the school, and I also
23351 contributed to the Schoolforge UK community with the aim of
23352 encouraging UK schools to adopt free/open source software. Five or six
23353 years ago we had about 50 schools interested in some way, but we
23354 weren&#39;t able to convert many of them into sustainable
23355 installations.&lt;/p&gt;
23356
23357 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
23358 project?&lt;/strong&gt;&lt;/p&gt;
23359
23360 &lt;p&gt;Skolelinux had two representatives at an early Edubuntu meeting in
23361 London which I attended. However at that time our school network had
23362 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
23363 along we switched to Edubuntu thin client servers so now we have a
23364 mixed environment which includes Windows PCs and student laptops, as
23365 well as their MacBooks and iPads. However, the proprietary systems
23366 have always been rather problematic, and we never built a GUI for the
23367 LDAP server, so when I discovered Skolelinux is configured for all
23368 these things we decided to try it.&lt;/p&gt;
23369
23370 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
23371 Edu?&lt;/strong&gt;&lt;/p&gt;
23372
23373 &lt;p&gt;By far the biggest advantage is the Debian Edu community. Apart
23374 from that I have always believed in the same &quot;sustainable computing&quot;
23375 goals that Skolelinux is built on: installing Linux on computers which
23376 would otherwise be thrown away, to provide a reliable, secure and
23377 low-cost IT environment for schools. From my own experience I know
23378 that a part-time person can teach and manage a network of about 25
23379 Linux computers, but it would take much more of my time if we had
23380 proprietary software everywhere.&lt;/p&gt;
23381
23382 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
23383 Edu?&lt;/strong&gt;&lt;/p&gt;
23384
23385 &lt;p&gt;As a newcomer I&#39;m just finding out who&#39;s who in the community and
23386 how you&#39;re organised, and what your procedures are for dealing with
23387 various things such as editing manual pages and so-on. The only
23388 English language mailing list seems to be for developers as well as
23389 users, so my inbox needs heavy pruning each day!&lt;/p&gt;
23390
23391 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
23392
23393 &lt;p&gt;Besides the software already mentioned at school we use Samba,
23394 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
23395 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
23396 use Ubuntu and an Android 4 eePad Transformer (but I&#39;m not sure if
23397 that counts...)&lt;/p&gt;
23398
23399 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
23400 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
23401
23402 &lt;p&gt;That&#39;s a tough question! For very many years UK schools installed
23403 and taught only proprietary software, so that at the highest levels
23404 the notion of &quot;computer&quot; means simply &quot;proprietary office
23405 applications&quot;. However, schools today are experiencing budget
23406 constraints, and many are having to think hard about upgrading Windows
23407 XP. At the same time, we have students showing teachers how to use
23408 iPads, MacBooks and Android, so the choice of operating system is no
23409 longer quite so automatic. What is more, our government at last
23410 realised that we need people with programming skills, so they&#39;re
23411 putting coding back in the curriculum! And it&#39;s encouraging that the
23412 first 10,000 Raspberry Pi units sold out in 2 hours.&lt;/p&gt;
23413
23414 &lt;p&gt;I don&#39;t really know what strategy is going to get UK schools to use
23415 free software, but building an active community of Skolelinux/Debian
23416 Edu users in this country has to be part of it.&lt;/p&gt;
23417 </description>
23418 </item>
23419
23420 <item>
23421 <title>Writing and translating documentation in Debian Edu</title>
23422 <link>https://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</link>
23423 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</guid>
23424 <pubDate>Fri, 16 Mar 2012 09:55:00 +0100</pubDate>
23425 <description>&lt;p&gt;Documentation in Debian Edu is provided in several languages, and
23426 it is important to make it both easy to contribute and to keep the
23427 translated versions in sync. To do this we have come up with what we
23428 believe is a very efficient work flow.&lt;/p&gt;
23429
23430 &lt;ol&gt;
23431
23432 &lt;li&gt;The documentation is written in a
23433 &lt;a href=&quot;http://moinmo.in&quot;&gt;moinmoin wiki&lt;/a&gt; (see for example
23434 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;the
23435 Squeeze release manual&lt;/a&gt;) with support for exporting the content as
23436 docbook XML.&lt;/li&gt;
23437
23438 &lt;li&gt;This docbook document is given to po4a to extract a gettext style
23439 .pot file with the content, which in turn is used to create .po files
23440 with the translated text.&lt;/li&gt;
23441
23442 &lt;li&gt;The .po files are given to translators, and they can always tell
23443 which part of the original wiki document is new or changed. They can
23444 use their normal translation tools like lokalize or poedit to write
23445 the translation. There is even a system in place to handle translated
23446 images.&lt;/li&gt;
23447
23448 &lt;li&gt;The translated .po files are combined with the original docbook
23449 XML document using po4a to create a translated docbook document.&lt;/li&gt;
23450
23451 &lt;li&gt;The final step is to use all the generated docbook files and
23452 create PDF and HTML version of the original and translated documents.&lt;/li&gt;
23453
23454 &lt;/ol&gt;
23455
23456 &lt;p&gt;This setup work very well, but have a few issues. The biggest
23457 issue is that &lt;a href=&quot;http://moinmo.in/DocBook&quot;&gt;the docbook support
23458 we use in moinmoin&lt;/a&gt; is not actively maintained. The docbook
23459 support is also buggy, and our build system contain workarounds to
23460 make sure the generated docbook is usable despite these bugs.&lt;/p&gt;
23461
23462 &lt;p&gt;If you want to have a look at our setup, it is all there in the
23463 &lt;a href=&quot;http://packages.qa.debian.org/debian-edu-doc&quot;&gt;debian-edu-doc
23464 package&lt;/a&gt;.&lt;/p&gt;
23465 </description>
23466 </item>
23467
23468 <item>
23469 <title>Skolelinux / Debian Edu Squeeze is out!</title>
23470 <link>https://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</link>
23471 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</guid>
23472 <pubDate>Sun, 11 Mar 2012 23:00:00 +0100</pubDate>
23473 <description>&lt;p&gt;This weekend we finally published the first stable release of
23474 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; based
23475 on Debian/Squeeze. The full announcement is
23476 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;available&lt;/a&gt;
23477 from the project announcement list. Now is a good time to test if it
23478 you have not done so already.&lt;/p&gt;
23479
23480 &lt;p&gt;I plan to present the new version at
23481 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20120313-skolelinux/&quot;&gt;a NUUG
23482 meeting&lt;/a&gt; on tuesday. I look forward to seeing you there if you are
23483 in Oslo, Norway.&lt;/p&gt;
23484 </description>
23485 </item>
23486
23487 <item>
23488 <title>Debian Edu interview: Nigel Barker</title>
23489 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</link>
23490 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</guid>
23491 <pubDate>Fri, 9 Mar 2012 11:30:00 +0100</pubDate>
23492 <description>&lt;p&gt;Inspired by &lt;a href=&quot;http://raphaelhertzog.com/tag/interview/&quot;&gt;the
23493 interview series&lt;/a&gt; conducted by Raphael, I started a Norwegian
23494 interview series with people involved in the Debian Edu / Skolelinux
23495 community. This was so popular that I believe it is time to move to a
23496 more international audience.&lt;/p&gt;
23497
23498 &lt;p&gt;While &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
23499 Skolelinux&lt;/a&gt; originated in France and Norway, and have most users in
23500 Europe, there are users all around the globe. One of those far away
23501 from me is Nigel Barker, a long time Debian Edu system administrator
23502 and contributor. It is thanks to him that Debian Edu is adjusted to
23503 work out of the box in Japan. I got him to answer a few questions,
23504 and am happy to share the response with you. :)
23505
23506
23507 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
23508
23509 &lt;p&gt;My name is Nigel Barker, and I am British. I am married to Yumiko,
23510 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
23511 Coordinator at Hiroshima International School, Japan. I am also a
23512 teacher, and in fact I spend most of my day teaching Mathematics,
23513 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
23514 I have always had an interest in computers. Another teacher teaches
23515 primary school IT, but apart from that I am the only computer person,
23516 so that means I am the network manager, technician and webmaster,
23517 also, and I help people with their computer problems. I teach python
23518 to beginners in an after-school club. I am way too busy, so I really
23519 appreciate the simplicity of Skolelinux.&lt;/p&gt;
23520
23521 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
23522 project?&lt;/strong&gt;&lt;/p&gt;
23523
23524 &lt;p&gt;In around 2004 or 5 I discovered the ltsp project, and set up a
23525 server in the IT lab. I wanted some way to connect it to our central
23526 samba server, which I was also quite poor at configuring. I discovered
23527 Edubuntu when it came out, but it didn&#39;t really improve my setup. I
23528 did various desperate searches for things like &quot;school Linux server&quot;
23529 and ended up in a document called &quot;Drift&quot; something or other. Reading
23530 there it became clear that Skolelinux was going to solve all my
23531 problems in one go. I was very excited, but apprehensive, because my
23532 previous attempts to install Debian had ended in failure (I used
23533 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
23534 downloaded a beta version, had some problems, so subscribed to the
23535 Debian Edu list for help. I have remained subscribed ever since, and
23536 my school has run a Skolelinux network since Sarge.&lt;/p&gt;
23537
23538 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
23539 Edu?&lt;/strong&gt;&lt;/p&gt;
23540
23541 &lt;p&gt;For me the integrated setup. This is not just the server, or the
23542 workstation, or the ltsp. Its all of them, and its all configured
23543 ready to go. I read somewhere in the early documentation that it is
23544 designed to be setup and managed by the Maths or Science teacher, who
23545 doesn&#39;t necessarily know much about computers, in a small Norwegian
23546 school. That describes me perfectly if you replace Norway with
23547 Japan.&lt;/p&gt;
23548
23549 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
23550 Edu?&lt;/strong&gt;&lt;/p&gt;
23551
23552 &lt;p&gt;The desktop is fairly plain. If you compare it with Edubuntu, who
23553 have fun themes for children, or with distributions such as Mint, who
23554 make the desktop beautiful. They create a good impression on people
23555 who don&#39;t need to understand how to use any of it, but who might be
23556 important to the school. School administrators or directors, for
23557 instance, or parents. Even kids. Debian itself usually has ugly
23558 default theme settings. It was my dream a few years back that some
23559 kind of integration would allow Edubuntu to do the desktop stuff and
23560 Debian Edu the servers, but now I realise how impossible that is. A
23561 second disadvantage is that if something goes wrong, or you need to
23562 customise something, then suddenly the level of expertise required
23563 multiplies. For example, backup wasn&#39;t working properly in Lenny. It
23564 took me ages to learn how to set up my own server to do rsync backups.
23565 I am afraid of anything to do with ldap, but perhaps Gosa will
23566 help.&lt;/p&gt;
23567
23568 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
23569
23570 &lt;p&gt;Nowadays I only use Debian on my personal computers. I have one for
23571 studio work (I play guitar and write songs), running AV Linux
23572 (customised Debian) a netbook running Squeeze, and a bigger laptop
23573 still running Skolelinux Lenny workstation. I have a Tjener in my
23574 house, that&#39;s very useful for the family photos and music. At school
23575 the students only use Skolelinux. (Some teachers and the office still
23576 have windows). So that means we only use free software all day every
23577 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
23578 installed on every computer in school, irrespective of OS. We also
23579 have Koha on Debian for the library, and Apache, Moodle, b2evolution
23580 and Etomite on Debian for the www. The firewall is Untangle.&lt;/p&gt;
23581
23582 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
23583 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
23584
23585 &lt;p&gt;Current trends are in our favour. Open source is big in industry,
23586 and ordinary people have heard of it. The spread of Android and the
23587 popularity of Apple have helped to weaken the impression that you have
23588 to have Microsoft on everything. People complain to me much less about
23589 file formats and Word than they did 5 years ago. The Edu aspect is
23590 also a selling point. This is all customised for schools. Where is the
23591 Windows-edu, or the Mac-edu? But of course the main attraction is
23592 budget.The trick is to convince people that the quality is not
23593 compromised when you stop paying and use free software instead. That
23594 is one reason why I say the desktop experience is a weakness. People
23595 are not impressed when their USB drive doesn&#39;t work, or their browser
23596 doesn&#39;t play flash, for example.&lt;/p&gt;
23597 </description>
23598 </item>
23599
23600 <item>
23601 <title>Debian Edu screencast: Mass creation of user accounts in Squeeze</title>
23602 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</link>
23603 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</guid>
23604 <pubDate>Wed, 7 Mar 2012 13:40:00 +0100</pubDate>
23605 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
23606
23607 &lt;p&gt;One of the Debian Edu developers, Wolfgang Schweer, just created a
23608 screen cast documenting how to create a lot of new users in LDAP on
23609 Debian Edu Squeeze. The video is embedded here in quarter size, and
23610 also available from &lt;a href=&quot;http://vimeo.com/37675399&quot;&gt;vimeo&lt;/a&gt; and
23611 download as a
23612 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg
23613 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
23614
23615 &lt;p&gt;&lt;video id=&quot;gosa-mass-user-create-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
23616 &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;
23617 &lt;p&gt;Download video as
23618 &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;
23619 &lt;/video&gt;&lt;/p&gt;
23620 </description>
23621 </item>
23622
23623 <item>
23624 <title>Third release candidate of Debian Edu / Skolelinux based on Squeeze</title>
23625 <link>https://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
23626 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
23627 <pubDate>Sun, 4 Mar 2012 18:20:00 +0100</pubDate>
23628 <description>&lt;p&gt;This weekend we wrapped up and published the third release
23629 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
23630 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement is
23631 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html&quot;&gt;available&lt;/a&gt;
23632 from the project announcement list. Check it out if you
23633 need a software solution for your school.&lt;/p&gt;
23634 </description>
23635 </item>
23636
23637 <item>
23638 <title>Stopmotion for making stop motion animations on Linux - reloaded</title>
23639 <link>https://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</link>
23640 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</guid>
23641 <pubDate>Sat, 3 Mar 2012 12:50:00 +0100</pubDate>
23642 <description>&lt;p&gt;Many years ago, the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
23643 / Debian Edu project&lt;/a&gt; initiated a student project to create a tool
23644 for making stop motion movies. The proposal came from a teacher
23645 needing such tool on Skolelinux. The project, called &quot;stopmotion&quot;,
23646 was manned by two extraordinary students and won a school award and a
23647 national aware with this great project. The project was initiated and
23648 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
23649 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
23650 Animation studio and received feedback on how professionals would like
23651 such stopmotion tool to work, and the end result was and is used by
23652 animators around the globe. But as is usual after studying, both got
23653 jobs and went elsewhere, and did not have time to properly tend to the
23654 project, and it has been lingering for a few years now. Until last
23655 year...&lt;/p&gt;
23656
23657 &lt;p&gt;Last year some of the users got together with Herman, and moved the
23658 project to Sourceforge and in effect restarted the project under a new
23659 name,
23660 &lt;a href=&quot;http://sourceforge.net/projects/linuxstopmotion/&quot;&gt;linuxstopmotion&lt;/a&gt;.
23661 The name change was done to make it possible to find the project using
23662 Internet search engines (try to search for &#39;stopmotion&#39; to see what I
23663 mean). I&#39;ve been following
23664 &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community&quot;&gt;the
23665 mailing list&lt;/a&gt; and the improvement already in place and planned for
23666 the future is encouraging. If you want to make stop motion movies.
23667 Check it out. :)&lt;/p&gt;
23668 </description>
23669 </item>
23670
23671 <item>
23672 <title>Second release candidate of Debian Edu / Skolelinux based on Squeeze</title>
23673 <link>https://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
23674 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
23675 <pubDate>Mon, 27 Feb 2012 14:00:00 +0100</pubDate>
23676 <description>&lt;p&gt;This weekend we wrapped up and published the second release
23677 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
23678 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement did for some
23679 reason not make it the project announcement list, but is
23680 &lt;a href=&quot;http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html&quot;&gt;available&lt;/a&gt;
23681 from the Debian development announcement list. Check it out if you
23682 need a software solution for your school.&lt;/p&gt;
23683 </description>
23684 </item>
23685
23686 <item>
23687 <title>First release candidate of Debian Edu / Skolelinux based on Squeeze</title>
23688 <link>https://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
23689 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
23690 <pubDate>Sun, 19 Feb 2012 23:10:00 +0100</pubDate>
23691 <description>&lt;p&gt;One week delayed due to DVD build problems, we managed today to
23692 wrap up and publish the first release candidate for
23693 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
23694 on Squeeze. The full announcement is
23695 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html&quot;&gt;available&lt;/a&gt;
23696 on the project announcement list. Check it out if you need a software
23697 solution for your school.&lt;/p&gt;
23698 </description>
23699 </item>
23700
23701 <item>
23702 <title>How to figure out which RAID disk to replace when it fail</title>
23703 <link>https://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</link>
23704 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</guid>
23705 <pubDate>Tue, 14 Feb 2012 21:25:00 +0100</pubDate>
23706 <description>&lt;p&gt;Once in a while my home server have disk problems. Thanks to Linux
23707 Software RAID, I have not lost data yet (but
23708 &lt;a href=&quot;http://comments.gmane.org/gmane.linux.raid/34532&quot;&gt;I was
23709 close&lt;/a&gt; this summer :). But once a disk is starting to behave
23710 funny, a practical problem present itself. How to get from the Linux
23711 device name (like /dev/sdd) to something that can be used to identify
23712 the disk when the computer is turned off? In my case I have SATA
23713 disks with a unique ID printed on the label. All I need is a way to
23714 figure out how to query the disk to get the ID out.&lt;/p&gt;
23715
23716 &lt;p&gt;After fumbling a bit, I
23717 &lt;a href=&quot;http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/&quot;&gt;found
23718 that hdparm -I&lt;/a&gt; will report the disk serial number, which is
23719 printed on the disk label. The following (almost) one-liner can be
23720 used to look up the ID of all the failed disks:&lt;/p&gt;
23721
23722 &lt;blockquote&gt;&lt;pre&gt;
23723 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);
23724 do
23725 printf &quot;Failed disk $d: &quot;
23726 hdparm -I /dev/$d |grep &#39;Serial Num&#39;
23727 done
23728 &lt;/blockquote&gt;&lt;/pre&gt;
23729
23730 &lt;p&gt;Putting it here to make sure I do not have to search for it the
23731 next time, and in case other find it useful.&lt;/p&gt;
23732
23733 &lt;p&gt;At the moment I have two failing disk. :(&lt;/p&gt;
23734
23735 &lt;blockquote&gt;&lt;pre&gt;
23736 Failed disk sdd1: Serial Number: WD-WCASJ1860823
23737 Failed disk sdd2: Serial Number: WD-WCASJ1860823
23738 Failed disk sde2: Serial Number: WD-WCASJ1840589
23739 &lt;/blockquote&gt;&lt;/pre&gt;
23740
23741 &lt;p&gt;The last time I had failing disks, I added the serial number on
23742 labels I printed and stuck on the short sides of each disk, to be able
23743 to figure out which disk to take out of the box without having to
23744 remove each disk to look at the physical vendor label. The vendor
23745 label is at the top of the disk, which is hidden when the disks are
23746 mounted inside my box.&lt;/p&gt;
23747
23748 &lt;p&gt;I really wish the check_linux_raid Nagios plugin for checking Linux
23749 Software RAID in the
23750 &lt;a href=&quot;http://packages.qa.debian.org/n/nagios-plugins.html&quot;&gt;nagios-plugins-standard&lt;/a&gt;
23751 debian package would look up this value automatically, as it would
23752 make the plugin a lot more useful when my disks fail. At the moment
23753 it only report a failure when there are no more spares left (it really
23754 should warn as soon as a disk is failing), and it do not tell me which
23755 disk(s) is failing when the RAID is running short on disks.&lt;/p&gt;
23756 </description>
23757 </item>
23758
23759 <item>
23760 <title>Automatic proxy configuration with Debian Edu / Skolelinux</title>
23761 <link>https://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</link>
23762 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</guid>
23763 <pubDate>Mon, 13 Feb 2012 23:40:00 +0100</pubDate>
23764 <description>&lt;p&gt;New in the Squeeze version of
23765 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is the
23766 ability for clients to automatically configure their proxy settings
23767 based on their environment. We want all systems on the client to use
23768 the WPAD based proxy definition fetched from &lt;tt&gt;http://wpad/wpad.dat&lt;/tt&gt;, to
23769 allow sites to control the proxy setting from a central place and make
23770 sure clients do not have hard coded proxy settings. The schools can
23771 change the global proxy setting by editing
23772 &lt;tt&gt;tjener:/etc/debian-edu/www/wpad.dat&lt;/tt&gt; and the change propagate
23773 to all Debian Edu clients in the network.&lt;/p&gt;
23774
23775 &lt;p&gt;The problem is that some systems do not understand the WPAD system.
23776 In other words, how do one get from a WPAD file like this (this is a
23777 simple one, they can run arbitrary code):&lt;/p&gt;
23778
23779 &lt;blockquote&gt;&lt;pre&gt;
23780 function FindProxyForURL(url, host)
23781 {
23782 if (!isResolvable(host) ||
23783 isPlainHostName(host) ||
23784 dnsDomainIs(host, &quot;.intern&quot;))
23785 return &quot;DIRECT&quot;;
23786 else
23787 return &quot;PROXY webcache:3128; DIRECT&quot;;
23788 }
23789 &lt;/pre&gt;&lt;/blockquote&gt;
23790
23791 &lt;p&gt;to a proxy setting in the process environment looking like this:&lt;/p&gt;
23792
23793 &lt;blockquote&gt;&lt;pre&gt;
23794 http_proxy=http://webcache:3128/
23795 ftp_proxy=http://webcache:3128/
23796 &lt;/pre&gt;&lt;/blockquote&gt;
23797
23798 &lt;p&gt;To do this conversion I developed a perl script that will execute
23799 the javascript fragment in the WPAD file and return the proxy that
23800 would be used for
23801 &lt;tt&gt;&lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt;&lt;/tt&gt;,
23802 and insert this extracted proxy URL in &lt;tt&gt;/etc/environment&lt;/tt&gt; and
23803 &lt;tt&gt;/etc/apt/apt.conf&lt;/tt&gt;. The perl script wpad-extract work just
23804 fine in Squeeze, but in Wheezy the library it need to run the
23805 javascript code is &lt;a href=&quot;http://bugs.debian.org/631045&quot;&gt;no longer
23806 able to build&lt;/a&gt; because the C library it depended on is now a C++
23807 library. I hope someone find a solution to that problem before Wheezy
23808 is frozen. An alternative would be for us to rewrite wpad-extract to
23809 use some other javascript library currently working in Wheezy, but no
23810 known alternative is known at the moment.&lt;/p&gt;
23811
23812 &lt;p&gt;This automatic proxy system allow the roaming workstation (aka
23813 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
23814 is connected to the backbone network in a Debian Edu setup, and to
23815 automatically use any proxy present and announced using the WPAD
23816 feature when it is connected to other networks. And if no proxy is
23817 announced, direct connections will be used instead.&lt;/p&gt;
23818
23819 &lt;p&gt;Silently using a proxy announced on the network might be a privacy
23820 or security problem. But those controlling DHCP and DNS on a network
23821 could just as easily set up a transparent proxy, and force all HTTP
23822 and FTP connections to use a proxy anyway, so I consider that
23823 distinction to be academic. If you are afraid of using the wrong
23824 proxy, you should avoid connecting to the network in question in the
23825 first place. In Debian Edu, the proxy setup is updated using dhcp and
23826 ifupdown hooks, to make sure the configuration is updated every time
23827 the network setup changes.&lt;/p&gt;
23828
23829 &lt;p&gt;The WPAD system is documented in a
23830 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-wrec-wpad-01&quot;&gt;IETF
23831 draft&lt;/a&gt; and a
23832 &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol&quot;&gt;Wikipedia
23833 page&lt;/a&gt; for those that want to learn more.&lt;/p&gt;
23834 </description>
23835 </item>
23836
23837 <item>
23838 <title>Saving power with Debian Edu / Skolelinux using shutdown-at-night</title>
23839 <link>https://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</link>
23840 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</guid>
23841 <pubDate>Sun, 5 Feb 2012 09:45:00 +0100</pubDate>
23842 <description>&lt;p&gt;Since the Lenny version of
23843 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, a
23844 feature to save power have been included. It is as simple as it is
23845 practical: Shut down unused clients at night, and turn them on again
23846 in the morning. This is done using the
23847 &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;
23848
23849 &lt;p&gt;To enable this feature on a client, the machine need to be added to
23850 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
23851 LDAP, and once this is in place, the machine in question will check
23852 every hour from 16:00 until 06:00 to see if the machine is unused, and
23853 shut it down if it is. If the hardware in question is supported by
23854 the
23855 &lt;a href=&quot;http://packages.qa.debian.org/n/nvram-wakeup.html&quot;&gt;nvram-wakeup&lt;/a&gt;
23856 package, the BIOS is told to turn the machine back on around 07:00 +-
23857 10 minutes. If this isn&#39;t working, one can configure wake-on-lan to
23858 try to turn on the client. The wake-on-lan option is only documented
23859 and not enabled by default in Debian Edu.&lt;/p&gt;
23860
23861 &lt;p&gt;It is important to not turn all machines on at once, as this can
23862 blow a fuse if several computers are connected to the same fuse like
23863 the common setup for a classroom. The nvram-wakeup method only work
23864 for machines with a functioning hardware/BIOS clock. I&#39;ve seen old
23865 machines where the BIOS battery were dead and the hardware clock were
23866 starting from 0 (or was it 1990?) every boot. If you have one of
23867 those, you have to turn on the computer manually.&lt;/p&gt;
23868
23869 &lt;p&gt;The shutdown-at-night package is completely self contained, and can
23870 also be used outside the Debian Edu environment. For those without a
23871 central LDAP server with netgroups, one can instead touch the file
23872 &lt;tt&gt;/etc/shutdown-at-night/shutdown-at-night&lt;/tt&gt; to enable it.
23873 Perhaps you too can use it to save some power?&lt;/p&gt;
23874 </description>
23875 </item>
23876
23877 <item>
23878 <title>Third beta version of Debian Edu / Skolelinux based on Squeeze</title>
23879 <link>https://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
23880 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
23881 <pubDate>Sat, 4 Feb 2012 13:25:00 +0100</pubDate>
23882 <description>&lt;p&gt;I am happy to announce that finally we managed today to wrap up and
23883 publish the third beta version of
23884 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
23885 on Squeeze. If you want to test a LDAP backed Kerberos server with
23886 out of the box PXE configuration for running diskless machines and
23887 installing new machines, check it out. If you need a software
23888 solution for your school, check it out too. The full announcement is
23889 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html&quot;&gt;available&lt;/a&gt;
23890 on the project announcement list.&lt;/p&gt;
23891
23892 &lt;p&gt;I am very happy to report these changes and improvements since
23893 beta2 (there are more, see announcement for full list):&lt;/p&gt;
23894
23895 &lt;ul&gt;
23896
23897 &lt;li&gt;It is now possible to change the pre-configured IP subnet from
23898 10.0.0.0/8 to something else by using the subnet-change tool after
23899 the installation.&lt;/li&gt;
23900
23901 &lt;li&gt;Too full partitions are now automatically extended on the Main
23902 Server, based on the rules specified in /etc/fsautoresizetab.&lt;/li&gt;
23903
23904 &lt;li&gt;The CUPS queues are now automatically flushed every night, and all
23905 disabled queues are restarted every hour. This should cut down on
23906 the amount of manual administration needed for printers.&lt;/li&gt;
23907
23908 &lt;li&gt;The set of initial users have been changed. Now a personal user
23909 for the local system administrator is created during installation
23910 instead of the previously created localadmin and super-admin users,
23911 and this user is granted administrative privileges using group
23912 membership. This reduces the number of passwords one need to keep
23913 up to date on the system.&lt;/li&gt;
23914
23915 &lt;/ul&gt;
23916
23917 &lt;p&gt;The new main server seem to work so well that I am testing it as my
23918 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
23919 for issues we could fix to polish Debian Edu even further before the
23920 final Squeeze release is published.&lt;/p&gt;
23921
23922 &lt;p&gt;Next weekend the project organise a
23923 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html&quot;&gt;developer
23924 gathering&lt;/a&gt; in Oslo. We will continue the work on the Squeeze
23925 version, and start initial planning for the Wheezy version. Perhaps I
23926 will see you there?&lt;/p&gt;
23927 </description>
23928 </item>
23929
23930 <item>
23931 <title>Handling non-free firmware in Debian Edu/Squeeze</title>
23932 <link>https://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</link>
23933 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</guid>
23934 <pubDate>Fri, 27 Jan 2012 23:30:00 +0100</pubDate>
23935 <description>&lt;p&gt;With some computer hardware, one need non-free firmware blobs.
23936 This is the sad fact of todays computers. In the next version of
23937 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
23938 on Squeeze, we provide several scripts and modifications to make
23939 firmware blobs easier to handle. The common use case I run into is a
23940 laptop with a wireless network card requiring non-free firmware to
23941 work, but there are other use cases as well.&lt;/p&gt;
23942
23943 &lt;p&gt;First and foremost, Debian Edu provide ISO images for DVD and CD
23944 with all firmware packages in the Debian sections main and non-free
23945 included, to ensure debian-installer find and can install all of them
23946 during installation. This take care firmware for network devices used
23947 by the installer when installing from from local media. But for
23948 example multimedia devices are not activated in the installer and are
23949 not taken care of by this.&lt;/p&gt;
23950
23951 &lt;p&gt;For non-network devices, we provide the script
23952 &lt;tt&gt;/usr/share/debian-edu-config/tools/auto-addfirmware&lt;/tt&gt; which
23953 search through the &lt;tt&gt;dmesg&lt;/tt&gt; output for drivers requesting extra
23954 firmware. The firmware file name is looked up in the Contents-ARCH.gz
23955 file available in the package repository, and the packages providing
23956 the requested firmware file(s) is installed. I have proposed to do
23957 something similar in debian-installer (BTS report
23958 &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;#655507&lt;/a&gt;), to allow PXE
23959 installs of Debian to handle firmware installation better. Run the
23960 script as root from the command line to fetch and install the needed
23961 firmware packages.&lt;/p&gt;
23962
23963 &lt;p&gt;Debian Edu provide PXE installation of Debian out of the box, and
23964 because some machines need firmware to get their network cards
23965 working, the installation initrd some times need extra firmware
23966 included to be able to install at all. To fill the PXE installation
23967 initrd with extra firmware, the
23968 &lt;tt&gt;/usr/share/debian-edu-config/tools/pxe-addfirmware&lt;/tt&gt; script is
23969 provided. Again, just run it as root on the command line to fill the
23970 PXE initrd with firmware packages.&lt;/p&gt;
23971
23972 &lt;p&gt;Last, some LTSP clients might also need firmware to get their
23973 network cards working. For this,
23974 &lt;tt&gt;/usr/share/debian-edu-config/tools/ltsp-addfirmware&lt;/tt&gt; is
23975 provided to update the LTSP initrd with firmware blobs. It is used
23976 the same way as the other firmware related tools.&lt;/p&gt;
23977
23978 &lt;p&gt;At the moment, we do not run any of these during installation. We
23979 do not know if this is acceptable for the local administrator to use
23980 non-free software, and it is their choice.&lt;/p&gt;
23981
23982 &lt;p&gt;We plan to release beta3 this weekend. You might want to give it a
23983 try.&lt;/p&gt;
23984 </description>
23985 </item>
23986
23987 <item>
23988 <title>Setting up a new school with Debian Edu/Squeeze</title>
23989 <link>https://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</link>
23990 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</guid>
23991 <pubDate>Wed, 25 Jan 2012 21:00:00 +0100</pubDate>
23992 <description>&lt;p&gt;The next version of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu
23993 / Skolelinux&lt;/a&gt; will include a new tool
23994 &lt;tt&gt;sitesummary2ldapdhcp&lt;/tt&gt;, which can be used to quickly set up all
23995 the computers in a school without much manual labour. Here is a short
23996 summary on how to use it to set up a new school.&lt;/p&gt;
23997
23998 &lt;p&gt;First, install a combined Main Server and Thin Client Server as the
23999 central server in the network. Next, PXE boot all the client machines
24000 as thin clients and wait 5 minutes after the last client booted to
24001 allow the clients to report their existence to the central server. When
24002 this is done, log on to the central server and run
24003 &lt;tt&gt;sitesummary2ldapdhcp -a&lt;/tt&gt; in the &lt;tt&gt;konsole&lt;/tt&gt; to use the
24004 collected information to generate system objects in LDAP. The output
24005 will look similar to this:&lt;/p&gt;
24006
24007 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
24008 % sitesummary2ldapdhcp -a
24009 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
24010 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.
24011
24012 Enter password if you want to activate these changes, and ^c to abort.
24013
24014 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
24015 enter password: *******
24016 %
24017 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
24018
24019 &lt;p&gt;After providing the LDAP administrative password (the same as the
24020 root password set during installation), the LDAP database will be
24021 populated with system objects for each PXE booted machine with
24022 automatically generated names. The final step to set up the school is
24023 then to log into &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa&lt;/a&gt;,
24024 the web based user, group and system administration system to change
24025 system names, add systems to the correct host groups and finally
24026 enable DHCP and DNS for the systems. All clients that should be used
24027 as diskless workstations should be added to the workstation-hosts
24028 group. After this is done, all computers can be booted again via PXE
24029 and get their assigned names and group based configuration
24030 automatically.&lt;/p&gt;
24031
24032 &lt;p&gt;We plan to release beta3 with the updated version of this feature
24033 enabled this weekend. You might want to give it a try.&lt;/p&gt;
24034
24035 &lt;p&gt;Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
24036 hosts, one need to add the option -a. I forgot to mention this in my
24037 original text, and have added it to the text now.&lt;/p&gt;
24038 </description>
24039 </item>
24040
24041 <item>
24042 <title>Changing the default Iceweasel start page in Debian Edu/Squeeze</title>
24043 <link>https://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</link>
24044 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</guid>
24045 <pubDate>Tue, 10 Jan 2012 15:30:00 +0100</pubDate>
24046 <description>&lt;p&gt;In the Squeeze version of
24047 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; soon
24048 to be released, users of the system will get their default browser
24049 start page set from LDAP, allowing the system administrator to point
24050 all users to the school web page by updating one setting in LDAP. In
24051 addition to setting the default start page when a machine boots, users
24052 are shown the same page as a welcome page when they log in for the
24053 first time.&lt;/p&gt;
24054
24055 &lt;p&gt;The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
24056 labeledURI with &quot;http://www/ LDAP for Debian Edu/Skolelinux&quot; as the
24057 default content. By changing this value to another URL, all users get
24058 to see the page behind this new URL.&lt;/p&gt;
24059
24060 &lt;p&gt;An easy way to update it is by using the ldapvi tool. It can be
24061 called as &quot;&lt;tt&gt;ldapvi -ZD &#39;(cn=admin)&#39;&lt;/tt&gt;&#39; to update LDAP with the
24062 new setting.&lt;/p&gt;
24063
24064 &lt;p&gt;We have written the code to adjust the default start page and show
24065 the welcome page, and I wonder if there is an easier way to do this
24066 from within Iceweasel instead.&lt;/p&gt;
24067 </description>
24068 </item>
24069
24070 <item>
24071 <title>Second beta version of Debian Edu / Skolelinux based on Squeeze</title>
24072 <link>https://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
24073 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
24074 <pubDate>Sat, 7 Jan 2012 22:50:00 +0100</pubDate>
24075 <description>&lt;p&gt;I am happy to announce that today we managed to wrap up and publish
24076 the second beta version of
24077 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;. If
24078 you want to test a LDAP backed Kerberos server with out of the box PXE
24079 configuration for running diskless machines and installing new
24080 machines, check it out. If you need a software solution for your
24081 school, check it out too. The full announcement is
24082 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html&quot;&gt;available&lt;/a&gt;
24083 on the project announcement list.&lt;/p&gt;
24084 </description>
24085 </item>
24086
24087 <item>
24088 <title>Fixing an hanging debian installer for Debian Edu</title>
24089 <link>https://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</link>
24090 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</guid>
24091 <pubDate>Tue, 3 Jan 2012 11:25:00 +0100</pubDate>
24092 <description>&lt;p&gt;During christmas, I have been working getting the next version of
24093 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ready
24094 for release. The initial problem I looked at was particularly
24095 interesting.&lt;/p&gt;
24096
24097 &lt;P&gt;The installer would hang at the end when it was doing it
24098 post-installation configuration, and whatevery I did to try to find
24099 the cause and fix it always worked while I tested it, but never when I
24100 integrated it into the installer and ran the installation from
24101 scratch. I would try to restart processes, close file descriptors,
24102 remove or create files, and the installer would always unblock and
24103 wrap up its tasks.&lt;/p&gt;
24104
24105 &lt;p&gt;Eventually the cause was found. The kernel was simply running out
24106 of entropy, causing the Kerberos setup to hang waiting for more.
24107 Pressing keys was adding entropy to the kernel, and thus all my tries
24108 to fix the problem worked not because what I was typing to fix it, but
24109 because I was typing.&lt;/P&gt;
24110
24111 &lt;p&gt;The fix I implemented was to add a background process looking at
24112 the level of entropy in the kernel (by checking
24113 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
24114 installer will flush the kernel file buffers and do &#39;find /&#39; to
24115 generate some disk IO. Disk IO generate entropy in the kernel, and is
24116 one of the few things that can be initated from within the system to
24117 generate entropy.&lt;/p&gt;
24118
24119 &lt;p&gt;The fix is in
24120 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation&quot;&gt;beta1
24121 of the Debian Edu/Squeeze&lt;/a&gt; version, and we
24122 &lt;a href=&quot;http://wiki.debian.org/DebianEdu&quot;&gt;welcome more testers and
24123 developers&lt;/a&gt;. We plan to release beta2 this weekend.&lt;/p&gt;
24124 </description>
24125 </item>
24126
24127 <item>
24128 <title>Automatically upgrading server firmware on Dell PowerEdge</title>
24129 <link>https://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</link>
24130 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</guid>
24131 <pubDate>Mon, 21 Nov 2011 12:00:00 +0100</pubDate>
24132 <description>&lt;p&gt;At work we have heaps of servers. I believe the total count is
24133 around 1000 at the moment. To be able to get help from the vendors
24134 when something go wrong, we want to keep the firmware on the servers
24135 up to date. If the firmware isn&#39;t the latest and greatest, the
24136 vendors typically refuse to start debugging any problems until the
24137 firmware is upgraded. So before every reboot, we want to upgrade the
24138 firmware, and we would really like everyone handling servers at the
24139 university to do this themselves when they plan to reboot a machine.
24140 For that to happen we at the unix server admin group need to provide
24141 the tools to do so.&lt;/p&gt;
24142
24143 &lt;p&gt;To make firmware upgrading easier, I am working on a script to
24144 fetch and install the latest firmware for the servers we got. Most of
24145 our hardware are from Dell and HP, so I have focused on these servers
24146 so far. This blog post is about the Dell part.&lt;/P&gt;
24147
24148 &lt;p&gt;On the Dell FTP site I was lucky enough to find
24149 &lt;a href=&quot;ftp://ftp.us.dell.com/catalog/Catalog.xml.gz&quot;&gt;an XML file&lt;/a&gt;
24150 with firmware information for all 11th generation servers, listing
24151 which firmware should be used on a given model and where on the FTP
24152 site I can find it. Using a simple perl XML parser I can then
24153 download the shell scripts Dell provides to do firmware upgrades from
24154 within Linux and reboot when all the firmware is primed and ready to
24155 be activated on the first reboot.&lt;/p&gt;
24156
24157 &lt;p&gt;This is the Dell related fragment of the perl code I am working on.
24158 Are there anyone working on similar tools for firmware upgrading all
24159 servers at a site? Please get in touch and lets share resources.&lt;/p&gt;
24160
24161 &lt;p&gt;&lt;pre&gt;
24162 #!/usr/bin/perl
24163 use strict;
24164 use warnings;
24165 use File::Temp qw(tempdir);
24166 BEGIN {
24167 # Install needed RHEL packages if missing
24168 my %rhelmodules = (
24169 &#39;XML::Simple&#39; =&gt; &#39;perl-XML-Simple&#39;,
24170 );
24171 for my $module (keys %rhelmodules) {
24172 eval &quot;use $module;&quot;;
24173 if ($@) {
24174 my $pkg = $rhelmodules{$module};
24175 system(&quot;yum install -y $pkg&quot;);
24176 eval &quot;use $module;&quot;;
24177 }
24178 }
24179 }
24180 my $errorsto = &#39;pere@hungry.com&#39;;
24181
24182 upgrade_dell();
24183
24184 exit 0;
24185
24186 sub run_firmware_script {
24187 my ($opts, $script) = @_;
24188 unless ($script) {
24189 print STDERR &quot;fail: missing script name\n&quot;;
24190 exit 1
24191 }
24192 print STDERR &quot;Running $script\n\n&quot;;
24193
24194 if (0 == system(&quot;sh $script $opts&quot;)) { # FIXME correct exit code handling
24195 print STDERR &quot;success: firmware script ran succcessfully\n&quot;;
24196 } else {
24197 print STDERR &quot;fail: firmware script returned error\n&quot;;
24198 }
24199 }
24200
24201 sub run_firmware_scripts {
24202 my ($opts, @dirs) = @_;
24203 # Run firmware packages
24204 for my $dir (@dirs) {
24205 print STDERR &quot;info: Running scripts in $dir\n&quot;;
24206 opendir(my $dh, $dir) or die &quot;Unable to open directory $dir: $!&quot;;
24207 while (my $s = readdir $dh) {
24208 next if $s =~ m/^\.\.?/;
24209 run_firmware_script($opts, &quot;$dir/$s&quot;);
24210 }
24211 closedir $dh;
24212 }
24213 }
24214
24215 sub download {
24216 my $url = shift;
24217 print STDERR &quot;info: Downloading $url\n&quot;;
24218 system(&quot;wget --quiet \&quot;$url\&quot;&quot;);
24219 }
24220
24221 sub upgrade_dell {
24222 my @dirs;
24223 my $product = `dmidecode -s system-product-name`;
24224 chomp $product;
24225
24226 if ($product =~ m/PowerEdge/) {
24227
24228 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
24229 system(&#39;yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail&#39;);
24230
24231 my $tmpdir = tempdir(
24232 CLEANUP =&gt; 1
24233 );
24234 chdir($tmpdir);
24235 fetch_dell_fw(&#39;catalog/Catalog.xml.gz&#39;);
24236 system(&#39;gunzip Catalog.xml.gz&#39;);
24237 my @paths = fetch_dell_fw_list(&#39;Catalog.xml&#39;);
24238 # -q is quiet, disabling interactivity and reducing console output
24239 my $fwopts = &quot;-q&quot;;
24240 if (@paths) {
24241 for my $url (@paths) {
24242 fetch_dell_fw($url);
24243 }
24244 run_firmware_scripts($fwopts, $tmpdir);
24245 } else {
24246 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
24247 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
24248 }
24249 chdir(&#39;/&#39;);
24250 } else {
24251 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
24252 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
24253 }
24254 }
24255
24256 sub fetch_dell_fw {
24257 my $path = shift;
24258 my $url = &quot;ftp://ftp.us.dell.com/$path&quot;;
24259 download($url);
24260 }
24261
24262 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
24263 # firmware packages to download from Dell. Only work for Linux
24264 # machines and 11th generation Dell servers.
24265 sub fetch_dell_fw_list {
24266 my $filename = shift;
24267
24268 my $product = `dmidecode -s system-product-name`;
24269 chomp $product;
24270 my ($mybrand, $mymodel) = split(/\s+/, $product);
24271
24272 print STDERR &quot;Finding firmware bundles for $mybrand $mymodel\n&quot;;
24273
24274 my $xml = XMLin($filename);
24275 my @paths;
24276 for my $bundle (@{$xml-&gt;{SoftwareBundle}}) {
24277 my $brand = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Display}-&gt;{content};
24278 my $model = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Model}-&gt;{Display}-&gt;{content};
24279 my $oscode;
24280 if (&quot;ARRAY&quot; eq ref $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}) {
24281 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}[0]-&gt;{osCode};
24282 } else {
24283 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}-&gt;{osCode};
24284 }
24285 if ($mybrand eq $brand &amp;&amp; $mymodel eq $model &amp;&amp; &quot;LIN&quot; eq $oscode)
24286 {
24287 @paths = map { $_-&gt;{path} } @{$bundle-&gt;{Contents}-&gt;{Package}};
24288 }
24289 }
24290 for my $component (@{$xml-&gt;{SoftwareComponent}}) {
24291 my $componenttype = $component-&gt;{ComponentType}-&gt;{value};
24292
24293 # Drop application packages, only firmware and BIOS
24294 next if &#39;APAC&#39; eq $componenttype;
24295
24296 my $cpath = $component-&gt;{path};
24297 for my $path (@paths) {
24298 if ($cpath =~ m%/$path$%) {
24299 push(@paths, $cpath);
24300 }
24301 }
24302 }
24303 return @paths;
24304 }
24305 &lt;/pre&gt;
24306
24307 &lt;p&gt;The code is only tested on RedHat Enterprise Linux, but I suspect
24308 it could work on other platforms with some tweaking. Anyone know a
24309 index like Catalog.xml is available from HP for HP servers? At the
24310 moment I maintain a similar list manually and it is quickly getting
24311 outdated.&lt;/p&gt;
24312 </description>
24313 </item>
24314
24315 <item>
24316 <title>Free e-book kiosk for the public libraries?</title>
24317 <link>https://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</link>
24318 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</guid>
24319 <pubDate>Fri, 7 Oct 2011 19:20:00 +0200</pubDate>
24320 <description>&lt;p&gt;Here in Norway the public libraries are debating with the
24321 publishing houses how to handle electronic books. Surprisingly, the
24322 libraries seem to be willing to accept digital restriction mechanisms
24323 (DRM) on books and renting e-books with artificial scarcity from the
24324 publishing houses. Time limited renting (2-3 years) is one proposed
24325 model, and only allowing X borrowers for each book is another.
24326 Personally I find it amazing that libraries are even considering such
24327 models.&lt;/p&gt;
24328
24329 &lt;p&gt;Anyway, while reading &lt;a href=&quot;http://boklaben.no/?p=220&quot;&gt;part of
24330 this debate&lt;/a&gt;, it occurred to me that someone should present a more
24331 sensible approach to the libraries, to allow its borrowers to get used
24332 to a better model. The idea is simple:&lt;/p&gt;
24333
24334 &lt;p&gt;Create a computer system for the libraries, either in the form of a
24335 Live DVD or a installable distribution, that provide a simple kiosk
24336 solution to hand out free e-books. As a start, the books distributed
24337 by &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (about
24338 36,000 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt;
24339 (1149 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The
24340 Internet Archive&lt;/a&gt; (3,033,748 books) could be included, but any book
24341 where the copyright has expired or with a free licence could be
24342 distributed.&lt;/p&gt;
24343
24344 &lt;p&gt;The computer system would make it easy to:&lt;/p&gt;
24345
24346 &lt;ul&gt;
24347
24348 &lt;li&gt;Copy e-books into a USB stick, reading tablets, cell phones and
24349 other relevant equipment.&lt;/li&gt;
24350
24351 &lt;li&gt;Show the books for reading on the the screen in the library.&lt;/li&gt;
24352
24353 &lt;/ul&gt;
24354
24355 &lt;p&gt;In addition to such kiosk solution, there should probably be a web
24356 site as well to allow people easy access to these books without
24357 visiting the library. The site would be the distribution point for
24358 the kiosk systems, which would connect regularly to fetch any new
24359 books available.&lt;/p&gt;
24360
24361 &lt;p&gt;Are there anyone working on a system like this? I guess it would
24362 fit any library in the world, and not just the Norwegian public
24363 libraries. :)&lt;/p&gt;
24364 </description>
24365 </item>
24366
24367 <item>
24368 <title>Ripping problematic DVDs using dvdbackup and genisoimage</title>
24369 <link>https://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</link>
24370 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</guid>
24371 <pubDate>Sat, 17 Sep 2011 20:20:00 +0200</pubDate>
24372 <description>&lt;p&gt;For convenience, I want to store copies of all my DVDs on my file
24373 server. It allow me to save shelf space flat while still having my
24374 movie collection easily available. It also make it possible to let
24375 the kids see their favourite DVDs without wearing the physical copies
24376 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
24377 subtitle options intact. It also ensure that the entire film is one
24378 file on the disk. As this is for personal use, the ripping is
24379 perfectly legal here in Norway.&lt;/p&gt;
24380
24381 &lt;p&gt;Normally I rip the DVDs using dd like this:&lt;/p&gt;
24382
24383 &lt;blockquote&gt;&lt;pre&gt;
24384 #!/bin/sh
24385 # apt-get install lsdvd
24386 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
24387 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
24388 &lt;/pre&gt;&lt;/blockquote&gt;
24389
24390 &lt;p&gt;But some DVDs give a input/output error when I read it, and I have
24391 been looking for a better alternative. I have no idea why this I/O
24392 error occur, but suspect my DVD drive, the Linux kernel driver or
24393 something fishy with the DVDs in question. Or perhaps all three.&lt;/p&gt;
24394
24395 &lt;p&gt;Anyway, I believe I found a solution today using dvdbackup and
24396 genisoimage. This script gave me a working ISO for a problematic
24397 movie by first extracting the DVD file system and then re-packing it
24398 back as an ISO.
24399
24400 &lt;blockquote&gt;&lt;pre&gt;
24401 #!/bin/sh
24402 # apt-get install lsdvd dvdbackup genisoimage
24403 set -e
24404 tmpdir=/storage/dvds/
24405 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
24406 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
24407 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
24408 rm -rf $tmpdir/$title
24409 &lt;/pre&gt;&lt;/blockquote&gt;
24410
24411 &lt;p&gt;Anyone know of a better way available in Debian/Squeeze?&lt;/p&gt;
24412
24413 &lt;p&gt;Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
24414 readom program from the wodim package. It is specially written to
24415 read optical media, and is called like this: &lt;tt&gt;readom dev=/dev/dvd
24416 f=image.iso&lt;/tt&gt;. It got 6 GB along with the problematic Cars DVD
24417 before it failed, and failed right away with a Timmy Time DVD.&lt;/p&gt;
24418
24419 &lt;p&gt;Next, I got a tip from Bastian Blank about
24420 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;his
24421 program python-dvdvideo&lt;/a&gt;, which seem to be just what I am looking
24422 for. Tested it with my problematic Timmy Time DVD, and it succeeded
24423 creating a ISO image. The git source built and installed just fine in
24424 Squeeze, so I guess this will be my tool of choice in the future.&lt;/p&gt;
24425 </description>
24426 </item>
24427
24428 <item>
24429 <title>How is booting into runlevel 1 different from single user boots?</title>
24430 <link>https://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</link>
24431 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</guid>
24432 <pubDate>Thu, 4 Aug 2011 12:40:00 +0200</pubDate>
24433 <description>&lt;p&gt;Wouter Verhelst have some
24434 &lt;a href=&quot;http://grep.be/blog/en/retorts/pere_kubuntu_boot&quot;&gt;interesting
24435 comments and opinions&lt;/a&gt; on my blog post on
24436 &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
24437 need to clean up /etc/rcS.d/ in Debian&lt;/a&gt; and my blog post about
24438 &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
24439 default KDE desktop in Debian&lt;/a&gt;. I only have time to address one
24440 small piece of his comment now, and though it best to address the
24441 misunderstanding he bring forward:&lt;/p&gt;
24442
24443 &lt;p&gt;&lt;blockquote&gt;
24444 Currently, a system admin has four options: [...] boot to a
24445 single-user system (by adding &#39;single&#39; to the kernel command line;
24446 this runs rcS and rc1 scripts)
24447 &lt;/blockquote&gt;&lt;/p&gt;
24448
24449 &lt;p&gt;This make me believe Wouter believe booting into single user mode
24450 and booting into runlevel 1 is the same. I am not surprised he
24451 believe this, because it would make sense and is a quite sensible
24452 thing to believe. But because the boot in Debian is slightly broken,
24453 runlevel 1 do not work properly and it isn&#39;t the same as single user
24454 mode. I&#39;ll try to explain what is actually happing, but it is a bit
24455 hard to explain.&lt;/p&gt;
24456
24457 &lt;p&gt;Single user mode is defined like this in /etc/inittab:
24458 &quot;&lt;tt&gt;~~:S:wait:/sbin/sulogin&lt;/tt&gt;&quot;. This means the only thing that is
24459 executed in single user mode is sulogin. Single user mode is a boot
24460 state &quot;between&quot; the runlevels, and when booting into single user mode,
24461 only the scripts in /etc/rcS.d/ are executed before the init process
24462 enters the single user state. When switching to runlevel 1, the state
24463 is in fact not ending in runlevel 1, but it passes through runlevel 1
24464 and end up in the single user mode (see /etc/rc1.d/S03single, which
24465 runs &quot;init -t1 S&quot; to switch to single user mode at the end of runlevel
24466 1. It is confusing that the &#39;S&#39; (single user) init mode is not the
24467 mode enabled by /etc/rcS.d/ (which is more like the initial boot
24468 mode).&lt;/p&gt;
24469
24470 &lt;p&gt;This summary might make it clearer. When booting for the first
24471 time into single user mode, the following commands are executed:
24472 &quot;&lt;tt&gt;/etc/init.d/rc S; /sbin/sulogin&lt;/tt&gt;&quot;. When booting into
24473 runlevel 1, the following commands are executed: &quot;&lt;tt&gt;/etc/init.d/rc
24474 S; /etc/init.d/rc 1; /sbin/sulogin&lt;/tt&gt;&quot;. A problem show up when
24475 trying to continue after visiting single user mode. Not all services
24476 are started again as they should, causing the machine to end up in an
24477 unpredicatble state. This is why Debian admins recommend rebooting
24478 after visiting single user mode.&lt;/p&gt;
24479
24480 &lt;p&gt;A similar problem with runlevel 1 is caused by the amount of
24481 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
24482 to runlevel 1, the services started from /etc/rcS.d/ are not properly
24483 stopped when passing through the scripts in /etc/rc1.d/, and not
24484 started again when switching away from runlevel 1 to the runlevels
24485 2-5. I believe the problem is best fixed by moving all the scripts
24486 out of /etc/rcS.d/ that are not &lt;strong&gt;required&lt;/strong&gt; to get a
24487 functioning single user mode during boot.&lt;/p&gt;
24488
24489 &lt;p&gt;I have spent several years investigating the Debian boot system,
24490 and discovered this problem a few years ago. I suspect it originates
24491 from when sysvinit was introduced into Debian, a long time ago.&lt;/p&gt;
24492 </description>
24493 </item>
24494
24495 <item>
24496 <title>What should start from /etc/rcS.d/ in Debian? - almost nothing</title>
24497 <link>https://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</link>
24498 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</guid>
24499 <pubDate>Sat, 30 Jul 2011 14:00:00 +0200</pubDate>
24500 <description>&lt;p&gt;In the Debian boot system, several packages include scripts that
24501 are started from /etc/rcS.d/. In fact, there is a bite more of them
24502 than make sense, and this causes a few problems. What kind of
24503 problems, you might ask. There are at least two problems. The first
24504 is that it is not possible to recover a machine after switching to
24505 runlevel 1. One need to actually reboot to get the machine back to
24506 the expected state. The other is that single user boot will sometimes
24507 run into problems because some of the subsystems are activated before
24508 the root login is presented, causing problems when trying to recover a
24509 machine from a problem in that subsystem. A minor additional point is
24510 that moving more scripts out of rcS.d/ and into the other rc#.d/
24511 directories will increase the amount of scripts that can run in
24512 parallel during boot, and thus decrease the boot time.&lt;/p&gt;
24513
24514 &lt;p&gt;So, which scripts should start from rcS.d/. In short, only the
24515 scripts that _have_ to execute before the root login prompt is
24516 presented during a single user boot should go there. Everything else
24517 should go into the numeric runlevels. This means things like
24518 lm-sensors, fuse and x11-common should not run from rcS.d, but from
24519 the numeric runlevels. Today in Debian, there are around 115 init.d
24520 scripts that are started from rcS.d/, and most of them should be moved
24521 out. Do your package have one of them? Please help us make single
24522 user and runlevel 1 better by moving it.&lt;/p&gt;
24523
24524 &lt;p&gt;Scripts setting up the screen, keyboard, system partitions
24525 etc. should still be started from rcS.d/, but there is for example no
24526 need to have the network enabled before the single user login prompt
24527 is presented.&lt;/p&gt;
24528
24529 &lt;p&gt;As always, things are not so easy to fix as they sound. To keep
24530 Debian systems working while scripts migrate and during upgrades, the
24531 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
24532 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
24533 and the next ones can only be moved when their dependencies have been
24534 moved first. This migration must be done sequentially while we ensure
24535 that the package system upgrade packages in the right order to keep
24536 the system state correct. This will require some coordination when it
24537 comes to network related packages, but most of the packages with
24538 scripts that should migrate do not have anything in rcS.d/ depending
24539 on them. Some packages have already been updated, like the sudo
24540 package, while others are still left to do. I wish I had time to work
24541 on this myself, but real live constrains make it unlikely that I will
24542 find time to push this forward.&lt;/p&gt;
24543 </description>
24544 </item>
24545
24546 <item>
24547 <title>What is missing in the Debian desktop, or why my parents use Kubuntu</title>
24548 <link>https://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</link>
24549 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</guid>
24550 <pubDate>Fri, 29 Jul 2011 08:10:00 +0200</pubDate>
24551 <description>&lt;p&gt;While at Debconf11, I have several times during discussions
24552 mentioned the issues I believe should be improved in Debian for its
24553 desktop to be useful for more people. The use case for this is my
24554 parents, which are currently running Kubuntu which solve the
24555 issues.&lt;/p&gt;
24556
24557 &lt;p&gt;I suspect these four missing features are not very hard to
24558 implement. After all, they are present in Ubuntu, so if we wanted to
24559 do this in Debian we would have a source.&lt;/p&gt;
24560
24561 &lt;ol&gt;
24562
24563 &lt;li&gt;&lt;strong&gt;Simple GUI based upgrade of packages.&lt;/strong&gt; When there
24564 are new packages available for upgrades, a icon in the KDE status bar
24565 indicate this, and clicking on it will activate the simple upgrade
24566 tool to handle it. I have no problem guiding both of my parents
24567 through the process over the phone. If a kernel reboot is required,
24568 this too is indicated by the status bars and the upgrade tool. Last
24569 time I checked, nothing with the same features was working in KDE in
24570 Debian.&lt;/li&gt;
24571
24572 &lt;li&gt;&lt;strong&gt;Simple handling of missing Firefox browser
24573 plugins.&lt;/strong&gt; When the browser encounter a MIME type it do not
24574 currently have a handler for, it will ask the user if the system
24575 should search for a package that would add support for this MIME type,
24576 and if the user say yes, the APT sources will be searched for packages
24577 advertising the MIME type in their control file (visible in the
24578 Packages file in the APT archive). If one or more packages are found,
24579 it is a simple click of the mouse to add support for the missing mime
24580 type. If the package require the user to accept some non-free
24581 license, this is explained to the user. The entire process make it
24582 more clear to the user why something do not work in the browser, and
24583 make the chances higher for the user to blame the web page authors and
24584 not the browser for any missing features.&lt;/li&gt;
24585
24586 &lt;li&gt;&lt;strong&gt;Simple handling of missing multimedia codec/format
24587 handlers.&lt;/strong&gt; When the media players encounter a format or codec
24588 it is not supporting, a dialog pop up asking the user if the system
24589 should search for a package that would add support for it. This
24590 happen with things like MP3, Windows Media or H.264. The selection
24591 and installation procedure is very similar to the Firefox browser
24592 plugin handling. This is as far as I know implemented using a
24593 gstreamer hook. The end result is that the user easily get access to
24594 the codecs that are present from the APT archives available, while
24595 explaining more on why a given format is unsupported by Ubuntu.&lt;/li&gt;
24596
24597 &lt;li&gt;&lt;strong&gt;Better browser handling of some MIME types.&lt;/strong&gt; When
24598 displaying a text/plain file in my Debian browser, it will propose to
24599 start emacs to show it. If I remember correctly, when doing the same
24600 in Kunbutu it show the file as a text file in the browser. At least I
24601 know Opera will show text files within the browser. I much prefer the
24602 latter behaviour.&lt;/li&gt;
24603
24604 &lt;/ol&gt;
24605
24606 &lt;p&gt;There are other nice features as well, like the simplified suite
24607 upgrader, but given that I am the one mostly doing the dist-upgrade,
24608 it do not matter much.&lt;/p&gt;
24609
24610 &lt;p&gt;I really hope we could get these features in place for the next
24611 Debian release. It would require the coordinated effort of several
24612 maintainers, but would make the end user experience a lot better.&lt;/p&gt;
24613 </description>
24614 </item>
24615
24616 <item>
24617 <title>Perl modules used by FixMyStreet which are missing in Debian/Squeeze</title>
24618 <link>https://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</link>
24619 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</guid>
24620 <pubDate>Tue, 26 Jul 2011 12:25:00 +0200</pubDate>
24621 <description>&lt;p&gt;The Norwegian &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/A&gt;
24622 site is build on Debian/Squeeze, and this platform was chosen because
24623 I am most familiar with Debian (being a Debian Developer for around 10
24624 years) because it is the latest stable Debian release which should get
24625 security support for a few years.&lt;/p&gt;
24626
24627 &lt;p&gt;The web service is written in Perl, and depend on some perl modules
24628 that are missing in Debian at the moment. It would be great if these
24629 modules were added to the Debian archive, allowing anyone to set up
24630 their own &lt;a href=&quot;http://www.fixmystreet.com&quot;&gt;FixMyStreet&lt;/a&gt; clone
24631 in their own country using only Debian packages. The list of modules
24632 missing in Debian/Squeeze isn&#39;t very long, and I hope the perl group
24633 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
24634 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
24635 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
24636 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
24637 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
24638 easier in the future.&lt;/p&gt;
24639
24640 &lt;p&gt;Thanks to the great tools in Debian, getting the missing modules
24641 installed on my server was a simple call to &#39;cpan2deb Module::Name&#39;
24642 and &#39;dpkg -i&#39; to install the resulting package. But this leave me
24643 with the responsibility of tracking security problems, which I really
24644 do not have time for.&lt;/p&gt;
24645 </description>
24646 </item>
24647
24648 <item>
24649 <title>Free Software vs. proprietary softare...</title>
24650 <link>https://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</link>
24651 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</guid>
24652 <pubDate>Mon, 20 Jun 2011 12:50:00 +0200</pubDate>
24653 <description>&lt;p&gt;Reading
24654 &lt;a href=&quot;http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/&quot;&gt;the
24655 thingiverse blog&lt;/a&gt;, I came across two highlights of interesting
24656 parts of the
24657 &lt;a href=&quot;http://wiki.blender.org/index.php/Autodesk_EULA&quot;&gt;Autodesk&lt;/a&gt;
24658 and
24659 &lt;a href=&quot;http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html&quot;&gt;Microsoft
24660 Kinect&lt;/a&gt; End User License Agreements (EULAs), which illustrates
24661 quite well why I stay away from software with EULAs. Whenever I take
24662 the time to read their content, the terms are simply unacceptable.&lt;/p&gt;
24663 </description>
24664 </item>
24665
24666 <item>
24667 <title>Experimental Open311 API for the mySociety fixmystreet system</title>
24668 <link>https://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</link>
24669 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</guid>
24670 <pubDate>Sat, 30 Apr 2011 17:20:00 +0200</pubDate>
24671 <description>&lt;p&gt;Today, the first draft implementation of an
24672 &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; for the Norwegian
24673 service &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; started to
24674 work. It is only available on the developer server for now, and I
24675 have not tested it using any existing Open311 client (I lack the
24676 platforms needed to run the clients I have found so far), but it is
24677 able to query the database and extract a list of open and closed
24678 requests within a given category and reported to a given municipality.
24679 I believe that is a good start to create a useful service for those
24680 that want to do data mining on the requests submitted so far.&lt;/p&gt;
24681
24682 &lt;p&gt;Where is it? Visit
24683 &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;
24684 to have a look. Please send feedback to the
24685 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
24686 (at) nuug.no&lt;/a&gt; mailing list.&lt;/p&gt;
24687 </description>
24688 </item>
24689
24690 <item>
24691 <title>Initial notes on adding Open311 server API on FixMyStreet</title>
24692 <link>https://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</link>
24693 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</guid>
24694 <pubDate>Fri, 29 Apr 2011 10:00:00 +0200</pubDate>
24695 <description>&lt;p&gt;The last few days I have spent some time trying to add support for
24696 the &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; in the
24697 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;Norwegian FixMyStreet service&lt;/a&gt;.
24698 Earlier I believed Open311 would be a useful API to use to submit
24699 reports to the municipalities, but when I noticed that the
24700 &lt;a href=&quot;http://fixmystreet.org.nz/&quot;&gt;New Zealand version&lt;/a&gt; of
24701 FixMyStreet had implemented Open311 on the server side, it occurred to
24702 me that this was a nice way to allow the public, press and
24703 municipalities to do data mining directly in the FixMyStreet service.
24704 Thus I went to work implementing the Open311 specification for
24705 FixMyStreet. The implementation is not yet ready, but I am starting
24706 to get a draft limping along. In the process, I have discovered a few
24707 issues with the Open311 specification.&lt;/p&gt;
24708
24709 &lt;p&gt;One obvious missing feature is the lack of natural language
24710 handling in the specification. The specification seem to assume all
24711 reports will be written in English, and do not provide a way for the
24712 receiving end to specify which languages are understood there. To be
24713 able to use the same client and submit to several Open311 receivers,
24714 it would be useful to know which language to use when writing reports.
24715 I believe the specification should be extended to allow the receivers
24716 of problem reports to specify which language they accept, and the
24717 submitter to specify which language the report is written in.
24718 Language of a text can also be automatically guessed using statistical
24719 methods, but for multi-lingual persons like myself, it is useful to
24720 know which language to use when writing a problem report. I suspect
24721 some lang=nb,nn kind of attribute would solve it.&lt;/p&gt;
24722
24723 &lt;p&gt;A key part of the Open311 API is the list of services provided,
24724 which is similar to the categories used by FixMyStreet. One issue I
24725 run into is the need to specify both name and unique identifier for
24726 each category. The specification do not state that the identifier
24727 should be numeric, but all example implementations have used numbers
24728 here. In FixMyStreet, there is no number associated with each
24729 category. As the specification do not forbid it, I will use the name
24730 as the unique identifier for now and see how open311 clients handle
24731 it.&lt;/p&gt;
24732
24733 &lt;p&gt;The report format in open311 and the report format in FixMyStreet
24734 differ in a key part. FixMyStreet have a title and a description,
24735 while Open311 only have a description and lack the title. I&#39;m not
24736 quite sure how to best handle this yet. When asking for a FixMyStreet
24737 report in Open311 format, I just merge title an description into the
24738 open311 description, but this is not going to work if the open311 API
24739 should be used for submitting new reports to FixMyStreet.&lt;/p&gt;
24740
24741 &lt;p&gt;The search feature in Open311 is missing a way to ask for problems
24742 near a geographic location. I believe this is important if one is to
24743 use Open311 as the query language for mobile units. The specification
24744 should be extended to handle this, probably using some new lat=, lon=
24745 and range= options.&lt;/p&gt;
24746
24747 &lt;p&gt;The final challenge I see is that the FixMyStreet code handle
24748 several administrations in one interface, while the Open311 API seem
24749 to assume only one administration. For FixMyStreet, this mean a
24750 report can be sent to several administrations, and the categories
24751 available depend on the location of the problem. Not quite sure how
24752 to best handle this. I&#39;ve noticed
24753 &lt;a href=&quot;http://seeclickfix.com/open311/&quot;&gt;SeeClickFix&lt;/a&gt; added
24754 latitude and longitude options to the services request, but it do not
24755 solve the problem of what to return when no location is specified.
24756 Will have to investigate this a bit more.&lt;/p&gt;
24757
24758 &lt;p&gt;My distaste for web forums have kept me from bringing these issues
24759 up with the open311 developer group. I really wish they had a email
24760 list available via &lt;a href=&quot;http://www.gmane.org/&quot;&gt;Gmane&lt;/a&gt; to use for
24761 discussions instead of only
24762 &lt;a href=&quot;http://lists.open311.org/groups/discuss&quot;&gt;a forum&lt;a/&gt;. Oh,
24763 well. That will probably resolve itself, one way or another. I&#39;ve
24764 also tried visiting the IRC channel #open311 on FreeNode, but no-one
24765 seem to reply to my questions there. This make me wonder if I just
24766 fail to understand how the open311 community work. It sure do not
24767 work like the free software project communities I am used to.&lt;/p&gt;
24768 </description>
24769 </item>
24770
24771 <item>
24772 <title>Gnash enteres Google Summer of Code 2011</title>
24773 <link>https://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</link>
24774 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</guid>
24775 <pubDate>Wed, 6 Apr 2011 09:00:00 +0200</pubDate>
24776 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is still
24777 the most promising solution for a Free Software Flash implementation.
24778 A few days ago the project
24779 &lt;a href=&quot;http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html&quot;&gt;announced&lt;/a&gt;
24780 that it will participate in Google Summer of Code. I hope many
24781 students apply, and that some of them succeed in getting AVM2 support
24782 into Gnash.&lt;/p&gt;
24783 </description>
24784 </item>
24785
24786 <item>
24787 <title>A Norwegian FixMyStreet have kept me busy the last few weeks</title>
24788 <link>https://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</link>
24789 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</guid>
24790 <pubDate>Sun, 3 Apr 2011 22:50:00 +0200</pubDate>
24791 <description>&lt;p&gt;Here is a small update for my English readers. Most of my blog
24792 posts have been in Norwegian the last few weeks, so here is a short
24793 update in English.&lt;/p&gt;
24794
24795 &lt;p&gt;The kids still keep me too busy to get much free software work
24796 done, but I did manage to organise a project to get a Norwegian port
24797 of the British service
24798 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; up and running,
24799 and it has been running for a month now. The entire project has been
24800 organised by me and two others. Around Christmas we gathered sponsors
24801 to fund the development work. In January I drafted a contract with
24802 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; on what to develop,
24803 and in February the development took place. Most of it involved
24804 converting the source to use GPS coordinates instead of British
24805 easting/northing, and the resulting code should be a lot easier to get
24806 running in any country by now. The Norwegian
24807 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is using
24808 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; as the map
24809 source and the source for administrative borders in Norway, and
24810 support for this had to be added/fixed.&lt;/p&gt;
24811
24812 &lt;p&gt;The Norwegian version went live March 3th, and we spent the weekend
24813 polishing the system before we announced it March 7th. The system is
24814 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
24815 problem reports in a few weeks. Soon we hope to announce the Android
24816 and iPhone versions making it even easier to report problems with the
24817 public infrastructure.&lt;/p&gt;
24818
24819 &lt;p&gt;Perhaps something to consider for those of you in countries without
24820 such service?&lt;/p&gt;
24821 </description>
24822 </item>
24823
24824 <item>
24825 <title>Using NVD and CPE to track CVEs in locally maintained software</title>
24826 <link>https://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</link>
24827 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</guid>
24828 <pubDate>Fri, 28 Jan 2011 15:40:00 +0100</pubDate>
24829 <description>&lt;p&gt;The last few days I have looked at ways to track open security
24830 issues here at my work with the University of Oslo. My idea is that
24831 it should be possible to use the information about security issues
24832 available on the Internet, and check our locally
24833 maintained/distributed software against this information. It should
24834 allow us to verify that no known security issues are forgotten. The
24835 CVE database listing vulnerabilities seem like a great central point,
24836 and by using the package lists from Debian mapped to CVEs provided by
24837 the testing security team, I believed it should be possible to figure
24838 out which security holes were present in our free software
24839 collection.&lt;/p&gt;
24840
24841 &lt;p&gt;After reading up on the topic, it became obvious that the first
24842 building block is to be able to name software packages in a unique and
24843 consistent way across data sources. I considered several ways to do
24844 this, for example coming up with my own naming scheme like using URLs
24845 to project home pages or URLs to the Freshmeat entries, or using some
24846 existing naming scheme. And it seem like I am not the first one to
24847 come across this problem, as MITRE already proposed and implemented a
24848 solution. Enter the &lt;a href=&quot;http://cpe.mitre.org/index.html&quot;&gt;Common
24849 Platform Enumeration&lt;/a&gt; dictionary, a vocabulary for referring to
24850 software, hardware and other platform components. The CPE ids are
24851 mapped to CVEs in the &lt;a href=&quot;http://web.nvd.nist.gov/&quot;&gt;National
24852 Vulnerability Database&lt;/a&gt;, allowing me to look up know security
24853 issues for any CPE name. With this in place, all I need to do is to
24854 locate the CPE id for the software packages we use at the university.
24855 This is fairly trivial (I google for &#39;cve cpe $package&#39; and check the
24856 NVD entry if a CVE for the package exist).&lt;/p&gt;
24857
24858 &lt;p&gt;To give you an example. The GNU gzip source package have the CPE
24859 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
24860 check out, one could look up
24861 &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
24862 in NVD&lt;/a&gt; and get a list of 6 security holes with public CVE entries.
24863 The most recent one is
24864 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001&quot;&gt;CVE-2010-0001&lt;/a&gt;,
24865 and at the bottom of the NVD page for this vulnerability the complete
24866 list of affected versions is provided.&lt;/p&gt;
24867
24868 &lt;p&gt;The NVD database of CVEs is also available as a XML dump, allowing
24869 for offline processing of issues. Using this dump, I&#39;ve written a
24870 small script taking a list of CPEs as input and list all CVEs
24871 affecting the packages represented by these CPEs. One give it CPEs
24872 with version numbers as specified above and get a list of open
24873 security issues out.&lt;/p&gt;
24874
24875 &lt;p&gt;Of course for this approach to be useful, the quality of the NVD
24876 information need to be high. For that to happen, I believe as many as
24877 possible need to use and contribute to the NVD database. I notice
24878 RHEL is providing
24879 &lt;a href=&quot;https://www.redhat.com/security/data/metrics/rhsamapcpe.txt&quot;&gt;a
24880 map from CVE to CPE&lt;/a&gt;, indicating that they are using the CPE
24881 information. I&#39;m not aware of Debian and Ubuntu doing the same.&lt;/p&gt;
24882
24883 &lt;p&gt;To get an idea about the quality for free software, I spent some
24884 time making it possible to compare the CVE database from Debian with
24885 the CVE database in NVD. The result look fairly good, but there are
24886 some inconsistencies in NVD (same software package having several
24887 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
24888 Debian believe are affected by a CVE). Hope to find time to improve
24889 the quality of NVD, but that require being able to get in touch with
24890 someone maintaining it. So far my three emails with questions and
24891 corrections have not seen any reply, but I hope contact can be
24892 established soon.&lt;/p&gt;
24893
24894 &lt;p&gt;An interesting application for CPEs is cross platform package
24895 mapping. It would be useful to know which packages in for example
24896 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
24897 this would be trivial if all linux distributions provided CPE entries
24898 for their packages.&lt;/p&gt;
24899 </description>
24900 </item>
24901
24902 <item>
24903 <title>Which module is loaded for a given PCI and USB device?</title>
24904 <link>https://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</link>
24905 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</guid>
24906 <pubDate>Sun, 23 Jan 2011 00:20:00 +0100</pubDate>
24907 <description>&lt;p&gt;In the
24908 &lt;a href=&quot;http://packages.qa.debian.org/discover-data&quot;&gt;discover-data&lt;/a&gt;
24909 package in Debian, there is a script to report useful information
24910 about the running hardware for use when people report missing
24911 information. One part of this script that I find very useful when
24912 debugging hardware problems, is the part mapping loaded kernel module
24913 to the PCI device it claims. It allow me to quickly see if the kernel
24914 module I expect is driving the hardware I am struggling with. To see
24915 the output, make sure discover-data is installed and run
24916 &lt;tt&gt;/usr/share/bug/discover-data 3&gt;&amp;1&lt;/tt&gt;. The relevant output on
24917 one of my machines like this:&lt;/p&gt;
24918
24919 &lt;pre&gt;
24920 loaded modules:
24921 10de:03eb i2c_nforce2
24922 10de:03f1 ohci_hcd
24923 10de:03f2 ehci_hcd
24924 10de:03f0 snd_hda_intel
24925 10de:03ec pata_amd
24926 10de:03f6 sata_nv
24927 1022:1103 k8temp
24928 109e:036e bttv
24929 109e:0878 snd_bt87x
24930 11ab:4364 sky2
24931 &lt;/pre&gt;
24932
24933 &lt;p&gt;The code in question look like this, slightly modified for
24934 readability and to drop the output to file descriptor 3:&lt;/p&gt;
24935
24936 &lt;pre&gt;
24937 if [ -d /sys/bus/pci/devices/ ] ; then
24938 echo loaded pci modules:
24939 (
24940 cd /sys/bus/pci/devices/
24941 for address in * ; do
24942 if [ -d &quot;$address/driver/module&quot; ] ; then
24943 module=`cd $address/driver/module ; pwd -P | xargs basename`
24944 if grep -q &quot;^$module &quot; /proc/modules ; then
24945 address=$(echo $address |sed s/0000://)
24946 id=`lspci -n -s $address | tail -n 1 | awk &#39;{print $3}&#39;`
24947 echo &quot;$id $module&quot;
24948 fi
24949 fi
24950 done
24951 )
24952 echo
24953 fi
24954 &lt;/pre&gt;
24955
24956 &lt;p&gt;Similar code could be used to extract USB device module
24957 mappings:&lt;/p&gt;
24958
24959 &lt;pre&gt;
24960 if [ -d /sys/bus/usb/devices/ ] ; then
24961 echo loaded usb modules:
24962 (
24963 cd /sys/bus/usb/devices/
24964 for address in * ; do
24965 if [ -d &quot;$address/driver/module&quot; ] ; then
24966 module=`cd $address/driver/module ; pwd -P | xargs basename`
24967 if grep -q &quot;^$module &quot; /proc/modules ; then
24968 address=$(echo $address |sed s/0000://)
24969 id=$(lsusb -s $address | tail -n 1 | awk &#39;{print $6}&#39;)
24970 if [ &quot;$id&quot; ] ; then
24971 echo &quot;$id $module&quot;
24972 fi
24973 fi
24974 fi
24975 done
24976 )
24977 echo
24978 fi
24979 &lt;/pre&gt;
24980
24981 &lt;p&gt;This might perhaps be something to include in other tools as
24982 well.&lt;/p&gt;
24983 </description>
24984 </item>
24985
24986 <item>
24987 <title>The video format most supported in web browsers?</title>
24988 <link>https://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</link>
24989 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</guid>
24990 <pubDate>Sun, 16 Jan 2011 00:20:00 +0100</pubDate>
24991 <description>&lt;p&gt;The video format struggle on the web continues, and the three
24992 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
24993 seem to use H.264, while others use Ogg Theora. Interestingly enough,
24994 the comments I see give me the feeling that a lot of people believe
24995 H.264 is the most supported video format in browsers, but according to
24996 the Wikipedia article on
24997 &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;HTML5 video&lt;/a&gt;,
24998 this is not true. Check out the nice table of supprted formats in
24999 different browsers there. The format supported by most browsers is
25000 Ogg Theora, supported by released versions of Mozilla Firefox, Google
25001 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
25002 BOLT browser, while not supported by Internet Explorer nor Safari.
25003 The runner up is WebM supported by released versions of Google Chrome
25004 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
25005 Firefox. H.264 is supported by released versions of Safari, Origyn
25006 Web Browser and BOLT browser, and the test version of Internet
25007 Explorer. Those wanting Ogg Theora support in Internet Explorer and
25008 Safari can install plugins to get it.&lt;/p&gt;
25009
25010 &lt;p&gt;To me, the simple conclusion from this is that to reach most users
25011 without any extra software installed, one uses Ogg Theora with the
25012 HTML5 video tag. Of course to reach all those without a browser
25013 handling HTML5, one need fallback mechanisms. In
25014 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;, we provide first fallback to a
25015 plugin capable of playing MPEG1 video, and those without such support
25016 we have a second fallback to the Cortado java applet playing Ogg
25017 Theora. This seem to work quite well, as can be seen in an &lt;a
25018 href=&quot;http://www.nuug.no/aktiviteter/20110111-semantic-web/&quot;&gt;example
25019 from last week&lt;/a&gt;.&lt;/p&gt;
25020
25021 &lt;p&gt;The reason Ogg Theora is the most supported format, and H.264 is
25022 the least supported is simple. Implementing and using H.264
25023 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
25024 are incompatible with free software licensing. If you believed H.264
25025 was without royalties and license terms, check out
25026 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
25027 Free That Matters&lt;/a&gt;&quot; by Simon Phipps.&lt;/p&gt;
25028
25029 &lt;p&gt;A incomplete list of sites providing video in Ogg Theora is
25030 available from
25031 &lt;a href=&quot;http://wiki.xiph.org/index.php/List_of_Theora_videos&quot;&gt;the
25032 Xiph.org wiki&lt;/a&gt;, if you want to have a look. I&#39;m not aware of a
25033 similar list for WebM nor H.264.&lt;/p&gt;
25034
25035 &lt;p&gt;Update 2011-01-16 09:40: A question from Tollef on IRC made me
25036 realise that I failed to make it clear enough this text is about the
25037 &amp;lt;video&amp;gt; tag support in browsers and not the video support
25038 provided by external plugins like the Flash plugins.&lt;/p&gt;
25039 </description>
25040 </item>
25041
25042 <item>
25043 <title>Chrome plan to drop H.264 support for HTML5 &amp;lt;video&amp;gt;</title>
25044 <link>https://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</link>
25045 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</guid>
25046 <pubDate>Wed, 12 Jan 2011 22:10:00 +0100</pubDate>
25047 <description>&lt;p&gt;Today I discovered
25048 &lt;a href=&quot;http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome&quot;&gt;via
25049 digi.no&lt;/a&gt; that the Chrome developers, in a surprising announcement,
25050 &lt;a href=&quot;http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html&quot;&gt;yesterday
25051 announced&lt;/a&gt; plans to drop H.264 support for HTML5 &amp;lt;video&amp;gt; in
25052 the browser. The argument used is that H.264 is not a &quot;completely
25053 open&quot; codec technology. If you believe H.264 was free for everyone
25054 to use, I recommend having a look at the essay
25055 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
25056 Free That Matters&lt;/a&gt;&quot;. It is not free of cost for creators of video
25057 tools, nor those of us that want to publish on the Internet, and the
25058 terms provided by MPEG-LA excludes free software projects from
25059 licensing the patents needed for H.264. Some background information
25060 on the Google announcement is available from
25061 &lt;a href=&quot;http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome&quot;&gt;OSnews&lt;/a&gt;.
25062 A good read. :)&lt;/p&gt;
25063
25064 &lt;p&gt;Personally, I believe it is great that Google is taking a stand to
25065 promote equal terms for everyone when it comes to video publishing on
25066 the Internet. This can only be done by publishing using free and open
25067 standards, which is only possible if the web browsers provide support
25068 for these free and open standards. At the moment there seem to be two
25069 camps in the web browser world when it come to video support. Some
25070 browsers support H.264, and others support
25071 &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg Theora&lt;/a&gt; and
25072 &lt;a href=&quot;http://www.webmproject.org/&quot;&gt;WebM&lt;/a&gt;
25073 (&lt;a href=&quot;http://www.diracvideo.org/&quot;&gt;Dirac&lt;/a&gt; is not really an option
25074 yet), forcing those of us that want to publish video on the Internet
25075 and which can not accept the terms of use presented by MPEG-LA for
25076 H.264 to not reach all potential viewers.
25077 Wikipedia keep &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;an
25078 updated summary&lt;/a&gt; of the current browser support.&lt;/p&gt;
25079
25080 &lt;p&gt;Not surprising, several people would prefer Google to keep
25081 promoting H.264, and John Gruber
25082 &lt;a href=&quot;http://daringfireball.net/2011/01/simple_questions&quot;&gt;presents
25083 the mind set&lt;/a&gt; of these people quite well. His rhetorical questions
25084 provoked a reply from Thom Holwerda with another set of questions
25085 &lt;a href=&quot;http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM&quot;&gt;presenting
25086 the issues with H.264&lt;/a&gt;. Both are worth a read.&lt;/p&gt;
25087
25088 &lt;p&gt;Some argue that if Google is dropping H.264 because it isn&#39;t free,
25089 they should also drop support for the Adobe Flash plugin. This
25090 argument was covered by Simon Phipps in
25091 &lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm&quot;&gt;todays
25092 blog post&lt;/a&gt;, which I find to put the issue in context. To me it
25093 make perfect sense to drop native H.264 support for HTML5 in the
25094 browser while still allowing plugins.&lt;/p&gt;
25095
25096 &lt;p&gt;I suspect the reason this announcement make so many people protest,
25097 is that all the users and promoters of H.264 suddenly get an uneasy
25098 feeling that they might be backing the wrong horse. A lot of TV
25099 broadcasters have been moving to H.264 the last few years, and a lot
25100 of money has been invested in hardware based on the belief that they
25101 could use the same video format for both broadcasting and web
25102 publishing. Suddenly this belief is shaken.&lt;/p&gt;
25103
25104 &lt;p&gt;An interesting question is why Google is doing this. While the
25105 presented argument might be true enough, I believe Google would only
25106 present the argument if the change make sense from a business
25107 perspective. One reason might be that they are currently negotiating
25108 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
25109 feeling that dropping H.264 completely from Chroome, Youtube and
25110 Google Video would improve the negotiation position of Google.
25111 Another reason might be that Google want to save money by not having
25112 to pay the video tax to MPEG-LA at all, and thus want to move to a
25113 video format not requiring royalties at all. A third reason might be
25114 that the Chrome development team simply want to avoid the
25115 Chrome/Chromium split to get more help with the development of Chrome.
25116 I guess time will tell.&lt;/p&gt;
25117
25118 &lt;p&gt;Update 2011-01-15: The Google Chrome team provided
25119 &lt;a href=&quot;http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html&quot;&gt;more
25120 background and information on the move&lt;/a&gt; it a blog post yesterday.&lt;/p&gt;
25121 </description>
25122 </item>
25123
25124 <item>
25125 <title>What standards are Free and Open as defined by Digistan?</title>
25126 <link>https://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</link>
25127 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</guid>
25128 <pubDate>Thu, 30 Dec 2010 23:15:00 +0100</pubDate>
25129 <description>&lt;p&gt;After trying to
25130 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html&quot;&gt;compare
25131 Ogg Theora&lt;/a&gt; to
25132 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the Digistan
25133 definition&lt;/a&gt; of a free and open standard, I concluded that this need
25134 to be done for more standards and started on a framework for doing
25135 this. As a start, I want to get the status for all the standards in
25136 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
25137 JPEG, PNG, SVG and others. But to be able to complete this in a
25138 reasonable time frame, I will need help.&lt;/p&gt;
25139
25140 &lt;p&gt;If you want to help out with this work, please visit
25141 &lt;a href=&quot;http://wiki.nuug.no/grupper/standard/digistan-analyse&quot;&gt;the
25142 wiki pages I have set up for this&lt;/a&gt;, and let me know that you want
25143 to help out. The IRC channel #nuug on irc.freenode.net is a good
25144 place to coordinate this for now, as it is the IRC channel for the
25145 NUUG association where I have created the framework (I am the leader
25146 of the Norwegian Unix User Group).&lt;/p&gt;
25147
25148 &lt;p&gt;The framework is still forming, and a lot is left to do. Do not be
25149 scared by the sketchy form of the current pages. :)&lt;/p&gt;
25150 </description>
25151 </item>
25152
25153 <item>
25154 <title>The many definitions of a open standard</title>
25155 <link>https://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</link>
25156 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</guid>
25157 <pubDate>Mon, 27 Dec 2010 14:45:00 +0100</pubDate>
25158 <description>&lt;p&gt;One of the reasons I like the Digistan definition of
25159 &quot;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;Free and
25160 Open Standard&lt;/a&gt;&quot; is that this is a new term, and thus the meaning of
25161 the term has been decided by Digistan. The term &quot;Open Standard&quot; has
25162 become so misunderstood that it is no longer very useful when talking
25163 about standards. One end up discussing which definition is the best
25164 one and with such frame the only one gaining are the proponents of
25165 de-facto standards and proprietary solutions.&lt;/p&gt;
25166
25167 &lt;p&gt;But to give us an idea about the diversity of definitions of open
25168 standards, here are a few that I know about. This list is not
25169 complete, but can be a starting point for those that want to do a
25170 complete survey. More definitions are available on the
25171 &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_standard&quot;&gt;wikipedia
25172 page&lt;/a&gt;.&lt;/p&gt;
25173
25174 &lt;p&gt;First off is my favourite, the definition from the European
25175 Interoperability Framework version 1.0. Really sad to notice that BSA
25176 and others has succeeded in getting it removed from version 2.0 of the
25177 framework by stacking the committee drafting the new version with
25178 their own people. Anyway, the definition is still available and it
25179 include the key properties needed to make sure everyone can use a
25180 specification on equal terms.&lt;/p&gt;
25181
25182 &lt;blockquote&gt;
25183
25184 &lt;p&gt;The following are the minimal characteristics that a specification
25185 and its attendant documents must have in order to be considered an
25186 open standard:&lt;/p&gt;
25187
25188 &lt;ul&gt;
25189
25190 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
25191 organisation, and its ongoing development occurs on the basis of an
25192 open decision-making procedure available to all interested parties
25193 (consensus or majority decision etc.).&lt;/li&gt;
25194
25195 &lt;li&gt;The standard has been published and the standard specification
25196 document is available either freely or at a nominal charge. It must be
25197 permissible to all to copy, distribute and use it for no fee or at a
25198 nominal fee.&lt;/li&gt;
25199
25200 &lt;li&gt;The intellectual property - i.e. patents possibly present - of
25201 (parts of) the standard is made irrevocably available on a royalty-
25202 free basis.&lt;/li&gt;
25203
25204 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
25205
25206 &lt;/ul&gt;
25207 &lt;/blockquote&gt;
25208
25209 &lt;p&gt;Another one originates from my friends over at
25210 &lt;a href=&quot;http://www.dkuug.dk/&quot;&gt;DKUUG&lt;/a&gt;, who coined and gathered
25211 support for &lt;a href=&quot;http://www.aaben-standard.dk/&quot;&gt;this
25212 definition&lt;/a&gt; in 2004. It even made it into the Danish parlament as
25213 &lt;a href=&quot;http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm&quot;&gt;their
25214 definition of a open standard&lt;/a&gt;. Another from a different part of
25215 the Danish government is available from the wikipedia page.&lt;/p&gt;
25216
25217 &lt;blockquote&gt;
25218
25219 &lt;p&gt;En åben standard opfylder følgende krav:&lt;/p&gt;
25220
25221 &lt;ol&gt;
25222
25223 &lt;li&gt;Veldokumenteret med den fuldstændige specifikation offentligt
25224 tilgængelig.&lt;/li&gt;
25225
25226 &lt;li&gt;Frit implementerbar uden økonomiske, politiske eller juridiske
25227 begrænsninger på implementation og anvendelse.&lt;/li&gt;
25228
25229 &lt;li&gt;Standardiseret og vedligeholdt i et åbent forum (en såkaldt
25230 &quot;standardiseringsorganisation&quot;) via en åben proces.&lt;/li&gt;
25231
25232 &lt;/ol&gt;
25233
25234 &lt;/blockquote&gt;
25235
25236 &lt;p&gt;Then there is &lt;a href=&quot;http://www.fsfe.org/projects/os/def.html&quot;&gt;the
25237 definition&lt;/a&gt; from Free Software Foundation Europe.&lt;/p&gt;
25238
25239 &lt;blockquote&gt;
25240
25241 &lt;p&gt;An Open Standard refers to a format or protocol that is&lt;/p&gt;
25242
25243 &lt;ol&gt;
25244
25245 &lt;li&gt;subject to full public assessment and use without constraints in a
25246 manner equally available to all parties;&lt;/li&gt;
25247
25248 &lt;li&gt;without any components or extensions that have dependencies on
25249 formats or protocols that do not meet the definition of an Open
25250 Standard themselves;&lt;/li&gt;
25251
25252 &lt;li&gt;free from legal or technical clauses that limit its utilisation by
25253 any party or in any business model;&lt;/li&gt;
25254
25255 &lt;li&gt;managed and further developed independently of any single vendor
25256 in a process open to the equal participation of competitors and third
25257 parties;&lt;/li&gt;
25258
25259 &lt;li&gt;available in multiple complete implementations by competing
25260 vendors, or as a complete implementation equally available to all
25261 parties.&lt;/li&gt;
25262
25263 &lt;/ol&gt;
25264
25265 &lt;/blockquote&gt;
25266
25267 &lt;p&gt;A long time ago, SUN Microsystems, now bought by Oracle, created
25268 its
25269 &lt;a href=&quot;http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf&quot;&gt;Open
25270 Standards Checklist&lt;/a&gt; with a fairly detailed description.&lt;/p&gt;
25271
25272 &lt;blockquote&gt;
25273 &lt;p&gt;Creation and Management of an Open Standard
25274
25275 &lt;ul&gt;
25276
25277 &lt;li&gt;Its development and management process must be collaborative and
25278 democratic:
25279
25280 &lt;ul&gt;
25281
25282 &lt;li&gt;Participation must be accessible to all those who wish to
25283 participate and can meet fair and reasonable criteria
25284 imposed by the organization under which it is developed
25285 and managed.&lt;/li&gt;
25286
25287 &lt;li&gt;The processes must be documented and, through a known
25288 method, can be changed through input from all
25289 participants.&lt;/li&gt;
25290
25291 &lt;li&gt;The process must be based on formal and binding commitments for
25292 the disclosure and licensing of intellectual property rights.&lt;/li&gt;
25293
25294 &lt;li&gt;Development and management should strive for consensus,
25295 and an appeals process must be clearly outlined.&lt;/li&gt;
25296
25297 &lt;li&gt;The standard specification must be open to extensive
25298 public review at least once in its life-cycle, with
25299 comments duly discussed and acted upon, if required.&lt;/li&gt;
25300
25301 &lt;/ul&gt;
25302
25303 &lt;/li&gt;
25304
25305 &lt;/ul&gt;
25306
25307 &lt;p&gt;Use and Licensing of an Open Standard&lt;/p&gt;
25308 &lt;ul&gt;
25309
25310 &lt;li&gt;The standard must describe an interface, not an implementation,
25311 and the industry must be capable of creating multiple, competing
25312 implementations to the interface described in the standard without
25313 undue or restrictive constraints. Interfaces include APIs,
25314 protocols, schemas, data formats and their encoding.&lt;/li&gt;
25315
25316 &lt;li&gt; The standard must not contain any proprietary &quot;hooks&quot; that create
25317 a technical or economic barriers&lt;/li&gt;
25318
25319 &lt;li&gt;Faithful implementations of the standard must
25320 interoperate. Interoperability means the ability of a computer
25321 program to communicate and exchange information with other computer
25322 programs and mutually to use the information which has been
25323 exchanged. This includes the ability to use, convert, or exchange
25324 file formats, protocols, schemas, interface information or
25325 conventions, so as to permit the computer program to work with other
25326 computer programs and users in all the ways in which they are
25327 intended to function.&lt;/li&gt;
25328
25329 &lt;li&gt;It must be permissible for anyone to copy, distribute and read the
25330 standard for a nominal fee, or even no fee. If there is a fee, it
25331 must be low enough to not preclude widespread use.&lt;/li&gt;
25332
25333 &lt;li&gt;It must be possible for anyone to obtain free (no royalties or
25334 fees; also known as &quot;royalty free&quot;), worldwide, non-exclusive and
25335 perpetual licenses to all essential patent claims to make, use and
25336 sell products based on the standard. The only exceptions are
25337 terminations per the reciprocity and defensive suspension terms
25338 outlined below. Essential patent claims include pending, unpublished
25339 patents, published patents, and patent applications. The license is
25340 only for the exact scope of the standard in question.
25341
25342 &lt;ul&gt;
25343
25344 &lt;li&gt; May be conditioned only on reciprocal licenses to any of
25345 licensees&#39; patent claims essential to practice that standard
25346 (also known as a reciprocity clause)&lt;/li&gt;
25347
25348 &lt;li&gt; May be terminated as to any licensee who sues the licensor
25349 or any other licensee for infringement of patent claims
25350 essential to practice that standard (also known as a
25351 &quot;defensive suspension&quot; clause)&lt;/li&gt;
25352
25353 &lt;li&gt; The same licensing terms are available to every potential
25354 licensor&lt;/li&gt;
25355
25356 &lt;/ul&gt;
25357 &lt;/li&gt;
25358
25359 &lt;li&gt;The licensing terms of an open standards must not preclude
25360 implementations of that standard under open source licensing terms
25361 or restricted licensing terms&lt;/li&gt;
25362
25363 &lt;/ul&gt;
25364
25365 &lt;/blockquote&gt;
25366
25367 &lt;p&gt;It is said that one of the nice things about standards is that
25368 there are so many of them. As you can see, the same holds true for
25369 open standard definitions. Most of the definitions have a lot in
25370 common, and it is not really controversial what properties a open
25371 standard should have, but the diversity of definitions have made it
25372 possible for those that want to avoid a level marked field and real
25373 competition to downplay the significance of open standards. I hope we
25374 can turn this tide by focusing on the advantages of Free and Open
25375 Standards.&lt;/p&gt;
25376 </description>
25377 </item>
25378
25379 <item>
25380 <title>Is Ogg Theora a free and open standard?</title>
25381 <link>https://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</link>
25382 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</guid>
25383 <pubDate>Sat, 25 Dec 2010 20:25:00 +0100</pubDate>
25384 <description>&lt;p&gt;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;The
25385 Digistan definition&lt;/a&gt; of a free and open standard reads like this:&lt;/p&gt;
25386
25387 &lt;blockquote&gt;
25388
25389 &lt;p&gt;The Digital Standards Organization defines free and open standard
25390 as follows:&lt;/p&gt;
25391
25392 &lt;ol&gt;
25393
25394 &lt;li&gt;A free and open standard is immune to vendor capture at all stages
25395 in its life-cycle. Immunity from vendor capture makes it possible to
25396 freely use, improve upon, trust, and extend a standard over time.&lt;/li&gt;
25397
25398 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
25399 organisation, and its ongoing development occurs on the basis of an
25400 open decision-making procedure available to all interested
25401 parties.&lt;/li&gt;
25402
25403 &lt;li&gt;The standard has been published and the standard specification
25404 document is available freely. It must be permissible to all to copy,
25405 distribute, and use it freely.&lt;/li&gt;
25406
25407 &lt;li&gt;The patents possibly present on (parts of) the standard are made
25408 irrevocably available on a royalty-free basis.&lt;/li&gt;
25409
25410 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
25411
25412 &lt;/ol&gt;
25413
25414 &lt;p&gt;The economic outcome of a free and open standard, which can be
25415 measured, is that it enables perfect competition between suppliers of
25416 products based on the standard.&lt;/p&gt;
25417 &lt;/blockquote&gt;
25418
25419 &lt;p&gt;For a while now I have tried to figure out of Ogg Theora is a free
25420 and open standard according to this definition. Here is a short
25421 writeup of what I have been able to gather so far. I brought up the
25422 topic on the Xiph advocacy mailing list
25423 &lt;a href=&quot;http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html&quot;&gt;in
25424 July 2009&lt;/a&gt;, for those that want to see some background information.
25425 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
25426 the Ogg Theora specification fulfils the Digistan definition.&lt;/p&gt;
25427
25428 &lt;p&gt;&lt;strong&gt;Free from vendor capture?&lt;/strong&gt;&lt;/p&gt;
25429
25430 &lt;p&gt;As far as I can see, there is no single vendor that can control the
25431 Ogg Theora specification. It can be argued that the
25432 &lt;a href=&quot;http://www.xiph.org/&quot;&gt;Xiph foundation&lt;/A&gt; is such vendor, but
25433 given that it is a non-profit foundation with the expressed goal
25434 making free and open protocols and standards available, it is not
25435 obvious that this is a real risk. One issue with the Xiph
25436 foundation is that its inner working (as in board member list, or who
25437 control the foundation) are not easily available on the web. I&#39;ve
25438 been unable to find out who is in the foundation board, and have not
25439 seen any accounting information documenting how money is handled nor
25440 where is is spent in the foundation. It is thus not obvious for an
25441 external observer who control The Xiph foundation, and for all I know
25442 it is possible for a single vendor to take control over the
25443 specification. But it seem unlikely.&lt;/p&gt;
25444
25445 &lt;p&gt;&lt;strong&gt;Maintained by open not-for-profit organisation?&lt;/strong&gt;&lt;/p&gt;
25446
25447 &lt;p&gt;Assuming that the Xiph foundation is the organisation its web pages
25448 claim it to be, this point is fulfilled. If Xiph foundation is
25449 controlled by a single vendor, it isn&#39;t, but I have not found any
25450 documentation indicating this.&lt;/p&gt;
25451
25452 &lt;p&gt;According to
25453 &lt;a href=&quot;http://media.hiof.no/diverse/fad/rapport_4.pdf&quot;&gt;a report&lt;/a&gt;
25454 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
25455 government, the Xiph foundation is a non-commercial organisation and
25456 the development process is open, transparent and non-Discrimatory.
25457 Until proven otherwise, I believe it make most sense to believe the
25458 report is correct.&lt;/p&gt;
25459
25460 &lt;p&gt;&lt;strong&gt;Specification freely available?&lt;/strong&gt;&lt;/p&gt;
25461
25462 &lt;p&gt;The specification for the &lt;a href=&quot;http://www.xiph.org/ogg/doc/&quot;&gt;Ogg
25463 container format&lt;/a&gt; and both the
25464 &lt;a href=&quot;http://www.xiph.org/vorbis/doc/&quot;&gt;Vorbis&lt;/a&gt; and
25465 &lt;a href=&quot;http://theora.org/doc/&quot;&gt;Theora&lt;/a&gt; codeces are available on
25466 the web. This are the terms in the Vorbis and Theora specification:
25467
25468 &lt;blockquote&gt;
25469
25470 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
25471 specifications, whether in private, public, or corporate
25472 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
25473 the right to set the Ogg [Vorbis/Theora] specification and certify
25474 specification compliance.
25475
25476 &lt;/blockquote&gt;
25477
25478 &lt;p&gt;The Ogg container format is specified in IETF
25479 &lt;a href=&quot;http://www.xiph.org/ogg/doc/rfc3533.txt&quot;&gt;RFC 3533&lt;/a&gt;, and
25480 this is the term:&lt;p&gt;
25481
25482 &lt;blockquote&gt;
25483
25484 &lt;p&gt;This document and translations of it may be copied and furnished to
25485 others, and derivative works that comment on or otherwise explain it
25486 or assist in its implementation may be prepared, copied, published and
25487 distributed, in whole or in part, without restriction of any kind,
25488 provided that the above copyright notice and this paragraph are
25489 included on all such copies and derivative works. However, this
25490 document itself may not be modified in any way, such as by removing
25491 the copyright notice or references to the Internet Society or other
25492 Internet organizations, except as needed for the purpose of developing
25493 Internet standards in which case the procedures for copyrights defined
25494 in the Internet Standards process must be followed, or as required to
25495 translate it into languages other than English.&lt;/p&gt;
25496
25497 &lt;p&gt;The limited permissions granted above are perpetual and will not be
25498 revoked by the Internet Society or its successors or assigns.&lt;/p&gt;
25499 &lt;/blockquote&gt;
25500
25501 &lt;p&gt;All these terms seem to allow unlimited distribution and use, an
25502 this term seem to be fulfilled. There might be a problem with the
25503 missing permission to distribute modified versions of the text, and
25504 thus reuse it in other specifications. Not quite sure if that is a
25505 requirement for the Digistan definition.&lt;/p&gt;
25506
25507 &lt;p&gt;&lt;strong&gt;Royalty-free?&lt;/strong&gt;&lt;/p&gt;
25508
25509 &lt;p&gt;There are no known patent claims requiring royalties for the Ogg
25510 Theora format.
25511 &lt;a href=&quot;http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782&quot;&gt;MPEG-LA&lt;/a&gt;
25512 and
25513 &lt;a href=&quot;http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit&quot;&gt;Steve
25514 Jobs&lt;/a&gt; in Apple claim to know about some patent claims (submarine
25515 patents) against the Theora format, but no-one else seem to believe
25516 them. Both Opera Software and the Mozilla Foundation have looked into
25517 this and decided to implement Ogg Theora support in their browsers
25518 without paying any royalties. For now the claims from MPEG-LA and
25519 Steve Jobs seem more like FUD to scare people to use the H.264 codec
25520 than any real problem with Ogg Theora.&lt;/p&gt;
25521
25522 &lt;p&gt;&lt;strong&gt;No constraints on re-use?&lt;/strong&gt;&lt;/p&gt;
25523
25524 &lt;p&gt;I am not aware of any constraints on re-use.&lt;/p&gt;
25525
25526 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
25527
25528 &lt;p&gt;3 of 5 requirements seem obviously fulfilled, and the remaining 2
25529 depend on the governing structure of the Xiph foundation. Given the
25530 background report used by the Norwegian government, I believe it is
25531 safe to assume the last two requirements are fulfilled too, but it
25532 would be nice if the Xiph foundation web site made it easier to verify
25533 this.&lt;/p&gt;
25534
25535 &lt;p&gt;It would be nice to see other analysis of other specifications to
25536 see if they are free and open standards.&lt;/p&gt;
25537 </description>
25538 </item>
25539
25540 <item>
25541 <title>The reply from Edgar Villanueva to Microsoft in Peru</title>
25542 <link>https://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</link>
25543 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</guid>
25544 <pubDate>Sat, 25 Dec 2010 10:50:00 +0100</pubDate>
25545 <description>&lt;p&gt;A few days ago
25546 &lt;a href=&quot;http://www.idg.no/computerworld/article189879.ece&quot;&gt;an
25547 article&lt;/a&gt; in the Norwegian Computerworld magazine about how version
25548 2.0 of
25549 &lt;a href=&quot;http://en.wikipedia.org/wiki/European_Interoperability_Framework&quot;&gt;European
25550 Interoperability Framework&lt;/a&gt; has been successfully lobbied by the
25551 proprietary software industry to remove the focus on free software.
25552 Nothing very surprising there, given
25553 &lt;a href=&quot;http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe&quot;&gt;earlier
25554 reports&lt;/a&gt; on how Microsoft and others have stacked the committees in
25555 this work. But I find this very sad. The definition of
25556 &lt;a href=&quot;http://www.nuug.no/dokumenter/standard-presse-def-200506.txt&quot;&gt;an
25557 open standard from version 1&lt;/a&gt; was very good, and something I
25558 believe should be used also in the future, alongside
25559 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the
25560 definition from Digistan&lt;/A&gt;. Version 2 have removed the open
25561 standard definition from its content.&lt;/p&gt;
25562
25563 &lt;p&gt;Anyway, the news reminded me of the great reply sent by Dr. Edgar
25564 Villanueva, congressman in Peru at the time, to Microsoft as a reply
25565 to Microsofts attack on his proposal regarding the use of free software
25566 in the public sector in Peru. As the text was not available from a
25567 few of the URLs where it used to be available, I copy it here from
25568 &lt;a href=&quot;http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html&quot;&gt;my
25569 source&lt;/a&gt; to ensure it is available also in the future. Some
25570 background information about that story is available in
25571 &lt;a href=&quot;http://www.linuxjournal.com/article/6099&quot;&gt;an article&lt;/a&gt; from
25572 Linux Journal in 2002.&lt;/p&gt;
25573
25574 &lt;blockquote&gt;
25575 &lt;p&gt;Lima, 8th of April, 2002&lt;br&gt;
25576 To: Señor JUAN ALBERTO GONZÁLEZ&lt;br&gt;
25577 General Manager of Microsoft Perú&lt;/p&gt;
25578
25579 &lt;p&gt;Dear Sir:&lt;/p&gt;
25580
25581 &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;
25582
25583 &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;
25584
25585 &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;
25586
25587 &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;
25588
25589 &lt;p&gt;
25590 &lt;ul&gt;
25591 &lt;li&gt;Free access to public information by the citizen. &lt;/li&gt;
25592 &lt;li&gt;Permanence of public data. &lt;/li&gt;
25593 &lt;li&gt;Security of the State and citizens.&lt;/li&gt;
25594 &lt;/ul&gt;
25595 &lt;/p&gt;
25596
25597 &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;
25598
25599 &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;
25600
25601 &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;
25602
25603 &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;
25604
25605 &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;
25606
25607
25608 &lt;p&gt;From reading the Bill it will be clear that once passed:&lt;br&gt;
25609 &lt;li&gt;the law does not forbid the production of proprietary software&lt;/li&gt;
25610 &lt;li&gt;the law does not forbid the sale of proprietary software&lt;/li&gt;
25611 &lt;li&gt;the law does not specify which concrete software to use&lt;/li&gt;
25612 &lt;li&gt;the law does not dictate the supplier from whom software will be bought&lt;/li&gt;
25613 &lt;li&gt;the law does not limit the terms under which a software product can be licensed.&lt;/li&gt;
25614
25615 &lt;/p&gt;
25616
25617 &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;
25618
25619 &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;
25620
25621 &lt;p&gt;As for the observations you have made, we will now go on to analyze them in detail:&lt;/p&gt;
25622
25623 &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;
25624
25625 &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;
25626
25627 &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;
25628
25629 &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;
25630
25631 &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;
25632
25633 &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;
25634
25635 &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;
25636
25637 &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;
25638
25639 &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;
25640
25641 &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;
25642
25643 &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;
25644
25645 &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;
25646
25647 &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;
25648
25649 &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;
25650
25651 &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;
25652
25653 &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;
25654
25655 &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;
25656
25657 &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;
25658
25659 &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;
25660
25661 &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;
25662
25663 &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;
25664
25665 &lt;p&gt;On security:&lt;/p&gt;
25666
25667 &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;
25668
25669 &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;
25670
25671 &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;
25672
25673 &lt;p&gt;In respect of the guarantee:&lt;/p&gt;
25674
25675 &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;
25676
25677 &lt;p&gt;On Intellectual Property:&lt;/p&gt;
25678
25679 &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;
25680
25681 &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;
25682
25683 &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;
25684
25685 &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;
25686
25687 &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;
25688
25689 &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;
25690
25691 &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;
25692
25693 &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;
25694
25695 &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;
25696
25697 &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;
25698
25699 &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;
25700
25701 &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;
25702
25703 &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;
25704
25705 &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;
25706
25707 &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;
25708
25709 &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;
25710
25711 &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;
25712
25713 &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;
25714
25715 &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;
25716
25717 &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;
25718
25719 &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;
25720
25721 &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;
25722
25723 &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;
25724
25725 &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;
25726
25727 &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;
25728
25729 &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;
25730
25731 &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;
25732
25733 &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;
25734
25735 &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;
25736
25737 &lt;p&gt;Cordially,&lt;br&gt;
25738 DR. EDGAR DAVID VILLANUEVA NUÑEZ&lt;br&gt;
25739 Congressman of the Republic of Perú.&lt;/p&gt;
25740 &lt;/blockquote&gt;
25741 </description>
25742 </item>
25743
25744 <item>
25745 <title>Officeshots still going strong</title>
25746 <link>https://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</link>
25747 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</guid>
25748 <pubDate>Sat, 25 Dec 2010 09:40:00 +0100</pubDate>
25749 <description>&lt;p&gt;Half a year ago I
25750 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html&quot;&gt;wrote
25751 a bit&lt;/a&gt; about &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;,
25752 a web service to allow anyone to test how ODF documents are handled by
25753 the different programs reading and writing the ODF format.&lt;/p&gt;
25754
25755 &lt;p&gt;I just had a look at the service, and it seem to be going strong.
25756 Very interesting to see the results reported in the gallery, how
25757 different Office implementations handle different ODF features. Sad
25758 to see that KOffice was not doing it very well, and happy to see that
25759 LibreOffice has been tested already (but sadly not listed as a option
25760 for OfficeShots users yet). I am glad to see that the ODF community
25761 got such a great test tool available.&lt;/p&gt;
25762 </description>
25763 </item>
25764
25765 <item>
25766 <title>How to test if a laptop is working with Linux</title>
25767 <link>https://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</link>
25768 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</guid>
25769 <pubDate>Wed, 22 Dec 2010 14:55:00 +0100</pubDate>
25770 <description>&lt;p&gt;The last few days I have spent at work here at the &lt;a
25771 href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; testing if the new
25772 batch of computers will work with Linux. Every year for the last few
25773 years the university have organised shared bid of a few thousand
25774 computers, and this year HP won the bid. Two different desktops and
25775 five different laptops are on the list this year. We in the UNIX
25776 group want to know which one of these computers work well with RHEL
25777 and Ubuntu, the two Linux distributions we currently handle at the
25778 university.&lt;/p&gt;
25779
25780 &lt;p&gt;My test method is simple, and I share it here to get feedback and
25781 perhaps inspire others to test hardware as well. To test, I PXE
25782 install the OS version of choice, and log in as my normal user and run
25783 a few applications and plug in selected pieces of hardware. When
25784 something fail, I make a note about this in the test matrix and move
25785 on. If I have some spare time I try to report the bug to the OS
25786 vendor, but as I only have the machines for a short time, I rarely
25787 have the time to do this for all the problems I find.&lt;/p&gt;
25788
25789 &lt;p&gt;Anyway, to get to the point of this post. Here is the simple tests
25790 I perform on a new model.&lt;/p&gt;
25791
25792 &lt;ul&gt;
25793
25794 &lt;li&gt;Is PXE installation working? I&#39;m testing with RHEL6, Ubuntu Lucid
25795 and Ubuntu Maverik at the moment. If I feel like it, I also test with
25796 RHEL5 and Debian Edu/Squeeze.&lt;/li&gt;
25797
25798 &lt;li&gt;Is X.org working? If the graphical login screen show up after
25799 installation, X.org is working.&lt;/li&gt;
25800
25801 &lt;li&gt;Is hardware accelerated OpenGL working? Running glxgears (in
25802 package mesa-utils on Ubuntu) and writing down the frames per second
25803 reported by the program.&lt;/li&gt;
25804
25805 &lt;li&gt;Is sound working? With Gnome and KDE, a sound is played when
25806 logging in, and if I can hear this the test is successful. If there
25807 are several audio exits on the machine, I try them all and check if
25808 the Gnome/KDE audio mixer can control where to send the sound. I
25809 normally test this by playing
25810 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20101012-chef/ &quot;&gt;a HTML5
25811 video&lt;/a&gt; in Firefox/Iceweasel.&lt;/li&gt;
25812
25813 &lt;li&gt;Is the USB subsystem working? I test this by plugging in a USB
25814 memory stick and see if Gnome/KDE notices this.&lt;/li&gt;
25815
25816 &lt;li&gt;Is the CD/DVD player working? I test this by inserting any CD/DVD
25817 I have lying around, and see if Gnome/KDE notices this.&lt;/li&gt;
25818
25819 &lt;li&gt;Is any built in camera working? Test using cheese, and see if a
25820 picture from the v4l device show up.&lt;/li&gt;
25821
25822 &lt;li&gt;Is bluetooth working? Use the Gnome/KDE browsing tool to see if
25823 any bluetooth devices are discovered. In my office, I normally see a
25824 few.&lt;/li&gt;
25825
25826 &lt;li&gt;For laptops, is the SD or Compaq Flash reader working. I have
25827 memory modules lying around, and stick them in and see if Gnome/KDE
25828 notice this.&lt;/li&gt;
25829
25830 &lt;li&gt;For laptops, is suspend/hibernate working? I&#39;m testing if the
25831 special button work, and if the laptop continue to work after
25832 resume.&lt;/li&gt;
25833
25834 &lt;li&gt;For laptops, is the extra buttons working, like audio level,
25835 adjusting background light, switching on/off external video output,
25836 switching on/off wifi, bluetooth, etc? The set of buttons differ from
25837 laptop to laptop, so I just write down which are working and which are
25838 not.&lt;/li&gt;
25839
25840 &lt;li&gt;Some laptops have smart card readers, finger print readers,
25841 acceleration sensors etc. I rarely test these, as I do not know how
25842 to quickly test if they are working or not, so I only document their
25843 existence.&lt;/li&gt;
25844
25845 &lt;/ul&gt;
25846
25847 &lt;p&gt;By now I suspect you are really curious what the test results are
25848 for the HP machines I am testing. I&#39;m not done yet, so I will report
25849 the test results later. For now I can report that HP 8100 Elite work
25850 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
25851 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
25852 can see, I have most machines left to test. One interesting
25853 observation is that Ubuntu Lucid has almost twice the frame rate than
25854 RHEL6 with glxgears. No idea why.&lt;/p&gt;
25855 </description>
25856 </item>
25857
25858 <item>
25859 <title>Some thoughts on BitCoins</title>
25860 <link>https://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</link>
25861 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</guid>
25862 <pubDate>Sat, 11 Dec 2010 15:10:00 +0100</pubDate>
25863 <description>&lt;p&gt;As I continue to explore
25864 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;, I&#39;ve starting to wonder
25865 what properties the system have, and how it will be affected by laws
25866 and regulations here in Norway. Here are some random notes.&lt;/p&gt;
25867
25868 &lt;p&gt;One interesting thing to note is that since the transactions are
25869 verified using a peer to peer network, all details about a transaction
25870 is known to everyone. This means that if a BitCoin address has been
25871 published like I did with mine in my initial post about BitCoin, it is
25872 possible for everyone to see how many BitCoins have been transfered to
25873 that address. There is even a web service to look at the details for
25874 all transactions. There I can see that my address
25875 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;
25876 have received 16.06 Bitcoin, the
25877 &lt;a href=&quot;http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&quot;&gt;1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&lt;/a&gt;
25878 address of Simon Phipps have received 181.97 BitCoin and the address
25879 &lt;a href=&quot;http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&quot;&gt;1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&lt;/A&gt;
25880 of EFF have received 2447.38 BitCoins so far. Thank you to each and
25881 every one of you that donated bitcoins to support my activity. The
25882 fact that anyone can see how much money was transfered to a given
25883 address make it more obvious why the BitCoin community recommend to
25884 generate and hand out a new address for each transaction. I&#39;m told
25885 there is no way to track which addresses belong to a given person or
25886 organisation without the person or organisation revealing it
25887 themselves, as Simon, EFF and I have done.&lt;/p&gt;
25888
25889 &lt;p&gt;In Norway, and in most other countries, there are laws and
25890 regulations limiting how much money one can transfer across the border
25891 without declaring it. There are money laundering, tax and accounting
25892 laws and regulations I would expect to apply to the use of BitCoin.
25893 If the Skolelinux foundation
25894 (&lt;a href=&quot;http://linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;SLX
25895 Debian Labs&lt;/a&gt;) were to accept donations in BitCoin in addition to
25896 normal bank transfers like EFF is doing, how should this be accounted?
25897 Given that it is impossible to know if money can cross the border or
25898 not, should everything or nothing be declared? What exchange rate
25899 should be used when calculating taxes? Would receivers have to pay
25900 income tax if the foundation were to pay Skolelinux contributors in
25901 BitCoin? I have no idea, but it would be interesting to know.&lt;/p&gt;
25902
25903 &lt;p&gt;For a currency to be useful and successful, it must be trusted and
25904 accepted by a lot of users. It must be possible to get easy access to
25905 the currency (as a wage or using currency exchanges), and it must be
25906 easy to spend it. At the moment BitCoin seem fairly easy to get
25907 access to, but there are very few places to spend it. I am not really
25908 a regular user of any of the vendor types currently accepting BitCoin,
25909 so I wonder when my kind of shop would start accepting BitCoins. I
25910 would like to buy electronics, travels and subway tickets, not herbs
25911 and books. :) The currency is young, and this will improve over time
25912 if it become popular, but I suspect regular banks will start to lobby
25913 to get BitCoin declared illegal if it become popular. I&#39;m sure they
25914 will claim it is helping fund terrorism and money laundering (which
25915 probably would be true, as is any currency in existence), but I
25916 believe the problems should be solved elsewhere and not by blaming
25917 currencies.&lt;/p&gt;
25918
25919 &lt;p&gt;The process of creating new BitCoins is called mining, and it is
25920 CPU intensive process that depend on a bit of luck as well (as one is
25921 competing against all the other miners currently spending CPU cycles
25922 to see which one get the next lump of cash). The &quot;winner&quot; get 50
25923 BitCoin when this happen. Yesterday I came across the obvious way to
25924 join forces to increase ones changes of getting at least some coins,
25925 by coordinating the work on mining BitCoins across several machines
25926 and people, and sharing the result if one is lucky and get the 50
25927 BitCoins. Check out
25928 &lt;a href=&quot;http://www.bluishcoder.co.nz/bitcoin-pool/&quot;&gt;BitCoin Pool&lt;/a&gt;
25929 if this sounds interesting. I have not had time to try to set up a
25930 machine to participate there yet, but have seen that running on ones
25931 own for a few days have not yield any BitCoins througth mining
25932 yet.&lt;/p&gt;
25933
25934 &lt;p&gt;Update 2010-12-15: Found an &lt;a
25935 href=&quot;http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi&quot;&gt;interesting
25936 criticism&lt;/a&gt; of bitcoin. Not quite sure how valid it is, but thought
25937 it was interesting to read. The arguments presented seem to be
25938 equally valid for gold, which was used as a currency for many years.&lt;/p&gt;
25939 </description>
25940 </item>
25941
25942 <item>
25943 <title>Now accepting bitcoins - anonymous and distributed p2p crypto-money</title>
25944 <link>https://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</link>
25945 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</guid>
25946 <pubDate>Fri, 10 Dec 2010 08:20:00 +0100</pubDate>
25947 <description>&lt;p&gt;With this weeks lawless
25948 &lt;a href=&quot;http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html&quot;&gt;governmental
25949 attacks&lt;/a&gt; on Wikileak and
25950 &lt;a href=&quot;http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech&quot;&gt;free
25951 speech&lt;/a&gt;, it has become obvious that PayPal, visa and mastercard can
25952 not be trusted to handle money transactions.
25953 A blog post from
25954 &lt;a href=&quot;http://webmink.com/2010/12/06/now-accepting-bitcoin/&quot;&gt;Simon
25955 Phipps on bitcoin&lt;/a&gt; reminded me about a project that a friend of
25956 mine mentioned earlier. I decided to follow Simon&#39;s example, and get
25957 involved with &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;. I got
25958 some help from my friend to get it all running, and he even handed me
25959 some bitcoins to get started. I even donated a few bitcoins to Simon
25960 for helping me remember BitCoin.&lt;/p&gt;
25961
25962 &lt;p&gt;So, what is bitcoins, you probably wonder? It is a digital
25963 crypto-currency, decentralised and handled using peer-to-peer
25964 networks. It allows anonymous transactions and prohibits central
25965 control over the transactions, making it impossible for governments
25966 and companies alike to block donations and other transactions. The
25967 source is free software, and while the key dependency wxWidgets 2.9
25968 for the graphical user interface is missing in Debian, the command
25969 line client builds just fine. Hopefully Jonas
25970 &lt;a href=&quot;http://bugs.debian.org/578157&quot;&gt;will get the package into
25971 Debian&lt;/a&gt; soon.&lt;/p&gt;
25972
25973 &lt;p&gt;Bitcoins can be converted to other currencies, like USD and EUR.
25974 There are &lt;a href=&quot;http://www.bitcoin.org/trade&quot;&gt;companies accepting
25975 bitcoins&lt;/a&gt; when selling services and goods, and there are even
25976 currency &quot;stock&quot; markets where the exchange rate is decided. There
25977 are not many users so far, but the concept seems promising. If you
25978 want to get started and lack a friend with any bitcoins to spare,
25979 you can even get
25980 &lt;a href=&quot;https://freebitcoins.appspot.com/&quot;&gt;some for free&lt;/a&gt; (0.05
25981 bitcoin at the time of writing). Use
25982 &lt;a href=&quot;http://www.bitcoinwatch.com/&quot;&gt;BitcoinWatch&lt;/a&gt; to keep an eye
25983 on the current exchange rates.&lt;/p&gt;
25984
25985 &lt;p&gt;As an experiment, I have decided to set up bitcoind on one of my
25986 machines. If you want to support my activity, please send Bitcoin
25987 donations to the address
25988 &lt;b&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/b&gt;. Thank you!&lt;/p&gt;
25989 </description>
25990 </item>
25991
25992 <item>
25993 <title>Student group continue the work on my Reprap 3D printer</title>
25994 <link>https://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</link>
25995 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</guid>
25996 <pubDate>Thu, 9 Dec 2010 19:30:00 +0100</pubDate>
25997 <description>&lt;p&gt;A few days ago, I was introduces to some students in the robot
25998 student assosiation &lt;a href=&quot;http://www.robotica.no/&quot;&gt;Robotica
25999 Osloensis&lt;/a&gt; at the University of Oslo where I work, who planned to
26000 get their own 3D printer. They wanted to learn from me based on my
26001 work in the area. After having a short lunch meeting with them, I
26002 offered them to borrow my reprap kit, as I never had time to complete
26003 the build and this seem unlike to change any time soon. I look
26004 forward to see how this goes. This monday their volunteer driver
26005 picked up my kit and drove it to their lab, and tomorrow I am told the
26006 last exam is over so they can start work on getting the 3D printer
26007 operational.&lt;/p&gt;
26008
26009 &lt;p&gt;The robotic group have already build several robots on their own,
26010 and seem capable of getting the reprap operational. I really look
26011 forward to being able to print all the cool 3D designs published on
26012 &lt;a href=&quot;http://www.thingiverse.com/&quot;&gt;Thingiverse&lt;/a&gt;. I even got
26013 some 3D scans I got made during Dagen@IFI when one of the groups at
26014 the computer science department at the university demonstrated their
26015 very cool 3D scanner.&lt;/p&gt;
26016 </description>
26017 </item>
26018
26019 <item>
26020 <title>Debian Edu development gathering and General Assembly for FRiSK</title>
26021 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</link>
26022 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</guid>
26023 <pubDate>Mon, 29 Nov 2010 18:40:00 +0100</pubDate>
26024 <description>&lt;p&gt;On friday, the first Debian Edu / Skolelinux
26025 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo&quot;&gt;development
26026 gathering&lt;/a&gt; in a long time take place here in Oslo, Norway. I
26027 really look forward to seeing all the good people working on the
26028 Squeeze release. The gathering is open for everyone interested in
26029 learning more about Debian Edu / Skolelinux.&lt;/p&gt;
26030
26031 &lt;p&gt;On Saturday, the Norwegian member organization taking care of
26032 organizing these development gatherings, Fri Programvare i Skolen,
26033 will hold its
26034 &lt;a href=&quot;http://friprogramvareiskolen.no/Genfors/2010&quot;&gt;General Assembly
26035 for 2010&lt;/a&gt;. Membership is open for all, and currently there are 388
26036 people registered as members. Last year 32 members cast their vote in
26037 the memberdb based election system. I hope more people find time to
26038 vote this year.&lt;/p&gt;
26039 </description>
26040 </item>
26041
26042 <item>
26043 <title>Why isn&#39;t Debian Edu using VLC?</title>
26044 <link>https://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</link>
26045 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</guid>
26046 <pubDate>Sat, 27 Nov 2010 11:30:00 +0100</pubDate>
26047 <description>&lt;p&gt;In the latest issue of Linux Journal, the readers choices were
26048 presented, and the winner among the multimedia player were VLC.
26049 Personally, I like VLC, and it is my player of choice when I first try
26050 to play a video file or stream. Only if VLC fail will I drag out
26051 gmplayer to see if it can do better. The reason is mostly the failure
26052 model and trust. When VLC fail, it normally pop up a error message
26053 reporting the problem. When mplayer fail, it normally segfault or
26054 just hangs. The latter failure mode drain my trust in the program.&lt;p&gt;
26055
26056 &lt;p&gt;But even if VLC is my player of choice, we have choosen to use
26057 mplayer in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
26058 Edu/Skolelinux&lt;/a&gt;. The reason is simple. We need a good browser
26059 plugin to play web videos seamlessly, and the VLC browser plugin is
26060 not very good. For example, it lack in-line control buttons, so there
26061 is no way for the user to pause the video. Also, when I
26062 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;last
26063 tested the browser plugins&lt;/a&gt; available in Debian, the VLC plugin
26064 failed on several video pages where mplayer based plugins worked. If
26065 the browser plugin for VLC was as good as the gecko-mediaplayer
26066 package (which uses mplayer), we would switch.&lt;/P&gt;
26067
26068 &lt;p&gt;While VLC is a good player, its user interface is slightly
26069 annoying. The most annoying feature is its inconsistent use of
26070 keyboard shortcuts. When the player is in full screen mode, its
26071 shortcuts are different from when it is playing the video in a window.
26072 For example, space only work as pause when in full screen mode. I
26073 wish it had consisten shortcuts and that space also would work when in
26074 window mode. Another nice shortcut in gmplayer is [enter] to restart
26075 the current video. It is very nice when playing short videos from the
26076 web and want to restart it when new people arrive to have a look at
26077 what is going on.&lt;/p&gt;
26078 </description>
26079 </item>
26080
26081 <item>
26082 <title>Lenny-&gt;Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</title>
26083 <link>https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</link>
26084 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</guid>
26085 <pubDate>Mon, 22 Nov 2010 14:15:00 +0100</pubDate>
26086 <description>&lt;p&gt;Michael Biebl suggested to me on IRC, that I changed my automated
26087 upgrade testing of the
26088 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
26089 Gnome and KDE Desktop&lt;/a&gt; to do &lt;tt&gt;apt-get autoremove&lt;/tt&gt; when using apt-get.
26090 This seem like a very good idea, so I adjusted by test scripts and
26091 can now present the updated result from today:&lt;/p&gt;
26092
26093 &lt;p&gt;This is for Gnome:&lt;/p&gt;
26094
26095 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
26096
26097 &lt;blockquote&gt;&lt;p&gt;
26098 apache2.2-bin
26099 aptdaemon
26100 baobab
26101 binfmt-support
26102 browser-plugin-gnash
26103 cheese-common
26104 cli-common
26105 cups-pk-helper
26106 dmz-cursor-theme
26107 empathy
26108 empathy-common
26109 freedesktop-sound-theme
26110 freeglut3
26111 gconf-defaults-service
26112 gdm-themes
26113 gedit-plugins
26114 geoclue
26115 geoclue-hostip
26116 geoclue-localnet
26117 geoclue-manual
26118 geoclue-yahoo
26119 gnash
26120 gnash-common
26121 gnome
26122 gnome-backgrounds
26123 gnome-cards-data
26124 gnome-codec-install
26125 gnome-core
26126 gnome-desktop-environment
26127 gnome-disk-utility
26128 gnome-screenshot
26129 gnome-search-tool
26130 gnome-session-canberra
26131 gnome-system-log
26132 gnome-themes-extras
26133 gnome-themes-more
26134 gnome-user-share
26135 gstreamer0.10-fluendo-mp3
26136 gstreamer0.10-tools
26137 gtk2-engines
26138 gtk2-engines-pixbuf
26139 gtk2-engines-smooth
26140 hamster-applet
26141 libapache2-mod-dnssd
26142 libapr1
26143 libaprutil1
26144 libaprutil1-dbd-sqlite3
26145 libaprutil1-ldap
26146 libart2.0-cil
26147 libboost-date-time1.42.0
26148 libboost-python1.42.0
26149 libboost-thread1.42.0
26150 libchamplain-0.4-0
26151 libchamplain-gtk-0.4-0
26152 libcheese-gtk18
26153 libclutter-gtk-0.10-0
26154 libcryptui0
26155 libdiscid0
26156 libelf1
26157 libepc-1.0-2
26158 libepc-common
26159 libepc-ui-1.0-2
26160 libfreerdp-plugins-standard
26161 libfreerdp0
26162 libgconf2.0-cil
26163 libgdata-common
26164 libgdata7
26165 libgdu-gtk0
26166 libgee2
26167 libgeoclue0
26168 libgexiv2-0
26169 libgif4
26170 libglade2.0-cil
26171 libglib2.0-cil
26172 libgmime2.4-cil
26173 libgnome-vfs2.0-cil
26174 libgnome2.24-cil
26175 libgnomepanel2.24-cil
26176 libgpod-common
26177 libgpod4
26178 libgtk2.0-cil
26179 libgtkglext1
26180 libgtksourceview2.0-common
26181 libmono-addins-gui0.2-cil
26182 libmono-addins0.2-cil
26183 libmono-cairo2.0-cil
26184 libmono-corlib2.0-cil
26185 libmono-i18n-west2.0-cil
26186 libmono-posix2.0-cil
26187 libmono-security2.0-cil
26188 libmono-sharpzip2.84-cil
26189 libmono-system2.0-cil
26190 libmtp8
26191 libmusicbrainz3-6
26192 libndesk-dbus-glib1.0-cil
26193 libndesk-dbus1.0-cil
26194 libopal3.6.8
26195 libpolkit-gtk-1-0
26196 libpt2.6.7
26197 libpython2.6
26198 librpm1
26199 librpmio1
26200 libsdl1.2debian
26201 libsrtp0
26202 libssh-4
26203 libtelepathy-farsight0
26204 libtelepathy-glib0
26205 libtidy-0.99-0
26206 media-player-info
26207 mesa-utils
26208 mono-2.0-gac
26209 mono-gac
26210 mono-runtime
26211 nautilus-sendto
26212 nautilus-sendto-empathy
26213 p7zip-full
26214 pkg-config
26215 python-aptdaemon
26216 python-aptdaemon-gtk
26217 python-axiom
26218 python-beautifulsoup
26219 python-bugbuddy
26220 python-clientform
26221 python-coherence
26222 python-configobj
26223 python-crypto
26224 python-cupshelpers
26225 python-elementtree
26226 python-epsilon
26227 python-evolution
26228 python-feedparser
26229 python-gdata
26230 python-gdbm
26231 python-gst0.10
26232 python-gtkglext1
26233 python-gtksourceview2
26234 python-httplib2
26235 python-louie
26236 python-mako
26237 python-markupsafe
26238 python-mechanize
26239 python-nevow
26240 python-notify
26241 python-opengl
26242 python-openssl
26243 python-pam
26244 python-pkg-resources
26245 python-pyasn1
26246 python-pysqlite2
26247 python-rdflib
26248 python-serial
26249 python-tagpy
26250 python-twisted-bin
26251 python-twisted-conch
26252 python-twisted-core
26253 python-twisted-web
26254 python-utidylib
26255 python-webkit
26256 python-xdg
26257 python-zope.interface
26258 remmina
26259 remmina-plugin-data
26260 remmina-plugin-rdp
26261 remmina-plugin-vnc
26262 rhythmbox-plugin-cdrecorder
26263 rhythmbox-plugins
26264 rpm-common
26265 rpm2cpio
26266 seahorse-plugins
26267 shotwell
26268 software-center
26269 system-config-printer-udev
26270 telepathy-gabble
26271 telepathy-mission-control-5
26272 telepathy-salut
26273 tomboy
26274 totem
26275 totem-coherence
26276 totem-mozilla
26277 totem-plugins
26278 transmission-common
26279 xdg-user-dirs
26280 xdg-user-dirs-gtk
26281 xserver-xephyr
26282 &lt;/p&gt;&lt;/blockquote&gt;
26283
26284 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
26285
26286 &lt;blockquote&gt;&lt;p&gt;
26287 cheese
26288 ekiga
26289 eog
26290 epiphany-extensions
26291 evolution-exchange
26292 fast-user-switch-applet
26293 file-roller
26294 gcalctool
26295 gconf-editor
26296 gdm
26297 gedit
26298 gedit-common
26299 gnome-games
26300 gnome-games-data
26301 gnome-nettool
26302 gnome-system-tools
26303 gnome-themes
26304 gnuchess
26305 gucharmap
26306 guile-1.8-libs
26307 libavahi-ui0
26308 libdmx1
26309 libgalago3
26310 libgtk-vnc-1.0-0
26311 libgtksourceview2.0-0
26312 liblircclient0
26313 libsdl1.2debian-alsa
26314 libspeexdsp1
26315 libsvga1
26316 rhythmbox
26317 seahorse
26318 sound-juicer
26319 system-config-printer
26320 totem-common
26321 transmission-gtk
26322 vinagre
26323 vino
26324 &lt;/p&gt;&lt;/blockquote&gt;
26325
26326 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
26327
26328 &lt;blockquote&gt;&lt;p&gt;
26329 gstreamer0.10-gnomevfs
26330 &lt;/p&gt;&lt;/blockquote&gt;
26331
26332 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
26333
26334 &lt;blockquote&gt;&lt;p&gt;
26335 [nothing]
26336 &lt;/p&gt;&lt;/blockquote&gt;
26337
26338 &lt;p&gt;This is for KDE:&lt;/p&gt;
26339
26340 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
26341
26342 &lt;blockquote&gt;&lt;p&gt;
26343 ksmserver
26344 &lt;/p&gt;&lt;/blockquote&gt;
26345
26346 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
26347
26348 &lt;blockquote&gt;&lt;p&gt;
26349 kwin
26350 network-manager-kde
26351 &lt;/p&gt;&lt;/blockquote&gt;
26352
26353 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
26354
26355 &lt;blockquote&gt;&lt;p&gt;
26356 arts
26357 dolphin
26358 freespacenotifier
26359 google-gadgets-gst
26360 google-gadgets-xul
26361 kappfinder
26362 kcalc
26363 kcharselect
26364 kde-core
26365 kde-plasma-desktop
26366 kde-standard
26367 kde-window-manager
26368 kdeartwork
26369 kdeartwork-emoticons
26370 kdeartwork-style
26371 kdeartwork-theme-icon
26372 kdebase
26373 kdebase-apps
26374 kdebase-workspace
26375 kdebase-workspace-bin
26376 kdebase-workspace-data
26377 kdeeject
26378 kdelibs
26379 kdeplasma-addons
26380 kdeutils
26381 kdewallpapers
26382 kdf
26383 kfloppy
26384 kgpg
26385 khelpcenter4
26386 kinfocenter
26387 konq-plugins-l10n
26388 konqueror-nsplugins
26389 kscreensaver
26390 kscreensaver-xsavers
26391 ktimer
26392 kwrite
26393 libgle3
26394 libkde4-ruby1.8
26395 libkonq5
26396 libkonq5-templates
26397 libnetpbm10
26398 libplasma-ruby
26399 libplasma-ruby1.8
26400 libqt4-ruby1.8
26401 marble-data
26402 marble-plugins
26403 netpbm
26404 nuvola-icon-theme
26405 plasma-dataengines-workspace
26406 plasma-desktop
26407 plasma-desktopthemes-artwork
26408 plasma-runners-addons
26409 plasma-scriptengine-googlegadgets
26410 plasma-scriptengine-python
26411 plasma-scriptengine-qedje
26412 plasma-scriptengine-ruby
26413 plasma-scriptengine-webkit
26414 plasma-scriptengines
26415 plasma-wallpapers-addons
26416 plasma-widget-folderview
26417 plasma-widget-networkmanagement
26418 ruby
26419 sweeper
26420 update-notifier-kde
26421 xscreensaver-data-extra
26422 xscreensaver-gl
26423 xscreensaver-gl-extra
26424 xscreensaver-screensaver-bsod
26425 &lt;/p&gt;&lt;/blockquote&gt;
26426
26427 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
26428
26429 &lt;blockquote&gt;&lt;p&gt;
26430 ark
26431 google-gadgets-common
26432 google-gadgets-qt
26433 htdig
26434 kate
26435 kdebase-bin
26436 kdebase-data
26437 kdepasswd
26438 kfind
26439 klipper
26440 konq-plugins
26441 konqueror
26442 ksysguard
26443 ksysguardd
26444 libarchive1
26445 libcln6
26446 libeet1
26447 libeina-svn-06
26448 libggadget-1.0-0b
26449 libggadget-qt-1.0-0b
26450 libgps19
26451 libkdecorations4
26452 libkephal4
26453 libkonq4
26454 libkonqsidebarplugin4a
26455 libkscreensaver5
26456 libksgrd4
26457 libksignalplotter4
26458 libkunitconversion4
26459 libkwineffects1a
26460 libmarblewidget4
26461 libntrack-qt4-1
26462 libntrack0
26463 libplasma-geolocation-interface4
26464 libplasmaclock4a
26465 libplasmagenericshell4
26466 libprocesscore4a
26467 libprocessui4a
26468 libqalculate5
26469 libqedje0a
26470 libqtruby4shared2
26471 libqzion0a
26472 libruby1.8
26473 libscim8c2a
26474 libsmokekdecore4-3
26475 libsmokekdeui4-3
26476 libsmokekfile3
26477 libsmokekhtml3
26478 libsmokekio3
26479 libsmokeknewstuff2-3
26480 libsmokeknewstuff3-3
26481 libsmokekparts3
26482 libsmokektexteditor3
26483 libsmokekutils3
26484 libsmokenepomuk3
26485 libsmokephonon3
26486 libsmokeplasma3
26487 libsmokeqtcore4-3
26488 libsmokeqtdbus4-3
26489 libsmokeqtgui4-3
26490 libsmokeqtnetwork4-3
26491 libsmokeqtopengl4-3
26492 libsmokeqtscript4-3
26493 libsmokeqtsql4-3
26494 libsmokeqtsvg4-3
26495 libsmokeqttest4-3
26496 libsmokeqtuitools4-3
26497 libsmokeqtwebkit4-3
26498 libsmokeqtxml4-3
26499 libsmokesolid3
26500 libsmokesoprano3
26501 libtaskmanager4a
26502 libtidy-0.99-0
26503 libweather-ion4a
26504 libxklavier16
26505 libxxf86misc1
26506 okteta
26507 oxygencursors
26508 plasma-dataengines-addons
26509 plasma-scriptengine-superkaramba
26510 plasma-widget-lancelot
26511 plasma-widgets-addons
26512 plasma-widgets-workspace
26513 polkit-kde-1
26514 ruby1.8
26515 systemsettings
26516 update-notifier-common
26517 &lt;/p&gt;&lt;/blockquote&gt;
26518
26519 &lt;p&gt;Running apt-get autoremove made the results using apt-get and
26520 aptitude a bit more similar, but there are still quite a lott of
26521 differences. I have no idea what packages should be installed after
26522 the upgrade, but hope those that do can have a look.&lt;/p&gt;
26523 </description>
26524 </item>
26525
26526 <item>
26527 <title>Migrating Xen virtual machines using LVM to KVM using disk images</title>
26528 <link>https://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</link>
26529 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</guid>
26530 <pubDate>Mon, 22 Nov 2010 11:20:00 +0100</pubDate>
26531 <description>&lt;p&gt;Most of the computers in use by the
26532 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux project&lt;/a&gt;
26533 are virtual machines. And they have been Xen machines running on a
26534 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
26535 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
26536 bit harder that it could have been, because we set up the Xen virtual
26537 machines to get the virtual partitions from LVM, which as far as I
26538 know is not supported by KVM. So to migrate, we had to convert
26539 several LVM logical volumes to partitions on a virtual disk file.&lt;/p&gt;
26540
26541 &lt;p&gt;I found
26542 &lt;a href=&quot;http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM&quot;&gt;a
26543 nice recipe&lt;/a&gt; to do this, and wrote the following script to do the
26544 migration. It uses qemu-img from the qemu package to make the disk
26545 image, parted to partition it, losetup and kpartx to present the disk
26546 image partions as devices, and dd to copy the data. I NFS mounted the
26547 new servers storage area on the old server to do the migration.&lt;/p&gt;
26548
26549 &lt;pre&gt;
26550 #!/bin/sh
26551
26552 # Based on
26553 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
26554
26555 set -e
26556 set -x
26557
26558 if [ -z &quot;$1&quot; ] ; then
26559 echo &quot;Usage: $0 &amp;lt;hostname&amp;gt;&quot;
26560 exit 1
26561 else
26562 host=&quot;$1&quot;
26563 fi
26564
26565 if [ ! -e /dev/vg_data/$host-disk ] ; then
26566 echo &quot;error: unable to find LVM volume for $host&quot;
26567 exit 1
26568 fi
26569
26570 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
26571 disksize=$( lvs --units m | grep $host-disk | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
26572 swapsize=$( lvs --units m | grep $host-swap | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
26573 totalsize=$(( ( $disksize + $swapsize ) ))
26574
26575 img=$host.img
26576 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
26577 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
26578
26579 parted $img mklabel msdos
26580 parted $img mkpart primary linux-swap 0 $disksize
26581 parted $img mkpart primary ext2 $disksize $totalsize
26582 parted $img set 1 boot on
26583
26584 modprobe dm-mod
26585 losetup /dev/loop0 $img
26586 kpartx -a /dev/loop0
26587
26588 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
26589 fsck.ext3 -f /dev/mapper/loop0p1 || true
26590 mkswap /dev/mapper/loop0p2
26591
26592 kpartx -d /dev/loop0
26593 losetup -d /dev/loop0
26594 &lt;/pre&gt;
26595
26596 &lt;p&gt;The script is perhaps so simple that it is not copyrightable, but
26597 if it is, it is licenced using GPL v2 or later at your discretion.&lt;/p&gt;
26598
26599 &lt;p&gt;After doing this, I booted a Debian CD in rescue mode in KVM with
26600 the new disk image attached, installed grub-pc and linux-image-686 and
26601 set up grub to boot from the disk image. After this, the KVM machines
26602 seem to work just fine.&lt;/p&gt;
26603 </description>
26604 </item>
26605
26606 <item>
26607 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</title>
26608 <link>https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</link>
26609 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</guid>
26610 <pubDate>Sat, 20 Nov 2010 22:50:00 +0100</pubDate>
26611 <description>&lt;p&gt;I&#39;m still running upgrade testing of the
26612 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
26613 Gnome and KDE Desktop&lt;/a&gt;, but have not had time to spend on reporting the
26614 status. Here is a short update based on a test I ran 20101118.&lt;/p&gt;
26615
26616 &lt;p&gt;I still do not know what a correct migration should look like, so I
26617 report any differences between apt and aptitude and hope someone else
26618 can see if anything should be changed.&lt;/p&gt;
26619
26620 &lt;p&gt;This is for Gnome:&lt;/p&gt;
26621
26622 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
26623
26624 &lt;blockquote&gt;&lt;p&gt;
26625 apache2.2-bin aptdaemon at-spi baobab binfmt-support
26626 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
26627 dmz-cursor-theme empathy empathy-common finger
26628 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
26629 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
26630 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
26631 gnome-cards-data gnome-codec-install gnome-core
26632 gnome-desktop-environment gnome-disk-utility gnome-screenshot
26633 gnome-search-tool gnome-session-canberra gnome-spell
26634 gnome-system-log gnome-themes-extras gnome-themes-more
26635 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
26636 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
26637 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
26638 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
26639 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
26640 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
26641 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
26642 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
26643 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
26644 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
26645 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
26646 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
26647 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
26648 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
26649 libgtk2.0-cil libgtkglext1 libgtksourceview-common
26650 libgtksourceview2.0-common libmono-addins-gui0.2-cil
26651 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
26652 libmono-i18n-west2.0-cil libmono-posix2.0-cil
26653 libmono-security2.0-cil libmono-sharpzip2.84-cil
26654 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
26655 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
26656 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
26657 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
26658 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
26659 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
26660 libxalan2-java libxerces2-java media-player-info mesa-utils
26661 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
26662 nautilus-sendto-empathy openoffice.org-writer2latex
26663 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
26664 python-aptdaemon python-aptdaemon-gtk python-axiom
26665 python-beautifulsoup python-bugbuddy python-clientform
26666 python-coherence python-configobj python-crypto python-cupshelpers
26667 python-cupsutils python-eggtrayicon python-elementtree
26668 python-epsilon python-evolution python-feedparser python-gdata
26669 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
26670 python-gtksourceview2 python-httplib2 python-louie python-mako
26671 python-markupsafe python-mechanize python-nevow python-notify
26672 python-opengl python-openssl python-pam python-pkg-resources
26673 python-pyasn1 python-pysqlite2 python-rdflib python-serial
26674 python-tagpy python-twisted-bin python-twisted-conch
26675 python-twisted-core python-twisted-web python-utidylib python-webkit
26676 python-xdg python-zope.interface remmina remmina-plugin-data
26677 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
26678 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
26679 software-center svgalibg1 system-config-printer-udev
26680 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
26681 totem totem-coherence totem-mozilla totem-plugins
26682 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
26683 zip
26684 &lt;/p&gt;&lt;/blockquote&gt;
26685
26686 Installed using apt-get, removed with aptitude
26687
26688 &lt;blockquote&gt;&lt;p&gt;
26689 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
26690 epiphany-extensions epiphany-gecko evolution-exchange
26691 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
26692 gedit-common gnome-app-install gnome-games gnome-games-data
26693 gnome-nettool gnome-system-tools gnome-themes gnome-utils
26694 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
26695 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
26696 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
26697 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
26698 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
26699 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
26700 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
26701 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
26702 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
26703 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
26704 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
26705 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
26706 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
26707 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
26708 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
26709 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
26710 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
26711 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
26712 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
26713 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
26714 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
26715 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
26716 sound-juicer swfdec-gnome system-config-printer totem-common
26717 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
26718 &lt;/p&gt;&lt;/blockquote&gt;
26719
26720 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
26721
26722 &lt;blockquote&gt;&lt;p&gt;
26723 gstreamer0.10-gnomevfs
26724 &lt;/p&gt;&lt;/blockquote&gt;
26725
26726 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
26727
26728 &lt;blockquote&gt;&lt;p&gt;
26729 [nothing]
26730 &lt;/p&gt;&lt;/blockquote&gt;
26731
26732 &lt;p&gt;This is for KDE:&lt;/p&gt;
26733
26734 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
26735
26736 &lt;blockquote&gt;&lt;p&gt;
26737 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
26738 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
26739 ghostscript-x git gnome-audio gnugo granatier gs-common
26740 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
26741 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
26742 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
26743 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
26744 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
26745 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
26746 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
26747 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
26748 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
26749 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
26750 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
26751 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
26752 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
26753 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
26754 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
26755 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
26756 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
26757 libkrossui4 libmailtools-perl libmime-tools-perl
26758 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
26759 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
26760 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
26761 lirc luatex marble networkstatus noatun-plugins
26762 openoffice.org-writer2latex palapeli palapeli-data parley
26763 parley-data poster psutils pulseaudio pulseaudio-esound-compat
26764 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
26765 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
26766 ttf-sazanami-gothic
26767 &lt;/p&gt;&lt;/blockquote&gt;
26768
26769 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
26770
26771 &lt;blockquote&gt;&lt;p&gt;
26772 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
26773 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
26774 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
26775 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
26776 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
26777 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
26778 kitchensync kiten kjumpingcube klatin klettres klickety klines
26779 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
26780 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
26781 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
26782 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
26783 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
26784 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
26785 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
26786 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
26787 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
26788 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
26789 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
26790 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
26791 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
26792 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
26793 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
26794 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
26795 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
26796 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
26797 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
26798 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
26799 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
26800 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
26801 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
26802 mpeglib network-manager-kde noatun pmount tex-common texlive-base
26803 texlive-common texlive-doc-base texlive-fonts-recommended tidy
26804 ttf-dustin ttf-kochi-gothic ttf-sjfonts
26805 &lt;/p&gt;&lt;/blockquote&gt;
26806
26807 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
26808
26809 &lt;blockquote&gt;&lt;p&gt;
26810 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
26811 kdeartwork kdebase kdebase-apps kdebase-workspace
26812 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
26813 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
26814 netpbm plasma-widget-folderview plasma-widget-networkmanagement
26815 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
26816 xscreensaver-screensaver-bsod
26817 &lt;/p&gt;&lt;/blockquote&gt;
26818
26819 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
26820
26821 &lt;blockquote&gt;&lt;p&gt;
26822 kdebase-bin konq-plugins konqueror
26823 &lt;/p&gt;&lt;/blockquote&gt;
26824 </description>
26825 </item>
26826
26827 <item>
26828 <title>Gnash buildbot slave and Debian kfreebsd</title>
26829 <link>https://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</link>
26830 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</guid>
26831 <pubDate>Sat, 20 Nov 2010 07:20:00 +0100</pubDate>
26832 <description>&lt;p&gt;Answering
26833 &lt;a href=&quot;http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html&quot;&gt;the
26834 call from the Gnash project&lt;/a&gt; for
26835 &lt;a href=&quot;http://www.gnashdev.org:8010&quot;&gt;buildbot&lt;/a&gt; slaves to test the
26836 current source, I have set up a virtual KVM machine on the Debian
26837 Edu/Skolelinux virtualization host to test the git source on
26838 Debian/Squeeze. I hope this can help the developers in getting new
26839 releases out more often.&lt;/p&gt;
26840
26841 &lt;p&gt;As the developers want less main-stream build platforms tested to,
26842 I have considered setting up a &lt;a
26843 href=&quot;http://www.debian.org/ports/kfreebsd-gnu/&quot;&gt;Debian/kfreebsd&lt;/a&gt;
26844 machine as well. I have also considered using the kfreebsd
26845 architecture in Debian as a file server in NUUG to get access to the 5
26846 TB zfs volume we currently use to store DV video. Because of this, I
26847 finally got around to do a test installation of Debian/Squeeze with
26848 kfreebsd. Installation went fairly smooth, thought I noticed some
26849 visual glitches in the cdebconf dialogs (black cursor left on the
26850 screen at random locations). Have not gotten very far with the
26851 testing. Noticed cfdisk did not work, but fdisk did so it was not a
26852 fatal problem. Have to spend some more time on it to see if it is
26853 useful as a file server for NUUG. Will try to find time to set up a
26854 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.&lt;/p&gt;
26855 </description>
26856 </item>
26857
26858 <item>
26859 <title>Debian in 3D</title>
26860 <link>https://people.skolelinux.org/pere/blog/Debian_in_3D.html</link>
26861 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_in_3D.html</guid>
26862 <pubDate>Tue, 9 Nov 2010 16:10:00 +0100</pubDate>
26863 <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;
26864
26865 &lt;p&gt;3D printing is just great. I just came across this Debian logo in
26866 3D linked in from
26867 &lt;a href=&quot;http://blog.thingiverse.com/2010/11/09/participatory-branding/&quot;&gt;the
26868 thingiverse blog&lt;/a&gt;.&lt;/p&gt;
26869 </description>
26870 </item>
26871
26872 <item>
26873 <title>Making room on the Debian Edu/Sqeeze DVD</title>
26874 <link>https://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</link>
26875 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</guid>
26876 <pubDate>Sun, 7 Nov 2010 11:45:00 +0100</pubDate>
26877 <description>&lt;p&gt;Prioritising packages for the Debian Edu /
26878 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; DVD, which is
26879 supposed provide a school with all the services and user applications
26880 needed on the pupils computer network has always been hard. Even
26881 schools without Internet connections should be able to get Debian Edu
26882 working using this DVD.&lt;/p&gt;
26883
26884 &lt;p&gt;The job became a lot harder when apt and aptitude started
26885 installing recommended packages by default. We want the same set of
26886 packages to be installed when using the DVD and the netinst CD, and
26887 that means all recommended packages need to be on the DVD. I created
26888 a patch for debian-cd in &lt;a href=&quot;http://bugs.debian.org/601203&quot;&gt;BTS
26889 report #601203&lt;/a&gt; to do this, and since this change was applied to
26890 the Debian Edu DVD build, we have been seriously short on space.&lt;/p&gt;
26891
26892 &lt;p&gt;A few days ago we decided to drop blender, wxmaxima and kicad from
26893 the default installation to save space on the DVD, believing that
26894 those needing these applications are few and can get them from the
26895 Debian archive.&lt;/p&gt;
26896
26897 &lt;p&gt;Yesterday, I had a look what source packages to see which packages
26898 were using most space. A few large packages are well know;
26899 openoffice.org, openclipart and fluid-soundfont. But I also
26900 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
26901 The lilypond package is pulled in as a dependency for rosegarden, and
26902 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
26903 the documentation package, which is recommended by the binary package.
26904 I decided to drop this documentation package from our DVD, as most of
26905 our users will use the GUI front-ends and do not need the lilypond
26906 documentation. Similarly, I dropped the non-free fglrx-driver package
26907 which might be installed by d-i when its hardware is detected, as the
26908 free X driver should work.&lt;/p&gt;
26909
26910 &lt;p&gt;With this change, we finally got space for the LXDE and Gnome
26911 desktop packages as well as the language specific packages making the
26912 DVD more useful again.&lt;/p&gt;
26913 </description>
26914 </item>
26915
26916 <item>
26917 <title>Software updates 2010-10-24</title>
26918 <link>https://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</link>
26919 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</guid>
26920 <pubDate>Sun, 24 Oct 2010 22:45:00 +0200</pubDate>
26921 <description>&lt;p&gt;Some updates.&lt;/p&gt;
26922
26923 &lt;p&gt;My &lt;a href=&quot;http://pledgebank.com/gnash-avm2&quot;&gt;gnash pledge&lt;/a&gt; to
26924 raise money for the project is going well. The lower limit of 10
26925 signers was reached in 24 hours, and so far 13 people have signed it.
26926 More signers and more funding is most welcome, and I am really curious
26927 how far we can get before the time limit of December 24 is reached.
26928 :)&lt;/p&gt;
26929
26930 &lt;p&gt;On the #gnash IRC channel on irc.freenode.net, I was just tipped
26931 about what appear to be a great code coverage tool capable of
26932 generating code coverage stats without any changes to the source code.
26933 It is called
26934 &lt;a href=&quot;http://simonkagstrom.github.com/kcov/index.html&quot;&gt;kcov&lt;/a&gt;,
26935 and can be used using &lt;tt&gt;kcov &amp;lt;directory&amp;gt; &amp;lt;binary&amp;gt;&lt;/tt&gt;.
26936 It is missing in Debian, but the git source built just fine in Squeeze
26937 after I installed libelf-dev, libdwarf-dev, pkg-config and
26938 libglib2.0-dev. Failed to build in Lenny, but suspect that is
26939 solvable. I hope kcov make it into Debian soon.&lt;/p&gt;
26940
26941 &lt;p&gt;Finally found time to wrap up the release notes for &lt;a
26942 href=&quot;http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html&quot;&gt;a
26943 new alpha release of Debian Edu&lt;/a&gt;, and just published the second
26944 alpha test release of the Squeeze based Debian Edu /
26945 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;
26946 release. Give it a try if you need a complete linux solution for your
26947 school, including central infrastructure server, workstations, thin
26948 client servers and diskless workstations. A nice touch added
26949 yesterday is RDP support on the thin client servers, for windows
26950 clients to get a Linux desktop on request.&lt;/p&gt;
26951 </description>
26952 </item>
26953
26954 <item>
26955 <title>Pledge for funding to the Gnash project to get AVM2 support</title>
26956 <link>https://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</link>
26957 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</guid>
26958 <pubDate>Tue, 19 Oct 2010 14:45:00 +0200</pubDate>
26959 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is the
26960 most promising solution for a Free Software Flash implementation. It
26961 has done great so far, but there is still far to go, and recently its
26962 funding has dried up. I believe AVM2 support in Gnash is vital to the
26963 continued progress of the project, as more and more sites show up with
26964 AVM2 flash files.&lt;/p&gt;
26965
26966 &lt;p&gt;To try to get funding for developing such support, I have started
26967 &lt;a href=&quot;http://www.pledgebank.com/gnash-avm2&quot;&gt;a pledge&lt;/a&gt; with the
26968 following text:&lt;/P&gt;
26969
26970 &lt;p&gt;&lt;blockquote&gt;
26971
26972 &lt;p&gt;&quot;I will pay 100$ to the Gnash project to develop AVM2 support but
26973 only if 10 other people will do the same.&quot;&lt;/p&gt;
26974
26975 &lt;p&gt;- Petter Reinholdtsen, free software developer&lt;/p&gt;
26976
26977 &lt;p&gt;Deadline to sign up by: 24th December 2010&lt;/p&gt;
26978
26979 &lt;p&gt;The Gnash project need to get support for the new Flash file
26980 format AVM2 to work with a lot of sites using Flash on the
26981 web. Gnash already work with a lot of Flash sites using the old AVM1
26982 format, but more and more sites are using the AVM2 format these
26983 days. The project web page is available from
26984 http://www.getgnash.org/ . Gnash is a free software implementation
26985 of Adobe Flash, allowing those of us that do not accept the terms of
26986 the Adobe Flash license to get access to Flash sites.&lt;/p&gt;
26987
26988 &lt;p&gt;The project need funding to get developers to put aside enough
26989 time to develop the AVM2 support, and this pledge is my way to try
26990 to get this to happen.&lt;/p&gt;
26991
26992 &lt;p&gt;The project accept donations via the OpenMediaNow foundation,
26993 &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;
26994
26995 &lt;/blockquote&gt;&lt;/p&gt;
26996
26997 &lt;p&gt;I hope you will support this effort too. I hope more than 10
26998 people will participate to make this happen. The more money the
26999 project gets, the more features it can develop using these funds.
27000 :)&lt;/p&gt;
27001 </description>
27002 </item>
27003
27004 <item>
27005 <title>First version of a Perl library to control the Spykee robot</title>
27006 <link>https://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</link>
27007 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</guid>
27008 <pubDate>Sat, 9 Oct 2010 14:00:00 +0200</pubDate>
27009 <description>&lt;p&gt;This summer I got the chance to buy cheap Spykee robots, and since
27010 then I have worked on getting Linux software in place to control them.
27011 The firmware for the robot is available from the producer, and using
27012 that source it was trivial to figure out the protocol specification.
27013 I&#39;ve started on a perl library to control it, and made some demo
27014 programs using this perl library to allow one to control the
27015 robots.&lt;/p&gt;
27016
27017 &lt;p&gt;The library is quite functional already, and capable of controlling
27018 the driving, fetching video, uploading MP3s and play them. There are
27019 a few less important features too.&lt;/p&gt;
27020
27021 &lt;p&gt;Since a few weeks ago, I ran out of time to spend on this project,
27022 but I never got around to releasing the current source. I decided
27023 today that it was time to do something about it, and uploaded the
27024 source to my Debian package store at people.skolelinux.org.&lt;/p&gt;
27025
27026 &lt;p&gt;Because it was simpler for me, I made a Debian package and
27027 published the source and deb. If you got a spykee robot, grab the
27028 source or binary package:&lt;/p&gt;
27029
27030 &lt;p&gt;&lt;ul&gt;
27031 &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;
27032 &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;
27033 &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;
27034 &lt;/ul&gt;&lt;/p&gt;
27035
27036 &lt;p&gt;If you are interested in helping out with developing this library,
27037 please let me know.&lt;/p&gt;
27038 </description>
27039 </item>
27040
27041 <item>
27042 <title>Links for 2010-10-03</title>
27043 <link>https://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</link>
27044 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</guid>
27045 <pubDate>Sun, 3 Oct 2010 22:30:00 +0200</pubDate>
27046 <description>&lt;p&gt;&lt;ul&gt;
27047
27048 &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
27049 is no Plan B: why the IPv4-to-IPv6 transition will be ugly&lt;/a&gt;&lt;/li&gt;
27050
27051 &lt;li&gt;Scanner looking under clothes
27052 &lt;a href=&quot;http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/&quot;&gt;has
27053 already been misused at Heathrow&lt;/a&gt;.&lt;/li&gt;
27054
27055 &lt;li&gt;&lt;a href=&quot;http://wiki.softwarelivre.org/Landell&quot;&gt;Landell
27056 Webcasting&lt;/a&gt; - interesting alternative for
27057 &lt;ahref=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;DVSwitch&lt;/a&gt; with
27058 simple setup.
27059
27060 &lt;/ul&gt;&lt;/p&gt;
27061 </description>
27062 </item>
27063
27064 <item>
27065 <title>Terms of use for video produced by a Canon IXUS 130 digital camera</title>
27066 <link>https://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</link>
27067 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</guid>
27068 <pubDate>Thu, 9 Sep 2010 23:55:00 +0200</pubDate>
27069 <description>&lt;p&gt;A few days ago I had the mixed pleasure of bying a new digital
27070 camera, a Canon IXUS 130. It was instructive and very disturbing to
27071 be able to verify that also this camera producer have the nerve to
27072 specify how I can or can not use the videos produced with the camera.
27073 Even thought I was aware of the issue, the options with new cameras
27074 are limited and I ended up bying the camera anyway. What is the
27075 problem, you might ask? It is software patents, MPEG-4, H.264 and the
27076 MPEG-LA that is the problem, and our right to record our experiences
27077 without asking for permissions that is at risk.
27078
27079 &lt;p&gt;On page 27 of the Danish instruction manual, this section is
27080 written:&lt;/p&gt;
27081
27082 &lt;blockquote&gt;
27083 &lt;p&gt;This product is licensed under AT&amp;T patents for the MPEG-4 standard
27084 and may be used for encoding MPEG-4 compliant video and/or decoding
27085 MPEG-4 compliant video that was encoded only (1) for a personal and
27086 non-commercial purpose or (2) by a video provider licensed under the
27087 AT&amp;T patents to provide MPEG-4 compliant video.&lt;/p&gt;
27088
27089 &lt;p&gt;No license is granted or implied for any other use for MPEG-4
27090 standard.&lt;/p&gt;
27091 &lt;/blockquote&gt;
27092
27093 &lt;p&gt;In short, the camera producer have chosen to use technology
27094 (MPEG-4/H.264) that is only provided if I used it for personal and
27095 non-commercial purposes, or ask for permission from the organisations
27096 holding the knowledge monopoly (patent) for technology used.&lt;/p&gt;
27097
27098 &lt;p&gt;This issue has been brewing for a while, and I recommend you to
27099 read
27100 &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
27101 Our Civilization&#39;s Video Art and Culture is Threatened by the
27102 MPEG-LA&lt;/a&gt;&quot; by Eugenia Loli-Queru and
27103 &quot;&lt;a href=&quot;http://webmink.com/2010/09/03/h-264-and-foss/&quot;&gt;H.264 Is Not
27104 The Sort Of Free That Matters&lt;/a&gt;&quot; by Simon Phipps to learn more about
27105 the issue. The solution is to support the
27106 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
27107 open standards&lt;/a&gt; for video, like &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg
27108 Theora&lt;/a&gt;, and avoid MPEG-4 and H.264 if you can.&lt;/p&gt;
27109 </description>
27110 </item>
27111
27112 <item>
27113 <title>Some notes on Flash in Debian and Debian Edu</title>
27114 <link>https://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</link>
27115 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</guid>
27116 <pubDate>Sat, 4 Sep 2010 10:10:00 +0200</pubDate>
27117 <description>&lt;p&gt;In the &lt;a href=&quot;http://popcon.debian.org/unknown/by_vote&quot;&gt;Debian
27118 popularity-contest numbers&lt;/a&gt;, the adobe-flashplugin package the
27119 second most popular used package that is missing in Debian. The sixth
27120 most popular is flashplayer-mozilla. This is a clear indication that
27121 working flash is important for Debian users. Around 10 percent of the
27122 users submitting data to popcon.debian.org have this package
27123 installed.&lt;/p&gt;
27124
27125 &lt;p&gt;In the report written by Lars Risan in August 2008
27126&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
27127 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
27128 stiftelsen SLX Debian Labs&lt;/a&gt;»), one of the most important problems
27129 schools experienced with &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
27130 Edu/Skolelinux&lt;/a&gt; was the lack of working Flash. A lot of educational
27131 web sites require Flash to work, and lacking working Flash support in
27132 the web browser and the problems with installing it was perceived as a
27133 good reason to stay with Windows.&lt;/p&gt;
27134
27135 &lt;p&gt;I once saw a funny and sad comment in a web forum, where Linux was
27136 said to be the retarded cousin that did not really understand
27137 everything you told him but could work fairly well. This was a
27138 comment regarding the problems Linux have with proprietary formats and
27139 non-standard web pages, and is sad because it exposes a fairly common
27140 understanding of whose fault it is if web pages that only work in for
27141 example Internet Explorer 6 fail to work on Firefox, and funny because
27142 it explain very well how annoying it is for users when Linux
27143 distributions do not work with the documents they receive or the web
27144 pages they want to visit.&lt;/p&gt;
27145
27146 &lt;p&gt;This is part of the reason why I believe it is important for Debian
27147 and Debian Edu to have a well working Flash implementation in the
27148 distribution, to get at least popular sites as Youtube and Google
27149 Video to working out of the box. For Squeeze, Debian have the chance
27150 to include the latest version of Gnash that will make this happen, as
27151 the new release 0.8.8 was published a few weeks ago and is resting in
27152 unstable. The new version work with more sites that version 0.8.7.
27153 The Gnash maintainers have asked for a freeze exception, but the
27154 release team have not had time to reply to it yet. I hope they agree
27155 with me that Flash is important for the Debian desktop users, and thus
27156 accept the new package into Squeeze.&lt;/p&gt;
27157 </description>
27158 </item>
27159
27160 <item>
27161 <title>My first perl GUI application - controlling a Spykee robot</title>
27162 <link>https://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</link>
27163 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</guid>
27164 <pubDate>Wed, 1 Sep 2010 21:00:00 +0200</pubDate>
27165 <description>&lt;p&gt;This evening I made my first Perl GUI application. The last few
27166 days I have worked on a Perl module for controlling my recently
27167 aquired Spykee robots, and the module is now getting complete enought
27168 that it is possible to use it to control the robot driving at least.
27169 It was now time to figure out how to use it to create some GUI to
27170 allow me to drive the robot around. I picked PerlQt as I have had
27171 positive experiences with the Qt API before, and spent a few minutes
27172 browsing the web for examples. Using Qt Designer seemed like a short
27173 cut, so I ended up writing the perl GUI using Qt Designer and
27174 compiling it into a perl program using the puic program from
27175 libqt-perl. Nothing fancy yet, but it got buttons to connect and
27176 drive around.&lt;/p&gt;
27177
27178 &lt;p&gt;The perl module I have written provide a object oriented API for
27179 controlling the robot. Here is an small example on how to use it:&lt;/p&gt;
27180
27181 &lt;p&gt;&lt;pre&gt;
27182 use Spykee;
27183 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
27184 my $host = (keys %robot)[0];
27185 my $spykee = Spykee-&gt;new();
27186 $spykee-&gt;contact($host, &quot;admin&quot;, &quot;admin&quot;);
27187 $spykee-&gt;left();
27188 sleep 2;
27189 $spykee-&gt;right();
27190 sleep 2;
27191 $spykee-&gt;forward();
27192 sleep 2;
27193 $spykee-&gt;back();
27194 sleep 2;
27195 $spykee-&gt;stop();
27196 &lt;/pre&gt;&lt;/p&gt;
27197
27198 &lt;p&gt;Thanks to the release of the source of the robot firmware, I could
27199 peek into the implementation at the other end to figure out how to
27200 implement the protocol used by the robot. I&#39;ve implemented several of
27201 the commands the robot understand, but is still missing the camera
27202 support to make it possible to control the robot from remote. First I
27203 want to implement support for uploading new firmware and configuring
27204 the wireless network, to make it possible to bootstrap a Spykee robot
27205 without the producers Windows and MacOSX software (I only have Linux,
27206 so I had to ask a friend to come over to get the robot testing
27207 going. :).&lt;/p&gt;
27208
27209 &lt;p&gt;Will release the source to the public soon, but need to figure out
27210 where to make it available first. I will add a link to
27211 &lt;a href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;the NUUG wiki&lt;/a&gt; for
27212 those that want to check back later to find it.&lt;/p&gt;
27213 </description>
27214 </item>
27215
27216 <item>
27217 <title>Broken hard link handling with sshfs</title>
27218 <link>https://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</link>
27219 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</guid>
27220 <pubDate>Mon, 30 Aug 2010 19:30:00 +0200</pubDate>
27221 <description>&lt;p&gt;Just got an email from Tobias Gruetzmacher as a followup on my
27222 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html&quot;&gt;previous
27223 post about sshfs&lt;/a&gt;. He reported another problem with sshfs. It
27224 fail to handle hard links properly. A simple way to spot this is to
27225 look at the . and .. entries in the directory tree. These should have
27226 a link count &gt;1, but on sshfs the count is 1. I just tested to see
27227 what happen when trying to hardlink, and this fail as well:&lt;/p&gt;
27228
27229 &lt;pre&gt;
27230 % ln foo bar
27231 ln: creating hard link `bar&#39; =&gt; `foo&#39;: Function not implemented
27232 %
27233 &lt;/pre&gt;
27234
27235 &lt;p&gt;I have not yet found time to implement a test for this in my file
27236 system test code, but believe having working hard links is useful to
27237 avoid surprised unix programs. Not as useful as working file locking
27238 and symlinks, which are required to get a working desktop, but useful
27239 nevertheless. :)&lt;/p&gt;
27240
27241 &lt;p&gt;The latest version of the file system test code is available via
27242 git from
27243 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;&lt;/p&gt;
27244 </description>
27245 </item>
27246
27247 <item>
27248 <title>Broken umask handling with sshfs</title>
27249 <link>https://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</link>
27250 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</guid>
27251 <pubDate>Thu, 26 Aug 2010 13:30:00 +0200</pubDate>
27252 <description>&lt;p&gt;My file system sematics program
27253 &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
27254 a few days ago&lt;/a&gt; is very useful to verify that a file system can
27255 work as a unix home directory,and today I had to extend it a bit. I&#39;m
27256 looking into alternatives for home directory access here at the
27257 University of Oslo, and one of the options is sshfs. My friend
27258 Finn-Arne mentioned a while back that they had used sshfs with Debian
27259 Edu, but stopped because of problems. I asked today what the problems
27260 where, and he mentioned that sshfs failed to handle umask properly.
27261 Trying to detect the problem I wrote this addition to my fs testing
27262 script:&lt;/p&gt;
27263
27264 &lt;pre&gt;
27265 mode_t touch_get_mode(const char *name, mode_t mode) {
27266 mode_t retval = 0;
27267 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
27268 if (-1 != fd) {
27269 unlink(name);
27270 struct stat statbuf;
27271 if (-1 != fstat(fd, &amp;statbuf)) {
27272 retval = statbuf.st_mode &amp; 0x1ff;
27273 }
27274 close(fd);
27275 }
27276 return retval;
27277 }
27278
27279 /* Try to detect problem discovered using sshfs */
27280 int test_umask(void) {
27281 printf(&quot;info: testing umask effect on file creation\n&quot;);
27282
27283 mode_t orig_umask = umask(000);
27284 mode_t newmode;
27285 if (0666 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
27286 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 000\n&quot;,
27287 newmode);
27288 }
27289 umask(007);
27290 if (0660 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
27291 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 007\n&quot;,
27292 newmode);
27293 }
27294
27295 umask (orig_umask);
27296 return 0;
27297 }
27298
27299 int main(int argc, char **argv) {
27300 [...]
27301 test_umask();
27302 return 0;
27303 }
27304 &lt;/pre&gt;
27305
27306 &lt;p&gt;Sure enough. On NFS to a netapp, I get this result:&lt;/p&gt;
27307
27308 &lt;pre&gt;
27309 Testing POSIX/Unix sematics on file system
27310 info: testing symlink creation
27311 info: testing subdirectory creation
27312 info: testing fcntl locking
27313 Read-locking 1 byte from 1073741824
27314 Read-locking 510 byte from 1073741826
27315 Unlocking 1 byte from 1073741824
27316 Write-locking 1 byte from 1073741824
27317 Write-locking 510 byte from 1073741826
27318 Unlocking 2 byte from 1073741824
27319 info: testing umask effect on file creation
27320 &lt;/pre&gt;
27321
27322 &lt;p&gt;When mounting the same directory using sshfs, I get this
27323 result:&lt;/p&gt;
27324
27325 &lt;pre&gt;
27326 Testing POSIX/Unix sematics on file system
27327 info: testing symlink creation
27328 info: testing subdirectory creation
27329 info: testing fcntl locking
27330 Read-locking 1 byte from 1073741824
27331 Read-locking 510 byte from 1073741826
27332 Unlocking 1 byte from 1073741824
27333 Write-locking 1 byte from 1073741824
27334 Write-locking 510 byte from 1073741826
27335 Unlocking 2 byte from 1073741824
27336 info: testing umask effect on file creation
27337 error: Wrong file mode 644 when creating using mode 666 and umask 000
27338 error: Wrong file mode 640 when creating using mode 666 and umask 007
27339 &lt;/pre&gt;
27340
27341 &lt;p&gt;So, I can conclude that sshfs is better than smb to a Netapp or a
27342 Windows server, but not good enough to be used as a home
27343 directory.&lt;/p&gt;
27344
27345 &lt;p&gt;Update 2010-08-26: Reported the issue in
27346 &lt;a href=&quot;http://bugs.debian.org/594498&quot;&gt;BTS report #594498&lt;/a&gt;&lt;/p&gt;
27347
27348 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
27349 script so useful that he created a GIT repository and stored it in
27350 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
27351 </description>
27352 </item>
27353
27354 <item>
27355 <title>Rob Weir: How to Crush Dissent</title>
27356 <link>https://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</link>
27357 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</guid>
27358 <pubDate>Sun, 15 Aug 2010 22:20:00 +0200</pubDate>
27359 <description>&lt;p&gt;I found the notes from Rob Weir on
27360 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html&quot;&gt;how
27361 to crush dissent&lt;/a&gt; matching my own thoughts on the matter quite
27362 well. Highly recommended for those wondering which road our society
27363 should go down. In my view we have been heading the wrong way for a
27364 long time.&lt;/p&gt;
27365 </description>
27366 </item>
27367
27368 <item>
27369 <title>No hardcoded config on Debian Edu clients</title>
27370 <link>https://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</link>
27371 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</guid>
27372 <pubDate>Mon, 9 Aug 2010 20:15:00 +0200</pubDate>
27373 <description>&lt;p&gt;As reported earlier, the last few days I have looked at how Debian
27374 Edu clients are configured, and tried to get rid of all hardcoded
27375 configuration settings on the clients. I believe the work to be
27376 mostly done, and the clients seem to work just fine with dynamically
27377 generated configuration.&lt;/p&gt;
27378
27379 &lt;p&gt;What is the point, you might ask? The point is to allow a Debian
27380 Edu desktop to integrate into an existing network infrastructure
27381 without any manual configuration.&lt;/p&gt;
27382
27383 &lt;p&gt;This is what happens when installing a Debian Edu client here at
27384 the University of Oslo using PXE. With the PXE installation, I am
27385 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
27386 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
27387 accept to reformat the hard drive (yes), if I want to submit info to
27388 popcon.debian.org (no) and root password (secret). After answering
27389 these questions, the installer goes ahead and does its thing, and
27390 after around 50 minutes it is done. I press enter to finish the
27391 installation, and the machine reboots into KDE. When the machine is
27392 ready and kdm asks for login information, I enter my university
27393 username and password, am told by kdm that a local home directory has
27394 been created and that I must log in again, and finally log in with the
27395 same username and password to the KDE 4.4 desktop. At no point during
27396 this process did it ask for university specific settings, and all the
27397 required configuration was dynamically detected using information
27398 fetched via DHCP and DNS. The roaming workstation is now ready for
27399 use.&lt;/p&gt;
27400
27401 &lt;p&gt;How was this done, you might wonder? First of all, here is the
27402 list of things that need to be configured on the client to get it
27403 working properly out of the box:&lt;/p&gt;
27404
27405 &lt;ul&gt;
27406 &lt;li&gt;IP address/netmask and DNS server.&lt;/li&gt;
27407 &lt;li&gt;Web proxy URL.&lt;/li&gt;
27408 &lt;li&gt;LDAP server for NSS directory information (user, group, etc).&lt;/li&gt;
27409 &lt;li&gt;Kerberos server for PAM password checking.&lt;/li&gt;
27410 &lt;li&gt;SMB mount point to access the network home directory. (*)&lt;/li&gt;
27411 &lt;li&gt;Central syslog server to send syslog messages to. (*)&lt;/li&gt;
27412 &lt;li&gt;Sitesummary collector URL to submit info to central server. (*)&lt;/li&gt;
27413 &lt;/ul&gt;
27414
27415 &lt;p&gt;(Hm, did I forget anything? Let me knew if I did.)&lt;/p&gt;
27416
27417 &lt;p&gt;The points marked (*) are not required to be able to use the
27418 machine, but needed to provide central storage and allowing system
27419 administrators to track their machines. Since yesterday, everything
27420 but the sitesummary collector URL is dynamically discovered at boot
27421 and installation time in the svn version of Debian Edu.&lt;/p&gt;
27422
27423 &lt;p&gt;The IP and DNS setup is fetched during boot using DHCP as usual.
27424 When a DHCP update arrives, the proxy setup is updated by looking for
27425 http://wpat/wpad.dat and using the content of this WPAD file to
27426 configure the http and ftp proxy in /etc/environment and
27427 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
27428 hook to ensure that the client stops using the Debian Edu proxy when
27429 it is moved outside the Debian Edu network, and instead uses any local
27430 proxy present on the new network when it moves around.&lt;/p&gt;
27431
27432 &lt;p&gt;The DNS names of the LDAP, Kerberos and syslog server and related
27433 configuration are generated using DNS information at boot. First the
27434 installer looks for a host named ldap in the current DNS domain. If
27435 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
27436 LDAP server is found, its root DSE entry is requested and the
27437 attributes namingContexts and defaultNamingContext are used to
27438 determine which LDAP base to use for NSS. If there are several
27439 namingContexts attibutes and the defaultNamingContext is present, that
27440 LDAP subtree is used as the base. If defaultNamingContext is missing,
27441 the subtrees listed as namingContexts are searched in sequence for any
27442 object with class posixAccount or posixGroup, and the first one with
27443 such an object is used as the LDAP base. For Kerberos, a similar
27444 search is done by first looking for a host named kerberos, and then
27445 for the _kerberos._tcp SRV record. I&#39;ve been unable to find a way to
27446 look up the Kerberos realm, so for this the upper case string of the
27447 current DNS domain is used.&lt;/p&gt;
27448
27449 &lt;p&gt;For the syslog server, the hosts syslog and loghost are searched
27450 for, and the _syslog._udp SRV record is consulted if no such host is
27451 found. This algorithm works for both Debian Edu and the University of
27452 Oslo. A similar strategy would work for locating the sitesummary
27453 server, but have not been implemented yet. I decided to fetch and
27454 save these settings during installation, to make sure moving to a
27455 different network does not change the set of users being allowed to
27456 log in nor the passwords required to log in. Usernames and passwords
27457 will be cached by sssd when the user logs in on the Debian Edu
27458 network, and will not change as the laptop move around. For a
27459 non-roaming machine, there is no caching, but given that it is
27460 supposed to stay in place it should not matter much. Perhaps we
27461 should switch those to use sssd too?&lt;/p&gt;
27462
27463 &lt;p&gt;The user&#39;s SMB mount point for the network home directory is
27464 located when the user logs in for the first time. The LDAP server is
27465 consulted to look for the user&#39;s LDAP object and the sambaHomePath
27466 attribute is used if found. If it isn&#39;t found, the home directory
27467 path fetched from NSS is used instead. Assuming the path is of the
27468 form /site/server/directory/username, the second part is looked up in
27469 DNS and used to generate a SMB URL of the form
27470 smb://server.domain/username. This algorithm works for both Debian
27471 edu and the University of Oslo. Perhaps there are better attributes
27472 to use or a better algorithm that works for more sites, but this will
27473 do for now. :)&lt;/p&gt;
27474
27475 &lt;p&gt;This work should make it easier to integrate the Debian Edu clients
27476 into any LDAP/Kerberos infrastructure, and make the current setup even
27477 more flexible than before. I suspect it will also work for thin
27478 client servers, allowing one to easily set up LTSP and hook it into a
27479 existing network infrastructure, but I have not had time to test this
27480 yet.&lt;/p&gt;
27481
27482 &lt;p&gt;If you want to help out with implementing these things for Debian
27483 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
27484
27485 &lt;p&gt;Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
27486 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
27487 before falling back to the upper case DNS domain name. Will have to
27488 implement it for Debian Edu. :)&lt;/p&gt;
27489 </description>
27490 </item>
27491
27492 <item>
27493 <title>Testing if a file system can be used for home directories...</title>
27494 <link>https://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</link>
27495 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</guid>
27496 <pubDate>Sun, 8 Aug 2010 21:20:00 +0200</pubDate>
27497 <description>&lt;p&gt;A few years ago, I was involved in a project planning to use
27498 Windows file servers as home directory servers for Debian
27499 Edu/Skolelinux machines. This was thought to be no problem, as the
27500 access would be through the SMB network file system protocol, and we
27501 knew other sites used SMB with unix and samba as the file server to
27502 mount home directories without any problems. But, after months of
27503 struggling, we had to conclude that our goal was impossible.&lt;/p&gt;
27504
27505 &lt;p&gt;The reason is simply that while SMB can be used for home
27506 directories when the file server is Samba running on Unix, this only
27507 work because of Samba have some extensions and the fact that the
27508 underlying file system is a unix file system. When using a Windows
27509 file server, the underlying file system do not have POSIX semantics,
27510 and several programs will fail if the users home directory where they
27511 want to store their configuration lack POSIX semantics.&lt;/p&gt;
27512
27513 &lt;p&gt;As part of this work, I wrote a small C program I want to share
27514 with you all, to replicate a few of the problematic applications (like
27515 OpenOffice.org and GCompris) and see if the file system was working as
27516 it should. If you find yourself in spooky file system land, it might
27517 help you find your way out again. This is the fs-test.c source:&lt;/p&gt;
27518
27519 &lt;pre&gt;
27520 /*
27521 * Some tests to check the file system sematics. Used to verify that
27522 * CIFS from a windows server do not work properly as a linux home
27523 * directory.
27524 * License: GPL v2 or later
27525 *
27526 * needs libsqlite3-dev and build-essential installed
27527 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
27528 */
27529
27530 #define _FILE_OFFSET_BITS 64
27531 #define _LARGEFILE_SOURCE 1
27532 #define _LARGEFILE64_SOURCE 1
27533
27534 #define _GNU_SOURCE /* for asprintf() */
27535
27536 #include &amp;lt;errno.h&gt;
27537 #include &amp;lt;fcntl.h&gt;
27538 #include &amp;lt;stdio.h&gt;
27539 #include &amp;lt;string.h&gt;
27540 #include &amp;lt;stdlib.h&gt;
27541 #include &amp;lt;sys/file.h&gt;
27542 #include &amp;lt;sys/stat.h&gt;
27543 #include &amp;lt;sys/types.h&gt;
27544 #include &amp;lt;unistd.h&gt;
27545
27546 #ifdef TEST_SQLITE
27547 /*
27548 * Test sqlite open, as done by gcompris require the libsqlite3-dev
27549 * package and linking with -lsqlite3. A more low level test is
27550 * below.
27551 * See also &amp;lt;URL: http://www.sqlite.org./faq.html#q5 &gt;.
27552 */
27553 #include &amp;lt;sqlite3.h&gt;
27554 #define CREATE_TABLE_USERS \
27555 &quot;CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); &quot;
27556 int test_sqlite_open(void) {
27557 char *zErrMsg;
27558 char *name = &quot;testsqlite.db&quot;;
27559 sqlite3 *db=NULL;
27560 unlink(name);
27561 int rc = sqlite3_open(name, &amp;db);
27562 if( rc ){
27563 printf(&quot;error: sqlite open of %s failed: %s\n&quot;, name, sqlite3_errmsg(db));
27564 sqlite3_close(db);
27565 return -1;
27566 }
27567
27568 /* create tables */
27569 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &amp;zErrMsg);
27570 if( rc != SQLITE_OK ){
27571 printf(&quot;error: sqlite table create failed: %s\n&quot;, zErrMsg);
27572 sqlite3_close(db);
27573 return -1;
27574 }
27575 printf(&quot;info: sqlite worked\n&quot;);
27576 sqlite3_close(db);
27577 return 0;
27578 }
27579 #endif /* TEST_SQLITE */
27580
27581 /*
27582 * Demonstrate locking issue found in gcompris using sqlite3. This
27583 * work with ext3, but not with cifs server on Windows 2003. This is
27584 * done in the sqlite3 library.
27585 * See also
27586 * &amp;lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html&gt; and the
27587 * POSIX specification
27588 * &amp;lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html&gt;.
27589 */
27590 int test_gcompris_locking(void) {
27591 struct flock fl;
27592 char *name = &quot;testsqlite.db&quot;;
27593 unlink(name);
27594 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
27595 printf(&quot;info: testing fcntl locking\n&quot;);
27596
27597 fl.l_whence = SEEK_SET;
27598 fl.l_pid = getpid();
27599 printf(&quot; Read-locking 1 byte from 1073741824&quot;);
27600 fl.l_start = 1073741824;
27601 fl.l_len = 1;
27602 fl.l_type = F_RDLCK;
27603 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27604
27605 printf(&quot; Read-locking 510 byte from 1073741826&quot;);
27606 fl.l_start = 1073741826;
27607 fl.l_len = 510;
27608 fl.l_type = F_RDLCK;
27609 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27610
27611 printf(&quot; Unlocking 1 byte from 1073741824&quot;);
27612 fl.l_start = 1073741824;
27613 fl.l_len = 1;
27614 fl.l_type = F_UNLCK;
27615 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27616
27617 printf(&quot; Write-locking 1 byte from 1073741824&quot;);
27618 fl.l_start = 1073741824;
27619 fl.l_len = 1;
27620 fl.l_type = F_WRLCK;
27621 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27622
27623 printf(&quot; Write-locking 510 byte from 1073741826&quot;);
27624 fl.l_start = 1073741826;
27625 fl.l_len = 510;
27626 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27627
27628 printf(&quot; Unlocking 2 byte from 1073741824&quot;);
27629 fl.l_start = 1073741824;
27630 fl.l_len = 2;
27631 fl.l_type = F_UNLCK;
27632 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
27633
27634 close(fd);
27635 return 0;
27636 }
27637
27638 /*
27639 * Test if permissions of freshly created directories allow entries
27640 * below them. This was a problem with OpenOffice.org and gcompris.
27641 * Mounting with option &#39;sync&#39; seem to solve this problem while
27642 * slowing down file operations.
27643 */
27644 int test_subdirectory_creation(void) {
27645 #define LEVELS 5
27646 char *path = strdup(&quot;test&quot;);
27647 char *dirs[LEVELS];
27648 int level;
27649 printf(&quot;info: testing subdirectory creation\n&quot;);
27650 for (level = 0; level &amp;lt; LEVELS; level++) {
27651 char *newpath = NULL;
27652 if (-1 == mkdir(path, 0777)) {
27653 printf(&quot; error: Unable to create directory &#39;%s&#39;: %s\n&quot;,
27654 path, strerror(errno));
27655 break;
27656 }
27657 asprintf(&amp;newpath, &quot;%s/%s&quot;, path, &quot;test&quot;);
27658 free(path);
27659 path = newpath;
27660 }
27661 return 0;
27662 }
27663
27664 /*
27665 * Test if symlinks can be created. This was a problem detected with
27666 * KDE.
27667 */
27668 int test_symlinks(void) {
27669 printf(&quot;info: testing symlink creation\n&quot;);
27670 unlink(&quot;symlink&quot;);
27671 if (-1 == symlink(&quot;file&quot;, &quot;symlink&quot;))
27672 printf(&quot; error: Unable to create symlink\n&quot;);
27673 return 0;
27674 }
27675
27676 int main(int argc, char **argv) {
27677 printf(&quot;Testing POSIX/Unix sematics on file system\n&quot;);
27678 test_symlinks();
27679 test_subdirectory_creation();
27680 #ifdef TEST_SQLITE
27681 test_sqlite_open();
27682 #endif /* TEST_SQLITE */
27683 test_gcompris_locking();
27684 return 0;
27685 }
27686 &lt;/pre&gt;
27687
27688 &lt;p&gt;When everything is working, it should print something like
27689 this:&lt;/p&gt;
27690
27691 &lt;pre&gt;
27692 Testing POSIX/Unix sematics on file system
27693 info: testing symlink creation
27694 info: testing subdirectory creation
27695 info: sqlite worked
27696 info: testing fcntl locking
27697 Read-locking 1 byte from 1073741824
27698 Read-locking 510 byte from 1073741826
27699 Unlocking 1 byte from 1073741824
27700 Write-locking 1 byte from 1073741824
27701 Write-locking 510 byte from 1073741826
27702 Unlocking 2 byte from 1073741824
27703 &lt;/pre&gt;
27704
27705 &lt;p&gt;I do not remember the exact details of the problems we saw, but one
27706 of them was with locking, where if I remember correctly, POSIX allow a
27707 read-only lock to be upgraded to a read-write lock without unlocking
27708 the read-only lock (while Windows do not). Another was a bug in the
27709 CIFS/SMB client implementation in the Linux kernel where directory
27710 meta information would be wrong for a fraction of a second, making
27711 OpenOffice.org fail to create its deep directory tree because it was
27712 not allowed to create files in its freshly created directory.&lt;/p&gt;
27713
27714 &lt;p&gt;Anyway, here is a nice tool for your tool box, might you never need
27715 it. :)&lt;/p&gt;
27716
27717 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
27718 script so useful that he created a GIT repository and stored it in
27719 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
27720 </description>
27721 </item>
27722
27723 <item>
27724 <title>Autodetecting Client setup for roaming workstations in Debian Edu</title>
27725 <link>https://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</link>
27726 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</guid>
27727 <pubDate>Sat, 7 Aug 2010 14:45:00 +0200</pubDate>
27728 <description>&lt;p&gt;A few days ago, I
27729 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html&quot;&gt;tried
27730 to install&lt;/a&gt; a Roaming workation profile from Debian Edu/Squeeze
27731 while on the university network here at the University of Oslo, and
27732 noticed how much had to change to get it operational using the
27733 university infrastructure. It was fairly easy, but it occured to me
27734 that Debian Edu would improve a lot if I could get the client to
27735 connect without any changes at all, and thus let the client configure
27736 itself during installation and first boot to use the infrastructure
27737 around it. Now I am a huge step further along that road.&lt;/p&gt;
27738
27739 &lt;p&gt;With our current squeeze-test packages, I can select the roaming
27740 workstation profile and get a working laptop connecting to the
27741 university LDAP server for user and group and our active directory
27742 servers for Kerberos authentication. All this without any
27743 configuration at all during installation. My users home directory got
27744 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
27745 In short, openldap and sssd is correctly configured. In addition to
27746 this, the client look for http://wpad/wpad.dat to configure a web
27747 proxy, and when it fail to find it no proxy settings are stored in
27748 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
27749 configured to look for the same wpad configuration and also do not use
27750 a proxy when at the university network. If the machine is moved to a
27751 network with such wpad setup, it would automatically use it when DHCP
27752 gave it a IP address.&lt;/p&gt;
27753
27754 &lt;p&gt;The LDAP server is located using DNS, by first looking for the DNS
27755 entry ldap.$domain. If this do not exist, it look for the
27756 _ldap._tcp.$domain SRV records and use the first one as the LDAP
27757 server. Next, it connects to the LDAP server and search all
27758 namingContexts entries for posixAccount or posixGroup objects, and
27759 pick the first one as the LDAP base. For Kerberos, a similar
27760 algorithm is used to locate the LDAP server, and the realm is the
27761 uppercase version of $domain.&lt;/p&gt;
27762
27763 &lt;p&gt;So, what is not working, you might ask. SMB mounting my home
27764 directory do not work. No idea why, but suspected the incorrect
27765 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
27766 the cause. These are not properly configured during installation, and
27767 had to be hand-edited to get the correct Kerberos realm and server,
27768 but SMB mounting still do not work. :(&lt;/p&gt;
27769
27770 &lt;p&gt;With this automatic configuration in place, I expect a Debian Edu
27771 roaming profile installation would be able to automatically detect and
27772 connect to any site using LDAP and Kerberos for NSS directory and PAM
27773 authentication. It should also work out of the box in a Active
27774 Directory environment providing posixAccount and posixGroup objects
27775 with UID and GID values.&lt;/p&gt;
27776
27777 &lt;p&gt;If you want to help out with implementing these things for Debian
27778 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
27779 </description>
27780 </item>
27781
27782 <item>
27783 <title>Debian Edu roaming workstation - at the university of Oslo</title>
27784 <link>https://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</link>
27785 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</guid>
27786 <pubDate>Tue, 3 Aug 2010 23:30:00 +0200</pubDate>
27787 <description>&lt;p&gt;The new roaming workstation profile in Debian Edu/Squeeze is fairly
27788 similar to the laptop setup am I working on using Ubuntu for the
27789 University of Oslo, and just for the heck of it, I tested today how
27790 hard it would be to integrate that profile into the university
27791 infrastructure. In this case, it is the university LDAP server,
27792 Active Directory Kerberos server and SMB mounting from the Netapp file
27793 servers.&lt;/p&gt;
27794
27795 &lt;p&gt;I was pleasantly surprised that the only three files needed to be
27796 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
27797 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
27798 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
27799 Most of the changes were to get the client to use the university LDAP
27800 for NSS and Kerberos server for PAM, but one was to change a hard
27801 coded DNS domain name in the mklocaluser hook from .intern to
27802 .uio.no.&lt;/p&gt;
27803
27804 &lt;p&gt;This testing was so encouraging, that I went ahead and adjusted the
27805 Debian Edu scripts and setup in subversion to centralise the roaming
27806 workstation setup a bit more and avoid the hardcoded DNS domain name,
27807 so that when I test this tomorrow, I expect to get away with modifying
27808 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
27809 university servers.&lt;/p&gt;
27810
27811 &lt;p&gt;My goal is to get the clients to have no hardcoded settings and
27812 fetch all their initial setup during installation and first boot, to
27813 allow them to be inserted also into environments where the default
27814 setup in Debian Edu has been changed or as with the university, where
27815 the environment is different but provides the protocols Debian Edu
27816 uses.&lt;/p&gt;
27817 </description>
27818 </item>
27819
27820 <item>
27821 <title>Circular package dependencies harms apt recovery</title>
27822 <link>https://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</link>
27823 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</guid>
27824 <pubDate>Tue, 27 Jul 2010 23:50:00 +0200</pubDate>
27825 <description>&lt;p&gt;I discovered this while doing
27826 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;automated
27827 testing of upgrades from Debian Lenny to Squeeze&lt;/a&gt;. A few packages
27828 in Debian still got circular dependencies, and it is often claimed
27829 that apt and aptitude should be able to handle this just fine, but
27830 some times these dependency loops causes apt to fail.&lt;/p&gt;
27831
27832 &lt;p&gt;An example is from todays
27833 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt&quot;&gt;upgrade
27834 of KDE using aptitude&lt;/a&gt;. In it, a bug in kdebase-workspace-data
27835 causes perl-modules to fail to upgrade. The cause is simple. If a
27836 package fail to unpack, then only part of packages with the circular
27837 dependency might end up being unpacked when unpacking aborts, and the
27838 ones already unpacked will fail to configure in the recovery phase
27839 because its dependencies are unavailable.&lt;/p&gt;
27840
27841 &lt;p&gt;In this log, the problem manifest itself with this error:&lt;/p&gt;
27842
27843 &lt;blockquote&gt;&lt;pre&gt;
27844 dpkg: dependency problems prevent configuration of perl-modules:
27845 perl-modules depends on perl (&gt;= 5.10.1-1); however:
27846 Version of perl on system is 5.10.0-19lenny2.
27847 dpkg: error processing perl-modules (--configure):
27848 dependency problems - leaving unconfigured
27849 &lt;/pre&gt;&lt;/blockquote&gt;
27850
27851 &lt;p&gt;The perl/perl-modules circular dependency is already
27852 &lt;a href=&quot;http://bugs.debian.org/527917&quot;&gt;reported as a bug&lt;/a&gt;, and will
27853 hopefully be solved as soon as possible, but it is not the only one,
27854 and each one of these loops in the dependency tree can cause similar
27855 failures. Of course, they only occur when there are bugs in other
27856 packages causing the unpacking to fail, but it is rather nasty when
27857 the failure of one package causes the problem to become worse because
27858 of dependency loops.&lt;/p&gt;
27859
27860 &lt;p&gt;Thanks to
27861 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/06/msg00116.html&quot;&gt;the
27862 tireless effort by Bill Allombert&lt;/a&gt;, the number of circular
27863 dependencies
27864 &lt;a href=&quot;http://debian.semistable.com/debgraph.out.html&quot;&gt;left in Debian
27865 is dropping&lt;/a&gt;, and perhaps it will reach zero one day. :)&lt;/p&gt;
27866
27867 &lt;p&gt;Todays testing also exposed a bug in
27868 &lt;a href=&quot;http://bugs.debian.org/590605&quot;&gt;update-notifier&lt;/a&gt; and
27869 &lt;a href=&quot;http://bugs.debian.org/590604&quot;&gt;different behaviour&lt;/a&gt; between
27870 apt-get and aptitude, the latter possibly caused by some circular
27871 dependency. Reported both to BTS to try to get someone to look at
27872 it.&lt;/p&gt;
27873 </description>
27874 </item>
27875
27876 <item>
27877 <title>First Debian Edu test release (alpha0) based on Squeeze is released</title>
27878 <link>https://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</link>
27879 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</guid>
27880 <pubDate>Tue, 27 Jul 2010 17:45:00 +0200</pubDate>
27881 <description>&lt;p&gt;I just posted this announcement culminating several months of work
27882 with the next Debian Edu release. Not nearly done, but one major step
27883 completed.&lt;/p&gt;
27884
27885 &lt;blockquote&gt;
27886 &lt;p&gt;This is the first test release based on Squeeze. The focus of this
27887 release is to test the user application selection. To have a look,
27888 install the standalone profile and let the developers know if the set
27889 of installed packages i.e. applications should be modified. If some
27890 user application is missing, or if there are some applications that no
27891 longer make sense to be included in Debian Edu, please let us know.
27892 Also, if a useful application is missing the translation for your
27893 language of choice, please let us know too.&lt;/p&gt;
27894
27895 &lt;p&gt;In addition, feedback and help to polish the desktop (menus,
27896 artwork, starters, etc.) is appreciated. We would like to ship a nice
27897 and handy KDE4 desktop targeted for schools out of the box.&lt;/p&gt;
27898
27899 &lt;p&gt;The other profiles should be installable, but there is a lot more
27900 work left to be done before they are ready, so do not expect to
27901 much.&lt;/p&gt;
27902
27903 &lt;p&gt;Changes compared to the lenny based version&lt;/p&gt;
27904
27905 &lt;ul&gt;
27906 &lt;li&gt;Everything from Debian Squeeze
27907 &lt;ul&gt;
27908 &lt;li&gt;Desktop environment KDE 4.4 =&gt; the new KDE desktop in
27909 combination with some new artwork
27910 &lt;li&gt;Web browser Iceweasel 3.5
27911 &lt;li&gt;OpenOffice.org 3.2
27912 &lt;li&gt;Educational toolbox GCompris 9.3
27913 &lt;li&gt;Music creator Rosegarden 10.04.2
27914 &lt;li&gt;Image editor Gimp 2.6.10
27915 &lt;li&gt;Virtual universe Celestia 1.6.0
27916 &lt;li&gt;Virtual stargazer Stellarium 0.10.4
27917 &lt;li&gt;3D modeler Blender 2.49.2 (new application)
27918 &lt;li&gt;Video editor Kdenlive 0.7.7 (new application)
27919 &lt;/ul&gt;&lt;/li&gt;
27920 &lt;li&gt;Now using Kerberos for password checking (migration not finished).
27921 Enabled for:
27922 &lt;ul&gt;
27923 &lt;li&gt;PAM
27924 &lt;li&gt;LDAP
27925 &lt;li&gt;IMAP
27926 &lt;li&gt;SMTP (sender verification)
27927 &lt;/ul&gt;
27928 &lt;/li&gt;
27929 &lt;li&gt;New experimental roaming workstation profile for laptops.&lt;/li&gt;
27930 &lt;li&gt;Show welcome page to users when they first log in. The URL is
27931 fetched from LDAP.&lt;/li&gt;
27932 &lt;li&gt;New LXDE desktop option, in addition to KDE (default) and Gnome.&lt;/li&gt;
27933 &lt;li&gt;General cleanup (not finished)&lt;/li&gt;
27934 &lt;/ul&gt;
27935 &lt;p&gt;The following features are not working as they should&lt;/p&gt;
27936
27937 &lt;ul&gt;
27938 &lt;li&gt;No web based administration tool for creating users and groups. The
27939 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
27940 for testing.&lt;/li&gt;
27941 &lt;li&gt;DVD installs are missing debian-installer images for the PXE boot,
27942 and do not set up the PXE menu on eth0 because of this. LTSP
27943 clients should still boot from eth1 on thin client servers.&lt;/li&gt;
27944 &lt;li&gt;The restructured KDE menu is not implemented.&lt;/li&gt;
27945 &lt;li&gt;The LDAP server setup need to be reviewed for security.&lt;/li&gt;
27946 &lt;li&gt;The LDAP directory structure need to be reworked.&lt;/li&gt;
27947 &lt;li&gt;Different sets of packages are installed when using the DVD and the
27948 netinst CD. More packages are installed using the netinst CD.&lt;/li&gt;
27949 &lt;li&gt;The jackd package fail to install. This is believed to be caused by
27950 some ongoing transition, and hopefully should be solved soon. The
27951 jackd1 package can be installed manually for those that need it.&lt;/li&gt;
27952 &lt;li&gt;Some packages lack translations. See
27953 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
27954 and help out with translations.&lt;/li&gt;
27955 &lt;/ul&gt;
27956
27957 &lt;p&gt;To download this multiarch netinstall release you can use&lt;/p&gt;
27958
27959 &lt;ul&gt;
27960 &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;
27961 &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;
27962 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
27963 &lt;/ul&gt;
27964 &lt;p&gt;To download this multiarch dvd release you can use&lt;/p&gt;
27965
27966 &lt;ul&gt;
27967 &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;
27968 &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;
27969 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
27970 &lt;/ul&gt;
27971
27972 &lt;p&gt;There is no source DVD available yet. It will be prepared when we
27973 get closer to the final release.&lt;/p&gt;
27974
27975 &lt;p&gt;The MD5SUM of these images are&lt;/p&gt;
27976
27977 &lt;ul&gt;
27978 &lt;li&gt;3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
27979 &lt;li&gt;22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
27980 &lt;/ul&gt;
27981
27982 &lt;p&gt;The SHA1SUM of these images are&lt;/p&gt;
27983 &lt;ul&gt;
27984 &lt;li&gt;c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
27985 &lt;li&gt;2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
27986 &lt;/ul&gt;
27987 &lt;p&gt;How to report bugs:
27988 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla&lt;/p&gt;
27989
27990 &lt;p&gt;Please direct replies to debian-edu@lists.debian.org&lt;/p&gt;
27991 &lt;/blockquote&gt;
27992 </description>
27993 </item>
27994
27995 <item>
27996 <title>One step closer to single signon in Debian Edu</title>
27997 <link>https://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</link>
27998 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</guid>
27999 <pubDate>Sun, 25 Jul 2010 10:00:00 +0200</pubDate>
28000 <description>&lt;p&gt;The last few months me and the other Debian Edu developers have
28001 been working hard to get the Debian/Squeeze based version of Debian
28002 Edu/Skolelinux into shape. This future version will use Kerberos for
28003 authentication, and services are slowly migrated to single signon,
28004 getting rid of password questions one at the time.&lt;/p&gt;
28005
28006 &lt;p&gt;It will also feature a roaming workstation profile with local home
28007 directory, for laptops that are only some times on the Skolelinux
28008 network, and for this profile a shortcut is created in Gnome and KDE
28009 to gain access to the users home directory on the file server. This
28010 shortcut uses SMB at the moment, and yesterday I had time to test if
28011 SMB mounting had started working in KDE after we added the cifs-utils
28012 package. I was pleasantly surprised how well it worked.&lt;/p&gt;
28013
28014 &lt;p&gt;Thanks to the recent changes to our samba configuration to get it
28015 to use Kerberos for authentication, there were no question about user
28016 password when mounting the SMB volume. A simple click on the shortcut
28017 in the KDE menu, and a window with the home directory popped
28018 up. :)&lt;/p&gt;
28019
28020 &lt;p&gt;One step closer to a single signon solution out of the box in
28021 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
28022 also Samba. Next step is Cups and hopefully also NFS.&lt;/p&gt;
28023
28024 &lt;p&gt;We had planned a alpha0 release of Debian Edu for today, but thanks
28025 to the autobuilder administrators for some architectures being slow to
28026 sign packages, we are still missing the fixed LTSP package we need for
28027 the release. It was uploaded three days ago with urgency=high, and if
28028 it had entered testing yesterday we would have been able to test it in
28029 time for a alpha0 release today. As the binaries for ia64 and powerpc
28030 still not uploaded to the Debian archive, we need to delay the alpha
28031 release another day.&lt;/p&gt;
28032
28033 &lt;p&gt;If you want to help out with implementing Kerberos for Debian Edu,
28034 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28035 </description>
28036 </item>
28037
28038 <item>
28039 <title>OpenStreetmap one step closer to having routing on its front page</title>
28040 <link>https://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</link>
28041 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</guid>
28042 <pubDate>Sun, 18 Jul 2010 16:45:00 +0200</pubDate>
28043 <description>&lt;p&gt;Thanks to
28044 &lt;a href=&quot;http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home&quot;&gt;todays
28045 opengeodata blog entry&lt;/a&gt;, I just discovered that the
28046 OpenStreetmap.org site have gotten
28047 &lt;a href=&quot;http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT&quot;&gt;support
28048 for calculating routes&lt;/a&gt;. The support is still experimental and
28049 only available from the development server, until more experience is
28050 gathered on the user interface and any scalability issues.&lt;/p&gt;
28051
28052 &lt;p&gt;Earlier, the routing I knew about using the OpenStreetmap.org data
28053 was provided by &lt;a href=&quot;http://maps.cloudmade.com/&quot;&gt;Cloudmade&lt;/a&gt;,
28054 but having it on the main page is required to make everyone aware of
28055 the issue. I&#39;ve had people reject Openstreetmap.org as a viable
28056 alternative for them because the front page lacked routing support,
28057 and I hope their needs will be catered for when routing show up on the
28058 www.openstreetmap.org front page.&lt;/p&gt;
28059 </description>
28060 </item>
28061
28062 <item>
28063 <title>What are they searching for - PowerDNS and ISC DHCP in LDAP</title>
28064 <link>https://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</link>
28065 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</guid>
28066 <pubDate>Sat, 17 Jul 2010 21:00:00 +0200</pubDate>
28067 <description>&lt;p&gt;This is a
28068 &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;
28069 on my
28070 &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
28071 work&lt;/a&gt; on
28072 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html&quot;&gt;merging
28073 all&lt;/a&gt; the computer related LDAP objects in Debian Edu.&lt;/p&gt;
28074
28075 &lt;p&gt;As a step to try to see if it possible to merge the DNS and DHCP
28076 LDAP objects, I have had a look at how the packages pdns-backend-ldap
28077 and dhcp3-server-ldap in Debian use the LDAP server. The two
28078 implementations are quite different in how they use LDAP.&lt;/p&gt;
28079
28080 To get this information, I started slapd with debugging enabled and
28081 dumped the debug output to a file to get the LDAP searches performed
28082 on a Debian Edu main-server. Here is a summary.
28083
28084 &lt;p&gt;&lt;strong&gt;powerdns&lt;/strong&gt;&lt;/p&gt;
28085
28086 &lt;a href=&quot;http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend&quot;&gt;Clues
28087 on how to&lt;/a&gt; set up PowerDNS to use a LDAP backend is available on
28088 the web.
28089
28090 &lt;p&gt;PowerDNS have two modes of operation using LDAP as its backend.
28091 One &quot;strict&quot; mode where the forward and reverse DNS lookups are done
28092 using the same LDAP objects, and a &quot;tree&quot; mode where the forward and
28093 reverse entries are in two different subtrees in LDAP with a structure
28094 based on the DNS names, as in tjener.intern and
28095 2.2.0.10.in-addr.arpa.&lt;/p&gt;
28096
28097 &lt;p&gt;In tree mode, the server is set up to use a LDAP subtree as its
28098 base, and uses a &quot;base&quot; scoped search for the DNS name by adding
28099 &quot;dc=tjener,dc=intern,&quot; to the base with a filter for
28100 &quot;(associateddomain=tjener.intern)&quot; for the forward entry and
28101 &quot;dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,&quot; with a filter for
28102 &quot;(associateddomain=2.2.0.10.in-addr.arpa)&quot; for the reverse entry. For
28103 forward entries, it is looking for attributes named dnsttl, arecord,
28104 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
28105 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
28106 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
28107 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
28108 spfrecord and modifytimestamp. For reverse entries it is looking for
28109 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
28110 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
28111 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
28112 ldapsearch commands could look like this:&lt;/p&gt;
28113
28114 &lt;blockquote&gt;&lt;pre&gt;
28115 ldapsearch -h ldap \
28116 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
28117 -s base -x &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
28118 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
28119 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
28120 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
28121 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
28122
28123 ldapsearch -h ldap \
28124 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
28125 -s base -x &#39;(associateddomain=2.2.0.10.in-addr.arpa)&#39;
28126 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
28127 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
28128 srvrecord naptrrecord modifytimestamp
28129 &lt;/pre&gt;&lt;/blockquote&gt;
28130
28131 &lt;p&gt;In Debian Edu/Lenny, the PowerDNS tree mode is used with
28132 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
28133 example LDAP objects used there. In addition to these objects, the
28134 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
28135 also exist.&lt;/p&gt;
28136
28137 &lt;blockquote&gt;&lt;pre&gt;
28138 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
28139 objectclass: top
28140 objectclass: dnsdomain
28141 objectclass: domainrelatedobject
28142 dc: tjener
28143 arecord: 10.0.2.2
28144 associateddomain: tjener.intern
28145
28146 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
28147 objectclass: top
28148 objectclass: dnsdomain2
28149 objectclass: domainrelatedobject
28150 dc: 2
28151 ptrrecord: tjener.intern
28152 associateddomain: 2.2.0.10.in-addr.arpa
28153 &lt;/pre&gt;&lt;/blockquote&gt;
28154
28155 &lt;p&gt;In strict mode, the server behaves differently. When looking for
28156 forward DNS entries, it is doing a &quot;subtree&quot; scoped search with the
28157 same base as in the tree mode for a object with filter
28158 &quot;(associateddomain=tjener.intern)&quot; and requests the attributes dnsttl,
28159 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
28160 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
28161 naptrrecord and modifytimestamp. For reverse entires it also do a
28162 subtree scoped search but this time the filter is &quot;(arecord=10.0.2.2)&quot;
28163 and the requested attributes are associateddomain, dnsttl and
28164 modifytimestamp. In short, in strict mode the objects with ptrrecord
28165 go away, and the arecord attribute in the forward object is used
28166 instead.&lt;/p&gt;
28167
28168 &lt;p&gt;The forward and reverse searches can be simulated using ldapsearch
28169 like this:&lt;/p&gt;
28170
28171 &lt;blockquote&gt;&lt;pre&gt;
28172 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
28173 &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
28174 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
28175 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
28176 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
28177 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
28178
28179 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
28180 &#39;(arecord=10.0.2.2)&#39; associateddomain dnsttl modifytimestamp
28181 &lt;/pre&gt;&lt;/blockquote&gt;
28182
28183 &lt;p&gt;In addition to the forward and reverse searches , there is also a
28184 search for SOA records, which behave similar to the forward and
28185 reverse lookups.&lt;/p&gt;
28186
28187 &lt;p&gt;A thing to note with the PowerDNS behaviour is that it do not
28188 specify any objectclass names, and instead look for the attributes it
28189 need to generate a DNS reply. This make it able to work with any
28190 objectclass that provide the needed attributes.&lt;/p&gt;
28191
28192 &lt;p&gt;The attributes are normally provided in the cosine (RFC 1274) and
28193 dnsdomain2 schemas. The latter is used for reverse entries like
28194 ptrrecord and recent DNS additions like aaaarecord and srvrecord.&lt;/p&gt;
28195
28196 &lt;p&gt;In Debian Edu, we have created DNS objects using the object classes
28197 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
28198 attributes) and domainrelatedobject (for associatedDomain). The use
28199 of structural object classes make it impossible to combine these
28200 classes with the object classes used by DHCP.&lt;/p&gt;
28201
28202 &lt;p&gt;There are other schemas that could be used too, for example the
28203 dnszone structural object class used by Gosa and bind-sdb for the DNS
28204 attributes combined with the domainrelatedobject object class, but in
28205 this case some unused attributes would have to be included as well
28206 (zonename and relativedomainname).&lt;/p&gt;
28207
28208 &lt;p&gt;My proposal for Debian Edu would be to switch PowerDNS to strict
28209 mode and not use any of the existing objectclasses (dnsdomain,
28210 dnsdomain2 and dnszone) when one want to combine the DNS information
28211 with DHCP information, and instead create a auxiliary object class
28212 defined something like this (using the attributes defined for
28213 dnsdomain and dnsdomain2 or dnszone):&lt;/p&gt;
28214
28215 &lt;blockquote&gt;&lt;pre&gt;
28216 objectclass ( some-oid NAME &#39;dnsDomainAux&#39;
28217 SUP top
28218 AUXILIARY
28219 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
28220 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
28221 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
28222 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
28223 A6Record $ DNAMERecord
28224 ))
28225 &lt;/pre&gt;&lt;/blockquote&gt;
28226
28227 &lt;p&gt;This will allow any object to become a DNS entry when combined with
28228 the domainrelatedobject object class, and allow any entity to include
28229 all the attributes PowerDNS wants. I&#39;ve sent an email to the PowerDNS
28230 developers asking for their view on this schema and if they are
28231 interested in providing such schema with PowerDNS, and I hope my
28232 message will be accepted into their mailing list soon.&lt;/p&gt;
28233
28234 &lt;p&gt;&lt;strong&gt;ISC dhcp&lt;/strong&gt;&lt;/p&gt;
28235
28236 &lt;p&gt;The DHCP server searches for specific objectclass and requests all
28237 the object attributes, and then uses the attributes it want. This
28238 make it harder to figure out exactly what attributes are used, but
28239 thanks to the working example in Debian Edu I can at least get an idea
28240 what is needed without having to read the source code.&lt;/p&gt;
28241
28242 &lt;p&gt;In the DHCP server configuration, the LDAP base to use and the
28243 search filter to use to locate the correct dhcpServer entity is
28244 stored. These are the relevant entries from
28245 /etc/dhcp3/dhcpd.conf:&lt;/p&gt;
28246
28247 &lt;blockquote&gt;&lt;pre&gt;
28248 ldap-base-dn &quot;dc=skole,dc=skolelinux,dc=no&quot;;
28249 ldap-dhcp-server-cn &quot;dhcp&quot;;
28250 &lt;/pre&gt;&lt;/blockquote&gt;
28251
28252 &lt;p&gt;The DHCP server uses this information to nest all the DHCP
28253 configuration it need. The cn &quot;dhcp&quot; is located using the given LDAP
28254 base and the filter &quot;(&amp;(objectClass=dhcpServer)(cn=dhcp))&quot;. The
28255 search result is this entry:&lt;/p&gt;
28256
28257 &lt;blockquote&gt;&lt;pre&gt;
28258 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
28259 cn: dhcp
28260 objectClass: top
28261 objectClass: dhcpServer
28262 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
28263 &lt;/pre&gt;&lt;/blockquote&gt;
28264
28265 &lt;p&gt;The content of the dhcpServiceDN attribute is next used to locate the
28266 subtree with DHCP configuration. The DHCP configuration subtree base
28267 is located using a base scope search with base &quot;cn=DHCP
28268 Config,dc=skole,dc=skolelinux,dc=no&quot; and filter
28269 &quot;(&amp;(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))&quot;.
28270 The search result is this entry:&lt;/p&gt;
28271
28272 &lt;blockquote&gt;&lt;pre&gt;
28273 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
28274 cn: DHCP Config
28275 objectClass: top
28276 objectClass: dhcpService
28277 objectClass: dhcpOptions
28278 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
28279 dhcpStatements: ddns-update-style none
28280 dhcpStatements: authoritative
28281 dhcpOption: smtp-server code 69 = array of ip-address
28282 dhcpOption: www-server code 72 = array of ip-address
28283 dhcpOption: wpad-url code 252 = text
28284 &lt;/pre&gt;&lt;/blockquote&gt;
28285
28286 &lt;p&gt;Next, the entire subtree is processed, one level at the time. When
28287 all the DHCP configuration is loaded, it is ready to receive requests.
28288 The subtree in Debian Edu contain objects with object classes
28289 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
28290 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
28291 and information about netmasks, dynamic range etc. Leaving out the
28292 details here because it is not relevant for the focus of my
28293 investigation, which is to see if it is possible to merge dns and dhcp
28294 related computer objects.&lt;/p&gt;
28295
28296 &lt;p&gt;When a DHCP request come in, LDAP is searched for the MAC address
28297 of the client (00:00:00:00:00:00 in this example), using a subtree
28298 scoped search with &quot;cn=DHCP Config,dc=skole,dc=skolelinux,dc=no&quot; as
28299 the base and &quot;(&amp;(objectClass=dhcpHost)(dhcpHWAddress=ethernet
28300 00:00:00:00:00:00))&quot; as the filter. This is what a host object look
28301 like:&lt;/p&gt;
28302
28303 &lt;blockquote&gt;&lt;pre&gt;
28304 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
28305 cn: hostname
28306 objectClass: top
28307 objectClass: dhcpHost
28308 dhcpHWAddress: ethernet 00:00:00:00:00:00
28309 dhcpStatements: fixed-address hostname
28310 &lt;/pre&gt;&lt;/blockquote&gt;
28311
28312 &lt;p&gt;There is less flexiblity in the way LDAP searches are done here.
28313 The object classes need to have fixed names, and the configuration
28314 need to be stored in a fairly specific LDAP structure. On the
28315 positive side, the invidiual dhcpHost entires can be anywhere without
28316 the DN pointed to by the dhcpServer entries. The latter should make
28317 it possible to group all host entries in a subtree next to the
28318 configuration entries, and this subtree can also be shared with the
28319 DNS server if the schema proposed above is combined with the dhcpHost
28320 structural object class.
28321
28322 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
28323
28324 &lt;p&gt;The PowerDNS implementation seem to be very flexible when it come
28325 to which LDAP schemas to use. While its &quot;tree&quot; mode is rigid when it
28326 come to the the LDAP structure, the &quot;strict&quot; mode is very flexible,
28327 allowing DNS objects to be stored anywhere under the base cn specified
28328 in the configuration.&lt;/p&gt;
28329
28330 &lt;p&gt;The DHCP implementation on the other hand is very inflexible, both
28331 regarding which LDAP schemas to use and which LDAP structure to use.
28332 I guess one could implement ones own schema, as long as the
28333 objectclasses and attributes have the names used, but this do not
28334 really help when the DHCP subtree need to have a fairly fixed
28335 structure.&lt;/p&gt;
28336
28337 &lt;p&gt;Based on the observed behaviour, I suspect a LDAP structure like
28338 this might work for Debian Edu:&lt;/p&gt;
28339
28340 &lt;blockquote&gt;&lt;pre&gt;
28341 ou=services
28342 cn=machine-info (dhcpService) - dhcpServiceDN points here
28343 cn=dhcp (dhcpServer)
28344 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
28345 cn=10.0.2.0 (dhcpSubnet)
28346 cn=group1 (dhcpGroup/dhcpOptions)
28347 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
28348 cn=192.168.0.0 (dhcpSubnet)
28349 cn=group1 (dhcpGroup/dhcpOptions)
28350 ou=machines - PowerDNS base points here
28351 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
28352 &lt;/pre&gt;&lt;/blockquote&gt;
28353
28354 &lt;P&gt;This is not tested yet. If the DHCP server require the dhcpHost
28355 entries to be in the dhcpGroup subtrees, the entries can be stored
28356 there instead of a common machines subtree, and the PowerDNS base
28357 would have to be moved one level up to the machine-info subtree.&lt;/p&gt;
28358
28359 &lt;p&gt;The combined object under the machines subtree would look something
28360 like this:&lt;/p&gt;
28361
28362 &lt;blockquote&gt;&lt;pre&gt;
28363 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
28364 dc: hostname
28365 objectClass: top
28366 objectClass: dhcpHost
28367 objectclass: domainrelatedobject
28368 objectclass: dnsDomainAux
28369 associateddomain: hostname.intern
28370 arecord: 10.11.12.13
28371 dhcpHWAddress: ethernet 00:00:00:00:00:00
28372 dhcpStatements: fixed-address hostname.intern
28373 &lt;/pre&gt;&lt;/blockquote&gt;
28374
28375 &lt;/p&gt;One could even add the LTSP configuration associated with a given
28376 machine, as long as the required attributes are available in a
28377 auxiliary object class.&lt;/p&gt;
28378 </description>
28379 </item>
28380
28381 <item>
28382 <title>Combining PowerDNS and ISC DHCP LDAP objects</title>
28383 <link>https://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</link>
28384 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</guid>
28385 <pubDate>Wed, 14 Jul 2010 23:45:00 +0200</pubDate>
28386 <description>&lt;p&gt;For a while now, I have wanted to find a way to change the DNS and
28387 DHCP services in Debian Edu to use the same LDAP objects for a given
28388 computer, to avoid the possibility of having a inconsistent state for
28389 a computer in LDAP (as in DHCP but no DNS entry or the other way
28390 around) and make it easier to add computers to LDAP.&lt;/p&gt;
28391
28392 &lt;p&gt;I&#39;ve looked at how powerdns and dhcpd is using LDAP, and using this
28393 information finally found a solution that seem to work.&lt;/p&gt;
28394
28395 &lt;p&gt;The old setup required three LDAP objects for a given computer.
28396 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
28397 we switch powerdns to use its strict LDAP method (ldap-method=strict
28398 in pdns-debian-edu.conf), the forward and reverse DNS entries are
28399 merged into one while making it impossible to transfer the reverse map
28400 to a slave DNS server.&lt;/p&gt;
28401
28402 &lt;p&gt;If we also replace the object class used to get the DNS related
28403 attributes to one allowing these attributes to be combined with the
28404 dhcphost object class, we can merge the DNS and DHCP entries into one.
28405 I&#39;ve written such object class in the dnsdomainaux.schema file (need
28406 proper OIDs, but that is a minor issue), and tested the setup. It
28407 seem to work.&lt;/p&gt;
28408
28409 &lt;p&gt;With this test setup in place, we can get away with one LDAP object
28410 for both DNS and DHCP, and even the LTSP configuration I suggested in
28411 an earlier email. The combined LDAP object will look something like
28412 this:&lt;/p&gt;
28413
28414 &lt;blockquote&gt;&lt;pre&gt;
28415 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
28416 cn: hostname
28417 objectClass: dhcphost
28418 objectclass: domainrelatedobject
28419 objectclass: dnsdomainaux
28420 associateddomain: hostname.intern
28421 arecord: 10.11.12.13
28422 dhcphwaddress: ethernet 00:00:00:00:00:00
28423 dhcpstatements: fixed-address hostname
28424 ldapconfigsound: Y
28425 &lt;/pre&gt;&lt;/blockquote&gt;
28426
28427 &lt;p&gt;The DNS server uses the associateddomain and arecord entries, while
28428 the DHCP server uses the dhcphwaddress and dhcpstatements entries
28429 before asking DNS to resolve the fixed-adddress. LTSP will use
28430 dhcphwaddress or associateddomain and the ldapconfig* attributes.&lt;/p&gt;
28431
28432 &lt;p&gt;I am not yet sure if I can get the DHCP server to look for its
28433 dhcphost in a different location, to allow us to put the objects
28434 outside the &quot;DHCP Config&quot; subtree, but hope to figure out a way to do
28435 that. If I can&#39;t figure out a way to do that, we can still get rid of
28436 the hosts subtree and move all its content into the DHCP Config tree
28437 (which probably should be renamed to be more related to the new
28438 content. I suspect cn=dnsdhcp,ou=services or something like that
28439 might be a good place to put it.&lt;/p&gt;
28440
28441 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
28442 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28443 </description>
28444 </item>
28445
28446 <item>
28447 <title>Idea for storing LTSP configuration in LDAP</title>
28448 <link>https://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>
28449 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
28450 <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
28451 <description>&lt;p&gt;Vagrant mentioned on IRC today that ltsp_config now support
28452 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
28453 clients, and that this can be used to fetch configuration from LDAP if
28454 Debian Edu choose to store configuration there.&lt;/p&gt;
28455
28456 &lt;p&gt;Armed with this information, I got inspired and wrote a test module
28457 to get configuration from LDAP. The idea is to look up the MAC
28458 address of the client in LDAP, and look for attributes on the form
28459 ltspconfigsetting=value, and use this to export SETTING=value to the
28460 LTSP clients.&lt;/p&gt;
28461
28462 &lt;p&gt;The goal is to be able to store the LTSP configuration attributes
28463 in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
28464 allowing us to store all information about a computer in one place.&lt;/p&gt;
28465
28466 &lt;p&gt;This is a untested draft implementation, and I welcome feedback on
28467 this approach. A real LDAP schema for the ltspClientAux objectclass
28468 need to be written. Comments, suggestions, etc?&lt;/p&gt;
28469
28470 &lt;blockquote&gt;&lt;pre&gt;
28471 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
28472 #
28473 # Fetch LTSP client settings from LDAP based on MAC address
28474 #
28475 # Uses ethernet address as stored in the dhcpHost objectclass using
28476 # the dhcpHWAddress attribute or ethernet address stored in the
28477 # ieee802Device objectclass with the macAddress attribute.
28478 #
28479 # This module is written to be schema agnostic, and only depend on the
28480 # existence of attribute names.
28481 #
28482 # The LTSP configuration variables are saved directly using a
28483 # ltspConfig prefix and uppercasing the rest of the attribute name.
28484 # To set the SERVER variable, set the ltspConfigServer attribute.
28485 #
28486 # Some LDAP schema should be created with all the relevant
28487 # configuration settings. Something like this should work:
28488 #
28489 # objectclass ( 1.1.2.2 NAME &#39;ltspClientAux&#39;
28490 # SUP top
28491 # AUXILIARY
28492 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
28493
28494 LDAPSERVER=$(debian-edu-ldapserver)
28495 if [ &quot;$LDAPSERVER&quot; ] ; then
28496 LDAPBASE=$(debian-edu-ldapserver -b)
28497 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
28498 filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
28499 ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
28500 grep &#39;^ltspConfig&#39; | while read attr value ; do
28501 # Remove prefix and convert to upper case
28502 attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
28503 # bass value on to clients
28504 eval &quot;$attr=$value; export $attr&quot;
28505 done
28506 done
28507 fi
28508 &lt;/pre&gt;&lt;/blockquote&gt;
28509
28510 &lt;p&gt;I&#39;m not sure this shell construction will work, because I suspect
28511 the while block might end up in a subshell causing the variables set
28512 there to not show up in ltsp-config, but if that is the case I am sure
28513 the code can be restructured to make sure the variables are passed on.
28514 I expect that can be solved with some testing. :)&lt;/p&gt;
28515
28516 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
28517 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28518
28519 &lt;p&gt;Update 2010-07-17: I am aware of another effort to store LTSP
28520 configuration in LDAP that was created around year 2000 by
28521 &lt;a href=&quot;http://www.pcxperience.com/thinclient/documentation/ldap.html&quot;&gt;PC
28522 Xperience, Inc., 2000&lt;/a&gt;. I found its
28523 &lt;a href=&quot;http://people.redhat.com/alikins/ltsp/ldap/&quot;&gt;files&lt;/a&gt; on a
28524 personal home page over at redhat.com.&lt;/p&gt;
28525 </description>
28526 </item>
28527
28528 <item>
28529 <title>jXplorer, a very nice LDAP GUI</title>
28530 <link>https://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>
28531 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</guid>
28532 <pubDate>Fri, 9 Jul 2010 12:55:00 +0200</pubDate>
28533 <description>&lt;p&gt;Since
28534 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html&quot;&gt;my
28535 last post&lt;/a&gt; about available LDAP tools in Debian, I was told about a
28536 LDAP GUI that is even better than luma. The java application
28537 &lt;a href=&quot;http://jxplorer.org/&quot;&gt;jXplorer&lt;/a&gt; is claimed to be capable of
28538 moving LDAP objects and subtrees using drag-and-drop, and can
28539 authenticate using Kerberos. I have only tested the Kerberos
28540 authentication, but do not have a LDAP setup allowing me to rewrite
28541 LDAP with my test user yet. It is
28542 &lt;a href=&quot;http://packages.qa.debian.org/j/jxplorer.html&quot;&gt;available in
28543 Debian&lt;/a&gt; testing and unstable at the moment. The only problem I
28544 have with it is how it handle errors. If something go wrong, its
28545 non-intuitive behaviour require me to go through some query work list
28546 and remove the failing query. Nothing big, but very annoying.&lt;/p&gt;
28547 </description>
28548 </item>
28549
28550 <item>
28551 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome desktop</title>
28552 <link>https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</link>
28553 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</guid>
28554 <pubDate>Sat, 3 Jul 2010 23:55:00 +0200</pubDate>
28555 <description>&lt;p&gt;Here is a short update on my &lt;a
28556 href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;my
28557 Debian Lenny-&gt;Squeeze upgrade testing&lt;/a&gt;. Here is a summary of the
28558 difference for Gnome when it is upgraded by apt-get and aptitude. I&#39;m
28559 not reporting the status for KDE, because the upgrade crashes when
28560 aptitude try because of missing conflicts
28561 (&lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; and
28562 &lt;a href=&quot;http://bugs.debian.org/585716&quot;&gt;#585716&lt;/a&gt;).&lt;/p&gt;
28563
28564 &lt;p&gt;At the end of the upgrade test script, dpkg -l is executed to get a
28565 complete list of the installed packages. Based on this I see these
28566 differences when I did a test run today. As usual, I do not really
28567 know what the correct set of packages would be, but thought it best to
28568 publish the difference.&lt;/p&gt;
28569
28570 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
28571
28572 &lt;blockquote&gt;&lt;p&gt;
28573 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
28574 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
28575 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
28576 libgtksourceview-common libpt-1.10.10-plugins-alsa
28577 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
28578 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
28579 python-4suite-xml python-eggtrayicon python-gtkhtml2
28580 python-gtkmozembed svgalibg1 xserver-xephyr zip
28581 &lt;/p&gt;&lt;/blockquote&gt;
28582
28583 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
28584
28585 &lt;blockquote&gt;&lt;p&gt;
28586 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
28587 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
28588 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
28589 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
28590 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
28591 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
28592 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
28593 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
28594 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
28595 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
28596 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
28597 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
28598 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
28599 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
28600 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
28601 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
28602 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
28603 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
28604 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
28605 mysql-common swfdec-gnome totem-gstreamer wodim
28606 &lt;/p&gt;&lt;/blockquote&gt;
28607
28608 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
28609
28610 &lt;blockquote&gt;&lt;p&gt;
28611 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
28612 python-gnomekeyring python-wnck rhythmbox-plugins xorg
28613 xserver-xorg-input-all xserver-xorg-input-evdev
28614 xserver-xorg-input-kbd xserver-xorg-input-mouse
28615 xserver-xorg-input-synaptics xserver-xorg-video-all
28616 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
28617 xserver-xorg-video-chips xserver-xorg-video-cirrus
28618 xserver-xorg-video-dummy xserver-xorg-video-fbdev
28619 xserver-xorg-video-glint xserver-xorg-video-i128
28620 xserver-xorg-video-i740 xserver-xorg-video-mach64
28621 xserver-xorg-video-mga xserver-xorg-video-neomagic
28622 xserver-xorg-video-nouveau xserver-xorg-video-nv
28623 xserver-xorg-video-r128 xserver-xorg-video-radeon
28624 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
28625 xserver-xorg-video-s3 xserver-xorg-video-s3virge
28626 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
28627 xserver-xorg-video-sis xserver-xorg-video-sisusb
28628 xserver-xorg-video-tdfx xserver-xorg-video-tga
28629 xserver-xorg-video-trident xserver-xorg-video-tseng
28630 xserver-xorg-video-vesa xserver-xorg-video-vmware
28631 xserver-xorg-video-voodoo
28632 &lt;/p&gt;&lt;/blockquote&gt;
28633
28634 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
28635
28636 &lt;blockquote&gt;&lt;p&gt;
28637 deskbar-applet xserver-xorg xserver-xorg-core
28638 xserver-xorg-input-wacom xserver-xorg-video-intel
28639 xserver-xorg-video-openchrome
28640 &lt;/p&gt;&lt;/blockquote&gt;
28641
28642 &lt;p&gt;I was told on IRC that the xorg-xserver package was
28643 &lt;a href=&quot;http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120&quot;&gt;changed
28644 in git&lt;/a&gt; today to try to get apt-get to not remove xorg completely.
28645 No idea when it hits Squeeze, but when it does I hope it will reduce
28646 the difference somewhat.
28647 </description>
28648 </item>
28649
28650 <item>
28651 <title>Caching password, user and group on a roaming Debian laptop</title>
28652 <link>https://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</link>
28653 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</guid>
28654 <pubDate>Thu, 1 Jul 2010 11:40:00 +0200</pubDate>
28655 <description>&lt;p&gt;For a laptop, centralized user directories and password checking is
28656 a bit troubling. Laptops are typically used also when not connected
28657 to the network, and it is vital for a user to be able to log in or
28658 unlock the screen saver also when a central server is unavailable.
28659 This is possible by caching passwords and directory information (user
28660 and group attributes) locally, and the packages to do so are available
28661 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
28662 It is also possible to set up in Debian/Lenny, but require more manual
28663 setup there because pam-auth-update is missing in Lenny.&lt;/p&gt;
28664
28665 &lt;h2&gt;LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
28666
28667 This is the traditional method with a twist. The password caching is
28668 provided by libpam-ccreds (version 10-4 or later is needed on
28669 Squeeze), and the directory caching is done by nscd. The directory
28670 lookup and password checking is done using LDAP. If one want to use
28671 Kerberos for password checking the libpam-ldapd package can be
28672 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
28673 local home directory with the path listed in LDAP, one can use the
28674 pam_mkhomedir module from pam-modules to make this happen instead of
28675 using libpam-mklocaluser. A setup for pam-auth-update to enable
28676 pam_mkhomedir will have to be written until a fix for
28677 &lt;a href=&quot;http://bugs.debian.org/568577&quot;&gt;bug #568577&lt;/a&gt; is in the
28678 archive. Because I believe it is a bad idea to have local home
28679 directories using misleading paths like /site/server/partition/, I
28680 prefer to create a local user with the home directory in /home/. This
28681 is done using the libpam-mklocaluser package.&lt;/p&gt;
28682
28683 &lt;p&gt;These packages need to be installed and configured&lt;/p&gt;
28684
28685 &lt;blockquote&gt;&lt;pre&gt;
28686 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
28687 &lt;/pre&gt;&lt;/blockquote&gt;
28688
28689 &lt;p&gt;The ldapd packages will ask for LDAP connection information, and
28690 one have to fill in the values that fits ones own site. Make sure the
28691 PAM part uses encrypted connections, to make sure the password is not
28692 sent in clear text to the LDAP server. I&#39;ve been unable to get TLS
28693 certificate checking for a self signed certificate working, which make
28694 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
28695 is talking to the correct LDAP server), and very much welcome feedback
28696 on how to get this working.&lt;/p&gt;
28697
28698 &lt;p&gt;Because nscd do not have a default configuration fit for offline
28699 caching until &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;bug #485282&lt;/a&gt;
28700 is fixed, this configuration should be used instead of the one
28701 currently in /etc/nscd.conf. The changes are in the fields
28702 reload-count and positive-time-to-live, and is based on the
28703 instructions I found in the
28704 &lt;a href=&quot;http://www.flyn.org/laptopldap/&quot;&gt;LDAP for Mobile Laptops&lt;/a&gt;
28705 instructions by Flyn Computing.&lt;/p&gt;
28706
28707 &lt;blockquote&gt;&lt;pre&gt;
28708 debug-level 0
28709 reload-count unlimited
28710 paranoia no
28711
28712 enable-cache passwd yes
28713 positive-time-to-live passwd 2592000
28714 negative-time-to-live passwd 20
28715 suggested-size passwd 211
28716 check-files passwd yes
28717 persistent passwd yes
28718 shared passwd yes
28719 max-db-size passwd 33554432
28720 auto-propagate passwd yes
28721
28722 enable-cache group yes
28723 positive-time-to-live group 2592000
28724 negative-time-to-live group 20
28725 suggested-size group 211
28726 check-files group yes
28727 persistent group yes
28728 shared group yes
28729 max-db-size group 33554432
28730 auto-propagate group yes
28731
28732 enable-cache hosts no
28733 positive-time-to-live hosts 2592000
28734 negative-time-to-live hosts 20
28735 suggested-size hosts 211
28736 check-files hosts yes
28737 persistent hosts yes
28738 shared hosts yes
28739 max-db-size hosts 33554432
28740
28741 enable-cache services yes
28742 positive-time-to-live services 2592000
28743 negative-time-to-live services 20
28744 suggested-size services 211
28745 check-files services yes
28746 persistent services yes
28747 shared services yes
28748 max-db-size services 33554432
28749 &lt;/pre&gt;&lt;/blockquote&gt;
28750
28751 &lt;p&gt;While we wait for a mechanism to update /etc/nsswitch.conf
28752 automatically like the one provided in
28753 &lt;a href=&quot;http://bugs.debian.org/496915&quot;&gt;bug #496915&lt;/a&gt;, the file
28754 content need to be manually replaced to ensure LDAP is used as the
28755 directory service on the machine. /etc/nsswitch.conf should normally
28756 look like this:&lt;/p&gt;
28757
28758 &lt;blockquote&gt;&lt;pre&gt;
28759 passwd: files ldap
28760 group: files ldap
28761 shadow: files ldap
28762 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
28763 networks: files
28764 protocols: files
28765 services: files
28766 ethers: files
28767 rpc: files
28768 netgroup: files ldap
28769 &lt;/pre&gt;&lt;/blockquote&gt;
28770
28771 &lt;p&gt;The important parts are that ldap is listed last for passwd, group,
28772 shadow and netgroup.&lt;/p&gt;
28773
28774 &lt;p&gt;With these changes in place, any user in LDAP will be able to log
28775 in locally on the machine using for example kdm, get a local home
28776 directory created and have the password as well as user and group
28777 attributes cached.
28778
28779 &lt;h2&gt;LDAP/Kerberos + nss-updatedb + libpam-ccreds +
28780 libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
28781
28782 &lt;p&gt;Because nscd have had its share of problems, and seem to have
28783 problems doing proper caching, I&#39;ve seen suggestions and recipes to
28784 use nss-updatedb to copy parts of the LDAP database locally when the
28785 LDAP database is available. I have not tested such setup, because I
28786 discovered sssd.&lt;/p&gt;
28787
28788 &lt;h2&gt;LDAP/Kerberos + sssd + libpam-mklocaluser&lt;/h2&gt;
28789
28790 &lt;p&gt;A more flexible and robust setup than the nscd combination
28791 mentioned earlier that has shown up recently, is the
28792 &lt;a href=&quot;https://fedorahosted.org/sssd/&quot;&gt;sssd&lt;/a&gt; package from Redhat.
28793 It is part of the &lt;a href=&quot;http://www.freeipa.org/&quot;&gt;FreeIPA&lt;/A&gt; project
28794 to provide a Active Directory like directory service for Linux
28795 machines. The sssd system combines the caching of passwords and user
28796 information into one package, and remove the need for nscd and
28797 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
28798 1.2 do not support netgroups, but it is said that it will support this
28799 in version 1.5 expected to show up later in 2010. Because the
28800 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd package&lt;/a&gt;
28801 was missing in Debian, I ended up co-maintaining it with Werner, and
28802 version 1.2 is now in testing.
28803
28804 &lt;p&gt;These packages need to be installed and configured to get the
28805 roaming setup I want&lt;/p&gt;
28806
28807 &lt;blockquote&gt;&lt;pre&gt;
28808 libpam-sss libnss-sss libpam-mklocaluser
28809 &lt;/pre&gt;&lt;/blockquote&gt;
28810
28811 The complete setup of sssd is done by editing/creating
28812 &lt;tt&gt;/etc/sssd/sssd.conf&lt;/tt&gt;.
28813
28814 &lt;blockquote&gt;&lt;pre&gt;
28815 [sssd]
28816 config_file_version = 2
28817 reconnection_retries = 3
28818 sbus_timeout = 30
28819 services = nss, pam
28820 domains = INTERN
28821
28822 [nss]
28823 filter_groups = root
28824 filter_users = root
28825 reconnection_retries = 3
28826
28827 [pam]
28828 reconnection_retries = 3
28829
28830 [domain/INTERN]
28831 enumerate = false
28832 cache_credentials = true
28833
28834 id_provider = ldap
28835 auth_provider = ldap
28836 chpass_provider = ldap
28837
28838 ldap_uri = ldap://ldap
28839 ldap_search_base = dc=skole,dc=skolelinux,dc=no
28840 ldap_tls_reqcert = never
28841 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
28842 &lt;/pre&gt;&lt;/blockquote&gt;
28843
28844 &lt;p&gt;I got the same problem here with certificate checking. Had to set
28845 &quot;ldap_tls_reqcert = never&quot; to get it working.&lt;/p&gt;
28846
28847 &lt;p&gt;With the libnss-sss package in testing at the moment, the
28848 nsswitch.conf file is update automatically, so there is no need to
28849 modify it manually.&lt;/p&gt;
28850
28851 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
28852 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28853 </description>
28854 </item>
28855
28856 <item>
28857 <title>LUMA, a very nice LDAP GUI</title>
28858 <link>https://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>
28859 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
28860 <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
28861 <description>&lt;p&gt;The last few days I have been looking into the status of the LDAP
28862 directory in Debian Edu, and in the process I started to miss a GUI
28863 tool to browse the LDAP tree. The only one I was able to find in
28864 Debian/Squeeze and Lenny is
28865 &lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
28866 be a great tool to get a overview of the current LDAP directory
28867 populated by default in Skolelinux. Thanks to it, I have been able to
28868 find empty and obsolete subtrees, misplaced objects and duplicate
28869 objects. It will be installed by default in Debian/Squeeze. If you
28870 are working with LDAP, give it a go. :)&lt;/p&gt;
28871
28872 &lt;p&gt;I did notice one problem with it I have not had time to report to
28873 the BTS yet. There is no .desktop file in the package, so the tool do
28874 not show up in the Gnome and KDE menus, but only deep down in in the
28875 Debian submenu in KDE. I hope that can be fixed before Squeeze is
28876 released.&lt;/p&gt;
28877
28878 &lt;p&gt;I have not yet been able to get it to modify the tree yet. I would
28879 like to move objects and remove subtrees directly in the GUI, but have
28880 not found a way to do that with LUMA yet. So in the mean time, I use
28881 &lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
28882
28883 &lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
28884 in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28885
28886 &lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
28887 &lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
28888 useful GUI alternative. It seem like a good tool, but is unmaintained
28889 in Debian and got a RC bug keeping it out of Squeeze. Unless that
28890 changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
28891 </description>
28892 </item>
28893
28894 <item>
28895 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
28896 <link>https://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>
28897 <guid isPermaLink="true">https://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>
28898 <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
28899 <description>&lt;p&gt;A while back, I
28900 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
28901 about the fact&lt;/a&gt; that it is not possible with the provided schemas
28902 for storing DNS and DHCP information in LDAP to combine the two sets
28903 of information into one LDAP object representing a computer.&lt;/p&gt;
28904
28905 &lt;p&gt;In the mean time, I discovered that a simple fix would be to make
28906 the dhcpHost object class auxiliary, to allow it to be combined with
28907 the dNSDomain object class, and thus forming one object for one
28908 computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
28909
28910 &lt;p&gt;If I understand this correctly, it is not safe to do this change
28911 without also changing the assigned number for the object class, and I
28912 do not know enough about LDAP schema design to do that properly for
28913 Debian Edu.&lt;/p&gt;
28914
28915 &lt;p&gt;Anyway, for future reference, this is how I believe we could change
28916 the
28917 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
28918 schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
28919 available today from IETF.&lt;/p&gt;
28920
28921 &lt;pre&gt;
28922 --- dhcp.schema (revision 65192)
28923 +++ dhcp.schema (working copy)
28924 @@ -376,7 +376,7 @@
28925 objectclass ( 2.16.840.1.113719.1.203.6.6
28926 NAME &#39;dhcpHost&#39;
28927 DESC &#39;This represents information about a particular client&#39;
28928 - SUP top
28929 + SUP top AUXILIARY
28930 MUST cn
28931 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
28932 X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
28933 &lt;/pre&gt;
28934
28935 &lt;p&gt;I very much welcome clues on how to do this properly for Debian
28936 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
28937 package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
28938
28939 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
28940 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
28941 </description>
28942 </item>
28943
28944 <item>
28945 <title>Calling tasksel like the installer, while still getting useful output</title>
28946 <link>https://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>
28947 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
28948 <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
28949 <description>&lt;p&gt;A few times I have had the need to simulate the way tasksel
28950 installs packages during the normal debian-installer run. Until now,
28951 I have ended up letting tasksel do the work, with the annoying problem
28952 of not getting any feedback at all when something fails (like a
28953 conffile question from dpkg or a download that fails), using code like
28954 this:
28955
28956 &lt;blockquote&gt;&lt;pre&gt;
28957 export DEBIAN_FRONTEND=noninteractive
28958 tasksel --new-install
28959 &lt;/pre&gt;&lt;/blockquote&gt;
28960
28961 This would invoke tasksel, let its automatic task selection pick the
28962 tasks to install, and continue to install the requested tasks without
28963 any output what so ever.
28964
28965 Recently I revisited this problem while working on the automatic
28966 package upgrade testing, because tasksel would some times hang without
28967 any useful feedback, and I want to see what is going on when it
28968 happen. Then it occured to me, I can parse the output from tasksel
28969 when asked to run in test mode, and use that aptitude command line
28970 printed by tasksel then to simulate the tasksel run. I ended up using
28971 code like this:
28972
28973 &lt;blockquote&gt;&lt;pre&gt;
28974 export DEBIAN_FRONTEND=noninteractive
28975 cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
28976 $cmd
28977 &lt;/pre&gt;&lt;/blockquote&gt;
28978
28979 &lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
28980 --without-recommends -o APT::Install-Recommends=no -y install
28981 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
28982 ~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
28983 laptop task and all packages with priority standard , required and
28984 important, just like tasksel would have done it during
28985 installation.&lt;/p&gt;
28986
28987 &lt;p&gt;A better approach is probably to extend tasksel to be able to
28988 install packages without using debconf-apt-progress, for use cases
28989 like this.&lt;/p&gt;
28990 </description>
28991 </item>
28992
28993 <item>
28994 <title>Officeshots taking shape</title>
28995 <link>https://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
28996 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
28997 <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
28998 <description>&lt;p&gt;For those of us caring about document exchange and
28999 interoperability, &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;
29000 is a great service. It is to ODF documents what
29001 &lt;a href=&quot;http://browsershots.org/&quot;&gt;BrowserShots&lt;/a&gt; is for web
29002 pages.&lt;/p&gt;
29003
29004 &lt;p&gt;A while back, I was contacted by Knut Yrvin at the part of Nokia
29005 that used to be Trolltech, who wanted to help the OfficeShots project
29006 and wondered if the University of Oslo where I work would be
29007 interested in supporting the project. I helped him to navigate his
29008 request to the right people at work, and his request was answered with
29009 a spot in the machine room with power and network connected, and Knut
29010 arranged funding for a machine to fill the spot. The machine is
29011 administrated by the OfficeShots people, so I do not have daily
29012 contact with its progress, and thus from time to time check back to
29013 see how the project is doing.&lt;/p&gt;
29014
29015 &lt;p&gt;Today I had a look, and was happy to see that the Dell box in our
29016 machine room now is the host for several virtual machines running as
29017 OfficeShots factories, and the project is able to render ODF documents
29018 in 17 different document processing implementation on Linux and
29019 Windows. This is great.&lt;/p&gt;
29020 </description>
29021 </item>
29022
29023 <item>
29024 <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
29025 <link>https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
29026 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
29027 <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
29028 <description>&lt;p&gt;My
29029 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
29030 of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
29031 finally made the upgrade logs available from
29032 &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;.
29033 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
29034 apt and aptitude, and found their differences interesting. This time
29035 I will only focus on their removal plans.&lt;/p&gt;
29036
29037 &lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
29038 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
29039 surprising part is that it want to remove xorg and all
29040 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
29041 sure why. When asking aptitude to do the same, it want to remove 129
29042 packages, but most of them are library packages I suspect are no
29043 longer needed. Both of them want to remove bluetooth packages, which
29044 I do not know. Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
29045
29046 &lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
29047 which seem like a bad idea and xorg the same way as with Gnome. Asking
29048 aptitude for the same, it wants to remove 192 packages, none which are
29049 too surprising.&lt;/p&gt;
29050
29051 &lt;p&gt;I guess the removal of xorg during upgrades should be investigated
29052 and avoided, and perhaps others as well. Here are the complete list
29053 of planned removals. The complete logs is available from the URL
29054 above. Note if you want to repeat these tests, that the upgrade test
29055 for kde+apt-get hung in the tasksel setup because of dpkg asking
29056 conffile questions. No idea why. I worked around it by using
29057 &#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
29058 continue.&lt;/p&gt;
29059
29060 &lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
29061 &lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
29062 gnome-desktop-environment gnome-network-admin gtkhtml3.14
29063 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
29064 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
29065 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
29066 serpentine swfdec-mozilla update-manager xorg xserver-xorg
29067 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
29068 xserver-xorg-input-kbd xserver-xorg-input-mouse
29069 xserver-xorg-input-synaptics xserver-xorg-input-wacom
29070 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
29071 xserver-xorg-video-ati xserver-xorg-video-chips
29072 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
29073 xserver-xorg-video-dummy xserver-xorg-video-fbdev
29074 xserver-xorg-video-glint xserver-xorg-video-i128
29075 xserver-xorg-video-i740 xserver-xorg-video-imstt
29076 xserver-xorg-video-intel xserver-xorg-video-mach64
29077 xserver-xorg-video-mga xserver-xorg-video-neomagic
29078 xserver-xorg-video-nsc xserver-xorg-video-nv
29079 xserver-xorg-video-openchrome xserver-xorg-video-r128
29080 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
29081 xserver-xorg-video-rendition xserver-xorg-video-s3
29082 xserver-xorg-video-s3virge xserver-xorg-video-savage
29083 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
29084 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
29085 xserver-xorg-video-tga xserver-xorg-video-trident
29086 xserver-xorg-video-tseng xserver-xorg-video-v4l
29087 xserver-xorg-video-vesa xserver-xorg-video-vga
29088 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
29089 xulrunner-1.9-gnome-support&lt;/p&gt;
29090
29091 &lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
29092
29093 &lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
29094 djvulibre-desktop finger gnome-app-install gnome-mount
29095 gnome-network-admin gnome-spell gnome-vfs-obexftp
29096 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
29097 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
29098 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
29099 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
29100 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
29101 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
29102 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
29103 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
29104 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
29105 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
29106 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
29107 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
29108 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
29109 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
29110 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
29111 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
29112 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
29113 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
29114 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
29115 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
29116 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
29117 openoffice.org-writer2latex openssl-blacklist p7zip
29118 python-4suite-xml python-eggtrayicon python-gnome2-desktop
29119 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
29120 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
29121 swfdec-mozilla totem-gstreamer update-manager wodim
29122 xserver-xorg-video-cyrix xserver-xorg-video-imstt
29123 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
29124 zip&lt;/p&gt;
29125
29126 &lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
29127
29128 &lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
29129 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
29130 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
29131 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
29132 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
29133 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
29134 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
29135 xserver-xorg-input-kbd xserver-xorg-input-mouse
29136 xserver-xorg-input-synaptics xserver-xorg-input-wacom
29137 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
29138 xserver-xorg-video-ati xserver-xorg-video-chips
29139 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
29140 xserver-xorg-video-dummy xserver-xorg-video-fbdev
29141 xserver-xorg-video-glint xserver-xorg-video-i128
29142 xserver-xorg-video-i740 xserver-xorg-video-imstt
29143 xserver-xorg-video-intel xserver-xorg-video-mach64
29144 xserver-xorg-video-mga xserver-xorg-video-neomagic
29145 xserver-xorg-video-nsc xserver-xorg-video-nv
29146 xserver-xorg-video-openchrome xserver-xorg-video-r128
29147 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
29148 xserver-xorg-video-rendition xserver-xorg-video-s3
29149 xserver-xorg-video-s3virge xserver-xorg-video-savage
29150 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
29151 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
29152 xserver-xorg-video-tga xserver-xorg-video-trident
29153 xserver-xorg-video-tseng xserver-xorg-video-v4l
29154 xserver-xorg-video-vesa xserver-xorg-video-vga
29155 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
29156
29157 &lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
29158 &lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
29159 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
29160 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
29161 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
29162 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
29163 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
29164 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
29165 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
29166 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
29167 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
29168 kghostview khelpcenter khexedit kiconedit kitchensync klatin
29169 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
29170 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
29171 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
29172 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
29173 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
29174 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
29175 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
29176 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
29177 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
29178 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
29179 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
29180 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
29181 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
29182 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
29183 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
29184 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
29185 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
29186 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
29187 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
29188 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
29189 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
29190 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
29191 texlive-common texlive-doc-base texlive-fonts-recommended
29192 xserver-xorg-video-cyrix xserver-xorg-video-imstt
29193 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
29194 xulrunner-1.9&lt;/p&gt;
29195
29196 </description>
29197 </item>
29198
29199 <item>
29200 <title>Automatic upgrade testing from Lenny to Squeeze</title>
29201 <link>https://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
29202 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
29203 <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
29204 <description>&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
29205 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
29206 have been discovered and reported in the process
29207 (&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
29208 &lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
29209 enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
29210 kdebase-workspace-data), and to get a more regular testing going on, I
29211 am working on a script to automate the test.&lt;/p&gt;
29212
29213 &lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
29214 Gnome or KDE desktop installation inside the chroot before upgrading
29215 it. To ensure no services are started in the chroot, a policy-rc.d
29216 script is inserted. To make sure tasksel believe it is to install a
29217 desktop on a laptop, the tasksel tests are replaced in the chroot
29218 (only acceptable because this is a throw-away chroot).&lt;/p&gt;
29219
29220 &lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
29221 currently always fail because udev refuses to upgrade with the kernel
29222 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
29223 is created. The bug report
29224 &lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
29225 this problem do not trigger in a chroot, but I touch the file anyway
29226 to make sure the upgrade go well. Testing on virtual and real
29227 hardware have failed me because of udev so far, and creating this file
29228 do the trick in such settings anyway. This is a
29229 &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
29230 issue&lt;/a&gt; and the current udev behaviour is intended by the udev
29231 maintainer because he lack the resources to rewrite udev to keep
29232 working with old kernels or something like that. I really wish the
29233 udev upstream would keep udev backwards compatible, to avoid such
29234 upgrade problem, but given that they fail to do so, I guess
29235 documenting the way out of this mess is the best option we got for
29236 Debian Squeeze.&lt;/p&gt;
29237
29238 &lt;p&gt;Anyway, back to the task at hand, testing upgrades. This test
29239 script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
29240 trick:&lt;/p&gt;
29241
29242 &lt;blockquote&gt;&lt;pre&gt;
29243 #!/bin/sh
29244 set -ex
29245
29246 if [ &quot;$1&quot; ] ; then
29247 desktop=$1
29248 else
29249 desktop=gnome
29250 fi
29251
29252 from=lenny
29253 to=squeeze
29254
29255 exec &amp;lt; /dev/null
29256 unset LANG
29257 mirror=http://ftp.skolelinux.org/debian
29258 tmpdir=chroot-$from-upgrade-$to-$desktop
29259 fuser -mv .
29260 debootstrap $from $tmpdir $mirror
29261 chroot $tmpdir aptitude update
29262 cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
29263 #!/bin/sh
29264 exit 101
29265 EOF
29266 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
29267 exit_cleanup() {
29268 umount $tmpdir/proc
29269 }
29270 mount -t proc proc $tmpdir/proc
29271 # Make sure proc is unmounted also on failure
29272 trap exit_cleanup EXIT INT
29273
29274 chroot $tmpdir aptitude -y install debconf-utils
29275
29276 # Make sure tasksel autoselection trigger. It need the test scripts
29277 # to return the correct answers.
29278 echo tasksel tasksel/desktop multiselect $desktop | \
29279 chroot $tmpdir debconf-set-selections
29280
29281 # Include the desktop and laptop task
29282 for test in desktop laptop ; do
29283 echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
29284 #!/bin/sh
29285 exit 2
29286 EOF
29287 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
29288 done
29289
29290 DEBIAN_FRONTEND=noninteractive
29291 DEBIAN_PRIORITY=critical
29292 export DEBIAN_FRONTEND DEBIAN_PRIORITY
29293 chroot $tmpdir tasksel --new-install
29294
29295 echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
29296 chroot $tmpdir aptitude update
29297 touch $tmpdir/etc/udev/kernel-upgrade
29298 chroot $tmpdir aptitude -y dist-upgrade
29299 fuser -mv
29300 &lt;/pre&gt;&lt;/blockquote&gt;
29301
29302 &lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
29303 with aptitude, but I have not had time to look at how they behave
29304 differently so far. I hope to get a cron job running to do the test
29305 regularly and post the result on the web. The Gnome upgrade currently
29306 work, while the KDE upgrade fail because of the bug in
29307 kdebase-workspace-data&lt;/p&gt;
29308
29309 &lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
29310 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
29311 post, so I will refrain from trying. I can report that for Gnome,
29312 aptitude report 760 packages upgraded, 448 newly installed, 129 to
29313 remove and 1 not upgraded and 1024MB need to be downloaded while for
29314 KDE the same numbers are 702 packages upgraded, 507 newly installed,
29315 193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
29316
29317 &lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
29318 is able to migrate to dependency based boot sequencing and parallel
29319 booting without a hitch. Was unsure if there were still bugs with
29320 packages failing to clean up their obsolete init.d script during
29321 upgrades, and no such problem seem to affect the Gnome desktop+laptop
29322 packages.&lt;/p&gt;
29323 </description>
29324 </item>
29325
29326 <item>
29327 <title>Upstart or sysvinit - as init.d scripts see it</title>
29328 <link>https://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</link>
29329 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</guid>
29330 <pubDate>Sun, 6 Jun 2010 23:55:00 +0200</pubDate>
29331 <description>&lt;p&gt;If Debian is to migrate to upstart on Linux, I expect some init.d
29332 scripts to migrate (some of) their operations to upstart job while
29333 keeping the init.d for hurd and kfreebsd. The packages with such
29334 needs will need a way to get their init.d scripts to behave
29335 differently when used with sysvinit and with upstart. Because of
29336 this, I had a look at the environment variables set when a init.d
29337 script is running under upstart, and when it is not.&lt;/p&gt;
29338
29339 &lt;p&gt;With upstart, I notice these environment variables are set when a
29340 script is started from rcS.d/ (ignoring some irrelevant ones like
29341 COLUMNS):&lt;/p&gt;
29342
29343 &lt;blockquote&gt;&lt;pre&gt;
29344 DEFAULT_RUNLEVEL=2
29345 previous=N
29346 PREVLEVEL=
29347 RUNLEVEL=
29348 runlevel=S
29349 UPSTART_EVENTS=startup
29350 UPSTART_INSTANCE=
29351 UPSTART_JOB=rc-sysinit
29352 &lt;/pre&gt;&lt;/blockquote&gt;
29353
29354 &lt;p&gt;With sysvinit, these environment variables are set for the same
29355 script.&lt;/p&gt;
29356
29357 &lt;blockquote&gt;&lt;pre&gt;
29358 INIT_VERSION=sysvinit-2.88
29359 previous=N
29360 PREVLEVEL=N
29361 RUNLEVEL=S
29362 runlevel=S
29363 &lt;/pre&gt;&lt;/blockquote&gt;
29364
29365 &lt;p&gt;The RUNLEVEL and PREVLEVEL environment variables passed on from
29366 sysvinit are not set by upstart. Not sure if it is intentional or not
29367 to not be compatible with sysvinit in this regard.&lt;/p&gt;
29368
29369 &lt;p&gt;For scripts needing to behave differently when upstart is used,
29370 looking for the UPSTART_JOB environment variable seem to be a good
29371 choice.&lt;/p&gt;
29372 </description>
29373 </item>
29374
29375 <item>
29376 <title>A manual for standards wars...</title>
29377 <link>https://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</link>
29378 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</guid>
29379 <pubDate>Sun, 6 Jun 2010 14:15:00 +0200</pubDate>
29380 <description>&lt;p&gt;Via the
29381 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html&quot;&gt;blog
29382 of Rob Weir&lt;/a&gt; I came across the very interesting essay named
29383 &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/wars.pdf&quot;&gt;The Art of
29384 Standards Wars&lt;/a&gt; (PDF 25 pages). I recommend it for everyone
29385 following the standards wars of today.&lt;/p&gt;
29386 </description>
29387 </item>
29388
29389 <item>
29390 <title>Sitesummary tip: Listing computer hardware models used at site</title>
29391 <link>https://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</link>
29392 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</guid>
29393 <pubDate>Thu, 3 Jun 2010 12:05:00 +0200</pubDate>
29394 <description>&lt;p&gt;When using sitesummary at a site to track machines, it is possible
29395 to get a list of the machine types in use thanks to the DMI
29396 information extracted from each machine. The script to do so is
29397 included in the sitesummary package, and here is example output from
29398 the Skolelinux build servers:&lt;/p&gt;
29399
29400 &lt;blockquote&gt;&lt;pre&gt;
29401 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
29402 vendor count
29403 Dell Computer Corporation 1
29404 PowerEdge 1750 1
29405 IBM 1
29406 eserver xSeries 345 -[8670M1X]- 1
29407 Intel 2
29408 [no-dmi-info] 3
29409 maintainer:~#
29410 &lt;/pre&gt;&lt;/blockquote&gt;
29411
29412 &lt;p&gt;The quality of the report depend on the quality of the DMI tables
29413 provided in each machine. Here there are Intel machines without model
29414 information listed with Intel as vendor and no model, and virtual Xen
29415 machines listed as [no-dmi-info]. One can add -l as a command line
29416 option to list the individual machines.&lt;/p&gt;
29417
29418 &lt;p&gt;A larger list is
29419 &lt;a href=&quot;http://narvikskolen.no/sitesummary/&quot;&gt;available from the the
29420 city of Narvik&lt;/a&gt;, which uses Skolelinux on all their shools and also
29421 provide the basic sitesummary report publicly. In their report there
29422 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
29423 their machines, and as sitesummary is available in both distributions,
29424 it is trivial to get all of them to report to the same central
29425 collector.&lt;/p&gt;
29426 </description>
29427 </item>
29428
29429 <item>
29430 <title>KDM fail at boot with NVidia cards - and no one try to fix it?</title>
29431 <link>https://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</link>
29432 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</guid>
29433 <pubDate>Tue, 1 Jun 2010 17:05:00 +0200</pubDate>
29434 <description>&lt;p&gt;It is strange to watch how a bug in Debian causing KDM to fail to
29435 start at boot when an NVidia video card is used is handled. The
29436 problem seem to be that the nvidia X.org driver uses a long time to
29437 initialize, and this duration is longer than kdm is configured to
29438 wait.&lt;/p&gt;
29439
29440 &lt;p&gt;I came across two bugs related to this issue,
29441 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;#583312&lt;/a&gt; initially filed
29442 against initscripts and passed on to nvidia-glx when it became obvious
29443 that the nvidia drivers were involved, and
29444 &lt;a href=&quot;http://bugs.debian.org/524751&quot;&gt;#524751&lt;/a&gt; initially filed against
29445 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.&lt;/p&gt;
29446
29447 &lt;p&gt;To me, it seem that no-one is interested in actually solving the
29448 problem nvidia video card owners experience and make sure the Debian
29449 distribution work out of the box for these users. The nvidia driver
29450 maintainers expect kdm to be set up to wait longer, while kdm expect
29451 the nvidia driver maintainers to fix the driver to start faster, and
29452 while they wait for each other I guess the users end up switching to a
29453 distribution that work for them. I have no idea what the solution is,
29454 but I am pretty sure that waiting for each other is not it.&lt;/p&gt;
29455
29456 &lt;p&gt;I wonder why we end up handling bugs this way.&lt;/p&gt;
29457 </description>
29458 </item>
29459
29460 <item>
29461 <title>Parallellized boot seem to hold up well in Debian/testing</title>
29462 <link>https://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</link>
29463 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</guid>
29464 <pubDate>Thu, 27 May 2010 23:55:00 +0200</pubDate>
29465 <description>&lt;p&gt;A few days ago, parallel booting was enabled in Debian/testing.
29466 The feature seem to hold up pretty well, but three fairly serious
29467 issues are known and should be solved:
29468
29469 &lt;p&gt;&lt;ul&gt;
29470
29471 &lt;li&gt;The wicd package seen to
29472 &lt;a href=&quot;http://bugs.debian.org/508289&quot;&gt;break NFS mounting&lt;/a&gt; and
29473 &lt;a href=&quot;http://bugs.debian.org/581586&quot;&gt;network setup&lt;/a&gt; when
29474 parallel booting is enabled. No idea why, but the wicd maintainer
29475 seem to be on the case.&lt;/li&gt;
29476
29477 &lt;li&gt;The nvidia X driver seem to
29478 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;have a race condition&lt;/a&gt;
29479 triggered more easily when parallel booting is in effect. The
29480 maintainer is on the case.&lt;/li&gt;
29481
29482 &lt;li&gt;The sysv-rc package fail to properly enable dependency based boot
29483 sequencing (the shutdown is broken) when old file-rc users
29484 &lt;a href=&quot;http://bugs.debian.org/575080&quot;&gt;try to switch back&lt;/a&gt; to
29485 sysv-rc. One way to solve it would be for file-rc to create
29486 /etc/init.d/.legacy-bootordering, and another is to try to make
29487 sysv-rc more robust. Will investigate some more and probably upload a
29488 workaround in sysv-rc to help those trying to move from file-rc to
29489 sysv-rc get a working shutdown.&lt;/li&gt;
29490
29491 &lt;/ul&gt;&lt;/p&gt;
29492
29493 &lt;p&gt;All in all not many surprising issues, and all of them seem
29494 solvable before Squeeze is released. In addition to these there are
29495 some packages with bugs in their dependencies and run level settings,
29496 which I expect will be fixed in a reasonable time span.&lt;/p&gt;
29497
29498 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
29499 the BTS, please usertag the report to get it to show up at
29500 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
29501 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
29502
29503 &lt;p&gt;Update: Correct bug number to file-rc issue.&lt;/p&gt;
29504 </description>
29505 </item>
29506
29507 <item>
29508 <title>More flexible firmware handling in debian-installer</title>
29509 <link>https://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</link>
29510 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</guid>
29511 <pubDate>Sat, 22 May 2010 21:30:00 +0200</pubDate>
29512 <description>&lt;p&gt;After a long break from debian-installer development, I finally
29513 found time today to return to the project. Having to spend less time
29514 working dependency based boot in debian, as it is almost complete now,
29515 definitely helped freeing some time.&lt;/p&gt;
29516
29517 &lt;p&gt;A while back, I ran into a problem while working on Debian Edu. We
29518 include some firmware packages on the Debian Edu CDs, those needed to
29519 get disk and network controllers working. Without having these
29520 firmware packages available during installation, it is impossible to
29521 install Debian Edu on the given machine, and because our target group
29522 are non-technical people, asking them to provide firmware packages on
29523 an external medium is a support pain. Initially, I expected it to be
29524 enough to include the firmware packages on the CD to get
29525 debian-installer to find and use them. This proved to be wrong.
29526 Next, I hoped it was enough to symlink the relevant firmware packages
29527 to some useful location on the CD (tried /cdrom/ and
29528 /cdrom/firmware/). This also proved to not work, and at this point I
29529 found time to look at the debian-installer code to figure out what was
29530 going to work.&lt;/p&gt;
29531
29532 &lt;p&gt;The firmware loading code is in the hw-detect package, and a closer
29533 look revealed that it would only look for firmware packages outside
29534 the installation media, so the CD was never checked for firmware
29535 packages. It would only check USB sticks, floppies and other
29536 &quot;external&quot; media devices. Today I changed it to also look in the
29537 /cdrom/firmware/ directory on the mounted CD or DVD, which should
29538 solve the problem I ran into with Debian edu. I also changed it to
29539 look in /firmware/, to make sure the installer also find firmware
29540 provided in the initrd when booting the installer via PXE, to allow us
29541 to provide the same feature in the PXE setup included in Debian
29542 Edu.&lt;/p&gt;
29543
29544 &lt;p&gt;To make sure firmware deb packages with a license questions are not
29545 activated without asking if the license is accepted, I extended
29546 hw-detect to look for preinst scripts in the firmware packages, and
29547 run these before activating the firmware during installation. The
29548 license question is asked using debconf in the preinst, so this should
29549 solve the issue for the firmware packages I have looked at so far.&lt;/p&gt;
29550
29551 &lt;p&gt;If you want to discuss the details of these features, please
29552 contact us on debian-boot@lists.debian.org.&lt;/p&gt;
29553 </description>
29554 </item>
29555
29556 <item>
29557 <title>Pieces of the roaming laptop puzzle in Debian</title>
29558 <link>https://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
29559 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
29560 <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
29561 <description>&lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
29562 Edu finally entered the Debian archive. Today, the new
29563 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
29564 package was accepted. Two days ago, two other pieces was accepted
29565 into unstable. The
29566 &lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
29567 package needed by libpam-mklocaluser, and the
29568 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
29569 passed NEW on Monday. In addition, the
29570 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
29571 package we need is in experimental (version 10-4) since Saturday, and
29572 hopefully will be moved to unstable soon.&lt;/p&gt;
29573
29574 &lt;p&gt;This collection of packages allow for two different setups for
29575 roaming laptops. The traditional setup would be using libpam-ccreds,
29576 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
29577 which should work out of the box if the configuration changes proposed
29578 for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
29579 #485282&lt;/a&gt; is implemented. The alternative setup is to use sssd with
29580 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
29581 care of the caching of passwords and group information.&lt;/p&gt;
29582
29583 &lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
29584 at the University, but suspect the issue is some SSL/GnuTLS related
29585 problem with the server certificate. I plan to update the Debian
29586 package to version 1.2, which is scheduled for next week, and hope to
29587 find time to make sure the next release will include both the
29588 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
29589 and I am sure we will find a good solution.&lt;/p&gt;
29590
29591 &lt;p&gt;The idea is to set up the roaming laptops to authenticate using
29592 LDAP or Kerberos and create a local user with home directory in /home/
29593 when a usre in LDAP logs in via KDM or GDM for the first time, and
29594 cache the password for offline checking, as well as caching group
29595 memberhips and other relevant LDAP information. The
29596 libpam-mklocaluser package was created to make sure the local home
29597 directory is in /home/, instead of /site/server/directory/ which would
29598 be the home directory if pam_mkhomedir was used. To avoid confusion
29599 with support requests and configuration, we do not want local laptops
29600 to have users in a path that is used for the same users home directory
29601 on the home directory servers.&lt;/p&gt;
29602
29603 &lt;p&gt;One annoying problem with gdm is that it do not show the PAM
29604 message passed to the user from libpam-mklocaluser when the local user
29605 is created. Instead gdm simply reject the login with some generic
29606 message. The message is shown in kdm, ssh and login, so I guess it is
29607 a bug in gdm. Have not investigated if there is some other message
29608 type that can be used instead to get gdm to also show the message.&lt;/p&gt;
29609
29610 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
29611 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
29612 </description>
29613 </item>
29614
29615 <item>
29616 <title>Parallellized boot is now the default in Debian/unstable</title>
29617 <link>https://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</link>
29618 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</guid>
29619 <pubDate>Fri, 14 May 2010 22:40:00 +0200</pubDate>
29620 <description>&lt;p&gt;Since this evening, parallel booting is the default in
29621 Debian/unstable for machines using dependency based boot sequencing.
29622 Apparently the testing of concurrent booting has been wider than
29623 expected, if I am to believe the
29624 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
29625 on debian-devel@&lt;/a&gt;, and I concluded a few days ago to move forward
29626 with the feature this weekend, to give us some time to detect any
29627 remaining problems before Squeeze is frozen. If serious problems are
29628 detected, it is simple to change the default back to sequential boot.
29629 The upload of the new sysvinit package also activate a new upstream
29630 version.&lt;/p&gt;
29631
29632 More information about
29633 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
29634 based boot sequencing&lt;/a&gt; is available from the Debian wiki. It is
29635 currently possible to disable parallel booting when one run into
29636 problems caused by it, by adding this line to /etc/default/rcS:&lt;/p&gt;
29637
29638 &lt;blockquote&gt;&lt;pre&gt;
29639 CONCURRENCY=none
29640 &lt;/pre&gt;&lt;/blockquote&gt;
29641
29642 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
29643 the BTS, please usertag the report to get it to show up at
29644 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
29645 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
29646 </description>
29647 </item>
29648
29649 <item>
29650 <title>Sitesummary tip: Listing MAC address of all clients</title>
29651 <link>https://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</link>
29652 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</guid>
29653 <pubDate>Fri, 14 May 2010 21:10:00 +0200</pubDate>
29654 <description>&lt;p&gt;In the recent Debian Edu versions, the
29655 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;sitesummary
29656 system&lt;/a&gt; is used to keep track of the machines in the school
29657 network. Each machine will automatically report its status to the
29658 central server after boot and once per night. The network setup is
29659 also reported, and using this information it is possible to get the
29660 MAC address of all network interfaces in the machines. This is useful
29661 to update the DHCP configuration.&lt;/p&gt;
29662
29663 &lt;p&gt;To give some idea how to use sitesummary, here is a one-liner to
29664 ist all MAC addresses of all machines reporting to sitesummary. Run
29665 this on the collector host:&lt;/p&gt;
29666
29667 &lt;blockquote&gt;&lt;pre&gt;
29668 perl -MSiteSummary -e &#39;for_all_hosts(sub { print join(&quot; &quot;, get_macaddresses(shift)), &quot;\n&quot;; });&#39;
29669 &lt;/pre&gt;&lt;/blockquote&gt;
29670
29671 &lt;p&gt;This will list all MAC addresses assosiated with all machine, one
29672 line per machine and with space between the MAC addresses.&lt;/p&gt;
29673
29674 &lt;p&gt;To allow system administrators easier job at adding static DHCP
29675 addresses for hosts, it would be possible to extend this to fetch
29676 machine information from sitesummary and update the DHCP and DNS
29677 tables in LDAP using this information. Such tool is unfortunately not
29678 written yet.&lt;/p&gt;
29679 </description>
29680 </item>
29681
29682 <item>
29683 <title>systemd, an interesting alternative to upstart</title>
29684 <link>https://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</link>
29685 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</guid>
29686 <pubDate>Thu, 13 May 2010 22:20:00 +0200</pubDate>
29687 <description>&lt;p&gt;The last few days a new boot system called
29688 &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt;
29689 has been
29690 &lt;a href=&quot;http://0pointer.de/blog/projects/systemd.html&quot;&gt;introduced&lt;/a&gt;
29691
29692 to the free software world. I have not yet had time to play around
29693 with it, but it seem to be a very interesting alternative to
29694 &lt;a href=&quot;http://upstart.ubuntu.com/&quot;&gt;upstart&lt;/a&gt;, and might prove to be
29695 a good alternative for Debian when we are able to switch to an event
29696 based boot system. Tollef is
29697 &lt;a href=&quot;http://bugs.debian.org/580814&quot;&gt;in the process&lt;/a&gt; of getting
29698 systemd into Debian, and I look forward to seeing how well it work. I
29699 like the fact that systemd handles init.d scripts with dependency
29700 information natively, allowing them to run in parallel where upstart
29701 at the moment do not.&lt;/p&gt;
29702
29703 &lt;p&gt;Unfortunately do systemd have the same problem as upstart regarding
29704 platform support. It only work on recent Linux kernels, and also need
29705 some new kernel features enabled to function properly. This means
29706 kFreeBSD and Hurd ports of Debian will need a port or a different boot
29707 system. Not sure how that will be handled if systemd proves to be the
29708 way forward.&lt;/p&gt;
29709
29710 &lt;p&gt;In the mean time, based on the
29711 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
29712 on debian-devel@&lt;/a&gt; regarding parallel booting in Debian, I have
29713 decided to enable full parallel booting as the default in Debian as
29714 soon as possible (probably this weekend or early next week), to see if
29715 there are any remaining serious bugs in the init.d dependencies. A
29716 new version of the sysvinit package implementing this change is
29717 already in experimental. If all go well, Squeeze will be released
29718 with parallel booting enabled by default.&lt;/p&gt;
29719 </description>
29720 </item>
29721
29722 <item>
29723 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing</title>
29724 <link>https://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</link>
29725 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</guid>
29726 <pubDate>Thu, 6 May 2010 23:25:00 +0200</pubDate>
29727 <description>&lt;p&gt;These days, the init.d script dependencies in Squeeze are quite
29728 complete, so complete that it is actually possible to run all the
29729 init.d scripts in parallell based on these dependencies. If you want
29730 to test your Squeeze system, make sure
29731 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
29732 based boot sequencing&lt;/a&gt; is enabled, and add this line to
29733 /etc/default/rcS:&lt;/p&gt;
29734
29735 &lt;blockquote&gt;&lt;pre&gt;
29736 CONCURRENCY=makefile
29737 &lt;/pre&gt;&lt;/blockquote&gt;
29738
29739 &lt;p&gt;That is it. It will cause sysv-rc to use the startpar tool to run
29740 scripts in parallel using the dependency information stored in
29741 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
29742 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
29743 to try to start the kdm and gdm scripts as early as possible, and will
29744 start the facilities required by kdm or gdm as early as possible to
29745 make this happen.&lt;/p&gt;
29746
29747 &lt;p&gt;Give it a try, and see if you like the result. If some services
29748 fail to start properly, it is most likely because they have incomplete
29749 init.d script dependencies in their startup script (or some of their
29750 dependent scripts have incomplete dependencies). Report bugs and get
29751 the package maintainers to fix it. :)&lt;/p&gt;
29752
29753 &lt;p&gt;Running scripts in parallel could be the default in Debian when we
29754 manage to get the init.d script dependencies complete and correct. I
29755 expect we will get there in Squeeze+1, if we get manage to test and
29756 fix the remaining issues.&lt;/p&gt;
29757
29758 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
29759 the BTS, please usertag the report to get it to show up at
29760 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
29761 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
29762 </description>
29763 </item>
29764
29765 <item>
29766 <title>Forcing new users to change their password on first login</title>
29767 <link>https://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</link>
29768 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</guid>
29769 <pubDate>Sun, 2 May 2010 13:47:00 +0200</pubDate>
29770 <description>&lt;p&gt;One interesting feature in Active Directory, is the ability to
29771 create a new user with an expired password, and thus force the user to
29772 change the password on the first login attempt.&lt;/p&gt;
29773
29774 &lt;p&gt;I&#39;m not quite sure how to do that with the LDAP setup in Debian
29775 Edu, but did some initial testing with a local account. The account
29776 and password aging information is available in /etc/shadow, but
29777 unfortunately, it is not possible to specify an expiration time for
29778 passwords, only a maximum age for passwords.&lt;/p&gt;
29779
29780 &lt;p&gt;A freshly created account (using adduser test) will have these
29781 settings in /etc/shadow:&lt;/p&gt;
29782
29783 &lt;blockquote&gt;&lt;pre&gt;
29784 root@tjener:~# chage -l test
29785 Last password change : May 02, 2010
29786 Password expires : never
29787 Password inactive : never
29788 Account expires : never
29789 Minimum number of days between password change : 0
29790 Maximum number of days between password change : 99999
29791 Number of days of warning before password expires : 7
29792 root@tjener:~#
29793 &lt;/pre&gt;&lt;/blockquote&gt;
29794
29795 &lt;p&gt;The only way I could come up with to create a user with an expired
29796 account, is to change the date of the last password change to the
29797 lowest value possible (January 1th 1970), and the maximum password age
29798 to the difference in days between that date and today. To make it
29799 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
29800 avoid testing if 0 is a valid value).&lt;/p&gt;
29801
29802 &lt;p&gt;After using these commands to set it up, it seem to work as
29803 intended:&lt;/p&gt;
29804
29805 &lt;blockquote&gt;&lt;pre&gt;
29806 root@tjener:~# chage -d 1 test; chage -M 10950 test
29807 root@tjener:~# chage -l test
29808 Last password change : Jan 02, 1970
29809 Password expires : never
29810 Password inactive : never
29811 Account expires : never
29812 Minimum number of days between password change : 0
29813 Maximum number of days between password change : 10950
29814 Number of days of warning before password expires : 7
29815 root@tjener:~#
29816 &lt;/pre&gt;&lt;/blockquote&gt;
29817
29818 &lt;p&gt;So far I have tested this with ssh and console, and kdm (in
29819 Squeeze) login, and all ask for a new password before login in the
29820 user (with ssh, I was thrown out and had to log in again).&lt;/p&gt;
29821
29822 &lt;p&gt;Perhaps we should set up something similar for Debian Edu, to make
29823 sure only the user itself have the account password?&lt;/p&gt;
29824
29825 &lt;p&gt;If you want to comment on or help out with implementing this for
29826 Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
29827
29828 &lt;p&gt;Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
29829 shadow(8) page in Debian/testing now state that setting the date of
29830 last password change to zero (0) will force the password to be changed
29831 on the first login. This was not mentioned in the manual in Lenny, so
29832 I did not notice this in my initial testing. I have tested it on
29833 Squeeze, and &#39;&lt;tt&gt;chage -d 0 username&lt;/tt&gt;&#39; do work there. I have not
29834 tested it on Lenny yet.&lt;/p&gt;
29835
29836 &lt;p&gt;Update 2010-05-02-19:05: Jim Paris tells me via email that an
29837 equivalent command to expire a password is &#39;&lt;tt&gt;passwd -e
29838 username&lt;/tt&gt;&#39;, which insert zero into the date of the last password
29839 change.&lt;/p&gt;
29840 </description>
29841 </item>
29842
29843 <item>
29844 <title>Thoughts on roaming laptop setup for Debian Edu</title>
29845 <link>https://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</link>
29846 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</guid>
29847 <pubDate>Wed, 28 Apr 2010 20:40:00 +0200</pubDate>
29848 <description>&lt;p&gt;For some years now, I have wondered how we should handle laptops in
29849 Debian Edu. The Debian Edu infrastructure is mostly designed to
29850 handle stationary computers, and less suited for computers that come
29851 and go.&lt;/p&gt;
29852
29853 &lt;p&gt;Now I finally believe I have an sensible idea on how to adjust
29854 Debian Edu for laptops, by introducing a new profile for them, for
29855 example called Roaming Workstations. Here are my thought on this.
29856 The setup would consist of the following:&lt;/p&gt;
29857
29858 &lt;ul&gt;
29859
29860 &lt;li&gt;During installation, the user name of the owner / primary user of
29861 the laptop is requested and a local home directory is set up for
29862 the user, with uid and gid information fetched from the LDAP
29863 server. This allow the user to work also when offline. The
29864 central home directory can be available in a subdirectory on
29865 request, for example mounted via CIFS. It could be mounted
29866 automatically when a user log in while on the Debian Edu network,
29867 and unmounted when the machine is taken away (network down,
29868 hibernate, etc), it can be set up to do automatic mounting on
29869 request (using autofs), or perhaps some GUI button on the desktop
29870 can be used to access it when needed. Perhaps it is enough to use
29871 the fish protocol in KDE?&lt;/li&gt;
29872
29873 &lt;li&gt;Password checking is set up to use LDAP or Kerberos
29874 authentication when the machine is on the Debian Edu network, and
29875 to cache the password for offline checking when the machine unable
29876 to reach the LDAP or Kerberos server. This can be done using
29877 &lt;a href=&quot;http://www.padl.com/OSS/pam_ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
29878 or the Fedora developed
29879 &lt;a href=&quot;https://fedoraproject.org/wiki/Features/SSSD&quot;&gt;System
29880 Security Services Daemon&lt;/a&gt; packages.&lt;/li&gt;
29881
29882 &lt;li&gt;File synchronisation with the central home directory is set up
29883 using a shared directory in both the local and the central home
29884 directory, using unison.&lt;/li&gt;
29885
29886 &lt;li&gt;Printing should be set up to print to all printers broadcasting
29887 their existence on the local network, and should then work out of
29888 the box with CUPS. For sites needing accurate printer quotas, some
29889 system with Kerberos authentication or printing via ssh could be
29890 implemented.&lt;/li&gt;
29891
29892 &lt;li&gt;For users that should have local root access to their laptop,
29893 sudo should be used to allow this to the local user.&lt;/li&gt;
29894
29895 &lt;li&gt;It would be nice if user and group information from LDAP is
29896 cached on the client, but given that there are entries for the
29897 local user and primary group in /etc/, it should not be needed.&lt;/li&gt;
29898
29899 &lt;/ul&gt;
29900
29901 &lt;p&gt;I believe all the pieces to implement this are in Debian/testing at
29902 the moment. If we work quickly, we should be able to get this ready
29903 in time for the Squeeze release to freeze. Some of the pieces need
29904 tweaking, like libpam-ccreds should get support for pam-auth-update
29905 (&lt;a href=&quot;http://bugs.debian.org/566718&quot;&gt;#566718&lt;/a&gt;) and nslcd (or
29906 perhaps debian-edu-config) should get some integration code to stop
29907 its daemon when the LDAP server is unavailable to avoid long timeouts
29908 when disconnected from the net. If we get Kerberos enabled, we need
29909 to make sure we avoid long timeouts there too.&lt;/p&gt;
29910
29911 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
29912 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
29913 </description>
29914 </item>
29915
29916 <item>
29917 <title>Great book: &quot;Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future&quot;</title>
29918 <link>https://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</link>
29919 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</guid>
29920 <pubDate>Mon, 19 Apr 2010 17:10:00 +0200</pubDate>
29921 <description>&lt;p&gt;The last few weeks i have had the pleasure of reading a
29922 thought-provoking collection of essays by Cory Doctorow, on topics
29923 touching copyright, virtual worlds, the future of man when the
29924 conscience mind can be duplicated into a computer and many more. The
29925 book titled &quot;Content: Selected Essays on Technology, Creativity,
29926 Copyright, and the Future of the Future&quot; is available with few
29927 restrictions on the web, for example from
29928 &lt;a href=&quot;http://craphound.com/content/&quot;&gt;his own site&lt;/a&gt;. I read the
29929 epub-version from
29930 &lt;a href=&quot;http://www.feedbooks.com/book/2883&quot;&gt;feedbooks&lt;/a&gt; using
29931 &lt;a href=&quot;http://www.fbreader.org/&quot;&gt;fbreader&lt;/a&gt; and my N810. I
29932 strongly recommend this book.&lt;/p&gt;
29933 </description>
29934 </item>
29935
29936 <item>
29937 <title>Kerberos for Debian Edu/Squeeze?</title>
29938 <link>https://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</link>
29939 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</guid>
29940 <pubDate>Wed, 14 Apr 2010 17:20:00 +0200</pubDate>
29941 <description>&lt;p&gt;&lt;a href=&quot;http://www.nuug.no/aktiviteter/20100413-kerberos/&quot;&gt;Yesterdays
29942 NUUG presentation&lt;/a&gt; about Kerberos was inspiring, and reminded me
29943 about the need to start using Kerberos in Skolelinux. Setting up a
29944 Kerberos server seem to be straight forward, and if we get this in
29945 place a long time before the Squeeze version of Debian freezes, we
29946 have a chance to migrate Skolelinux away from NFSv3 for the home
29947 directories, and over to an architecture where the infrastructure do
29948 not have to trust IP addresses and machines, and instead can trust
29949 users and cryptographic keys instead.&lt;/p&gt;
29950
29951 &lt;p&gt;A challenge will be integration and administration. Is there a
29952 Kerberos implementation for Debian where one can control the
29953 administration access in Kerberos using LDAP groups? With it, the
29954 school administration will have to maintain access control using flat
29955 files on the main server, which give a huge potential for errors.&lt;/p&gt;
29956
29957 &lt;p&gt;A related question I would like to know is how well Kerberos and
29958 pam-ccreds (offline password check) work together. Anyone know?&lt;/p&gt;
29959
29960 &lt;p&gt;Next step will be to use Kerberos for access control in Lwat and
29961 Nagios. I have no idea how much work that will be to implement. We
29962 would also need to document how to integrate with Windows AD, as such
29963 shared network will require two Kerberos realms that need to cooperate
29964 to work properly.&lt;/p&gt;
29965
29966 &lt;p&gt;I believe a good start would be to start using Kerberos on the
29967 skolelinux.no machines, and this way get ourselves experience with
29968 configuration and integration. A natural starting point would be
29969 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
29970 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
29971 time.&lt;/p&gt;
29972
29973 &lt;p&gt;If you would like to contribute to get this working in Skolelinux,
29974 I recommend you to see the video recording from yesterdays NUUG
29975 presentation, and start using Kerberos at home. The video show show
29976 up in a few days.&lt;/p&gt;
29977 </description>
29978 </item>
29979
29980 <item>
29981 <title>After 6 years of waiting, the Xreset.d feature is implemented</title>
29982 <link>https://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</link>
29983 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</guid>
29984 <pubDate>Sat, 6 Mar 2010 18:15:00 +0100</pubDate>
29985 <description>&lt;p&gt;6 years ago, as part of the Debian Edu development I am involved
29986 in, I asked for a hook in the kdm and gdm setup to run scripts as root
29987 when the user log out. A bug was submitted against the xfree86-common
29988 package in 2004 (&lt;a href=&quot;http://bugs.debian.org/230422&quot;&gt;#230422&lt;/a&gt;),
29989 and revisited every time Debian Edu was working on a new release.
29990 Today, this finally paid off.&lt;/p&gt;
29991
29992 &lt;p&gt;The framework for this feature was today commited to the git
29993 repositry for the xorg package, and the git repository for xdm has
29994 been updated to use this framework. Next on my agenda is to make sure
29995 kdm and gdm also add code to use this framework.&lt;/p&gt;
29996
29997 &lt;p&gt;In Debian Edu, we want to ability to run commands as root when the
29998 user log out, to get rid of runaway processes and do general cleanup
29999 after a user. With this framework in place, we finally can do that in
30000 a generic way that work with all display managers using this
30001 framework. My goal is to get all display managers in Debian use it,
30002 similar to how they use the Xsession.d framework today.&lt;p&gt;
30003 </description>
30004 </item>
30005
30006 <item>
30007 <title>Debian Edu / Skolelinux based on Lenny released, work continues</title>
30008 <link>https://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</link>
30009 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</guid>
30010 <pubDate>Thu, 11 Feb 2010 17:15:00 +0100</pubDate>
30011 <description>&lt;p&gt;On Tuesday, the Debian/Lenny based version of
30012 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; was finally
30013 shipped. This was a major leap forward for the project, and I am very
30014 pleased that we finally got the release wrapped up. Work on the first
30015 point release starts imediately, as we plan to get that one out a
30016 month after the major release, to include all fixes for bugs we found
30017 and fixed too late in the release process to include last Tuesday.&lt;/p&gt;
30018
30019 &lt;p&gt;Perhaps it even is time for some partying?&lt;/p&gt;
30020
30021 &lt;p&gt;After this first point release, my plan is to focus again on the
30022 next major release, based on Squeeze. We will try to get as many of
30023 the fixes we need into the official Debian packages before the freeze,
30024 and have just a few weeks or months to make it happen.&lt;/p&gt;
30025 </description>
30026 </item>
30027
30028 <item>
30029 <title>Automatic Munin and Nagios configuration</title>
30030 <link>https://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</link>
30031 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</guid>
30032 <pubDate>Wed, 27 Jan 2010 15:15:00 +0100</pubDate>
30033 <description>&lt;p&gt;One of the new features in the next Debian/Lenny based release of
30034 Debian Edu/Skolelinux, which is scheduled for release in the next few
30035 days, is automatic configuration of the service monitoring system
30036 Nagios. The previous release had automatic configuration of trend
30037 analysis using Munin, and this Lenny based release take that a step
30038 further.&lt;/p&gt;
30039
30040 &lt;p&gt;When installing a Debian Edu Main-server, it is automatically
30041 configured as a Munin and Nagios server. In addition, it is
30042 configured to be a server for the
30043 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;SiteSummary
30044 system&lt;/a&gt; I have written for use in Debian Edu. The SiteSummary
30045 system is inspired by a system used by the University of Oslo where I
30046 work. In short, the system provide a centralised collector of
30047 information about the computers on the network, and a client on each
30048 computer submitting information to this collector. This allow for
30049 automatic information on which packages are installed on each machine,
30050 which kernel the machines are using, what kind of configuration the
30051 packages got etc. This also allow us to automatically generate Munin
30052 and Nagios configuration.&lt;/p&gt;
30053
30054 &lt;p&gt;All computers reporting to the sitesummary collector with the
30055 munin-node package installed is automatically enabled as a Munin
30056 client and graphs from the statistics collected from that machine show
30057 up automatically on http://www/munin/ on the Main-server.&lt;/p&gt;
30058
30059 &lt;p&gt;All non-laptop computers reporting to the sitesummary collector are
30060 automatically monitored for network presence (ping and any network
30061 services detected). In addition, all computers (also laptops) with
30062 the nagios-nrpe-server package installed and configured the way
30063 sitesummary would configure it, are monitored for full disks, software
30064 raid status, swap free and other checks that need to run locally on
30065 the machine.&lt;/p&gt;
30066
30067 &lt;p&gt;The result is that the administrator on a school using Debian Edu
30068 based on Lenny will be able to check the health of his installation
30069 with one look at the Nagios settings, without having to spend any time
30070 keeping the Nagios configuration up-to-date.&lt;/p&gt;
30071
30072 &lt;p&gt;The only configuration one need to do to get Nagios up and running
30073 is to set the password used to get access via HTTP. The system
30074 administrator need to run &quot;&lt;tt&gt;htpasswd /etc/nagios3/htpasswd.users
30075 nagiosadmin&lt;/tt&gt;&quot; to create a nagiosadmin user and set a password for
30076 it to be able to log into the Nagios web pages. After that,
30077 everything is taken care of.&lt;/p&gt;
30078 </description>
30079 </item>
30080
30081 <item>
30082 <title>Relative popularity of document formats (MS Office vs. ODF)</title>
30083 <link>https://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</link>
30084 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</guid>
30085 <pubDate>Wed, 12 Aug 2009 15:50:00 +0200</pubDate>
30086 <description>&lt;p&gt;Just for fun, I did a search right now on Google for a few file ODF
30087 and MS Office based formats (not to be mistaken for ISO or ECMA
30088 OOXML), to get an idea of their relative usage. I searched using
30089 &#39;filetype:odt&#39; and equvalent terms, and got these results:&lt;/P&gt;
30090
30091 &lt;table&gt;
30092 &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;
30093 &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;
30094 &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;
30095 &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;
30096 &lt;/table&gt;
30097
30098 &lt;p&gt;Next, I added a &#39;site:no&#39; limit to get the numbers for Norway, and
30099 got these numbers:&lt;/p&gt;
30100
30101 &lt;table&gt;
30102 &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;
30103 &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;
30104 &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;
30105 &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;
30106 &lt;/table&gt;
30107
30108 &lt;p&gt;I wonder how these numbers change over time.&lt;/p&gt;
30109
30110 &lt;p&gt;I am aware of Google returning different results and numbers based
30111 on where the search is done, so I guess these numbers will differ if
30112 they are conduced in another country. Because of this, I did the same
30113 search from a machine in California, USA, a few minutes after the
30114 search done from a machine here in Norway.&lt;/p&gt;
30115
30116
30117 &lt;table&gt;
30118 &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;
30119 &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;
30120 &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;
30121 &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;
30122 &lt;/table&gt;
30123
30124 &lt;p&gt;And with &#39;site:no&#39;:
30125
30126 &lt;table&gt;
30127 &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;
30128 &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;
30129 &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;
30130 &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;
30131 &lt;/table&gt;
30132
30133 &lt;p&gt;Interesting difference, not sure what to conclude from these
30134 numbers.&lt;/p&gt;
30135 </description>
30136 </item>
30137
30138 <item>
30139 <title>ISO still hope to fix OOXML</title>
30140 <link>https://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</link>
30141 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</guid>
30142 <pubDate>Sat, 8 Aug 2009 14:00:00 +0200</pubDate>
30143 <description>&lt;p&gt;According to &lt;a
30144 href=&quot;http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html&quot;&gt;a
30145 blog post from Torsten Werner&lt;/a&gt;, the current defect report for ISO
30146 29500 (ISO OOXML) is 809 pages. His interesting point is that the
30147 defect report is 71 pages more than the full ODF 1.1 specification.
30148 Personally I find it more interesting that ISO still believe ISO OOXML
30149 can be fixed in ISO. Personally, I believe it is broken beyon repair,
30150 and I completely lack any trust in ISO for being able to get anywhere
30151 close to solving the problems. I was part of the Norwegian committee
30152 involved in the OOXML fast track process, and was not impressed with
30153 Standard Norway and ISO in how they handled it.&lt;/p&gt;
30154
30155 &lt;p&gt;These days I focus on ODF instead, which seem like a specification
30156 with the future ahead of it. We are working in NUUG to organise a ODF
30157 seminar this autumn.&lt;/p&gt;
30158 </description>
30159 </item>
30160
30161 <item>
30162 <title>Debian has switched to dependency based boot sequencing</title>
30163 <link>https://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</link>
30164 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</guid>
30165 <pubDate>Mon, 27 Jul 2009 23:50:00 +0200</pubDate>
30166 <description>&lt;p&gt;Since this evening, with the upload of sysvinit version 2.87dsf-2,
30167 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
30168 have been migrated to using dependency based boot sequencing. This
30169 conclude work me and others have been doing for the last three days.
30170 It feels great to see this finally part of the default Debian
30171 installation. Now we just need to weed out the last few problems that
30172 are bound to show up, to get everything ready for Squeeze.&lt;/p&gt;
30173
30174 &lt;p&gt;The next step is migrating /sbin/init from sysvinit to upstart, and
30175 fixing the more fundamental problem of handing the event based
30176 non-predictable kernel in the early boot.&lt;/p&gt;
30177 </description>
30178 </item>
30179
30180 <item>
30181 <title>Taking over sysvinit development</title>
30182 <link>https://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</link>
30183 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</guid>
30184 <pubDate>Wed, 22 Jul 2009 23:00:00 +0200</pubDate>
30185 <description>&lt;p&gt;After several years of frustration with the lack of activity from
30186 the existing sysvinit upstream developer, I decided a few weeks ago to
30187 take over the package and become the new upstream. The number of
30188 patches to track for the Debian package was becoming a burden, and the
30189 lack of synchronization between the distribution made it hard to keep
30190 the package up to date.&lt;/p&gt;
30191
30192 &lt;p&gt;On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
30193 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
30194 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
30195 and Fedora), based on the patches currently in use in these
30196 distributions. We Debian maintainers plan to move to this tarball as
30197 the new upstream as soon as we find time to do the merge. Since the
30198 new tarball was created, we agreed with Werner at SuSe to make a new
30199 upstream project at &lt;a href=&quot;http://savannah.nongnu.org/&quot;&gt;Savannah&lt;/a&gt;, and continue
30200 development there. The project is registered and currently waiting
30201 for approval by the Savannah administrators, and as soon as it is
30202 approved, we will import the old versions from svn and continue
30203 working on the future release.&lt;/p&gt;
30204
30205 &lt;p&gt;It is a bit ironic that this is done now, when some of the involved
30206 distributions are moving to upstart as a syvinit replacement.&lt;/p&gt;
30207 </description>
30208 </item>
30209
30210 <item>
30211 <title>Debian boots quicker and quicker</title>
30212 <link>https://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</link>
30213 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</guid>
30214 <pubDate>Wed, 24 Jun 2009 21:40:00 +0200</pubDate>
30215 <description>&lt;p&gt;I spent Monday and tuesday this week in London with a lot of the
30216 people involved in the boot system on Debian and Ubuntu, to see if we
30217 could find more ways to speed up the boot system. This was an Ubuntu
30218 funded
30219 &lt;a href=&quot;https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint&quot;&gt;developer
30220 gathering&lt;/a&gt;. It was quite productive. We also discussed the future
30221 of boot systems, and ways to handle the increasing number of boot
30222 issues introduced by the Linux kernel becoming more and more
30223 asynchronous and event base. The Ubuntu approach using udev and
30224 upstart might be a good way forward. Time will show.&lt;/p&gt;
30225
30226 &lt;p&gt;Anyway, there are a few ways at the moment to speed up the boot
30227 process in Debian. All of these should be applied to get a quick
30228 boot:&lt;/p&gt;
30229
30230 &lt;ul&gt;
30231
30232 &lt;li&gt;Use dash as /bin/sh.&lt;/li&gt;
30233
30234 &lt;li&gt;Disable the init.d/hwclock*.sh scripts and make sure the hardware
30235 clock is in UTC.&lt;/li&gt;
30236
30237 &lt;li&gt;Install and activate the insserv package to enable
30238 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
30239 based boot sequencing&lt;/a&gt;, and enable concurrent booting.&lt;/li&gt;
30240
30241 &lt;/ul&gt;
30242
30243 These points are based on the Google summer of code work done by
30244 &lt;a href=&quot;http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/&quot;&gt;Carlos
30245 Villegas&lt;/a&gt;.
30246
30247 &lt;p&gt;Support for makefile-style concurrency during boot was uploaded to
30248 unstable yesterday. When we tested it, we were able to cut 6 seconds
30249 from the boot sequence. It depend on very correct dependency
30250 declaration in all init.d scripts, so I expect us to find edge cases
30251 where the dependences in some scripts are slightly wrong when we start
30252 using this.&lt;/p&gt;
30253
30254 &lt;p&gt;On our IRC channel for this effort, #pkg-sysvinit, a new idea was
30255 introduced by Raphael Geissert today, one that could affect the
30256 startup speed as well. Instead of starting some scripts concurrently
30257 from rcS.d/ and another set of scripts from rc2.d/, it would be
30258 possible to run a of them in the same process. A quick way to test
30259 this would be to enable insserv and run &#39;mv /etc/rc2.d/S* /etc/rcS.d/;
30260 insserv&#39;. Will need to test if that work. :)&lt;/p&gt;
30261 </description>
30262 </item>
30263
30264 <item>
30265 <title>Two projects that have improved the quality of free software a lot</title>
30266 <link>https://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
30267 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
30268 <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
30269 <description>&lt;p&gt;There are two software projects that have had huge influence on the
30270 quality of free software, and I wanted to mention both in case someone
30271 do not yet know them.&lt;/p&gt;
30272
30273 &lt;p&gt;The first one is &lt;a href=&quot;http://valgrind.org/&quot;&gt;valgrind&lt;/a&gt;, a
30274 tool to detect and expose errors in the memory handling of programs.
30275 It is easy to use, all one need to do is to run &#39;valgrind program&#39;,
30276 and it will report any problems on stdout. It is even better if the
30277 program include debug information. With debug information, it is able
30278 to report the source file name and line number where the problem
30279 occurs. It can report things like &#39;reading past memory block in file
30280 X line N, the memory block was allocated in file Y, line M&#39;, and
30281 &#39;using uninitialised value in control logic&#39;. This tool has made it
30282 trivial to investigate reproducible crash bugs in programs, and have
30283 reduced the number of this kind of bugs in free software a lot.
30284
30285 &lt;p&gt;The second one is
30286 &lt;a href=&quot;http://en.wikipedia.org/wiki/Coverity&quot;&gt;Coverity&lt;/a&gt; which is
30287 a source code checker. It is able to process the source of a program
30288 and find problems in the logic without running the program. It
30289 started out as the Stanford Checker and became well known when it was
30290 used to find bugs in the Linux kernel. It is now a commercial tool
30291 and the company behind it is running
30292 &lt;a href=&quot;http://www.scan.coverity.com/&quot;&gt;a community service&lt;/a&gt; for the
30293 free software community, where a lot of free software projects get
30294 their source checked for free. Several thousand defects have been
30295 found and fixed so far. It can find errors like &#39;lock L taken in file
30296 X line N is never released if exiting in line M&#39;, or &#39;the code in file
30297 Y lines O to P can never be executed&#39;. The projects included in the
30298 community service project have managed to get rid of a lot of
30299 reliability problems thanks to Coverity.&lt;/p&gt;
30300
30301 &lt;p&gt;I believe tools like this, that are able to automatically find
30302 errors in the source, are vital to improve the quality of software and
30303 make sure we can get rid of the crashing and failing software we are
30304 surrounded by today.&lt;/p&gt;
30305 </description>
30306 </item>
30307
30308 <item>
30309 <title>No patch is not better than a useless patch</title>
30310 <link>https://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</link>
30311 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</guid>
30312 <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
30313 <description>&lt;p&gt;Julien Blache
30314 &lt;a href=&quot;http://blog.technologeek.org/2009/04/12/214&quot;&gt;claim that no
30315 patch is better than a useless patch&lt;/a&gt;. I completely disagree, as a
30316 patch allow one to discuss a concrete and proposed solution, and also
30317 prove that the issue at hand is important enough for someone to spent
30318 time on fixing it. No patch do not provide any of these positive
30319 properties.&lt;/p&gt;
30320 </description>
30321 </item>
30322
30323 <item>
30324 <title>Recording video from cron using VLC</title>
30325 <link>https://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</link>
30326 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</guid>
30327 <pubDate>Sun, 5 Apr 2009 10:00:00 +0200</pubDate>
30328 <description>&lt;p&gt;One think I have wanted to figure out for a along time is how to
30329 run vlc from cron to do recording of video streams on the net. The
30330 task is trivial with mplayer, but I do not really trust the security
30331 of mplayer (it crashes too often on strange input), and thus prefer
30332 vlc. I finally found a way to do it today. I spent an hour or so
30333 searching the web for recipes and reading the documentation. The
30334 hardest part was to get rid of the GUI window, but after finding the
30335 dummy interface, the command line finally presented itself:&lt;/p&gt;
30336
30337 &lt;blockquote&gt;&lt;pre&gt;URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
30338 SAVEFILE=rms.ogg
30339 DISPLAY= vlc -q $URL \
30340 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
30341 --intf=dummy&lt;/pre&gt;&lt;/blockquote&gt;
30342
30343 &lt;p&gt;The command stream the URL and store it in the SAVEFILE by
30344 duplicating the output stream to &quot;nodisplay&quot; and the file, using the
30345 dummy interface. The dummy interface and the nodisplay output make
30346 sure no X interface is needed.&lt;/p&gt;
30347
30348 &lt;p&gt;The cron job then need to start this job with the appropriate URL
30349 and file name to save, sleep for the duration wanted, and then kill
30350 the vlc process with SIGTERM. Here is a complete script
30351 &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;
30352
30353 &lt;blockquote&gt;&lt;pre&gt;#!/bin/sh
30354 set -e
30355 URL=&quot;$1&quot;
30356 SAVEFILE=&quot;$2&quot;
30357 DURATION=&quot;$3&quot;
30358 DISPLAY= vlc -q &quot;$URL&quot; \
30359 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
30360 --intf=dummy &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 &amp;
30361 pid=$!
30362 sleep $DURATION
30363 kill $pid
30364 wait $pid&lt;/pre&gt;&lt;/blockquote&gt;
30365 </description>
30366 </item>
30367
30368 <item>
30369 <title>Standardize on protocols and formats, not vendors and applications</title>
30370 <link>https://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</link>
30371 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</guid>
30372 <pubDate>Mon, 30 Mar 2009 11:50:00 +0200</pubDate>
30373 <description>&lt;p&gt;Where I work at the University of Oslo, one decision stand out as a
30374 very good one to form a long lived computer infrastructure. It is the
30375 simple one, lost by many in todays computer industry: Standardize on
30376 open network protocols and open exchange/storage formats, not applications.
30377 Applications come and go, while protocols and files tend to stay, and
30378 thus one want to make it easy to change application and vendor, while
30379 avoiding conversion costs and locking users to a specific platform or
30380 application.&lt;/p&gt;
30381
30382 &lt;p&gt;This approach make it possible to replace the client applications
30383 independently of the server applications. One can even allow users to
30384 use several different applications as long as they handle the selected
30385 protocol and format. In the normal case, only one client application
30386 is recommended and users only get help if they choose to use this
30387 application, but those that want to deviate from the easy path are not
30388 blocked from doing so.&lt;/p&gt;
30389
30390 &lt;p&gt;It also allow us to replace the server side without forcing the
30391 users to replace their applications, and thus allow us to select the
30392 best server implementation at any moment, when scale and resouce
30393 requirements change.&lt;/p&gt;
30394
30395 &lt;p&gt;I strongly recommend standardizing - on open network protocols and
30396 open formats, but I would never recommend standardizing on a single
30397 application that do not use open network protocol or open formats.&lt;/p&gt;
30398 </description>
30399 </item>
30400
30401 <item>
30402 <title>Returning from Skolelinux developer gathering</title>
30403 <link>https://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</link>
30404 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</guid>
30405 <pubDate>Sun, 29 Mar 2009 21:00:00 +0200</pubDate>
30406 <description>&lt;p&gt;I&#39;m sitting on the train going home from this weekends Debian
30407 Edu/Skolelinux development gathering. I got a bit done tuning the
30408 desktop, and looked into the dynamic service location protocol
30409 implementation avahi. It look like it could be useful for us. Almost
30410 30 people participated, and I believe it was a great environment to
30411 get to know the Skolelinux system. Walter Bender, involved in the
30412 development of the Sugar educational platform, presented his stuff and
30413 also helped me improve my OLPC installation. He also showed me that
30414 his Turtle Art application can be used in standalone mode, and we
30415 agreed that I would help getting it packaged for Debian. As a
30416 standalone application it would be great for Debian Edu. We also
30417 tried to get the video conferencing working with two OLPCs, but that
30418 proved to be too hard for us. The application seem to need more work
30419 before it is ready for me. I look forward to getting home and relax
30420 now. :)&lt;/p&gt;
30421 </description>
30422 </item>
30423
30424 <item>
30425 <title>Time for new LDAP schemas replacing RFC 2307?</title>
30426 <link>https://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</link>
30427 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</guid>
30428 <pubDate>Sun, 29 Mar 2009 20:30:00 +0200</pubDate>
30429 <description>&lt;p&gt;The state of standardized LDAP schemas on Linux is far from
30430 optimal. There is RFC 2307 documenting one way to store NIS maps in
30431 LDAP, and a modified version of this normally called RFC 2307bis, with
30432 some modifications to be compatible with Active Directory. The RFC
30433 specification handle the content of a lot of system databases, but do
30434 not handle DNS zones and DHCP configuration.&lt;/p&gt;
30435
30436 &lt;p&gt;In &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux&lt;/a&gt;,
30437 we would like to store information about users, SMB clients/hosts,
30438 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
30439 and LTSP configuration in LDAP. These objects have a lot in common,
30440 but with the current LDAP schemas it is not possible to have one
30441 object per entity. For example, one need to have at least three LDAP
30442 objects for a given computer, one with the SMB related stuff, one with
30443 DNS information and another with DHCP information. The schemas
30444 provided for DNS and DHCP are impossible to combine into one LDAP
30445 object. In addition, it is impossible to implement quick queries for
30446 netgroup membership, because of the way NIS triples are implemented.
30447 It just do not scale. I believe it is time for a few RFC
30448 specifications to cleam up this mess.&lt;/p&gt;
30449
30450 &lt;p&gt;I would like to have one LDAP object representing each computer in
30451 the network, and this object can then keep the SMB (ie host key), DHCP
30452 (mac address/name) and DNS (name/IP address) settings in one place.
30453 It need to be efficently stored to make sure it scale well.&lt;/p&gt;
30454
30455 &lt;p&gt;I would also like to have a quick way to map from a user or
30456 computer and to the net group this user or computer is a member.&lt;/p&gt;
30457
30458 &lt;p&gt;Active Directory have done a better job than unix heads like myself
30459 in this regard, and the unix side need to catch up. Time to start a
30460 new IETF work group?&lt;/p&gt;
30461 </description>
30462 </item>
30463
30464 <item>
30465 <title>Checking server hardware support status for Dell, HP and IBM servers</title>
30466 <link>https://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
30467 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
30468 <pubDate>Sat, 28 Feb 2009 23:50:00 +0100</pubDate>
30469 <description>&lt;p&gt;At work, we have a few hundred Linux servers, and with that amount
30470 of hardware it is important to keep track of when the hardware support
30471 contract expire for each server. We have a machine (and service)
30472 register, which until recently did not contain much useful besides the
30473 machine room location and contact information for the system owner for
30474 each machine. To make it easier for us to track support contract
30475 status, I&#39;ve recently spent time on extending the machine register to
30476 include information about when the support contract expire, and to tag
30477 machines with expired contracts to make it easy to get a list of such
30478 machines. I extended a perl script already being used to import
30479 information about machines into the register, to also do some screen
30480 scraping off the sites of Dell, HP and IBM (our majority of machines
30481 are from these vendors), and automatically check the support status
30482 for the relevant machines. This make the support status information
30483 easily available and I hope it will make it easier for the computer
30484 owner to know when to get new hardware or renew the support contract.
30485 The result of this work documented that 27% of the machines in the
30486 registry is without a support contract, and made it very easy to find
30487 them. 27% might seem like a lot, but I see it more as the case of us
30488 using machines a bit longer than the 3 years a normal support contract
30489 last, to have test machines and a platform for less important
30490 services. After all, the machines without a contract are working fine
30491 at the moment and the lack of contract is only a problem if any of
30492 them break down. When that happen, we can either fix it using spare
30493 parts from other machines or move the service to another old
30494 machine.&lt;/p&gt;
30495
30496 &lt;p&gt;I believe the code for screen scraping the Dell site was originally
30497 written by Trond Hasle Amundsen, and later adjusted by me and Morten
30498 Werner Forsbring. The HP scraping was written by me after reading a
30499 nice article in ;login: about how to use WWW::Mechanize, and the IBM
30500 scraping was written by me based on the Dell code. I know the HTML
30501 parsing could be done using nice libraries, but did not want to
30502 introduce more dependencies. This is the current incarnation:&lt;/p&gt;
30503
30504 &lt;pre&gt;
30505 use LWP::Simple;
30506 use POSIX;
30507 use WWW::Mechanize;
30508 use Date::Parse;
30509 [...]
30510 sub get_support_info {
30511 my ($machine, $model, $serial, $productnumber) = @_;
30512 my $str;
30513
30514 if ( $model =~ m/^Dell / ) {
30515 # fetch website from Dell support
30516 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;;
30517 my $webpage = get($url);
30518 return undef unless ($webpage);
30519
30520 my $daysleft = -1;
30521 my @lines = split(/\n/, $webpage);
30522 foreach my $line (@lines) {
30523 next unless ($line =~ m/Beskrivelse/);
30524 $line =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
30525 $line =~ s/^.+?;(Beskrivelse;)/$1/;
30526
30527 my @f = split(/\;/, $line);
30528 @f = @f[13 .. $#f];
30529 my $lastend = &quot;&quot;;
30530 while ($f[3] eq &quot;DELL&quot;) {
30531 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
30532
30533 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
30534 localtime(str2time($startstr)));
30535 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
30536 localtime(str2time($endstr)));
30537 $str .= &quot;$type $start -&gt; $end &quot;;
30538 @f = @f[14 .. $#f];
30539 $lastend = $end if ($end gt $lastend);
30540 }
30541 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
30542 tag_machine_unsupported($machine)
30543 if ($lastend lt $today);
30544 }
30545 } elsif ( $model =~ m/^HP / ) {
30546 my $mech = WWW::Mechanize-&gt;new();
30547 my $url =
30548 &#39;http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do&#39;;
30549 $mech-&gt;get($url);
30550 my $fields = {
30551 &#39;BODServiceID&#39; =&gt; &#39;NA&#39;,
30552 &#39;RegisteredPurchaseDate&#39; =&gt; &#39;&#39;,
30553 &#39;country&#39; =&gt; &#39;NO&#39;,
30554 &#39;productNumber&#39; =&gt; $productnumber,
30555 &#39;serialNumber1&#39; =&gt; $serial,
30556 };
30557 $mech-&gt;submit_form( form_number =&gt; 2,
30558 fields =&gt; $fields );
30559 # Next step is screen scraping
30560 my $content = $mech-&gt;content();
30561
30562 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
30563 $content =~ s/\s+/ /gm;
30564 $content =~ s/;\s*;/;;/gm;
30565 $content =~ s/;[\s;]+/;/gm;
30566
30567 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
30568
30569 while ($content =~ m/;Warranty Type;/) {
30570 my ($type, $status, $startstr, $stopstr) = $content =~
30571 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
30572 $content =~ s/^.+?;Warranty Type;//;
30573 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
30574 localtime(str2time($startstr)));
30575 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
30576 localtime(str2time($stopstr)));
30577
30578 $str .= &quot;$type ($status) $start -&gt; $end &quot;;
30579
30580 tag_machine_unsupported($machine)
30581 if ($end lt $today);
30582 }
30583 } elsif ( $model =~ m/^IBM / ) {
30584 # This code ignore extended support contracts.
30585 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
30586 if ($producttype &amp;amp;&amp;amp; $serial) {
30587 my $content =
30588 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;);
30589 if ($content) {
30590 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
30591 $content =~ s/\s+/ /gm;
30592 $content =~ s/;\s*;/;;/gm;
30593 $content =~ s/;[\s;]+/;/gm;
30594
30595 $content =~ s/^.+?;Warranty status;//;
30596 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
30597
30598 $str .= &quot;($status) -&gt; $end &quot;;
30599
30600 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
30601 tag_machine_unsupported($machine)
30602 if ($end lt $today);
30603 }
30604 }
30605 }
30606 return $str;
30607 }
30608 &lt;/pre&gt;
30609
30610 &lt;p&gt;Here are some examples on how to use the function, using fake
30611 serial numbers. The information passed in as arguments are fetched
30612 from dmidecode.&lt;/p&gt;
30613
30614 &lt;pre&gt;
30615 print get_support_info(&quot;hp.host&quot;, &quot;HP ProLiant BL460c G1&quot;, &quot;1234567890&quot;
30616 &quot;447707-B21&quot;);
30617 print get_support_info(&quot;dell.host&quot;, &quot;Dell Inc. PowerEdge 2950&quot;, &quot;1234567&quot;);
30618 print get_support_info(&quot;ibm.host&quot;, &quot;IBM eserver xSeries 345 -[867061X]-&quot;,
30619 &quot;1234567&quot;);
30620 &lt;/pre&gt;
30621
30622 &lt;p&gt;I would recommend this approach for tracking support contracts for
30623 everyone with more than a few computers to administer. :)&lt;/p&gt;
30624
30625 &lt;p&gt;Update 2009-03-06: The IBM page do not include extended support
30626 contracts, so it is useless in that case. The original Dell code do
30627 not handle extended support contracts either, but has been updated to
30628 do so.&lt;/p&gt;
30629 </description>
30630 </item>
30631
30632 <item>
30633 <title>Using bar codes at a computing center</title>
30634 <link>https://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</link>
30635 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</guid>
30636 <pubDate>Fri, 20 Feb 2009 08:50:00 +0100</pubDate>
30637 <description>&lt;p&gt;At work with the University of Oslo, we have several hundred computers
30638 in our computing center. This give us a challenge in tracking the
30639 location and cabling of the computers, when they are added, moved and
30640 removed. Some times the location register is not updated when a
30641 computer is inserted or moved and we then have to search the room for
30642 the &quot;missing&quot; computer.&lt;/p&gt;
30643
30644 &lt;p&gt;In the last issue of Linux Journal, I came across a project
30645 &lt;a href=&quot;http://www.libdmtx.org/&quot;&gt;libdmtx&lt;/a&gt; to write and read bar
30646 code blocks as defined in the
30647 &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Matrix&quot;&gt;The Data Matrix
30648 Standard&lt;/a&gt;. This is bar codes that can be read with a normal
30649 digital camera, for example that on a cell phone, and several such bar
30650 codes can be read by libdmtx from one picture. The bar code standard
30651 allow up to 2 KiB to be written in the tag. There is another project
30652 with &lt;a href=&quot;http://www.terryburton.co.uk/barcodewriter/&quot;&gt;a bar code
30653 writer written in postscript&lt;/a&gt; capable of creating such bar codes,
30654 but this was the first time I found a tool to read these bar
30655 codes.&lt;/p&gt;
30656
30657 &lt;p&gt;It occurred to me that this could be used to tag and track the
30658 machines in our computing center. If both racks and computers are
30659 tagged this way, we can use a picture of the rack and all its
30660 computers to detect the rack location of any computer in that rack.
30661 If we do this regularly for the entire room, we will find all
30662 locations, and can detect movements and removals.&lt;/p&gt;
30663
30664 &lt;p&gt;I decided to test if this would work in practice, and picked a
30665 random rack and tagged all the machines with their names. Next, I
30666 took pictures with my digital camera, and gave the dmtxread program
30667 these JPEG pictures to see how many tags it could read. This worked
30668 fairly well. If the pictures was well focused and not taken from the
30669 side, all tags in the image could be read. Because of limited space
30670 between the racks, I was unable to get a good picture of the entire
30671 rack, but could without problem read all tags from a picture covering
30672 about half the rack. I had to limit the search time used by dmtxread
30673 to 60000 ms to make sure it terminated in a reasonable time frame.&lt;/p&gt;
30674
30675 &lt;p&gt;My conclusion is that this could work, and we should probably look
30676 at adjusting our computer tagging procedures to use bar codes for
30677 easier automatic tracking of computers.&lt;/p&gt;
30678 </description>
30679 </item>
30680
30681 <item>
30682 <title>When web browser developers make a video player...</title>
30683 <link>https://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</link>
30684 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</guid>
30685 <pubDate>Sat, 17 Jan 2009 18:50:00 +0100</pubDate>
30686 <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;
30687 to publish video recordings of our monthly presentations, we provide a
30688 page with embedded video for easy access to the recording. Putting a
30689 good set of HTML tags together to get working embedded video in all
30690 browsers and across all operating systems is not easy. I hope this
30691 will become easier when the &amp;lt;video&amp;gt; tag is implemented in all
30692 browsers, but I am not sure. We provide the recordings in several
30693 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
30694 browser/media plugin to pick one it support and use it to play the
30695 recording, using whatever embed mechanism the browser understand.
30696 There is at least four different tags to use for this, the new HTML5
30697 &amp;lt;video&amp;gt; tag, the &amp;lt;object&amp;gt; tag, the &amp;lt;embed&amp;gt; tag and
30698 the &amp;lt;applet&amp;gt; tag. All of these take a lot of options, and
30699 finding the best options is a major challenge.&lt;/p&gt;
30700
30701 &lt;p&gt;I just tested the experimental Opera browser available from &lt;a
30702 href=&quot;http://labs.opera.com&quot;&gt;labs.opera.com&lt;/a&gt;, to see how it handled
30703 a &amp;lt;video&amp;gt; tag with a few video sources and no extra attributes.
30704 I was not very impressed. The browser start by fetching a picture
30705 from the video stream. Not sure if it is the first frame, but it is
30706 definitely very early in the recording. So far, so good. Next,
30707 instead of streaming the 76 MiB video file, it start to download all
30708 of it, but do not start to play the video. This mean I have to wait
30709 for several minutes for the downloading to finish. When the download
30710 is done, the playing of the video do not start! Waiting for the
30711 download, but I do not get to see the video? Some testing later, I
30712 discover that I have to add the controls=&quot;true&quot; attribute to be able
30713 to get a play button to pres to start the video. Adding
30714 autoplay=&quot;true&quot; did not help. I sure hope this is a misfeature of the
30715 test version of Opera, and that future implementations of the
30716 &amp;lt;video&amp;gt; tag will stream recordings by default, or at least start
30717 playing when the download is done.&lt;/p&gt;
30718
30719 &lt;p&gt;The test page I used (since changed to add more attributes) is
30720 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/&quot;&gt;available
30721 from the nuug site&lt;/a&gt;. Will have to test it with the new Firefox
30722 too.&lt;/p&gt;
30723
30724 &lt;p&gt;In the test process, I discovered a missing feature. I was unable
30725 to find a way to get the URL of the playing video out of Opera, so I
30726 am not quite sure it picked the Ogg Theora version of the video. I
30727 sure hope it was using the announced Ogg Theora support. :)&lt;/p&gt;
30728 </description>
30729 </item>
30730
30731 <item>
30732 <title>Software video mixer on a USB stick</title>
30733 <link>https://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</link>
30734 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</guid>
30735 <pubDate>Sun, 28 Dec 2008 15:40:00 +0100</pubDate>
30736 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; is
30737 recording our montly presentation on video, and recently we have
30738 worked on improving the quality of the recordings by mixing the slides
30739 directly with the video stream. For this, we use the
30740 &lt;a href=&quot;http://dvswitch.alioth.debian.org/&quot;&gt;dvswitch&lt;/a&gt; package from
30741 the Debian video team. As this require quite one computer per video
30742 source, and NUUG do not have enough laptops available, we need to
30743 borrow laptops. And to avoid having to install extra software on
30744 these borrwed laptops, I have wrapped up all the programs needed on a
30745 bootable USB stick. The software required is dvswitch with assosiated
30746 source, sink and mixer applications and
30747 &lt;a href=&quot;http://www.kinodv.org/&quot;&gt;dvgrab&lt;/a&gt;. To allow this setup to
30748 work without any configuration, I&#39;ve patched dvswitch to use
30749 &lt;a href=&quot;http://www.avahi.org/&quot;&gt;avahi&lt;/a&gt; to connect the various parts
30750 together. And to allow us to use laptops without firewire plugs, I
30751 upgraded dvgrab to the one from Debian/unstable to get one that work
30752 with USB sources. We have not yet tested this setup in a production
30753 setup, but I hope it will work properly, and allow us to set up a
30754 video mixer in a very short time frame. We will need it for
30755 &lt;a href=&quot;http://www.goopen.no/&quot;&gt;Go Open 2009&lt;/a&gt;.&lt;/p&gt;
30756
30757 &lt;p&gt;&lt;a href=&quot;http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz&quot;&gt;The
30758 USB image&lt;/a&gt; is for a 1 GB memory stick, but can be used on any
30759 larger stick as well.&lt;/p&gt;
30760 </description>
30761 </item>
30762
30763 <item>
30764 <title>Devcamp brought us closer to the Lenny based Debian Edu release</title>
30765 <link>https://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</link>
30766 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</guid>
30767 <pubDate>Sun, 7 Dec 2008 12:00:00 +0100</pubDate>
30768 <description>&lt;p&gt;This weekend we had a small developer gathering for Debian Edu in
30769 Oslo. Most of Saturday was used for the general assemly for the
30770 member organization, but the rest of the weekend I used to tune the
30771 LTSP installation. LTSP now work out of the box on the 10-network.
30772 Acer Aspire One proved to be a very nice thin client, with both
30773 screen, mouse and keybard in a small box. Was working on getting the
30774 diskless workstation setup configured out of the box, but did not
30775 finish it before the weekend was up.&lt;/p&gt;
30776
30777 &lt;p&gt;Did not find time to look at the 4 VGA cards in one box we got from
30778 the Brazilian group, so that will have to wait for the next
30779 development gathering. Would love to have the Debian Edu installer
30780 automatically detect and configure a multiseat setup when it find one
30781 of these cards.&lt;/p&gt;
30782 </description>
30783 </item>
30784
30785 <item>
30786 <title>The sorry state of multimedia browser plugins in Debian</title>
30787 <link>https://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</link>
30788 <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</guid>
30789 <pubDate>Tue, 25 Nov 2008 00:10:00 +0100</pubDate>
30790 <description>&lt;p&gt;Recently I have spent some time evaluating the multimedia browser
30791 plugins available in Debian Lenny, to see which one we should use by
30792 default in Debian Edu. We need an embedded video playing plugin with
30793 control buttons to pause or stop the video, and capable of streaming
30794 all the multimedia content available on the web. The test results and
30795 notes are available on
30796 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;the
30797 Debian wiki&lt;/a&gt;. I was surprised how few of the plugins are able to
30798 fill this need. My personal video player favorite, VLC, has a really
30799 bad plugin which fail on a lot of the test pages. A lot of the MIME
30800 types I would expect to work with any free software player (like
30801 video/ogg), just do not work. And simple formats like the
30802 audio/x-mplegurl format (m3u playlists), just isn&#39;t supported by the
30803 totem and vlc plugins. I hope the situation will improve soon. No
30804 wonder sites use the proprietary Adobe flash to play video.&lt;/p&gt;
30805
30806 &lt;p&gt;For Lenny, we seem to end up with the mplayer plugin. It seem to
30807 be the only one fitting our needs. :/&lt;/p&gt;
30808 </description>
30809 </item>
30810
30811 </channel>
30812 </rss>