]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Bedre lenke.
[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>Isenkram, Appstream and udev make life as a LEGO builder easier</title>
11 <link>http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html</guid>
13 <pubDate>Fri, 7 Oct 2016 09:50:00 +0200</pubDate>
14 <description>&lt;p&gt;&lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;The Isenkram
15 system&lt;/a&gt; provide a practical and easy way to figure out which
16 packages support the hardware in a given machine. The command line
17 tool &lt;tt&gt;isenkram-lookup&lt;/tt&gt; and the tasksel options provide a
18 convenient way to list and install packages relevant for the current
19 hardware during system installation, both user space packages and
20 firmware packages. The GUI background daemon on the other hand provide
21 a pop-up proposing to install packages when a new dongle is inserted
22 while using the computer. For example, if you plug in a smart card
23 reader, the system will ask if you want to install &lt;tt&gt;pcscd&lt;/tt&gt; if
24 that package isn&#39;t already installed, and if you plug in a USB video
25 camera the system will ask if you want to install &lt;tt&gt;cheese&lt;/tt&gt; if
26 cheese is currently missing. This already work just fine.&lt;/p&gt;
27
28 &lt;p&gt;But Isenkram depend on a database mapping from hardware IDs to
29 package names. When I started no such database existed in Debian, so
30 I made my own data set and included it with the isenkram package and
31 made isenkram fetch the latest version of this database from git using
32 http. This way the isenkram users would get updated package proposals
33 as soon as I learned more about hardware related packages.&lt;/p&gt;
34
35 &lt;p&gt;The hardware is identified using modalias strings. The modalias
36 design is from the Linux kernel where most hardware descriptors are
37 made available as a strings that can be matched using filename style
38 globbing. It handle USB, PCI, DMI and a lot of other hardware related
39 identifiers.&lt;/p&gt;
40
41 &lt;p&gt;The downside to the Isenkram specific database is that there is no
42 information about relevant distribution / Debian version, making
43 isenkram propose obsolete packages too. But along came AppStream, a
44 cross distribution mechanism to store and collect metadata about
45 software packages. When I heard about the proposal, I contacted the
46 people involved and suggested to add a hardware matching rule using
47 modalias strings in the specification, to be able to use AppStream for
48 mapping hardware to packages. This idea was accepted and AppStream is
49 now a great way for a package to announce the hardware it support in a
50 distribution neutral way. I wrote
51 &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
52 recipe on how to add such meta-information&lt;/a&gt; in a blog post last
53 December. If you have a hardware related package in Debian, please
54 announce the relevant hardware IDs using AppStream.&lt;/p&gt;
55
56 &lt;p&gt;In Debian, almost all packages that can talk to a LEGO Mindestorms
57 RCX or NXT unit, announce this support using AppStream. The effect is
58 that when you insert such LEGO robot controller into your Debian
59 machine, Isenkram will propose to install the packages needed to get
60 it working. The intention is that this should allow the local user to
61 start programming his robot controller right away without having to
62 guess what packages to use or which permissions to fix.&lt;/p&gt;
63
64 &lt;p&gt;But when I sat down with my son the other day to program our NXT
65 unit using his Debian Stretch computer, I discovered something
66 annoying. The local console user (ie my son) did not get access to
67 the USB device for programming the unit. This used to work, but no
68 longer in Jessie and Stretch. After some investigation and asking
69 around on #debian-devel, I discovered that this was because udev had
70 changed the mechanism used to grant access to local devices. The
71 ConsoleKit mechanism from &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;
72 no longer applied, because LDAP users no longer was added to the
73 plugdev group during login. Michael Biebl told me that this method
74 was obsolete and the new method used ACLs instead. This was good
75 news, as the plugdev mechanism is a mess when using a remote user
76 directory like LDAP. Using ACLs would make sure a user lost device
77 access when she logged out, even if the user left behind a background
78 process which would retain the plugdev membership with the ConsoleKit
79 setup. Armed with this knowledge I moved on to fix the access problem
80 for the LEGO Mindstorms related packages.&lt;/p&gt;
81
82 &lt;p&gt;The new system uses a udev tag, &#39;uaccess&#39;. It can either be
83 applied directly for a device, or is applied in
84 /lib/udev/rules.d/70-uaccess.rules for classes of devices. As the
85 LEGO Mindstorms udev rules did not have a class, I decided to add the
86 tag directly in the udev rules files included in the packages. Here
87 is one example. For the nqc C compiler for the RCX, the
88 &lt;tt&gt;/lib/udev/rules.d/60-nqc.rules&lt;/tt&gt; file now look like this:
89
90 &lt;p&gt;&lt;pre&gt;
91 SUBSYSTEM==&quot;usb&quot;, ACTION==&quot;add&quot;, ATTR{idVendor}==&quot;0694&quot;, ATTR{idProduct}==&quot;0001&quot;, \
92 SYMLINK+=&quot;rcx-%k&quot;, TAG+=&quot;uaccess&quot;
93 &lt;/pre&gt;&lt;/p&gt;
94
95 &lt;p&gt;The key part is the &#39;TAG+=&quot;uaccess&quot;&#39; at the end. I suspect all
96 packages using plugdev in their /lib/udev/rules.d/ files should be
97 changed to use this tag (either directly or indirectly via
98 &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;). Perhaps a lintian check should be created
99 to detect this?&lt;/p&gt;
100
101 &lt;p&gt;I&#39;ve been unable to find good documentation on the uaccess feature.
102 It is unclear to me if the uaccess tag is an internal implementation
103 detail like the udev-acl tag used by
104 &lt;tt&gt;/lib/udev/rules.d/70-udev-acl.rules&lt;/tt&gt;. If it is, I guess the
105 indirect method is the preferred way. Michael
106 &lt;a href=&quot;https://github.com/systemd/systemd/issues/4288&quot;&gt;asked for more
107 documentation from the systemd project&lt;/a&gt; and I hope it will make
108 this clearer. For now I use the generic classes when they exist and
109 is already handled by &lt;tt&gt;70-uaccess.rules&lt;/tt&gt;, and add the tag
110 directly if no such class exist.&lt;/p&gt;
111
112 &lt;p&gt;To learn more about the isenkram system, please check out
113 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;my
114 blog posts tagged isenkram&lt;/a&gt;.&lt;/p&gt;
115
116 &lt;p&gt;To help out making life for LEGO constructors in Debian easier,
117 please join us on our IRC channel
118 &lt;a href=&quot;irc://irc.debian.org/%23debian-lego&quot;&gt;#debian-lego&lt;/a&gt; and join
119 the &lt;a href=&quot;https://alioth.debian.org/projects/debian-lego/&quot;&gt;Debian
120 LEGO team&lt;/a&gt; in the Alioth project we created yesterday. A mailing
121 list is not yet created, but we are working on it. :)&lt;/p&gt;
122
123 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
124 activities, please send Bitcoin donations to my address
125 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&amp;label=PetterReinholdtsenBlog&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
126 </description>
127 </item>
128
129 <item>
130 <title>Aftenposten-redaktøren med lua i hånda</title>
131 <link>http://people.skolelinux.org/pere/blog/Aftenposten_redakt_ren_med_lua_i_h_nda.html</link>
132 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Aftenposten_redakt_ren_med_lua_i_h_nda.html</guid>
133 <pubDate>Fri, 9 Sep 2016 11:30:00 +0200</pubDate>
134 <description>&lt;p&gt;En av dagens nyheter er at Aftenpostens redaktør Espen Egil Hansen
135 bruker
136 &lt;a href=&quot;https://www.nrk.no/kultur/aftenposten-brukar-heile-forsida-pa-facebook-kritikk-1.13126918&quot;&gt;forsiden
137 av papiravisen på et åpent brev til Facebooks sjef Mark Zuckerberg om
138 Facebooks fjerning av bilder, tekster og sider de ikke liker&lt;/a&gt;. Det
139 må være uvant for redaktøren i avisen Aftenposten å stå med lua i
140 handa og håpe på å bli hørt. Spesielt siden Aftenposten har vært med
141 på å gi Facebook makten de nå demonstrerer at de har. Ved å melde seg
142 inn i Facebook-samfunnet har de sagt ja til bruksvilkårene og inngått
143 en antagelig bindende avtale. Kanskje de skulle lest og vurdert
144 vilkårene litt nærmere før de sa ja, i stedet for å klage over at
145 reglende de har valgt å akseptere blir fulgt? Personlig synes jeg
146 vilkårene er uakseptable og det ville ikke falle meg inn å gå inn på
147 en avtale med slike vilkår. I tillegg til uakseptable vilkår er det
148 mange andre grunner til å unngå Facebook. Du kan finne en solid
149 gjennomgang av flere slike argumenter hos
150 &lt;a href=&quot;https://stallman.org/facebook.html&quot;&gt;Richard Stallmans side om
151 Facebook&lt;/a&gt;.
152
153 &lt;p&gt;Jeg håper flere norske redaktører på samme vis må stå med lua i
154 hånden inntil de forstår at de selv er med på å føre samfunnet på
155 ville veier ved å omfavne Facebook slik de gjør når de omtaler og
156 løfter frem saker fra Facebook, og tar i bruk Facebook som
157 distribusjonskanal for sine nyheter. De bidrar til
158 overvåkningssamfunnet og raderer ut lesernes privatsfære når de lenker
159 til Facebook på sine sider, og låser seg selv inne i en omgivelse der
160 det er Facebook, og ikke redaktøren, som sitter med makta.&lt;/p&gt;
161
162 &lt;p&gt;Men det vil nok ta tid, i et Norge der de fleste nettredaktører
163 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html&quot;&gt;deler
164 sine leseres personopplysinger med utenlands etterretning&lt;/a&gt;.&lt;/p&gt;
165
166 &lt;p&gt;For øvrig burde varsleren Edward Snowden få politisk asyl i
167 Norge.&lt;/p&gt;
168 </description>
169 </item>
170
171 <item>
172 <title>E-tjenesten ber om innsyn i eposten til partiene på Stortinget</title>
173 <link>http://people.skolelinux.org/pere/blog/E_tjenesten_ber_om_innsyn_i_eposten_til_partiene_p__Stortinget.html</link>
174 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/E_tjenesten_ber_om_innsyn_i_eposten_til_partiene_p__Stortinget.html</guid>
175 <pubDate>Tue, 6 Sep 2016 23:00:00 +0200</pubDate>
176 <description>&lt;p&gt;I helga kom det et hårreisende forslag fra Lysne II-utvalget satt
177 ned av Forsvarsdepartementet. Lysne II-utvalget var bedt om å vurdere
178 ønskelista til Forsvarets etterretningstjeneste (e-tjenesten), og har
179 kommet med
180 &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
181 om at e-tjenesten skal få lov til a avlytte all Internett-trafikk&lt;/a&gt;
182 som passerer Norges grenser. Få er klar over at dette innebærer at
183 e-tjenesten får tilgang til epost sendt til de fleste politiske
184 partiene på Stortinget. Regjeringspartiet Høyre (@hoyre.no),
185 støttepartiene Venstre (@venstre.no) og Kristelig Folkeparti (@krf.no)
186 samt Sosialistisk Ventreparti (@sv.no) og Miljøpartiet de grønne
187 (@mdg.no) har nemlig alle valgt å ta imot eposten sin via utenlandske
188 tjenester. Det betyr at hvis noen sender epost til noen med en slik
189 adresse vil innholdet i eposten, om dette forslaget blir vedtatt, gjøres
190 tilgjengelig for e-tjenesten. Venstre, Sosialistisk Ventreparti og
191 Miljøpartiet De Grønne har valgt å motta sin epost hos Google,
192 Kristelig Folkeparti har valgt å motta sin epost hos Microsoft, og
193 Høyre har valgt å motta sin epost hos Comendo med mottak i Danmark og
194 Irland. Kun Arbeiderpartiet og Fremskrittspartiet har valgt å motta
195 eposten sin i Norge, hos henholdsvis Intility AS og Telecomputing
196 AS.&lt;/p&gt;
197
198 &lt;p&gt;Konsekvensen er at epost inn og ut av de politiske organisasjonene,
199 til og fra partimedlemmer og partiets tillitsvalgte vil gjøres
200 tilgjengelig for e-tjenesten for analyse og sortering. Jeg mistenker
201 at kunnskapen som slik blir tilgjengelig vil være nyttig hvis en
202 ønsker å vite hvilke argumenter som treffer publikum når en ønsker å
203 påvirke Stortingets representanter.&lt;/p
204
205 &lt;p&gt;Ved hjelp av MX-oppslag i DNS for epost-domene, tilhørende
206 whois-oppslag av IP-adressene og traceroute for å se hvorvidt
207 trafikken går via utlandet kan enhver få bekreftet at epost sendt til
208 de omtalte partiene vil gjøres tilgjengelig for forsvarets
209 etterretningstjeneste hvis forslaget blir vedtatt. En kan også bruke
210 den kjekke nett-tjenesten &lt;a href=&quot;http://ipinfo.io/&quot;&gt;ipinfo.io&lt;/a&gt;
211 for å få en ide om hvor i verden en IP-adresse hører til.&lt;/p&gt;
212
213 &lt;p&gt;På den positive siden vil forslaget gjøre at enda flere blir
214 motivert til å ta grep for å bruke
215 &lt;a href=&quot;https://www.torproject.org/&quot;&gt;Tor&lt;/a&gt; og krypterte
216 kommunikasjonsløsninger for å kommunisere med sine kjære, for å sikre
217 at privatsfæren vernes. Selv bruker jeg blant annet
218 &lt;a href=&quot;https://www.freedomboxfoundation.org/&quot;&gt;FreedomBox&lt;/a&gt; og
219 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;Signal&lt;/a&gt; til slikt. Ingen av
220 dem er optimale, men de fungerer ganske bra allerede og øker kostnaden
221 for dem som ønsker å invadere mitt privatliv.&lt;/p&gt;
222
223 &lt;p&gt;For øvrig burde varsleren Edward Snowden få politisk asyl i
224 Norge.&lt;/p&gt;
225
226 &lt;!--
227
228 venstre.no
229 venstre.no mail is handled by 10 aspmx.l.google.com.
230 venstre.no mail is handled by 20 alt1.aspmx.l.google.com.
231 venstre.no mail is handled by 20 alt2.aspmx.l.google.com.
232 venstre.no mail is handled by 30 aspmx2.googlemail.com.
233 venstre.no mail is handled by 30 aspmx3.googlemail.com.
234
235 traceroute to aspmx.l.google.com (173.194.222.27), 30 hops max, 60 byte packets
236 1 uio-gw10.uio.no (129.240.6.1) 0.411 ms 0.438 ms 0.536 ms
237 2 uio-gw8.uio.no (129.240.24.229) 0.375 ms 0.452 ms 0.548 ms
238 3 oslo-gw1.uninett.no (128.39.65.17) 1.940 ms 1.950 ms 1.942 ms
239 4 se-tug.nordu.net (109.105.102.108) 6.910 ms 6.949 ms 7.283 ms
240 5 google-gw.nordu.net (109.105.98.6) 6.975 ms 6.967 ms 6.958 ms
241 6 209.85.250.192 (209.85.250.192) 7.337 ms 7.286 ms 10.890 ms
242 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
243 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
244 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
245 10 * * *
246
247 mdg.no
248 mdg.no mail is handled by 1 aspmx.l.google.com.
249 mdg.no mail is handled by 5 alt2.aspmx.l.google.com.
250 mdg.no mail is handled by 5 alt1.aspmx.l.google.com.
251 mdg.no mail is handled by 10 aspmx2.googlemail.com.
252 mdg.no mail is handled by 10 aspmx3.googlemail.com.
253 sv.no
254 sv.no mail is handled by 1 aspmx.l.google.com.
255 sv.no mail is handled by 5 alt1.aspmx.l.google.com.
256 sv.no mail is handled by 5 alt2.aspmx.l.google.com.
257 sv.no mail is handled by 10 aspmx3.googlemail.com.
258 sv.no mail is handled by 10 aspmx2.googlemail.com.
259 hoyre.no
260 hoyre.no mail is handled by 10 hoyre-no.mx1.comendosystems.com.
261 hoyre.no mail is handled by 20 hoyre-no.mx2.comendosystems.net.
262
263 traceroute to hoyre-no.mx1.comendosystems.com (89.104.206.4), 30 hops max, 60 byte packets
264 1 uio-gw10.uio.no (129.240.6.1) 0.450 ms 0.510 ms 0.591 ms
265 2 uio-gw8.uio.no (129.240.24.229) 0.383 ms 0.508 ms 0.596 ms
266 3 oslo-gw1.uninett.no (128.39.65.17) 0.311 ms 0.315 ms 0.300 ms
267 4 se-tug.nordu.net (109.105.102.108) 6.837 ms 6.842 ms 6.834 ms
268 5 dk-uni.nordu.net (109.105.97.10) 26.073 ms 26.085 ms 26.076 ms
269 6 dix.1000m.soeborg.ip.comendo.dk (192.38.7.22) 15.372 ms 15.046 ms 15.123 ms
270 7 89.104.192.65 (89.104.192.65) 15.875 ms 15.990 ms 16.239 ms
271 8 89.104.192.179 (89.104.192.179) 15.676 ms 15.674 ms 15.664 ms
272 9 03dm-com.mx1.staysecuregroup.com (89.104.206.4) 15.637 ms * *
273
274 krf.no
275 krf.no mail is handled by 10 krf-no.mail.protection.outlook.com.
276
277 traceroute to krf-no.mail.protection.outlook.com (213.199.154.42), 30 hops max, 60 byte packets
278 1 uio-gw10.uio.no (129.240.6.1) 0.401 ms 0.438 ms 0.536 ms
279 2 uio-gw8.uio.no (129.240.24.229) 11.076 ms 11.120 ms 11.204 ms
280 3 oslo-gw1.uninett.no (128.39.65.17) 0.232 ms 0.234 ms 0.271 ms
281 4 se-tug.nordu.net (109.105.102.108) 6.811 ms 6.820 ms 6.815 ms
282 5 netnod-ix-ge-a-sth-4470.microsoft.com (195.245.240.181) 7.074 ms 7.013 ms 7.061 ms
283 6 ae1-0.sto-96cbe-1b.ntwk.msn.net (104.44.225.161) 7.227 ms 7.362 ms 7.293 ms
284 7 be-8-0.ibr01.ams.ntwk.msn.net (104.44.5.7) 41.993 ms 43.334 ms 41.939 ms
285 8 be-1-0.ibr02.ams.ntwk.msn.net (104.44.4.214) 43.153 ms 43.507 ms 43.404 ms
286 9 ae3-0.fra-96cbe-1b.ntwk.msn.net (104.44.5.17) 29.897 ms 29.831 ms 29.794 ms
287 10 ae10-0.vie-96cbe-1a.ntwk.msn.net (198.206.164.1) 42.309 ms 42.130 ms 41.808 ms
288 11 * ae8-0.vie-96cbe-1b.ntwk.msn.net (104.44.227.29) 41.425 ms *
289 12 * * *
290
291 arbeiderpartiet.no
292 arbeiderpartiet.no mail is handled by 10 mail.intility.com.
293 arbeiderpartiet.no mail is handled by 20 mail2.intility.com.
294
295 traceroute to mail.intility.com (188.95.245.87), 30 hops max, 60 byte packets
296 1 uio-gw10.uio.no (129.240.6.1) 0.486 ms 0.508 ms 0.649 ms
297 2 uio-gw8.uio.no (129.240.24.229) 0.416 ms 0.508 ms 0.620 ms
298 3 oslo-gw1.uninett.no (128.39.65.17) 0.276 ms 0.278 ms 0.275 ms
299 4 te3-1-2.br1.fn3.as2116.net (193.156.90.3) 0.374 ms 0.371 ms 0.416 ms
300 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
301 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
302 7 cD2EC45C1.static.as2116.net (193.69.236.210) 0.654 ms 0.615 ms 0.590 ms
303 8 185.7.132.38 (185.7.132.38) 1.661 ms 1.808 ms 1.695 ms
304 9 185.7.132.100 (185.7.132.100) 1.793 ms 1.943 ms 1.546 ms
305 10 * * *
306
307 frp.no
308 frp.no mail is handled by 10 mx03.telecomputing.no.
309 frp.no mail is handled by 20 mx01.telecomputing.no.
310
311 traceroute to mx03.telecomputing.no (95.128.105.102), 30 hops max, 60 byte packets
312 1 uio-gw10.uio.no (129.240.6.1) 0.378 ms 0.402 ms 0.479 ms
313 2 uio-gw8.uio.no (129.240.24.229) 0.361 ms 0.458 ms 0.548 ms
314 3 oslo-gw1.uninett.no (128.39.65.17) 0.361 ms 0.352 ms 0.336 ms
315 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
316 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
317 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
318 7 95.128.105.3 (95.128.105.3) 1.050 ms 1.288 ms 1.182 ms
319 8 mx03.telecomputing.no (95.128.105.102) 0.717 ms 0.703 ms 0.692 ms
320
321 --&gt;
322 </description>
323 </item>
324
325 <item>
326 <title>First draft Norwegian Bokmål edition of The Debian Administrator&#39;s Handbook now public</title>
327 <link>http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</link>
328 <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>
329 <pubDate>Tue, 30 Aug 2016 10:10:00 +0200</pubDate>
330 <description>&lt;p&gt;In April we
331 &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
332 to work&lt;/a&gt; on a Norwegian Bokmål edition of the &quot;open access&quot; book on
333 how to set up and administrate a Debian system. Today I am happy to
334 report that the first draft is now publicly available. You can find
335 it on &lt;a href=&quot;https://debian-handbook.info/get/&quot;&gt;get the Debian
336 Administrator&#39;s Handbook page&lt;/a&gt; (under Other languages). The first
337 eight chapters have a first draft translation, and we are working on
338 proofreading the content. If you want to help out, please start
339 contributing using
340 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;the
341 hosted weblate project page&lt;/a&gt;, and get in touch using
342 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators&quot;&gt;the
343 translators mailing list&lt;/a&gt;. Please also check out
344 &lt;a href=&quot;https://debian-handbook.info/contribute/&quot;&gt;the instructions for
345 contributors&lt;/a&gt;. A good way to contribute is to proofread the text
346 and update weblate if you find errors.&lt;/p&gt;
347
348 &lt;p&gt;Our goal is still to make the Norwegian book available on paper as well as
349 electronic form.&lt;/p&gt;
350 </description>
351 </item>
352
353 <item>
354 <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
355 <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
356 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
357 <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
358 <description>&lt;p&gt;This summer, I read a great article
359 &quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
360 This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
361 how to profile multi-threaded programs. It presented a system for
362 profiling software by running experiences in the running program,
363 testing how run time performance is affected by &quot;speeding up&quot; parts of
364 the code to various degrees compared to a normal run. It does this by
365 slowing down parallel threads while the &quot;faster up&quot; code is running
366 and measure how this affect processing time. The processing time is
367 measured using probes inserted into the code, either using progress
368 counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
369 can also measure unmodified code by measuring complete the program
370 runtime and running the program several times instead.&lt;/p&gt;
371
372 &lt;p&gt;The project and presentation was so inspiring that I would like to
373 get the system into Debian. I
374 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
375 a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
376 system ready for Debian by sending patches. The build process need to
377 be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
378 to include the JavaScript web page used to visualize the collected
379 profiling information included in the source package.
380 But I expect that should work out fairly soon.&lt;/p&gt;
381
382 &lt;p&gt;The way the system work is fairly simple. To run an coz experiment
383 on a binary with debug symbols available, start the program like this:
384
385 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
386 coz run --- program-to-run
387 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
388
389 &lt;p&gt;This will create a text file profile.coz with the instrumentation
390 information. To show what part of the code affect the performance
391 most, use a web browser and either point it to
392 &lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
393 or use the copy from git (in the gh-pages branch). Check out this web
394 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
395 profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
396 COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
397 code, rebuild and run the profiler. This allow coz to do more
398 targeted experiments.&lt;/p&gt;
399
400 &lt;p&gt;A video published by ACM
401 &lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
402 Coz profiler&lt;/a&gt; is available from Youtube. There is also a paper
403 from the 25th Symposium on Operating Systems Principles available
404 titled
405 &lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
406 finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
407
408 &lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
409 for Coz is available from github. It will only build with clang
410 because it uses a
411 &lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
412 feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
413 &lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
414 it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
415
416 &lt;p&gt;Please get in touch if you, like me, would like to see this piece
417 of software in Debian. I would very much like some help with the
418 packaging effort, as I lack the in depth knowledge on how to package
419 C++ libraries.&lt;/p&gt;
420 </description>
421 </item>
422
423 <item>
424 <title>Sales number for the Free Culture translation, first half of 2016</title>
425 <link>http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
426 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
427 <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
428 <description>&lt;p&gt;As my regular readers probably remember, the last year I published
429 a French and Norwegian translation of the classic
430 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture book&lt;/a&gt; by the
431 founder of the Creative Commons movement, Lawrence Lessig. A bit less
432 known is the fact that due to the way I created the translations,
433 using docbook and po4a, I also recreated the English original. And
434 because I already had created a new the PDF edition, I published it
435 too. The revenue from the books are sent to the Creative Commons
436 Corporation. In other words, I do not earn any money from this
437 project, I just earn the warm fuzzy feeling that the text is available
438 for a wider audience and more people can learn why the Creative
439 Commons is needed.&lt;/p&gt;
440
441 &lt;p&gt;Today, just for fun, I had a look at the sales number over at
442 Lulu.com, which take care of payment, printing and shipping. Much to
443 my surprise, the English edition is selling better than both the
444 French and Norwegian edition, despite the fact that it has been
445 available in English since it was first published. In total, 24 paper
446 books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:&lt;/p&gt;
447
448 &lt;table border=&quot;0&quot;&gt;
449 &lt;tr&gt;&lt;th&gt;Title / language&lt;/th&gt;&lt;th&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
450 &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;
451 &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;
452 &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;
453 &lt;/table&gt;
454
455 &lt;p&gt;The books are available both from Lulu.com and from large book
456 stores like Amazon and Barnes&amp;Noble. Most revenue, around $10 per
457 book, is sent to the Creative Commons project when the book is sold
458 directly by Lulu.com. The other channels give less revenue. The
459 summary from Lulu tell me 10 books was sold via the Amazon channel, 10
460 via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
461 me that the revenue sent so far this year is USD $101.42. No idea
462 what kind of sales numbers to expect, so I do not know if that is a
463 good amount of sales for a 10 year old book or not. But it make me
464 happy that the buyers find the book, and I hope they enjoy reading it
465 as much as I did.&lt;/p&gt;
466
467 &lt;p&gt;The ebook edition is available for free from
468 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
469
470 &lt;p&gt;If you would like to translate and publish the book in your native
471 language, I would be happy to help make it happen. Please get in
472 touch.&lt;/p&gt;
473 </description>
474 </item>
475
476 <item>
477 <title>Vitenskapen tar som vanlig feil igjen - relativt feil</title>
478 <link>http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</link>
479 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</guid>
480 <pubDate>Mon, 1 Aug 2016 16:00:00 +0200</pubDate>
481 <description>&lt;p&gt;For mange år siden leste jeg en klassisk tekst som gjorde såpass
482 inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
483 argumentene fra den stadig vekk. Teksten var «The Relativity of
484 Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
485 gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
486 Jeg har hatt lyst til å kunne dele den også med folk som ikke
487 behersker engelsk så godt, som barn og noen av mine eldre slektninger,
488 og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
489 jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
490 de var interessert i å publisere en norsk utgave på bloggen sin, og da
491 han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
492 det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
493 fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
494 fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
495 igang med oversettingen.&lt;/p&gt;
496
497 &lt;p&gt;Resultatet, &lt;a href=&quot;http://www.skepsis.no/?p=1617&quot;&gt;«Relativt
498 feil»&lt;/a&gt;, ble publisert på skepsis-bloggen for noen minutter siden.
499 Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
500 dine venner.&lt;/p&gt;
501
502 &lt;p&gt;For å håndtere oversettelsen og sikre at original og oversettelse
503 var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
504 fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
505 om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
506 opprette nye prosjekter selv i stedet for å måtte kontakte
507 administratoren der, så hadde jeg brukt weblate i stedet.&lt;/p&gt;
508 </description>
509 </item>
510
511 <item>
512 <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
513 <link>http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
514 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
515 <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
516 <description>&lt;p&gt;Did you know there is a TV channel broadcasting talks from DebConf
517 16 across an entire country? Or that there is a TV channel
518 broadcasting talks by or about
519 &lt;a href=&quot;http://beta.frikanalen.no/video/625529/&quot;&gt;Linus Torvalds&lt;/a&gt;,
520 &lt;a href=&quot;http://beta.frikanalen.no/video/625599/&quot;&gt;Tor&lt;/a&gt;,
521 &lt;a href=&quot;http://beta.frikanalen.no/video/624019/&quot;&gt;OpenID&lt;/A&gt;,
522 &lt;a href=&quot;http://beta.frikanalen.no/video/625624/&quot;&gt;Common Lisp&lt;/a&gt;,
523 &lt;a href=&quot;http://beta.frikanalen.no/video/625446/&quot;&gt;Civic Tech&lt;/a&gt;,
524 &lt;a href=&quot;http://beta.frikanalen.no/video/625090/&quot;&gt;EFF founder John Barlow&lt;/a&gt;,
525 &lt;a href=&quot;http://beta.frikanalen.no/video/625432/&quot;&gt;how to make 3D
526 printer electronics&lt;/a&gt; and many more fascinating topics? It works
527 using only free software (all of it
528 &lt;a href=&quot;http://github.com/Frikanalen&quot;&gt;available from Github&lt;/a&gt;), and
529 is administrated using a web browser and a web API.&lt;/p&gt;
530
531 &lt;p&gt;The TV channel is the Norwegian open channel
532 &lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, and I am involved
533 via &lt;a href=&quot;https://www.nuug.no/&quot;&gt;the NUUG member association&lt;/a&gt; in
534 running and developing the software for the channel. The channel is
535 organised as a member organisation where its members can upload and
536 broadcast what they want (think of it as Youtube for national
537 broadcasting television). Individuals can broadcast too. The time
538 slots are handled on a first come, first serve basis. Because the
539 channel have almost no viewers and very few active members, we can
540 experiment with TV technology without too much flack when we make
541 mistakes. And thanks to the few active members, most of the slots on
542 the schedule are free. I see this as an opportunity to spread
543 knowledge about technology and free software, and have a script I run
544 regularly to fill up all the open slots the next few days with
545 technology related video. The end result is a channel I like to
546 describe as Techno TV - filled with interesting talks and
547 presentations.&lt;/p&gt;
548
549 &lt;p&gt;It is available on channel 50 on the Norwegian national digital TV
550 network (RiksTV). It is also available as a multicast stream on
551 Uninett. And finally, it is available as
552 &lt;a href=&quot;http://beta.frikanalen.no/&quot;&gt;a WebM unicast stream&lt;/a&gt; from
553 Frikanalen and NUUG. Check it out. :)&lt;/p&gt;
554 </description>
555 </item>
556
557 <item>
558 <title>Unlocking HTC Desire HD on Linux using unruu and fastboot</title>
559 <link>http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</link>
560 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</guid>
561 <pubDate>Thu, 7 Jul 2016 11:30:00 +0200</pubDate>
562 <description>&lt;p&gt;Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
563 to be a slight challenge. Here is the recipe if I ever need to do it
564 again. It all started by me wanting to try the recipe to set up
565 &lt;a href=&quot;https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy&quot;&gt;an
566 hardened Android installation&lt;/a&gt; from the Tor project blog on a
567 device I had access to. It is a old mobile phone with a broken
568 microphone The initial idea had been to just
569 &lt;a href=&quot;http://wiki.cyanogenmod.org/w/Install_CM_for_ace&quot;&gt;install
570 CyanogenMod on it&lt;/a&gt;, but did not quite find time to start on it
571 until a few days ago.&lt;/p&gt;
572
573 &lt;p&gt;The unlock process is supposed to be simple: (1) Boot into the boot
574 loader (press volume down and power at the same time), (2) select
575 &#39;fastboot&#39; before (3) connecting the device via USB to a Linux
576 machine, (4) request the device identifier token by running &#39;fastboot
577 oem get_identifier_token&#39;, (5) request the device unlocking key using
578 the &lt;a href=&quot;http://www.htcdev.com/bootloader/&quot;&gt;HTC developer web
579 site&lt;/a&gt; and unlock the phone using the key file emailed to you.&lt;/p&gt;
580
581 &lt;p&gt;Unfortunately, this only work fi you have hboot version 2.00.0029
582 or newer, and the device I was working on had 2.00.0027. This
583 apparently can be easily fixed by downloading a Windows program and
584 running it on your Windows machine, if you accept the terms Microsoft
585 require you to accept to use Windows - which I do not. So I had to
586 come up with a different approach. I got a lot of help from AndyCap
587 on #nuug, and would not have been able to get this working without
588 him.&lt;/p&gt;
589
590 &lt;p&gt;First I needed to extract the hboot firmware from
591 &lt;a href=&quot;http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe&quot;&gt;the
592 windows binary for HTC Desire HD&lt;/a&gt; downloaded as &#39;the RUU&#39; from HTC.
593 For this there is is &lt;a href=&quot;https://github.com/kmdm/unruu/&quot;&gt;a github
594 project named unruu&lt;/a&gt; using libunshield. The unshield tool did not
595 recognise the file format, but unruu worked and extracted rom.zip,
596 containing the new hboot firmware and a text file describing which
597 devices it would work for.&lt;/p&gt;
598
599 &lt;p&gt;Next, I needed to get the new firmware into the device. For this I
600 followed some instructions
601 &lt;a href=&quot;http://www.htc1guru.com/2013/09/new-ruu-zips-posted/&quot;&gt;available
602 from HTC1Guru.com&lt;/a&gt;, and ran these commands as root on a Linux
603 machine with Debian testing:&lt;/p&gt;
604
605 &lt;p&gt;&lt;pre&gt;
606 adb reboot-bootloader
607 fastboot oem rebootRUU
608 fastboot flash zip rom.zip
609 fastboot flash zip rom.zip
610 fastboot reboot
611 &lt;/pre&gt;&lt;/p&gt;
612
613 &lt;p&gt;The flash command apparently need to be done twice to take effect,
614 as the first is just preparations and the second one do the flashing.
615 The adb command is just to get to the boot loader menu, so turning the
616 device on while holding volume down and the power button should work
617 too.&lt;/p&gt;
618
619 &lt;p&gt;With the new hboot version in place I could start following the
620 instructions on the HTC developer web site. I got the device token
621 like this:&lt;/p&gt;
622
623 &lt;p&gt;&lt;pre&gt;
624 fastboot oem get_identifier_token 2&gt;&amp;1 | sed &#39;s/(bootloader) //&#39;
625 &lt;/pre&gt;
626
627 &lt;p&gt;And once I got the unlock code via email, I could use it like
628 this:&lt;/p&gt;
629
630 &lt;p&gt;&lt;pre&gt;
631 fastboot flash unlocktoken Unlock_code.bin
632 &lt;/pre&gt;&lt;/p&gt;
633
634 &lt;p&gt;And with that final step in place, the phone was unlocked and I
635 could start stuffing the software of my own choosing into the device.
636 So far I only inserted a replacement recovery image to wipe the phone
637 before I start. We will see what happen next. Perhaps I should
638 install &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; on it. :)&lt;/p&gt;
639 </description>
640 </item>
641
642 <item>
643 <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
644 <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>
645 <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>
646 <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
647 <description>&lt;p&gt;For a while now, I have wanted to test
648 &lt;a href=&quot;https://whispersystems.org/&quot;&gt;the Signal app&lt;/a&gt;, as it is
649 said to provide end to end encrypted communication and several of my
650 friends and family are already using it. As I by choice do not own a
651 mobile phone, this proved to be harder than expected. And I wanted to
652 have the source of the client and know that it was the code used on my
653 machine. But yesterday I managed to get it working. I used the
654 Github source, compared it to the source in
655 &lt;a href=&quot;https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US&quot;&gt;the
656 Signal Chrome app&lt;/a&gt; available from the Chrome web store, applied
657 patches to use the production Signal servers, started the app and
658 asked for the hidden &quot;register without a smart phone&quot; form. Here is
659 the recipe how I did it.&lt;/p&gt;
660
661 &lt;p&gt;First, I fetched the Signal desktop source from Github, using
662
663 &lt;pre&gt;
664 git clone https://github.com/WhisperSystems/Signal-Desktop.git
665 &lt;/pre&gt;
666
667 &lt;p&gt;Next, I patched the source to use the production servers, to be
668 able to talk to other Signal users:&lt;/p&gt;
669
670 &lt;pre&gt;
671 cat &amp;lt;&amp;lt;EOF | patch -p0
672 diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
673 --- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
674 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
675 @@ -47,8 +47,8 @@
676 });
677 });
678
679 - var SERVER_URL = &#39;https://textsecure-service-staging.whispersystems.org&#39;;
680 - var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com&#39;;
681 + var SERVER_URL = &#39;https://textsecure-service-ca.whispersystems.org:4433&#39;;
682 + var ATTACHMENT_SERVER_URL = &#39;https://whispersystems-textsecure-attachments.s3.amazonaws.com&#39;;
683 var messageReceiver;
684 window.getSocketStatus = function() {
685 if (messageReceiver) {
686 diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
687 --- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
688 +++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
689 @@ -1,6 +1,6 @@
690 ;(function() {
691 &#39;use strict&#39;;
692 - var BUILD_EXPIRATION = 0;
693 + var BUILD_EXPIRATION = 1474492690000;
694
695 window.extension = window.extension || {};
696
697 EOF
698 &lt;/pre&gt;
699
700 &lt;p&gt;The first part is changing the servers, and the second is updating
701 an expiration timestamp. This timestamp need to be updated regularly.
702 It is set 90 days in the future by the build process (Gruntfile.js).
703 The value is seconds since 1970 times 1000, as far as I can tell.&lt;/p&gt;
704
705 &lt;p&gt;Based on a tip and good help from the #nuug IRC channel, I wrote a
706 script to launch Signal in Chromium.&lt;/p&gt;
707
708 &lt;pre&gt;
709 #!/bin/sh
710 cd $(dirname $0)
711 mkdir -p userdata
712 exec chromium \
713 --proxy-server=&quot;socks://localhost:9050&quot; \
714 --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
715 &lt;/pre&gt;
716
717 &lt;p&gt; The script start the app and configure Chromium to use the Tor
718 SOCKS5 proxy to make sure those controlling the Signal servers (today
719 Amazon and Whisper Systems) as well as those listening on the lines
720 will have a harder time location my laptop based on the Signal
721 connections if they use source IP address.&lt;/p&gt;
722
723 &lt;p&gt;When the script starts, one need to follow the instructions under
724 &quot;Standalone Registration&quot; in the CONTRIBUTING.md file in the git
725 repository. I right clicked on the Signal window to get up the
726 Chromium debugging tool, visited the &#39;Console&#39; tab and wrote
727 &#39;extension.install(&quot;standalone&quot;)&#39; on the console prompt to get the
728 registration form. Then I entered by land line phone number and
729 pressed &#39;Call&#39;. 5 seconds later the phone rang and a robot voice
730 repeated the verification code three times. After entering the number
731 into the verification code field in the form, I could start using
732 Signal from my laptop.
733
734 &lt;p&gt;As far as I can tell, The Signal app will leak who is talking to
735 whom and thus who know who to those controlling the central server,
736 but such leakage is hard to avoid with a centrally controlled server
737 setup. It is something to keep in mind when using Signal - the
738 content of your chats are harder to intercept, but the meta data
739 exposing your contact network is available to people you do not know.
740 So better than many options, but not great. And sadly the usage is
741 connected to my land line, thus allowing those controlling the server
742 to associate it to my home and person. I would prefer it if only
743 those I knew could tell who I was on Signal. There are options
744 avoiding such information leakage, but most of my friends are not
745 using them, so I am stuck with Signal for now.&lt;/p&gt;
746 </description>
747 </item>
748
749 </channel>
750 </rss>