]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
a28f100dc5e0dcc1c3d94b70879b8319c6f52f61
[homepage.git] / blog / index.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Petter Reinholdtsen</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
8
9 <item>
10 <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
11 <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
13 <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
14 <description>&lt;p&gt;This summer, I read a great article
15 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
16 This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
17 how to profile multi-threaded programs. It presented a system for
18 profiling software by running experiences in the running program,
19 testing how run time performance is affected by &quot;speeding up&quot; parts of
20 the code to various degrees compared to a normal run. It does this by
21 slowing down parallel threads while the &quot;faster up&quot; code is running
22 and measure how this affect processing time. The processing time is
23 measured using probes inserted into the code, either using progress
24 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
25 can also measure unmodified code by measuring complete the program
26 runtime and running the program several times instead.&lt;/p&gt;
27
28 &lt;p&gt;The project and presentation was so inspiring that I would like to
29 get the system into Debian. I
30 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
31 a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
32 system ready for Debian by sending patches. The build process need to
33 be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
34 to include the JavaScript web page used to visualize the collected
35 profiling information included in the source package.
36 But I expect that should work out fairly soon.&lt;/p&gt;
37
38 &lt;p&gt;The way the system work is fairly simple. To run an coz experiment
39 on a binary with debug symbols available, start the program like this:
40
41 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
42 coz run --- program-to-run
43 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
44
45 &lt;p&gt;This will create a text file profile.coz with the instrumentation
46 information. To show what part of the code affect the performance
47 most, use a web browser and either point it to
48 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
49 or use the copy from git (in the gh-pages branch). Check out this web
50 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
51 profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
52 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
53 code, rebuild and run the profiler. This allow coz to do more
54 targeted experiments.&lt;/p&gt;
55
56 &lt;p&gt;A video published by ACM
57 &lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
58 Coz profiler&lt;/a&gt; is available from Youtube. There is also a paper
59 from the 25th Symposium on Operating Systems Principles available
60 titled
61 &lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
62 finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
63
64 &lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
65 for Coz is available from github. It will only build with clang
66 because it uses a
67 &lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
68 feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
69 &lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
70 it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
71
72 &lt;p&gt;Please get in touch if you, like me, would like to see this piece
73 of software in Debian. I would very much like some help with the
74 packaging effort, as I lack the in depth knowledge on how to package
75 C++ libraries.&lt;/p&gt;
76 </description>
77 </item>
78
79 <item>
80 <title>Sales number for the Free Culture translation, first half of 2016</title>
81 <link>http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
82 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
83 <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
84 <description>&lt;p&gt;As my regular readers probably remember, the last year I published
85 a French and Norwegian translation of the classic
86 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture book&lt;/a&gt; by the
87 founder of the Creative Commons movement, Lawrence Lessig. A bit less
88 known is the fact that due to the way I created the translations,
89 using docbook and po4a, I also recreated the English original. And
90 because I already had created a new the PDF edition, I published it
91 too. The revenue from the books are sent to the Creative Commons
92 Corporation. In other words, I do not earn any money from this
93 project, I just earn the warm fuzzy feeling that the text is available
94 for a wider audience and more people can learn why the Creative
95 Commons is needed.&lt;/p&gt;
96
97 &lt;p&gt;Today, just for fun, I had a look at the sales number over at
98 Lulu.com, which take care of payment, printing and shipping. Much to
99 my surprise, the English edition is selling better than both the
100 French and Norwegian edition, despite the fact that it has been
101 available in English since it was first published. In total, 24 paper
102 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:&lt;/p&gt;
103
104 &lt;table border=&quot;0&quot;&gt;
105 &lt;tr&gt;&lt;th&gt;Title / language&lt;/th&gt;&lt;th&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
106 &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;
107 &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;
108 &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;
109 &lt;/table&gt;
110
111 &lt;p&gt;The books are available both from Lulu.com and from large book
112 stores like Amazon and Barnes&amp;Noble. Most revenue, around $10 per
113 book, is sent to the Creative Commons project when the book is sold
114 directly by Lulu.com. The other channels give less revenue. The
115 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
116 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
117 me that the revenue sent so far this year is USD $101.42. No idea
118 what kind of sales numbers to expect, so I do not know if that is a
119 good amount of sales for a 10 year old book or not. But it make me
120 happy that the buyers find the book, and I hope they enjoy reading it
121 as much as I did.&lt;/p&gt;
122
123 &lt;p&gt;The ebook edition is available for free from
124 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
125
126 &lt;p&gt;If you would like to translate and publish the book in your native
127 language, I would be happy to help make it happen. Please get in
128 touch.&lt;/p&gt;
129 </description>
130 </item>
131
132 <item>
133 <title>Vitenskapen tar som vanlig feil igjen - relativt feil</title>
134 <link>http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</link>
135 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</guid>
136 <pubDate>Mon, 1 Aug 2016 16:00:00 +0200</pubDate>
137 <description>&lt;p&gt;For mange år siden leste jeg en klassisk tekst som gjorde såpass
138 inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
139 argumentene fra den stadig vekk. Teksten var «The Relativity of
140 Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
141 gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
142 Jeg har hatt lyst til å kunne dele den også med folk som ikke
143 behersker engelsk så godt, som barn og noen av mine eldre slektninger,
144 og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
145 jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
146 de var interessert i å publisere en norsk utgave på bloggen sin, og da
147 han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
148 det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
149 fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
150 fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
151 igang med oversettingen.&lt;/p&gt;
152
153 &lt;p&gt;Resultatet, &lt;a href=&quot;http://www.skepsis.no/?p=1617&quot;&gt;«Relativt
154 feil»&lt;/a&gt;, ble publisert på skepsis-bloggen for noen minutter siden.
155 Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
156 dine venner.&lt;/p&gt;
157
158 &lt;p&gt;For å håndtere oversettelsen og sikre at original og oversettelse
159 var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
160 fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
161 om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
162 opprette nye prosjekter selv i stedet for å måtte kontakte
163 administratoren der, så hadde jeg brukt weblate i stedet.&lt;/p&gt;
164 </description>
165 </item>
166
167 <item>
168 <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
169 <link>http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
170 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
171 <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
172 <description>&lt;p&gt;Did you know there is a TV channel broadcasting talks from DebConf
173 16 across an entire country? Or that there is a TV channel
174 broadcasting talks by or about
175 &lt;a href=&quot;http://beta.frikanalen.no/video/625529/&quot;&gt;Linus Torvalds&lt;/a&gt;,
176 &lt;a href=&quot;http://beta.frikanalen.no/video/625599/&quot;&gt;Tor&lt;/a&gt;,
177 &lt;a href=&quot;http://beta.frikanalen.no/video/624019/&quot;&gt;OpenID&lt;/A&gt;,
178 &lt;a href=&quot;http://beta.frikanalen.no/video/625624/&quot;&gt;Common Lisp&lt;/a&gt;,
179 &lt;a href=&quot;http://beta.frikanalen.no/video/625446/&quot;&gt;Civic Tech&lt;/a&gt;,
180 &lt;a href=&quot;http://beta.frikanalen.no/video/625090/&quot;&gt;EFF founder John Barlow&lt;/a&gt;,
181 &lt;a href=&quot;http://beta.frikanalen.no/video/625432/&quot;&gt;how to make 3D
182 printer electronics&lt;/a&gt; and many more fascinating topics? It works
183 using only free software (all of it
184 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from Github&lt;/a&gt;), and
185 is administrated using a web browser and a web API.&lt;/p&gt;
186
187 &lt;p&gt;The TV channel is the Norwegian open channel
188 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, and I am involved
189 via &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG member association&lt;/a&gt; in
190 running and developing the software for the channel. The channel is
191 organised as a member organisation where its members can upload and
192 broadcast what they want (think of it as Youtube for national
193 broadcasting television). Individuals can broadcast too. The time
194 slots are handled on a first come, first serve basis. Because the
195 channel have almost no viewers and very few active members, we can
196 experiment with TV technology without too much flack when we make
197 mistakes. And thanks to the few active members, most of the slots on
198 the schedule are free. I see this as an opportunity to spread
199 knowledge about technology and free software, and have a script I run
200 regularly to fill up all the open slots the next few days with
201 technology related video. The end result is a channel I like to
202 describe as Techno TV - filled with interesting talks and
203 presentations.&lt;/p&gt;
204
205 &lt;p&gt;It is available on channel 50 on the Norwegian national digital TV
206 network (RiksTV). It is also available as a multicast stream on
207 Uninett. And finally, it is available as
208 &lt;a href=&quot;http://beta.frikanalen.no/&quot;&gt;a WebM unicast stream&lt;/a&gt; from
209 Frikanalen and NUUG. Check it out. :)&lt;/p&gt;
210 </description>
211 </item>
212
213 <item>
214 <title>Unlocking HTC Desire HD on Linux using unruu and fastboot</title>
215 <link>http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</link>
216 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</guid>
217 <pubDate>Thu, 7 Jul 2016 11:30:00 +0200</pubDate>
218 <description>&lt;p&gt;Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
219 to be a slight challenge. Here is the recipe if I ever need to do it
220 again. It all started by me wanting to try the recipe to set up
221 &lt;a href=&quot;https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy&quot;&gt;an
222 hardened Android installation&lt;/a&gt; from the Tor project blog on a
223 device I had access to. It is a old mobile phone with a broken
224 microphone The initial idea had been to just
225 &lt;a href=&quot;http://wiki.cyanogenmod.org/w/Install_CM_for_ace&quot;&gt;install
226 CyanogenMod on it&lt;/a&gt;, but did not quite find time to start on it
227 until a few days ago.&lt;/p&gt;
228
229 &lt;p&gt;The unlock process is supposed to be simple: (1) Boot into the boot
230 loader (press volume down and power at the same time), (2) select
231 &#39;fastboot&#39; before (3) connecting the device via USB to a Linux
232 machine, (4) request the device identifier token by running &#39;fastboot
233 oem get_identifier_token&#39;, (5) request the device unlocking key using
234 the &lt;a href=&quot;http://www.htcdev.com/bootloader/&quot;&gt;HTC developer web
235 site&lt;/a&gt; and unlock the phone using the key file emailed to you.&lt;/p&gt;
236
237 &lt;p&gt;Unfortunately, this only work fi you have hboot version 2.00.0029
238 or newer, and the device I was working on had 2.00.0027. This
239 apparently can be easily fixed by downloading a Windows program and
240 running it on your Windows machine, if you accept the terms Microsoft
241 require you to accept to use Windows - which I do not. So I had to
242 come up with a different approach. I got a lot of help from AndyCap
243 on #nuug, and would not have been able to get this working without
244 him.&lt;/p&gt;
245
246 &lt;p&gt;First I needed to extract the hboot firmware from
247 &lt;a href=&quot;http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe&quot;&gt;the
248 windows binary for HTC Desire HD&lt;/a&gt; downloaded as &#39;the RUU&#39; from HTC.
249 For this there is is &lt;a href=&quot;https://github.com/kmdm/unruu/&quot;&gt;a github
250 project named unruu&lt;/a&gt; using libunshield. The unshield tool did not
251 recognise the file format, but unruu worked and extracted rom.zip,
252 containing the new hboot firmware and a text file describing which
253 devices it would work for.&lt;/p&gt;
254
255 &lt;p&gt;Next, I needed to get the new firmware into the device. For this I
256 followed some instructions
257 &lt;a href=&quot;http://www.htc1guru.com/2013/09/new-ruu-zips-posted/&quot;&gt;available
258 from HTC1Guru.com&lt;/a&gt;, and ran these commands as root on a Linux
259 machine with Debian testing:&lt;/p&gt;
260
261 &lt;p&gt;&lt;pre&gt;
262 adb reboot-bootloader
263 fastboot oem rebootRUU
264 fastboot flash zip rom.zip
265 fastboot flash zip rom.zip
266 fastboot reboot
267 &lt;/pre&gt;&lt;/p&gt;
268
269 &lt;p&gt;The flash command apparently need to be done twice to take effect,
270 as the first is just preparations and the second one do the flashing.
271 The adb command is just to get to the boot loader menu, so turning the
272 device on while holding volume down and the power button should work
273 too.&lt;/p&gt;
274
275 &lt;p&gt;With the new hboot version in place I could start following the
276 instructions on the HTC developer web site. I got the device token
277 like this:&lt;/p&gt;
278
279 &lt;p&gt;&lt;pre&gt;
280 fastboot oem get_identifier_token 2&gt;&amp;1 | sed &#39;s/(bootloader) //&#39;
281 &lt;/pre&gt;
282
283 &lt;p&gt;And once I got the unlock code via email, I could use it like
284 this:&lt;/p&gt;
285
286 &lt;p&gt;&lt;pre&gt;
287 fastboot flash unlocktoken Unlock_code.bin
288 &lt;/pre&gt;&lt;/p&gt;
289
290 &lt;p&gt;And with that final step in place, the phone was unlocked and I
291 could start stuffing the software of my own choosing into the device.
292 So far I only inserted a replacement recovery image to wipe the phone
293 before I start. We will see what happen next. Perhaps I should
294 install &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; on it. :)&lt;/p&gt;
295 </description>
296 </item>
297
298 <item>
299 <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
300 <link>http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</link>
301 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_use_the_Signal_app_if_you_only_have_a_land_line__ie_no_mobile_phone_.html</guid>
302 <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
303 <description>&lt;p&gt;For a while now, I have wanted to test
304 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;the Signal app&lt;/a&gt;, as it is
305 said to provide end to end encrypted communication and several of my
306 friends and family are already using it. As I by choice do not own a
307 mobile phone, this proved to be harder than expected. And I wanted to
308 have the source of the client and know that it was the code used on my
309 machine. But yesterday I managed to get it working. I used the
310 Github source, compared it to the source in
311 &lt;a href=&quot;https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US&quot;&gt;the
312 Signal Chrome app&lt;/a&gt; available from the Chrome web store, applied
313 patches to use the production Signal servers, started the app and
314 asked for the hidden &quot;register without a smart phone&quot; form. Here is
315 the recipe how I did it.&lt;/p&gt;
316
317 &lt;p&gt;First, I fetched the Signal desktop source from Github, using
318
319 &lt;pre&gt;
320 git clone https://github.com/WhisperSystems/Signal-Desktop.git
321 &lt;/pre&gt;
322
323 &lt;p&gt;Next, I patched the source to use the production servers, to be
324 able to talk to other Signal users:&lt;/p&gt;
325
326 &lt;pre&gt;
327 cat &amp;lt;&amp;lt;EOF | patch -p0
328 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
329 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
330 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
331 @@ -47,8 +47,8 @@
332 });
333 });
334
335 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
336 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
337 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org:4433&#39;;
338 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
339 var messageReceiver;
340 window.getSocketStatus = function() {
341 if (messageReceiver) {
342 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
343 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
344 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
345 @@ -1,6 +1,6 @@
346 ;(function() {
347 &#39;use strict&#39;;
348 - var BUILD_EXPIRATION = 0;
349 + var BUILD_EXPIRATION = 1474492690000;
350
351 window.extension = window.extension || {};
352
353 EOF
354 &lt;/pre&gt;
355
356 &lt;p&gt;The first part is changing the servers, and the second is updating
357 an expiration timestamp. This timestamp need to be updated regularly.
358 It is set 90 days in the future by the build process (Gruntfile.js).
359 The value is seconds since 1970 times 1000, as far as I can tell.&lt;/p&gt;
360
361 &lt;p&gt;Based on a tip and good help from the #nuug IRC channel, I wrote a
362 script to launch Signal in Chromium.&lt;/p&gt;
363
364 &lt;pre&gt;
365 #!/bin/sh
366 cd $(dirname $0)
367 mkdir -p userdata
368 exec chromium \
369 --proxy-server=&quot;socks://localhost:9050&quot; \
370 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
371 &lt;/pre&gt;
372
373 &lt;p&gt; The script start the app and configure Chromium to use the Tor
374 SOCKS5 proxy to make sure those controlling the Signal servers (today
375 Amazon and Whisper Systems) as well as those listening on the lines
376 will have a harder time location my laptop based on the Signal
377 connections if they use source IP address.&lt;/p&gt;
378
379 &lt;p&gt;When the script starts, one need to follow the instructions under
380 &quot;Standalone Registration&quot; in the CONTRIBUTING.md file in the git
381 repository. I right clicked on the Signal window to get up the
382 Chromium debugging tool, visited the &#39;Console&#39; tab and wrote
383 &#39;extension.install(&quot;standalone&quot;)&#39; on the console prompt to get the
384 registration form. Then I entered by land line phone number and
385 pressed &#39;Call&#39;. 5 seconds later the phone rang and a robot voice
386 repeated the verification code three times. After entering the number
387 into the verification code field in the form, I could start using
388 Signal from my laptop.
389
390 &lt;p&gt;As far as I can tell, The Signal app will leak who is talking to
391 whom and thus who know who to those controlling the central server,
392 but such leakage is hard to avoid with a centrally controlled server
393 setup. It is something to keep in mind when using Signal - the
394 content of your chats are harder to intercept, but the meta data
395 exposing your contact network is available to people you do not know.
396 So better than many options, but not great. And sadly the usage is
397 connected to my land line, thus allowing those controlling the server
398 to associate it to my home and person. I would prefer it if only
399 those I knew could tell who I was on Signal. There are options
400 avoiding such information leakage, but most of my friends are not
401 using them, so I am stuck with Signal for now.&lt;/p&gt;
402 </description>
403 </item>
404
405 <item>
406 <title>The new &quot;best&quot; multimedia player in Debian?</title>
407 <link>http://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</link>
408 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_new__best__multimedia_player_in_Debian_.html</guid>
409 <pubDate>Mon, 6 Jun 2016 12:50:00 +0200</pubDate>
410 <description>&lt;p&gt;When I set out a few weeks ago to figure out
411 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_the_best_multimedia_player_in_Debian_.html&quot;&gt;which
412 multimedia player in Debian claimed to support most file formats /
413 MIME types&lt;/a&gt;, I was a bit surprised how varied the sets of MIME types
414 the various players claimed support for. The range was from 55 to 130
415 MIME types. I suspect most media formats are supported by all
416 players, but this is not really reflected in the MimeTypes values in
417 their desktop files. There are probably also some bogus MIME types
418 listed, but it is hard to identify which one this is.&lt;/p&gt;
419
420 &lt;p&gt;Anyway, in the mean time I got in touch with upstream for some of
421 the players suggesting to add more MIME types to their desktop files,
422 and decided to spend some time myself improving the situation for my
423 favorite media player VLC. The fixes for VLC entered Debian unstable
424 yesterday. The complete list of MIME types can be seen on the
425 &lt;a href=&quot;https://wiki.debian.org/DebianMultimedia/PlayerSupport&quot;&gt;Multimedia
426 player MIME type support status&lt;/a&gt; Debian wiki page.&lt;/p&gt;
427
428 &lt;p&gt;The new &quot;best&quot; multimedia player in Debian? It is VLC, followed by
429 totem, parole, kplayer, gnome-mpv, mpv, smplayer, mplayer-gui and
430 kmplayer. I am sure some of the other players desktop files support
431 several of the formats currently listed as working only with vlc,
432 toten and parole.&lt;/p&gt;
433
434 &lt;p&gt;A sad observation is that only 14 MIME types are listed as
435 supported by all the tested multimedia players in Debian in their
436 desktop files: audio/mpeg, audio/vnd.rn-realaudio, audio/x-mpegurl,
437 audio/x-ms-wma, audio/x-scpls, audio/x-wav, video/mp4, video/mpeg,
438 video/quicktime, video/vnd.rn-realvideo, video/x-matroska,
439 video/x-ms-asf, video/x-ms-wmv and video/x-msvideo. Personally I find
440 it sad that video/ogg and video/webm is not supported by all the media
441 players in Debian. As far as I can tell, all of them can handle both
442 formats.&lt;/p&gt;
443 </description>
444 </item>
445
446 <item>
447 <title>A program should be able to open its own files on Linux</title>
448 <link>http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</link>
449 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</guid>
450 <pubDate>Sun, 5 Jun 2016 08:30:00 +0200</pubDate>
451 <description>&lt;p&gt;Many years ago, when koffice was fresh and with few users, I
452 decided to test its presentation tool when making the slides for a
453 talk I was giving for NUUG on Japhar, a free Java virtual machine. I
454 wrote the first draft of the slides, saved the result and went to bed
455 the day before I would give the talk. The next day I took a plane to
456 the location where the meeting should take place, and on the plane I
457 started up koffice again to polish the talk a bit, only to discover
458 that kpresenter refused to load its own data file. I cursed a bit and
459 started making the slides again from memory, to have something to
460 present when I arrived. I tested that the saved files could be
461 loaded, and the day seemed to be rescued. I continued to polish the
462 slides until I suddenly discovered that the saved file could no longer
463 be loaded into kpresenter. In the end I had to rewrite the slides
464 three times, condensing the content until the talk became shorter and
465 shorter. After the talk I was able to pinpoint the problem &amp;ndash;
466 kpresenter wrote inline images in a way itself could not understand.
467 Eventually that bug was fixed and kpresenter ended up being a great
468 program to make slides. The point I&#39;m trying to make is that we
469 expect a program to be able to load its own data files, and it is
470 embarrassing to its developers if it can&#39;t.&lt;/p&gt;
471
472 &lt;p&gt;Did you ever experience a program failing to load its own data
473 files from the desktop file browser? It is not a uncommon problem. A
474 while back I discovered that the screencast recorder
475 gtk-recordmydesktop would save an Ogg Theora video file the KDE file
476 browser would refuse to open. No video player claimed to understand
477 such file. I tracked down the cause being &lt;tt&gt;file --mime-type&lt;/tt&gt;
478 returning the application/ogg MIME type, which no video player I had
479 installed listed as a MIME type they would understand. I asked for
480 &lt;a href=&quot;http://bugs.gw.com/view.php?id=382&quot;&gt;file to change its
481 behavour&lt;/a&gt; and use the MIME type video/ogg instead. I also asked
482 several video players to add video/ogg to their desktop files, to give
483 the file browser an idea what to do about Ogg Theora files. After a
484 while, the desktop file browsers in Debian started to handle the
485 output from gtk-recordmydesktop properly.&lt;/p&gt;
486
487 &lt;p&gt;But history repeats itself. A few days ago I tested the music
488 system Rosegarden again, and I discovered that the KDE and xfce file
489 browsers did not know what to do with the Rosegarden project files
490 (*.rg). I&#39;ve reported &lt;a href=&quot;http://bugs.debian.org/825993&quot;&gt;the
491 rosegarden problem to BTS&lt;/a&gt; and a fix is commited to git and will be
492 included in the next upload. To increase the chance of me remembering
493 how to fix the problem next time some program fail to load its files
494 from the file browser, here are some notes on how to fix it.&lt;/p&gt;
495
496 &lt;p&gt;The file browsers in Debian in general operates on MIME types.
497 There are two sources for the MIME type of a given file. The output from
498 &lt;tt&gt;file --mime-type&lt;/tt&gt; mentioned above, and the content of the
499 shared MIME type registry (under /usr/share/mime/). The file MIME
500 type is mapped to programs supporting the MIME type, and this
501 information is collected from
502 &lt;a href=&quot;https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/&quot;&gt;the
503 desktop files&lt;/a&gt; available in /usr/share/applications/. If there is
504 one desktop file claiming support for the MIME type of the file, it is
505 activated when asking to open a given file. If there are more, one
506 can normally select which one to use by right-clicking on the file and
507 selecting the wanted one using &#39;Open with&#39; or similar. In general
508 this work well. But it depend on each program picking a good MIME
509 type (preferably
510 &lt;a href=&quot;http://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;a
511 MIME type registered with IANA&lt;/a&gt;), file and/or the shared MIME
512 registry recognizing the file and the desktop file to list the MIME
513 type in its list of supported MIME types.&lt;/p&gt;
514
515 &lt;p&gt;The &lt;tt&gt;/usr/share/mime/packages/rosegarden.xml&lt;/tt&gt; entry for
516 &lt;a href=&quot;http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec&quot;&gt;the
517 Shared MIME database&lt;/a&gt; look like this:&lt;/p&gt;
518
519 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
520 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
521 &amp;lt;mime-info xmlns=&quot;http://www.freedesktop.org/standards/shared-mime-info&quot;&amp;gt;
522 &amp;lt;mime-type type=&quot;audio/x-rosegarden&quot;&amp;gt;
523 &amp;lt;sub-class-of type=&quot;application/x-gzip&quot;/&amp;gt;
524 &amp;lt;comment&amp;gt;Rosegarden project file&amp;lt;/comment&amp;gt;
525 &amp;lt;glob pattern=&quot;*.rg&quot;/&amp;gt;
526 &amp;lt;/mime-type&amp;gt;
527 &amp;lt;/mime-info&amp;gt;
528 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
529
530 &lt;p&gt;This states that audio/x-rosegarden is a kind of application/x-gzip
531 (it is a gzipped XML file). Note, it is much better to use an
532 official MIME type registered with IANA than it is to make up ones own
533 unofficial ones like the x-rosegarden type used by rosegarden.&lt;/p&gt;
534
535 &lt;p&gt;The desktop file of the rosegarden program failed to list
536 audio/x-rosegarden in its list of supported MIME types, causing the
537 file browsers to have no idea what to do with *.rg files:&lt;/p&gt;
538
539 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
540 % grep Mime /usr/share/applications/rosegarden.desktop
541 MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
542 X-KDE-NativeMimeType=audio/x-rosegarden-composition
543 %
544 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
545
546 &lt;p&gt;The fix was to add &quot;audio/x-rosegarden;&quot; at the end of the
547 MimeType= line.&lt;/p&gt;
548
549 &lt;p&gt;If you run into a file which fail to open the correct program when
550 selected from the file browser, please check out the output from
551 &lt;tt&gt;file --mime-type&lt;/tt&gt; for the file, ensure the file ending and
552 MIME type is registered somewhere under /usr/share/mime/ and check
553 that some desktop file under /usr/share/applications/ is claiming
554 support for this MIME type. If not, please report a bug to have it
555 fixed. :)&lt;/p&gt;
556 </description>
557 </item>
558
559 <item>
560 <title>Tor - from its creators mouth 11 years ago</title>
561 <link>http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</link>
562 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html</guid>
563 <pubDate>Sat, 28 May 2016 14:20:00 +0200</pubDate>
564 <description>&lt;p&gt;A little more than 11 years ago, one of the creators of Tor, and
565 the current President of &lt;a href=&quot;https://www.torproject.org/&quot;&gt;the Tor
566 project&lt;/a&gt;, Roger Dingledine, gave a talk for the members of the
567 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User group&lt;/a&gt; (NUUG). A
568 video of the talk was recorded, and today, thanks to the great help
569 from David Noble, I finally was able to publish the video of the talk
570 on Frikanalen, the Norwegian open channel TV station where NUUG
571 currently publishes its talks. You can
572 &lt;a href=&quot;http://frikanalen.no/se&quot;&gt;watch the live stream using a web
573 browser&lt;/a&gt; with WebM support, or check out the recording on the video
574 on demand page for the talk
575 &quot;&lt;a href=&quot;http://beta.frikanalen.no/video/625599&quot;&gt;Tor: Anonymous
576 communication for the US Department of Defence...and you.&lt;/a&gt;&quot;.&lt;/p&gt;
577
578 &lt;p&gt;Here is the video included for those of you using browsers with
579 HTML video and Ogg Theora support:&lt;/p&gt;
580
581 &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;
582 &lt;source src=&quot;http://simula.gunkies.org/media/625599/theora/20050421-tor-frikanalen.ogv&quot; type=&quot;video/ogg&quot;/&gt;
583 &lt;/video&gt;&lt;/p&gt;
584
585 &lt;p&gt;I guess the gist of the talk can be summarised quite simply: If you
586 want to help the military in USA (and everyone else), use Tor. :)&lt;/p&gt;
587 </description>
588 </item>
589
590 <item>
591 <title>Isenkram with PackageKit support - new version 0.23 available in Debian unstable</title>
592 <link>http://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</link>
593 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram_with_PackageKit_support___new_version_0_23_available_in_Debian_unstable.html</guid>
594 <pubDate>Wed, 25 May 2016 10:20:00 +0200</pubDate>
595 <description>&lt;p&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;The isenkram
596 system&lt;/a&gt; is a user-focused solution in Debian for handling hardware
597 related packages. The idea is to have a database of mappings between
598 hardware and packages, and pop up a dialog suggesting for the user to
599 install the packages to use a given hardware dongle. Some use cases
600 are when you insert a Yubikey, it proposes to install the software
601 needed to control it; when you insert a braille reader list it
602 proposes to install the packages needed to send text to the reader;
603 and when you insert a ColorHug screen calibrator it suggests to
604 install the driver for it. The system work well, and even have a few
605 command line tools to install firmware packages and packages for the
606 hardware already in the machine (as opposed to hotpluggable hardware).&lt;/p&gt;
607
608 &lt;p&gt;The system was initially written using aptdaemon, because I found
609 good documentation and example code on how to use it. But aptdaemon
610 is going away and is generally being replaced by
611 &lt;a href=&quot;http://www.freedesktop.org/software/PackageKit/&quot;&gt;PackageKit&lt;/a&gt;,
612 so Isenkram needed a rewrite. And today, thanks to the great patch
613 from my college Sunil Mohan Adapa in the FreedomBox project, the
614 rewrite finally took place. I&#39;ve just uploaded a new version of
615 Isenkram into Debian Unstable with the patch included, and the default
616 for the background daemon is now to use PackageKit. To check it out,
617 install the &lt;tt&gt;isenkram&lt;/tt&gt; package and insert some hardware dongle
618 and see if it is recognised.&lt;/p&gt;
619
620 &lt;p&gt;If you want to know what kind of packages isenkram would propose for
621 the machine it is running on, you can check out the isenkram-lookup
622 program. This is what it look like on a Thinkpad X230:&lt;/p&gt;
623
624 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
625 % isenkram-lookup
626 bluez
627 cheese
628 fprintd
629 fprintd-demo
630 gkrellm-thinkbat
631 hdapsd
632 libpam-fprintd
633 pidgin-blinklight
634 thinkfan
635 tleds
636 tp-smapi-dkms
637 tp-smapi-source
638 tpb
639 %p
640 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
641
642 &lt;p&gt;The hardware mappings come from several places. The preferred way
643 is for packages to announce their hardware support using
644 &lt;a href=&quot;https://www.freedesktop.org/software/appstream/docs/&quot;&gt;the
645 cross distribution appstream system&lt;/a&gt;.
646 See
647 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;previous
648 blog posts about isenkram&lt;/a&gt; to learn how to do that.&lt;/p&gt;
649 </description>
650 </item>
651
652 </channel>
653 </rss>