]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Generated.
[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>Experience and updated recipe for Using the Signal app without a mobile phone</title>
11 <link>http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_Using_the_Signal_app_without_a_mobile_phone.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_Using_the_Signal_app_without_a_mobile_phone.html</guid>
13 <pubDate>Mon, 10 Oct 2016 11:30:00 +0200</pubDate>
14 <description>&lt;p&gt;In July
15 &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
16 wrote how to get the Signal Chrome/Chromium app working&lt;/a&gt; without
17 the ability to receive SMS messages (aka without a cell phone). It is
18 time to share some experiences and provide an updated setup.&lt;/p&gt;
19
20 &lt;p&gt;The Signal app have worked fine for several months now, and I use
21 it regularly to chat with my loved ones. I had a major snag at the
22 end of my summer vacation, when the the app completely forgot my
23 setup, identify and keys. The reason behind this major mess was
24 running out of disk space. To avoid that ever happening again I have
25 started storing everything in &lt;tt&gt;userdata/&lt;/tt&gt; in git, to be able to
26 roll back to an earlier version if the files are wiped by mistake. I
27 had to use it once after introducing the git backup. When rolling
28 back to an earlier version, one need to use the &#39;reset session&#39; option
29 in Signal to get going, and notify the people you talk with about the
30 problem. I assume there is some sequence number tracking in the
31 protocol to detect rollback attacks. The git repository is rather big
32 (674 MiB so far), but I have not tried to figure out if some of the
33 content can be added to a .gitignore file due to lack of spare
34 time.&lt;/p&gt;
35
36 &lt;p&gt;I&#39;ve also hit the 90 days timeout blocking, and noticed that this
37 make it impossible to send messages using Signal. I could still
38 receive them, but had to patch the code with a new timestamp to send.
39 I believe the timeout is added by the developers to force people to
40 upgrade to the latest version of the app, even when there is no
41 protocol changes, to reduce the version skew among the user base and
42 thus try to keep the number of support requests down.&lt;/p&gt;
43
44 &lt;p&gt;Since my original recipe, the Signal source code changed slightly,
45 making the old patch fail to apply cleanly. Below is an updated
46 patch, including the shell wrapper I use to start Signal. The
47 original version required a new user to locate the JavaScript console
48 and call a function from there. I got help from a friend with more
49 JavaScript knowledge than me to modify the code to provide a GUI
50 button instead. This mean that to get started you just need to run
51 the wrapper and click the &#39;Register without mobile phone&#39; to get going
52 now. I&#39;ve also modified the timeout code to always set it to 90 days
53 in the future, to avoid having to patch the code regularly.&lt;/p&gt;
54
55 &lt;p&gt;So, the updated recipe for Debian Jessie:&lt;/p&gt;
56
57 &lt;ol&gt;
58
59 &lt;li&gt;First, install required packages to get the source code and the
60 browser you need. Signal only work with Chrome/Chromium, as far as I
61 know, so you need to install it.
62
63 &lt;pre&gt;
64 apt install git tor chromium
65 git clone https://github.com/WhisperSystems/Signal-Desktop.git
66 &lt;/pre&gt;&lt;/li&gt;
67
68 &lt;li&gt;Modify the source code using command listed in the the patch
69 block below.&lt;/li&gt;
70
71 &lt;li&gt;Start Signal using the run-signal-app wrapper (for example using
72 &lt;tt&gt;`pwd`/run-signal-app&lt;/tt&gt;).
73
74 &lt;li&gt;Click on the &#39;Register without mobile phone&#39;, will in a phone
75 number you can receive calls to the next minute, receive the
76 verification code and enter it into the form field and press
77 &#39;Register&#39;. Note, the phone number you use will be user Signal
78 username, ie the way others can find you on Signal.&lt;/li&gt;
79
80 &lt;li&gt;You can now use Signal to contact others. Note, new contacts do
81 not show up in the contact list until you restart Signal, and there is
82 no way to assign names to Contacts. There is also no way to create or
83 update chat groups. I suspect this is because the web app do not have
84 a associated contact database.&lt;/li&gt;
85
86 &lt;/ol&gt;
87
88 &lt;p&gt;I am still a bit uneasy about using Signal, because of the way its
89 main author moxie0 reject federation and accept dependencies to major
90 corporations like Google (part of the code is fetched from Google) and
91 Amazon (the central coordination point is owned by Amazon). See for
92 example
93 &lt;a href=&quot;https://github.com/LibreSignal/LibreSignal/issues/37&quot;&gt;the
94 LibreSignal issue tracker&lt;/a&gt; for a thread documenting the authors
95 view on these issues. But the network effect is strong in this case,
96 and several of the people I want to communicate with already use
97 Signal. Perhaps we can all move to &lt;a href=&quot;https://ring.cx/&quot;&gt;Ring&lt;/a&gt;
98 once it &lt;a href=&quot;https://bugs.debian.org/830265&quot;&gt;work on my
99 laptop&lt;/a&gt;? It already work on Windows and Android, and is included
100 in &lt;a href=&quot;https://tracker.debian.org/pkg/ring&quot;&gt;Debian&lt;/a&gt; and
101 &lt;a href=&quot;https://launchpad.net/ubuntu/+source/ring&quot;&gt;Ubuntu&lt;/a&gt;, but not
102 working on Debian Stable.&lt;/p&gt;
103
104 &lt;p&gt;Anyway, this is the patch I apply to the Signal code to get it
105 working. It switch to the production servers, disable to timeout,
106 make registration easier and add the shell wrapper:&lt;/p&gt;
107
108 &lt;pre&gt;
109 cd Signal-Desktop; cat &amp;lt;&amp;lt;EOF | patch -p1
110 diff --git a/js/background.js b/js/background.js
111 index 24b4c1d..579345f 100644
112 --- a/js/background.js
113 +++ b/js/background.js
114 @@ -33,9 +33,9 @@
115 });
116 });
117
118 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
119 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org&#39;;
120 var SERVER_PORTS = [80, 4433, 8443];
121 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
122 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
123 var messageReceiver;
124 window.getSocketStatus = function() {
125 if (messageReceiver) {
126 diff --git a/js/expire.js b/js/expire.js
127 index 639aeae..beb91c3 100644
128 --- a/js/expire.js
129 +++ b/js/expire.js
130 @@ -1,6 +1,6 @@
131 ;(function() {
132 &#39;use strict&#39;;
133 - var BUILD_EXPIRATION = 0;
134 + var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
135
136 window.extension = window.extension || {};
137
138 diff --git a/js/views/install_view.js b/js/views/install_view.js
139 index 7816f4f..1d6233b 100644
140 --- a/js/views/install_view.js
141 +++ b/js/views/install_view.js
142 @@ -38,7 +38,8 @@
143 return {
144 &#39;click .step1&#39;: this.selectStep.bind(this, 1),
145 &#39;click .step2&#39;: this.selectStep.bind(this, 2),
146 - &#39;click .step3&#39;: this.selectStep.bind(this, 3)
147 + &#39;click .step3&#39;: this.selectStep.bind(this, 3),
148 + &#39;click .callreg&#39;: function() { extension.install(&#39;standalone&#39;) },
149 };
150 },
151 clearQR: function() {
152 diff --git a/options.html b/options.html
153 index dc0f28e..8d709f6 100644
154 --- a/options.html
155 +++ b/options.html
156 @@ -14,7 +14,10 @@
157 &amp;lt;div class=&#39;nav&#39;&gt;
158 &amp;lt;h1&gt;{{ installWelcome }}&amp;lt;/h1&gt;
159 &amp;lt;p&gt;{{ installTagline }}&amp;lt;/p&gt;
160 - &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt; &amp;lt;/div&gt;
161 + &amp;lt;div&gt; &amp;lt;a class=&#39;button step2&#39;&gt;{{ installGetStartedButton }}&amp;lt;/a&gt;
162 + &amp;lt;br&gt; &amp;lt;a class=&quot;button callreg&quot;&gt;Register without mobile phone&amp;lt;/a&gt;
163 +
164 + &amp;lt;/div&gt;
165 &amp;lt;span class=&#39;dot step1 selected&#39;&gt;&amp;lt;/span&gt;
166 &amp;lt;span class=&#39;dot step2&#39;&gt;&amp;lt;/span&gt;
167 &amp;lt;span class=&#39;dot step3&#39;&gt;&amp;lt;/span&gt;
168 --- /dev/null 2016-10-07 09:55:13.730181472 +0200
169 +++ b/run-signal-app 2016-10-10 08:54:09.434172391 +0200
170 @@ -0,0 +1,12 @@
171 +#!/bin/sh
172 +set -e
173 +cd $(dirname $0)
174 +mkdir -p userdata
175 +userdata=&quot;`pwd`/userdata&quot;
176 +if [ -d &quot;$userdata&quot; ] &amp;&amp; [ ! -d &quot;$userdata/.git&quot; ] ; then
177 + (cd $userdata &amp;&amp; git init)
178 +fi
179 +(cd $userdata &amp;&amp; git add . &amp;&amp; git commit -m &quot;Current status.&quot; || true)
180 +exec chromium \
181 + --proxy-server=&quot;socks://localhost:9050&quot; \
182 + --user-data-dir=$userdata --load-and-launch-app=`pwd`
183 EOF
184 chmod a+rx run-signal-app
185 &lt;/pre&gt;
186
187 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
188 activities, please send Bitcoin donations to my address
189 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&amp;label=PetterReinholdtsenBlog&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
190 </description>
191 </item>
192
193 <item>
194 <title>NRKs kildevern når NRK-epost deles med utenlands etterretning?</title>
195 <link>http://people.skolelinux.org/pere/blog/NRKs_kildevern_n_r_NRK_epost_deles_med_utenlands_etterretning_.html</link>
196 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/NRKs_kildevern_n_r_NRK_epost_deles_med_utenlands_etterretning_.html</guid>
197 <pubDate>Sat, 8 Oct 2016 08:15:00 +0200</pubDate>
198 <description>&lt;p&gt;NRK
199 &lt;a href=&quot;https://nrkbeta.no/2016/09/02/securing-whistleblowers/&quot;&gt;lanserte
200 for noen uker siden&lt;/a&gt; en ny
201 &lt;a href=&quot;https://www.nrk.no/varsle/&quot;&gt;varslerportal som bruker
202 SecureDrop til å ta imot tips&lt;/a&gt; der det er vesentlig at ingen
203 utenforstående får vite at NRK er tipset. Det er et langt steg
204 fremover for NRK, og når en leser bloggposten om hva de har tenkt på
205 og hvordan løsningen er satt opp virker det som om de har gjort en
206 grundig jobb der. Men det er ganske mye ekstra jobb å motta tips via
207 SecureDrop, så varslersiden skriver &quot;Nyhetstips som ikke krever denne
208 typen ekstra vern vil vi gjerne ha på nrk.no/03030&quot;, og 03030-siden
209 foreslår i tillegg til et webskjema å bruke epost, SMS, telefon,
210 personlig oppmøte og brevpost. Denne artikkelen handler disse andre
211 metodene.&lt;/p&gt;
212
213 &lt;p&gt;Når en sender epost til en @nrk.no-adresse så vil eposten sendes ut
214 av landet til datamaskiner kontrollert av Microsoft. En kan sjekke
215 dette selv ved å slå opp epostleveringsadresse (MX) i DNS. For NRK er
216 dette i dag &quot;nrk-no.mail.protection.outlook.com&quot;. NRK har som en ser
217 valgt å sette bort epostmottaket sitt til de som står bak outlook.com,
218 dvs. Microsoft. En kan sjekke hvor nettverkstrafikken tar veien
219 gjennom Internett til epostmottaket vha. programmet
220 &lt;tt&gt;traceroute&lt;/tt&gt;, og finne ut hvem som eier en Internett-adresse
221 vha. whois-systemet. Når en gjør dette for epost-trafikk til @nrk.no
222 ser en at trafikken fra Norge mot nrk-no.mail.protection.outlook.com
223 går via Sverige mot enten Irland eller Tyskland (det varierer fra gang
224 til gang og kan endre seg over tid).&lt;/p&gt;
225
226 &lt;p&gt;Vi vet fra
227 &lt;a href=&quot;https://no.wikipedia.org/wiki/FRA-loven&quot;&gt;introduksjonen av
228 FRA-loven&lt;/a&gt; at IP-trafikk som passerer grensen til Sverige avlyttes
229 av Försvarets radioanstalt (FRA). Vi vet videre takket være
230 Snowden-bekreftelsene at trafikk som passerer grensen til
231 Storbritannia avlyttes av Government Communications Headquarters
232 (GCHQ). I tillegg er er det nettopp lansert et forslag i Norge om at
233 forsvarets E-tjeneste skal få avlytte trafikk som krysser grensen til
234 Norge. Jeg er ikke kjent med dokumentasjon på at Irland og Tyskland
235 gjør det samme. Poenget er uansett at utenlandsk etterretning har
236 mulighet til å snappe opp trafikken når en sender epost til @nrk.no.
237 I tillegg er det selvsagt tilgjengelig for Microsoft som er underlagt USAs
238 jurisdiksjon og
239 &lt;a href=&quot;https://www.theguardian.com/world/2013/jul/11/microsoft-nsa-collaboration-user-data&quot;&gt;samarbeider
240 med USAs etterretning på flere områder&lt;/a&gt;. De som tipser NRK om
241 nyheter via epost kan dermed gå ut fra at det blir kjent for mange
242 andre enn NRK at det er gjort.&lt;/p&gt;
243
244 &lt;p&gt;Bruk av SMS og telefon registreres av blant annet telefonselskapene
245 og er tilgjengelig i følge lov og forskrift for blant annet Politi,
246 NAV og Finanstilsynet, i tillegg til IT-folkene hos telefonselskapene
247 og deres overordnede. Hvis innringer eller mottaker bruker
248 smarttelefon vil slik kontakt også gjøres tilgjengelig for ulike
249 app-leverandører og de som lytter på trafikken mellom telefon og
250 app-leverandør, alt etter hva som er installert på telefonene som
251 brukes.&lt;/p&gt;
252
253 &lt;p&gt;Brevpost kan virke trygt, og jeg vet ikke hvor mye som registreres
254 og lagres av postens datastyrte postsorteringssentraler. Det vil ikke
255 overraske meg om det lagres hvor i landet hver konvolutt kommer fra og
256 hvor den er adressert, i hvert fall for en kortere periode. Jeg vet
257 heller ikke hvem slik informasjon gjøres tilgjengelig for. Det kan
258 være nok til å ringe inn potensielle kilder når det krysses med hvem
259 som kjente til aktuell informasjon og hvor de befant seg (tilgjengelig
260 f.eks. hvis de bærer mobiltelefon eller bor i nærheten).&lt;/p&gt;
261
262 &lt;p&gt;Personlig oppmøte hos en NRK-journalist er antagelig det tryggeste,
263 men en bør passe seg for å bruke NRK-kantina. Der bryter de nemlig
264 &lt;a href=&quot;http://www.lovdata.no/all/hl-19850524-028.html#14&quot;&gt;Sentralbanklovens
265 paragraf 14&lt;/a&gt; og nekter folk å betale med kontanter. I stedet
266 krever de at en varsle sin bankkortutsteder om hvor en befinner seg
267 ved å bruke bankkort. Banktransaksjoner er tilgjengelig for
268 bankkortutsteder (det være seg VISA, Mastercard, Nets og/eller en
269 bank) i tillegg til politiet og i hvert fall tidligere med Se &amp; Hør
270 (via utro tjenere, slik det ble avslørt etter utgivelsen av boken
271 «Livet, det forbannede» av Ken B. Rasmussen). Men hvor mange kjenner
272 en NRK-journalist personlig? Besøk på NRK på Marienlyst krever at en
273 registrerer sin ankost elektronisk i besøkssystemet. Jeg vet ikke hva
274 som skjer med det datasettet, men har grunn til å tro at det sendes ut
275 SMS til den en skal besøke med navnet som er oppgitt. Kanskje greit å
276 oppgi falskt navn.&lt;/p&gt;
277
278 &lt;p&gt;Når så tipset er kommet frem til NRK skal det behandles
279 redaksjonelt i NRK. Der vet jeg via ulike kilder at de fleste
280 journalistene bruker lokalt installert programvare, men noen bruker
281 Google Docs og andre skytjenester i strid med interne retningslinjer
282 når de skriver. Hvordan vet en hvem det gjelder? Ikke vet jeg, men
283 det kan være greit å spørre for å sjekke at journalisten har tenkt på
284 problemstillingen, før en gir et tips. Og hvis tipset omtales internt
285 på epost, er det jo grunn til å tro at også intern eposten vil deles
286 med Microsoft og utenlands etterretning, slik tidligere nevnt, men det
287 kan hende at det holdes internt i NRKs interne MS Exchange-løsning.
288 Men Microsoft ønsker å få alle Exchange-kunder over &quot;i skyen&quot; (eller
289 andre folks datamaskiner, som det jo innebærer), så jeg vet ikke hvor
290 lenge det i så fall vil vare.&lt;/p&gt;
291
292 &lt;p&gt;I tillegg vet en jo at
293 &lt;a href=&quot;https://www.nrk.no/ytring/elektronisk-kildevern-i-nrk-1.11941196&quot;&gt;NRK
294 har valgt å gi nasjonal sikkerhetsmyndighet (NSM) tilgang til å se på
295 intern og ekstern Internett-trafikk&lt;/a&gt; hos NRK ved oppsett av såkalte
296 VDI-noder, på tross av
297 &lt;a href=&quot;https://www.nrk.no/ytring/bekymring-for-nrks-kildevern-1.11941584&quot;&gt;protester
298 fra NRKs journalistlag&lt;/a&gt;. Jeg vet ikke om den vil kunne snappe opp
299 dokumenter som lagres på interne filtjenere eller dokumenter som lages
300 i de interne webbaserte publiseringssystemene, men vet at hva noden
301 ser etter på nettet kontrolleres av NSM og oppdateres automatisk, slik
302 at det ikke gir så mye mening å sjekke hva noden ser etter i dag når
303 det kan endres automatisk i morgen.&lt;/p&gt;
304
305 &lt;p&gt;Personlig vet jeg ikke om jeg hadde turt tipse NRK hvis jeg satt på
306 noe som kunne være en trussel mot den bestående makten i Norge eller
307 verden. Til det virker det å være for mange åpninger for
308 utenforstående med andre prioriteter enn NRKs journalistiske fokus.
309 Og den største truslen for en varsler er jo om metainformasjon kommer
310 på avveie, dvs. informasjon om at en har vært i kontakt med en
311 journalist. Det kan være nok til at en kommer i myndighetenes
312 søkelys, og de færreste har nok operasjonell sikkerhet til at vil tåle
313 slik flombelysning på sitt privatliv.&lt;/p&gt;
314 </description>
315 </item>
316
317 <item>
318 <title>Isenkram, Appstream and udev make life as a LEGO builder easier</title>
319 <link>http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</link>
320 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</guid>
321 <pubDate>Fri, 7 Oct 2016 09:50:00 +0200</pubDate>
322 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
323 system&lt;/a&gt; provide a practical and easy way to figure out which
324 packages support the hardware in a given machine. The command line
325 tool &lt;tt&gt;isenkram-lookup&lt;/tt&gt; and the tasksel options provide a
326 convenient way to list and install packages relevant for the current
327 hardware during system installation, both user space packages and
328 firmware packages. The GUI background daemon on the other hand provide
329 a pop-up proposing to install packages when a new dongle is inserted
330 while using the computer. For example, if you plug in a smart card
331 reader, the system will ask if you want to install &lt;tt&gt;pcscd&lt;/tt&gt; if
332 that package isn&#39;t already installed, and if you plug in a USB video
333 camera the system will ask if you want to install &lt;tt&gt;cheese&lt;/tt&gt; if
334 cheese is currently missing. This already work just fine.&lt;/p&gt;
335
336 &lt;p&gt;But Isenkram depend on a database mapping from hardware IDs to
337 package names. When I started no such database existed in Debian, so
338 I made my own data set and included it with the isenkram package and
339 made isenkram fetch the latest version of this database from git using
340 http. This way the isenkram users would get updated package proposals
341 as soon as I learned more about hardware related packages.&lt;/p&gt;
342
343 &lt;p&gt;The hardware is identified using modalias strings. The modalias
344 design is from the Linux kernel where most hardware descriptors are
345 made available as a strings that can be matched using filename style
346 globbing. It handle USB, PCI, DMI and a lot of other hardware related
347 identifiers.&lt;/p&gt;
348
349 &lt;p&gt;The downside to the Isenkram specific database is that there is no
350 information about relevant distribution / Debian version, making
351 isenkram propose obsolete packages too. But along came AppStream, a
352 cross distribution mechanism to store and collect metadata about
353 software packages. When I heard about the proposal, I contacted the
354 people involved and suggested to add a hardware matching rule using
355 modalias strings in the specification, to be able to use AppStream for
356 mapping hardware to packages. This idea was accepted and AppStream is
357 now a great way for a package to announce the hardware it support in a
358 distribution neutral way. I wrote
359 &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
360 recipe on how to add such meta-information&lt;/a&gt; in a blog post last
361 December. If you have a hardware related package in Debian, please
362 announce the relevant hardware IDs using AppStream.&lt;/p&gt;
363
364 &lt;p&gt;In Debian, almost all packages that can talk to a LEGO Mindestorms
365 RCX or NXT unit, announce this support using AppStream. The effect is
366 that when you insert such LEGO robot controller into your Debian
367 machine, Isenkram will propose to install the packages needed to get
368 it working. The intention is that this should allow the local user to
369 start programming his robot controller right away without having to
370 guess what packages to use or which permissions to fix.&lt;/p&gt;
371
372 &lt;p&gt;But when I sat down with my son the other day to program our NXT
373 unit using his Debian Stretch computer, I discovered something
374 annoying. The local console user (ie my son) did not get access to
375 the USB device for programming the unit. This used to work, but no
376 longer in Jessie and Stretch. After some investigation and asking
377 around on #debian-devel, I discovered that this was because udev had
378 changed the mechanism used to grant access to local devices. The
379 ConsoleKit mechanism from &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;
380 no longer applied, because LDAP users no longer was added to the
381 plugdev group during login. Michael Biebl told me that this method
382 was obsolete and the new method used ACLs instead. This was good
383 news, as the plugdev mechanism is a mess when using a remote user
384 directory like LDAP. Using ACLs would make sure a user lost device
385 access when she logged out, even if the user left behind a background
386 process which would retain the plugdev membership with the ConsoleKit
387 setup. Armed with this knowledge I moved on to fix the access problem
388 for the LEGO Mindstorms related packages.&lt;/p&gt;
389
390 &lt;p&gt;The new system uses a udev tag, &#39;uaccess&#39;. It can either be
391 applied directly for a device, or is applied in
392 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
393 LEGO Mindstorms udev rules did not have a class, I decided to add the
394 tag directly in the udev rules files included in the packages. Here
395 is one example. For the nqc C compiler for the RCX, the
396 &lt;tt&gt;/lib/udev/rules.d/60-nqc.rules&lt;/tt&gt; file now look like this:
397
398 &lt;p&gt;&lt;pre&gt;
399 SUBSYSTEM==&quot;usb&quot;, ACTION==&quot;add&quot;, ATTR{idVendor}==&quot;0694&quot;, ATTR{idProduct}==&quot;0001&quot;, \
400 SYMLINK+=&quot;rcx-%k&quot;, TAG+=&quot;uaccess&quot;
401 &lt;/pre&gt;&lt;/p&gt;
402
403 &lt;p&gt;The key part is the &#39;TAG+=&quot;uaccess&quot;&#39; at the end. I suspect all
404 packages using plugdev in their /lib/udev/rules.d/ files should be
405 changed to use this tag (either directly or indirectly via
406 &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;). Perhaps a lintian check should be created
407 to detect this?&lt;/p&gt;
408
409 &lt;p&gt;I&#39;ve been unable to find good documentation on the uaccess feature.
410 It is unclear to me if the uaccess tag is an internal implementation
411 detail like the udev-acl tag used by
412 &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;. If it is, I guess the
413 indirect method is the preferred way. Michael
414 &lt;a href=&quot;https://github.com/systemd/systemd/issues/4288&quot;&gt;asked for more
415 documentation from the systemd project&lt;/a&gt; and I hope it will make
416 this clearer. For now I use the generic classes when they exist and
417 is already handled by &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;, and add the tag
418 directly if no such class exist.&lt;/p&gt;
419
420 &lt;p&gt;To learn more about the isenkram system, please check out
421 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
422 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
423
424 &lt;p&gt;To help out making life for LEGO constructors in Debian easier,
425 please join us on our IRC channel
426 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; and join
427 the &lt;a href=&quot;https://alioth.debian.org/projects/debian-lego/&quot;&gt;Debian
428 LEGO team&lt;/a&gt; in the Alioth project we created yesterday. A mailing
429 list is not yet created, but we are working on it. :)&lt;/p&gt;
430
431 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
432 activities, please send Bitcoin donations to my address
433 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&amp;label=PetterReinholdtsenBlog&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
434 </description>
435 </item>
436
437 <item>
438 <title>Aftenposten-redaktøren med lua i hånda</title>
439 <link>http://people.skolelinux.org/pere/blog/Aftenposten_redakt_ren_med_lua_i_h_nda.html</link>
440 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Aftenposten_redakt_ren_med_lua_i_h_nda.html</guid>
441 <pubDate>Fri, 9 Sep 2016 11:30:00 +0200</pubDate>
442 <description>&lt;p&gt;En av dagens nyheter er at Aftenpostens redaktør Espen Egil Hansen
443 bruker
444 &lt;a href=&quot;https://www.nrk.no/kultur/aftenposten-brukar-heile-forsida-pa-facebook-kritikk-1.13126918&quot;&gt;forsiden
445 av papiravisen på et åpent brev til Facebooks sjef Mark Zuckerberg om
446 Facebooks fjerning av bilder, tekster og sider de ikke liker&lt;/a&gt;. Det
447 må være uvant for redaktøren i avisen Aftenposten å stå med lua i
448 handa og håpe på å bli hørt. Spesielt siden Aftenposten har vært med
449 på å gi Facebook makten de nå demonstrerer at de har. Ved å melde seg
450 inn i Facebook-samfunnet har de sagt ja til bruksvilkårene og inngått
451 en antagelig bindende avtale. Kanskje de skulle lest og vurdert
452 vilkårene litt nærmere før de sa ja, i stedet for å klage over at
453 reglende de har valgt å akseptere blir fulgt? Personlig synes jeg
454 vilkårene er uakseptable og det ville ikke falle meg inn å gå inn på
455 en avtale med slike vilkår. I tillegg til uakseptable vilkår er det
456 mange andre grunner til å unngå Facebook. Du kan finne en solid
457 gjennomgang av flere slike argumenter hos
458 &lt;a href=&quot;https://stallman.org/facebook.html&quot;&gt;Richard Stallmans side om
459 Facebook&lt;/a&gt;.
460
461 &lt;p&gt;Jeg håper flere norske redaktører på samme vis må stå med lua i
462 hånden inntil de forstår at de selv er med på å føre samfunnet på
463 ville veier ved å omfavne Facebook slik de gjør når de omtaler og
464 løfter frem saker fra Facebook, og tar i bruk Facebook som
465 distribusjonskanal for sine nyheter. De bidrar til
466 overvåkningssamfunnet og raderer ut lesernes privatsfære når de lenker
467 til Facebook på sine sider, og låser seg selv inne i en omgivelse der
468 det er Facebook, og ikke redaktøren, som sitter med makta.&lt;/p&gt;
469
470 &lt;p&gt;Men det vil nok ta tid, i et Norge der de fleste nettredaktører
471 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html&quot;&gt;deler
472 sine leseres personopplysinger med utenlands etterretning&lt;/a&gt;.&lt;/p&gt;
473
474 &lt;p&gt;For øvrig burde varsleren Edward Snowden få politisk asyl i
475 Norge.&lt;/p&gt;
476 </description>
477 </item>
478
479 <item>
480 <title>E-tjenesten ber om innsyn i eposten til partiene på Stortinget</title>
481 <link>http://people.skolelinux.org/pere/blog/E_tjenesten_ber_om_innsyn_i_eposten_til_partiene_p__Stortinget.html</link>
482 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/E_tjenesten_ber_om_innsyn_i_eposten_til_partiene_p__Stortinget.html</guid>
483 <pubDate>Tue, 6 Sep 2016 23:00:00 +0200</pubDate>
484 <description>&lt;p&gt;I helga kom det et hårreisende forslag fra Lysne II-utvalget satt
485 ned av Forsvarsdepartementet. Lysne II-utvalget var bedt om å vurdere
486 ønskelista til Forsvarets etterretningstjeneste (e-tjenesten), og har
487 kommet med
488 &lt;a href=&quot;http://www.aftenposten.no/norge/Utvalg-sier-ja-til-at-E-tjenesten-far-overvake-innholdet-i-all-internett--og-telefontrafikk-som-krysser-riksgrensen-603232b.html&quot;&gt;forslag
489 om at e-tjenesten skal få lov til a avlytte all Internett-trafikk&lt;/a&gt;
490 som passerer Norges grenser. Få er klar over at dette innebærer at
491 e-tjenesten får tilgang til epost sendt til de fleste politiske
492 partiene på Stortinget. Regjeringspartiet Høyre (@hoyre.no),
493 støttepartiene Venstre (@venstre.no) og Kristelig Folkeparti (@krf.no)
494 samt Sosialistisk Ventreparti (@sv.no) og Miljøpartiet de grønne
495 (@mdg.no) har nemlig alle valgt å ta imot eposten sin via utenlandske
496 tjenester. Det betyr at hvis noen sender epost til noen med en slik
497 adresse vil innholdet i eposten, om dette forslaget blir vedtatt, gjøres
498 tilgjengelig for e-tjenesten. Venstre, Sosialistisk Ventreparti og
499 Miljøpartiet De Grønne har valgt å motta sin epost hos Google,
500 Kristelig Folkeparti har valgt å motta sin epost hos Microsoft, og
501 Høyre har valgt å motta sin epost hos Comendo med mottak i Danmark og
502 Irland. Kun Arbeiderpartiet og Fremskrittspartiet har valgt å motta
503 eposten sin i Norge, hos henholdsvis Intility AS og Telecomputing
504 AS.&lt;/p&gt;
505
506 &lt;p&gt;Konsekvensen er at epost inn og ut av de politiske organisasjonene,
507 til og fra partimedlemmer og partiets tillitsvalgte vil gjøres
508 tilgjengelig for e-tjenesten for analyse og sortering. Jeg mistenker
509 at kunnskapen som slik blir tilgjengelig vil være nyttig hvis en
510 ønsker å vite hvilke argumenter som treffer publikum når en ønsker å
511 påvirke Stortingets representanter.&lt;/p
512
513 &lt;p&gt;Ved hjelp av MX-oppslag i DNS for epost-domene, tilhørende
514 whois-oppslag av IP-adressene og traceroute for å se hvorvidt
515 trafikken går via utlandet kan enhver få bekreftet at epost sendt til
516 de omtalte partiene vil gjøres tilgjengelig for forsvarets
517 etterretningstjeneste hvis forslaget blir vedtatt. En kan også bruke
518 den kjekke nett-tjenesten &lt;a href=&quot;http://ipinfo.io/&quot;&gt;ipinfo.io&lt;/a&gt;
519 for å få en ide om hvor i verden en IP-adresse hører til.&lt;/p&gt;
520
521 &lt;p&gt;På den positive siden vil forslaget gjøre at enda flere blir
522 motivert til å ta grep for å bruke
523 &lt;a href=&quot;https://www.torproject.org/&quot;&gt;Tor&lt;/a&gt; og krypterte
524 kommunikasjonsløsninger for å kommunisere med sine kjære, for å sikre
525 at privatsfæren vernes. Selv bruker jeg blant annet
526 &lt;a href=&quot;https://www.freedomboxfoundation.org/&quot;&gt;FreedomBox&lt;/a&gt; og
527 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;Signal&lt;/a&gt; til slikt. Ingen av
528 dem er optimale, men de fungerer ganske bra allerede og øker kostnaden
529 for dem som ønsker å invadere mitt privatliv.&lt;/p&gt;
530
531 &lt;p&gt;For øvrig burde varsleren Edward Snowden få politisk asyl i
532 Norge.&lt;/p&gt;
533
534 &lt;!--
535
536 venstre.no
537 venstre.no mail is handled by 10 aspmx.l.google.com.
538 venstre.no mail is handled by 20 alt1.aspmx.l.google.com.
539 venstre.no mail is handled by 20 alt2.aspmx.l.google.com.
540 venstre.no mail is handled by 30 aspmx2.googlemail.com.
541 venstre.no mail is handled by 30 aspmx3.googlemail.com.
542
543 traceroute to aspmx.l.google.com (173.194.222.27), 30 hops max, 60 byte packets
544 1 uio-gw10.uio.no (129.240.6.1) 0.411 ms 0.438 ms 0.536 ms
545 2 uio-gw8.uio.no (129.240.24.229) 0.375 ms 0.452 ms 0.548 ms
546 3 oslo-gw1.uninett.no (128.39.65.17) 1.940 ms 1.950 ms 1.942 ms
547 4 se-tug.nordu.net (109.105.102.108) 6.910 ms 6.949 ms 7.283 ms
548 5 google-gw.nordu.net (109.105.98.6) 6.975 ms 6.967 ms 6.958 ms
549 6 209.85.250.192 (209.85.250.192) 7.337 ms 7.286 ms 10.890 ms
550 7 209.85.254.13 (209.85.254.13) 7.394 ms 209.85.254.31 (209.85.254.31) 7.586 ms 209.85.254.33 (209.85.254.33) 7.570 ms
551 8 209.85.251.255 (209.85.251.255) 15.686 ms 209.85.249.229 (209.85.249.229) 16.118 ms 209.85.251.255 (209.85.251.255) 16.073 ms
552 9 74.125.37.255 (74.125.37.255) 16.794 ms 216.239.40.248 (216.239.40.248) 16.113 ms 74.125.37.44 (74.125.37.44) 16.764 ms
553 10 * * *
554
555 mdg.no
556 mdg.no mail is handled by 1 aspmx.l.google.com.
557 mdg.no mail is handled by 5 alt2.aspmx.l.google.com.
558 mdg.no mail is handled by 5 alt1.aspmx.l.google.com.
559 mdg.no mail is handled by 10 aspmx2.googlemail.com.
560 mdg.no mail is handled by 10 aspmx3.googlemail.com.
561 sv.no
562 sv.no mail is handled by 1 aspmx.l.google.com.
563 sv.no mail is handled by 5 alt1.aspmx.l.google.com.
564 sv.no mail is handled by 5 alt2.aspmx.l.google.com.
565 sv.no mail is handled by 10 aspmx3.googlemail.com.
566 sv.no mail is handled by 10 aspmx2.googlemail.com.
567 hoyre.no
568 hoyre.no mail is handled by 10 hoyre-no.mx1.comendosystems.com.
569 hoyre.no mail is handled by 20 hoyre-no.mx2.comendosystems.net.
570
571 traceroute to hoyre-no.mx1.comendosystems.com (89.104.206.4), 30 hops max, 60 byte packets
572 1 uio-gw10.uio.no (129.240.6.1) 0.450 ms 0.510 ms 0.591 ms
573 2 uio-gw8.uio.no (129.240.24.229) 0.383 ms 0.508 ms 0.596 ms
574 3 oslo-gw1.uninett.no (128.39.65.17) 0.311 ms 0.315 ms 0.300 ms
575 4 se-tug.nordu.net (109.105.102.108) 6.837 ms 6.842 ms 6.834 ms
576 5 dk-uni.nordu.net (109.105.97.10) 26.073 ms 26.085 ms 26.076 ms
577 6 dix.1000m.soeborg.ip.comendo.dk (192.38.7.22) 15.372 ms 15.046 ms 15.123 ms
578 7 89.104.192.65 (89.104.192.65) 15.875 ms 15.990 ms 16.239 ms
579 8 89.104.192.179 (89.104.192.179) 15.676 ms 15.674 ms 15.664 ms
580 9 03dm-com.mx1.staysecuregroup.com (89.104.206.4) 15.637 ms * *
581
582 krf.no
583 krf.no mail is handled by 10 krf-no.mail.protection.outlook.com.
584
585 traceroute to krf-no.mail.protection.outlook.com (213.199.154.42), 30 hops max, 60 byte packets
586 1 uio-gw10.uio.no (129.240.6.1) 0.401 ms 0.438 ms 0.536 ms
587 2 uio-gw8.uio.no (129.240.24.229) 11.076 ms 11.120 ms 11.204 ms
588 3 oslo-gw1.uninett.no (128.39.65.17) 0.232 ms 0.234 ms 0.271 ms
589 4 se-tug.nordu.net (109.105.102.108) 6.811 ms 6.820 ms 6.815 ms
590 5 netnod-ix-ge-a-sth-4470.microsoft.com (195.245.240.181) 7.074 ms 7.013 ms 7.061 ms
591 6 ae1-0.sto-96cbe-1b.ntwk.msn.net (104.44.225.161) 7.227 ms 7.362 ms 7.293 ms
592 7 be-8-0.ibr01.ams.ntwk.msn.net (104.44.5.7) 41.993 ms 43.334 ms 41.939 ms
593 8 be-1-0.ibr02.ams.ntwk.msn.net (104.44.4.214) 43.153 ms 43.507 ms 43.404 ms
594 9 ae3-0.fra-96cbe-1b.ntwk.msn.net (104.44.5.17) 29.897 ms 29.831 ms 29.794 ms
595 10 ae10-0.vie-96cbe-1a.ntwk.msn.net (198.206.164.1) 42.309 ms 42.130 ms 41.808 ms
596 11 * ae8-0.vie-96cbe-1b.ntwk.msn.net (104.44.227.29) 41.425 ms *
597 12 * * *
598
599 arbeiderpartiet.no
600 arbeiderpartiet.no mail is handled by 10 mail.intility.com.
601 arbeiderpartiet.no mail is handled by 20 mail2.intility.com.
602
603 traceroute to mail.intility.com (188.95.245.87), 30 hops max, 60 byte packets
604 1 uio-gw10.uio.no (129.240.6.1) 0.486 ms 0.508 ms 0.649 ms
605 2 uio-gw8.uio.no (129.240.24.229) 0.416 ms 0.508 ms 0.620 ms
606 3 oslo-gw1.uninett.no (128.39.65.17) 0.276 ms 0.278 ms 0.275 ms
607 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 0.374 ms 0.371 ms 0.416 ms
608 5 he16-1-1.cr1.san110.as2116.net (195.0.244.234) 3.132 ms he16-1-1.cr2.oslosda310.as2116.net (195.0.244.48) 10.079 ms he16-1-1.cr1.san110.as2116.net (195.0.244.234) 3.353 ms
609 6 te1-2-0.ar2.ulv89.as2116.net (195.0.243.194) 0.569 ms te5-0-0.ar2.ulv89.as2116.net (195.0.243.192) 0.661 ms 0.653 ms
610 7 cD2EC45C1.static.as2116.net (193.69.236.210) 0.654 ms 0.615 ms 0.590 ms
611 8 185.7.132.38 (185.7.132.38) 1.661 ms 1.808 ms 1.695 ms
612 9 185.7.132.100 (185.7.132.100) 1.793 ms 1.943 ms 1.546 ms
613 10 * * *
614
615 frp.no
616 frp.no mail is handled by 10 mx03.telecomputing.no.
617 frp.no mail is handled by 20 mx01.telecomputing.no.
618
619 traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packets
620 1 uio-gw10.uio.no (129.240.6.1) 0.378 ms 0.402 ms 0.479 ms
621 2 uio-gw8.uio.no (129.240.24.229) 0.361 ms 0.458 ms 0.548 ms
622 3 oslo-gw1.uninett.no (128.39.65.17) 0.361 ms 0.352 ms 0.336 ms
623 4 xe-2-2-0-0.san-peer2.osl.no.ip.tdc.net (193.156.90.16) 0.375 ms 0.366 ms 0.346 ms
624 5 xe-2-0-2-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.97) 0.780 ms xe-2-0-0-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.101) 0.713 ms xe-2-0-2-0.ost-pe1.osl.no.ip.tdc.net (85.19.121.97) 0.759 ms
625 6 cpe.xe-0-2-0-100.ost-pe1.osl.no.customer.tdc.net (85.19.26.46) 0.837 ms 0.755 ms 0.759 ms
626 7 95.128.105.3 (95.128.105.3) 1.050 ms 1.288 ms 1.182 ms
627 8 mx03.telecomputing.no (95.128.105.102) 0.717 ms 0.703 ms 0.692 ms
628
629 --&gt;
630 </description>
631 </item>
632
633 <item>
634 <title>First draft Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook now public</title>
635 <link>http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</link>
636 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</guid>
637 <pubDate>Tue, 30 Aug 2016 10:10:00 +0200</pubDate>
638 <description>&lt;p&gt;In April we
639 &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
640 to work&lt;/a&gt; on a Norwegian Bokmål edition of the &quot;open access&quot; book on
641 how to set up and administrate a Debian system. Today I am happy to
642 report that the first draft is now publicly available. You can find
643 it on &lt;a href=&quot;https://debian-handbook.info/get/&quot;&gt;get the Debian
644 Administrator&#39;s Handbook page&lt;/a&gt; (under Other languages). The first
645 eight chapters have a first draft translation, and we are working on
646 proofreading the content. If you want to help out, please start
647 contributing using
648 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
649 hosted weblate project page&lt;/a&gt;, and get in touch using
650 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
651 translators mailing list&lt;/a&gt;. Please also check out
652 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
653 contributors&lt;/a&gt;. A good way to contribute is to proofread the text
654 and update weblate if you find errors.&lt;/p&gt;
655
656 &lt;p&gt;Our goal is still to make the Norwegian book available on paper as well as
657 electronic form.&lt;/p&gt;
658 </description>
659 </item>
660
661 <item>
662 <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
663 <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
664 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
665 <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
666 <description>&lt;p&gt;This summer, I read a great article
667 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
668 This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
669 how to profile multi-threaded programs. It presented a system for
670 profiling software by running experiences in the running program,
671 testing how run time performance is affected by &quot;speeding up&quot; parts of
672 the code to various degrees compared to a normal run. It does this by
673 slowing down parallel threads while the &quot;faster up&quot; code is running
674 and measure how this affect processing time. The processing time is
675 measured using probes inserted into the code, either using progress
676 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
677 can also measure unmodified code by measuring complete the program
678 runtime and running the program several times instead.&lt;/p&gt;
679
680 &lt;p&gt;The project and presentation was so inspiring that I would like to
681 get the system into Debian. I
682 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
683 a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
684 system ready for Debian by sending patches. The build process need to
685 be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
686 to include the JavaScript web page used to visualize the collected
687 profiling information included in the source package.
688 But I expect that should work out fairly soon.&lt;/p&gt;
689
690 &lt;p&gt;The way the system work is fairly simple. To run an coz experiment
691 on a binary with debug symbols available, start the program like this:
692
693 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
694 coz run --- program-to-run
695 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
696
697 &lt;p&gt;This will create a text file profile.coz with the instrumentation
698 information. To show what part of the code affect the performance
699 most, use a web browser and either point it to
700 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
701 or use the copy from git (in the gh-pages branch). Check out this web
702 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
703 profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
704 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
705 code, rebuild and run the profiler. This allow coz to do more
706 targeted experiments.&lt;/p&gt;
707
708 &lt;p&gt;A video published by ACM
709 &lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
710 Coz profiler&lt;/a&gt; is available from Youtube. There is also a paper
711 from the 25th Symposium on Operating Systems Principles available
712 titled
713 &lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
714 finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
715
716 &lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
717 for Coz is available from github. It will only build with clang
718 because it uses a
719 &lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
720 feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
721 &lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
722 it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
723
724 &lt;p&gt;Please get in touch if you, like me, would like to see this piece
725 of software in Debian. I would very much like some help with the
726 packaging effort, as I lack the in depth knowledge on how to package
727 C++ libraries.&lt;/p&gt;
728 </description>
729 </item>
730
731 <item>
732 <title>Sales number for the Free Culture translation, first half of 2016</title>
733 <link>http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
734 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
735 <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
736 <description>&lt;p&gt;As my regular readers probably remember, the last year I published
737 a French and Norwegian translation of the classic
738 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture book&lt;/a&gt; by the
739 founder of the Creative Commons movement, Lawrence Lessig. A bit less
740 known is the fact that due to the way I created the translations,
741 using docbook and po4a, I also recreated the English original. And
742 because I already had created a new the PDF edition, I published it
743 too. The revenue from the books are sent to the Creative Commons
744 Corporation. In other words, I do not earn any money from this
745 project, I just earn the warm fuzzy feeling that the text is available
746 for a wider audience and more people can learn why the Creative
747 Commons is needed.&lt;/p&gt;
748
749 &lt;p&gt;Today, just for fun, I had a look at the sales number over at
750 Lulu.com, which take care of payment, printing and shipping. Much to
751 my surprise, the English edition is selling better than both the
752 French and Norwegian edition, despite the fact that it has been
753 available in English since it was first published. In total, 24 paper
754 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:&lt;/p&gt;
755
756 &lt;table border=&quot;0&quot;&gt;
757 &lt;tr&gt;&lt;th&gt;Title / language&lt;/th&gt;&lt;th&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
758 &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;
759 &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;
760 &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;
761 &lt;/table&gt;
762
763 &lt;p&gt;The books are available both from Lulu.com and from large book
764 stores like Amazon and Barnes&amp;Noble. Most revenue, around $10 per
765 book, is sent to the Creative Commons project when the book is sold
766 directly by Lulu.com. The other channels give less revenue. The
767 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
768 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
769 me that the revenue sent so far this year is USD $101.42. No idea
770 what kind of sales numbers to expect, so I do not know if that is a
771 good amount of sales for a 10 year old book or not. But it make me
772 happy that the buyers find the book, and I hope they enjoy reading it
773 as much as I did.&lt;/p&gt;
774
775 &lt;p&gt;The ebook edition is available for free from
776 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
777
778 &lt;p&gt;If you would like to translate and publish the book in your native
779 language, I would be happy to help make it happen. Please get in
780 touch.&lt;/p&gt;
781 </description>
782 </item>
783
784 <item>
785 <title>Vitenskapen tar som vanlig feil igjen - relativt feil</title>
786 <link>http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</link>
787 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</guid>
788 <pubDate>Mon, 1 Aug 2016 16:00:00 +0200</pubDate>
789 <description>&lt;p&gt;For mange år siden leste jeg en klassisk tekst som gjorde såpass
790 inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
791 argumentene fra den stadig vekk. Teksten var «The Relativity of
792 Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
793 gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
794 Jeg har hatt lyst til å kunne dele den også med folk som ikke
795 behersker engelsk så godt, som barn og noen av mine eldre slektninger,
796 og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
797 jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
798 de var interessert i å publisere en norsk utgave på bloggen sin, og da
799 han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
800 det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
801 fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
802 fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
803 igang med oversettingen.&lt;/p&gt;
804
805 &lt;p&gt;Resultatet, &lt;a href=&quot;http://www.skepsis.no/?p=1617&quot;&gt;«Relativt
806 feil»&lt;/a&gt;, ble publisert på skepsis-bloggen for noen minutter siden.
807 Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
808 dine venner.&lt;/p&gt;
809
810 &lt;p&gt;For å håndtere oversettelsen og sikre at original og oversettelse
811 var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
812 fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
813 om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
814 opprette nye prosjekter selv i stedet for å måtte kontakte
815 administratoren der, så hadde jeg brukt weblate i stedet.&lt;/p&gt;
816 </description>
817 </item>
818
819 <item>
820 <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
821 <link>http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
822 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
823 <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
824 <description>&lt;p&gt;Did you know there is a TV channel broadcasting talks from DebConf
825 16 across an entire country? Or that there is a TV channel
826 broadcasting talks by or about
827 &lt;a href=&quot;http://beta.frikanalen.no/video/625529/&quot;&gt;Linus Torvalds&lt;/a&gt;,
828 &lt;a href=&quot;http://beta.frikanalen.no/video/625599/&quot;&gt;Tor&lt;/a&gt;,
829 &lt;a href=&quot;http://beta.frikanalen.no/video/624019/&quot;&gt;OpenID&lt;/A&gt;,
830 &lt;a href=&quot;http://beta.frikanalen.no/video/625624/&quot;&gt;Common Lisp&lt;/a&gt;,
831 &lt;a href=&quot;http://beta.frikanalen.no/video/625446/&quot;&gt;Civic Tech&lt;/a&gt;,
832 &lt;a href=&quot;http://beta.frikanalen.no/video/625090/&quot;&gt;EFF founder John Barlow&lt;/a&gt;,
833 &lt;a href=&quot;http://beta.frikanalen.no/video/625432/&quot;&gt;how to make 3D
834 printer electronics&lt;/a&gt; and many more fascinating topics? It works
835 using only free software (all of it
836 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from Github&lt;/a&gt;), and
837 is administrated using a web browser and a web API.&lt;/p&gt;
838
839 &lt;p&gt;The TV channel is the Norwegian open channel
840 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, and I am involved
841 via &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG member association&lt;/a&gt; in
842 running and developing the software for the channel. The channel is
843 organised as a member organisation where its members can upload and
844 broadcast what they want (think of it as Youtube for national
845 broadcasting television). Individuals can broadcast too. The time
846 slots are handled on a first come, first serve basis. Because the
847 channel have almost no viewers and very few active members, we can
848 experiment with TV technology without too much flack when we make
849 mistakes. And thanks to the few active members, most of the slots on
850 the schedule are free. I see this as an opportunity to spread
851 knowledge about technology and free software, and have a script I run
852 regularly to fill up all the open slots the next few days with
853 technology related video. The end result is a channel I like to
854 describe as Techno TV - filled with interesting talks and
855 presentations.&lt;/p&gt;
856
857 &lt;p&gt;It is available on channel 50 on the Norwegian national digital TV
858 network (RiksTV). It is also available as a multicast stream on
859 Uninett. And finally, it is available as
860 &lt;a href=&quot;http://beta.frikanalen.no/&quot;&gt;a WebM unicast stream&lt;/a&gt; from
861 Frikanalen and NUUG. Check it out. :)&lt;/p&gt;
862 </description>
863 </item>
864
865 </channel>
866 </rss>