+ <item>
+ <title>First draft Norwegian Bokmål edition of The Debian Administrator's Handbook now public</title>
+ <link>http://people.skolelinux.org/pere/blog/First_draft_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook_now_public.html</link>
+ <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>
+ <pubDate>Tue, 30 Aug 2016 10:10:00 +0200</pubDate>
+ <description><p>In April we
+<a href="http://people.skolelinux.org/pere/blog/Lets_make_a_Norwegian_Bokm_l_edition_of_The_Debian_Administrator_s_Handbook.html">started
+to work</a> on a Norwegian Bokmål edition of the "open access" book on
+how to set up and administrate a Debian system. Today I am happy to
+report that the first draft is now publicly available. You can find
+it on <a href="https://debian-handbook.info/get/">get the Debian
+Administrator's Handbook page</a> (under Other languages). The first
+eight chapters have a first draft translation, and we are working on
+proofreading the content. If you want to help out, please start
+contributing using
+<a href="https://hosted.weblate.org/projects/debian-handbook/">the
+hosted weblate project page</a>, and get in touch using
+<a href="http://lists.alioth.debian.org/mailman/listinfo/debian-handbook-translators">the
+translators mailing list</a>. Please also check out
+<a href="https://debian-handbook.info/contribute/">the instructions for
+contributors</a>. A good way to contribute is to proofread the text
+and update weblate if you find errors.</p>
+
+<p>Our goal is still to make the Norwegian book available on paper as well as
+electronic form.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
+ <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
+ <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
+ <description><p>This summer, I read a great article
+"<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">coz:
+This Is the Profiler You're Looking For</a>" in USENIX ;login: about
+how to profile multi-threaded programs. It presented a system for
+profiling software by running experiences in the running program,
+testing how run time performance is affected by "speeding up" parts of
+the code to various degrees compared to a normal run. It does this by
+slowing down parallel threads while the "faster up" code is running
+and measure how this affect processing time. The processing time is
+measured using probes inserted into the code, either using progress
+counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END). It
+can also measure unmodified code by measuring complete the program
+runtime and running the program several times instead.</p>
+
+<p>The project and presentation was so inspiring that I would like to
+get the system into Debian. I
+<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708">created
+a WNPP request for it</a> and contacted upstream to try to make the
+system ready for Debian by sending patches. The build process need to
+be changed a bit to avoid running 'git clone' to get dependencies, and
+to include the JavaScript web page used to visualize the collected
+profiling information included in the source package.
+But I expect that should work out fairly soon.</p>
+
+<p>The way the system work is fairly simple. To run an coz experiment
+on a binary with debug symbols available, start the program like this:
+
+<p><blockquote><pre>
+coz run --- program-to-run
+</pre></blockquote></p>
+
+<p>This will create a text file profile.coz with the instrumentation
+information. To show what part of the code affect the performance
+most, use a web browser and either point it to
+<a href="http://plasma-umass.github.io/coz/">http://plasma-umass.github.io/coz/</a>
+or use the copy from git (in the gh-pages branch). Check out this web
+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
+profiling more useful you include &lt;coz.h&gt; and insert the
+COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
+code, rebuild and run the profiler. This allow coz to do more
+targeted experiments.</p>
+
+<p>A video published by ACM
+<a href="https://www.youtube.com/watch?v=jE0V-p1odPg">presenting the
+Coz profiler</a> is available from Youtube. There is also a paper
+from the 25th Symposium on Operating Systems Principles available
+titled
+<a href="https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger">Coz:
+finding code that counts with causal profiling</a>.</p>
+
+<p><a href="https://github.com/plasma-umass/coz">The source code</a>
+for Coz is available from github. It will only build with clang
+because it uses a
+<a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606">C++
+feature missing in GCC</a>, but I've submitted
+<a href="https://github.com/plasma-umass/coz/pull/67">a patch to solve
+it</a> and hope it will be included in the upstream source soon.</p>
+
+<p>Please get in touch if you, like me, would like to see this piece
+of software in Debian. I would very much like some help with the
+packaging effort, as I lack the in depth knowledge on how to package
+C++ libraries.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Sales number for the Free Culture translation, first half of 2016</title>
+ <link>http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sales_number_for_the_Free_Culture_translation__first_half_of_2016.html</guid>
+ <pubDate>Fri, 5 Aug 2016 22:45:00 +0200</pubDate>
+ <description><p>As my regular readers probably remember, the last year I published
+a French and Norwegian translation of the classic
+<a href="http://www.free-culture.cc/">Free Culture book</a> by the
+founder of the Creative Commons movement, Lawrence Lessig. A bit less
+known is the fact that due to the way I created the translations,
+using docbook and po4a, I also recreated the English original. And
+because I already had created a new the PDF edition, I published it
+too. The revenue from the books are sent to the Creative Commons
+Corporation. In other words, I do not earn any money from this
+project, I just earn the warm fuzzy feeling that the text is available
+for a wider audience and more people can learn why the Creative
+Commons is needed.</p>
+
+<p>Today, just for fun, I had a look at the sales number over at
+Lulu.com, which take care of payment, printing and shipping. Much to
+my surprise, the English edition is selling better than both the
+French and Norwegian edition, despite the fact that it has been
+available in English since it was first published. In total, 24 paper
+books was sold for USD $19.99 between 2016-01-01 and 2016-07-31:</p>
+
+<table border="0">
+<tr><th>Title / language</th><th>Quantity</th></tr>
+<tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Culture Libre / French</a></td><td align="right">3</td></tr>
+<tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">Fri kultur / Norwegian</a></td><td align="right">7</td></tr>
+<tr><td><a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html">Free Culture / English</a></td><td align="right">14</td></tr>
+</table>
+
+<p>The books are available both from Lulu.com and from large book
+stores like Amazon and Barnes&Noble. Most revenue, around $10 per
+book, is sent to the Creative Commons project when the book is sold
+directly by Lulu.com. The other channels give less revenue. The
+summary from Lulu tell me 10 books was sold via the Amazon channel, 10
+via Ingram (what is this?) and 4 directly by Lulu. And Lulu.com tells
+me that the revenue sent so far this year is USD $101.42. No idea
+what kind of sales numbers to expect, so I do not know if that is a
+good amount of sales for a 10 year old book or not. But it make me
+happy that the buyers find the book, and I hope they enjoy reading it
+as much as I did.</p>
+
+<p>The ebook edition is available for free from
+<a href="https://github.com/petterreinholdtsen/free-culture-lessig">Github</a>.</p>
+
+<p>If you would like to translate and publish the book in your native
+language, I would be happy to help make it happen. Please get in
+touch.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Vitenskapen tar som vanlig feil igjen - relativt feil</title>
+ <link>http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vitenskapen_tar_som_vanlig_feil_igjen___relativt_feil.html</guid>
+ <pubDate>Mon, 1 Aug 2016 16:00:00 +0200</pubDate>
+ <description><p>For mange år siden leste jeg en klassisk tekst som gjorde såpass
+inntrykk på meg at jeg husker den fortsatt, flere år senere, og bruker
+argumentene fra den stadig vekk. Teksten var «The Relativity of
+Wrong» som Isaac Asimov publiserte i Skeptical Inquirer i 1989. Den
+gir litt perspektiv rundt formidlingen av vitenskapelige resultater.
+Jeg har hatt lyst til å kunne dele den også med folk som ikke
+behersker engelsk så godt, som barn og noen av mine eldre slektninger,
+og har savnet å ha den tilgjengelig på norsk. For to uker siden tok
+jeg meg sammen og kontaktet Asbjørn Dyrendal i foreningen Skepsis om
+de var interessert i å publisere en norsk utgave på bloggen sin, og da
+han var positiv tok jeg kontakt med Skeptical Inquirer og spurte om
+det var greit for dem. I løpet av noen dager fikk vi tilbakemelding
+fra Barry Karr hos The Skeptical Inquirer som hadde sjekket og fått OK
+fra Robyn Asimov som representerte arvingene i Asmiov-familien og gikk
+igang med oversettingen.</p>
+
+<p>Resultatet, <a href="http://www.skepsis.no/?p=1617">«Relativt
+feil»</a>, ble publisert på skepsis-bloggen for noen minutter siden.
+Jeg anbefaler deg på det varmeste å lese denne teksten og dele den med
+dine venner.</p>
+
+<p>For å håndtere oversettelsen og sikre at original og oversettelse
+var i sync brukte vi git, po4a, GNU make og Transifex. Det hele
+fungerte utmerket og gjorde det enkelt å dele tekstene og jobbe sammen
+om finpuss på formuleringene. Hadde hosted.weblate.org latt meg
+opprette nye prosjekter selv i stedet for å måtte kontakte
+administratoren der, så hadde jeg brukt weblate i stedet.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Techno TV broadcasting live across Norway and the Internet (#debconf16, #nuug) on @frikanalen</title>
+ <link>http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Techno_TV_broadcasting_live_across_Norway_and_the_Internet___debconf16___nuug__on__frikanalen.html</guid>
+ <pubDate>Mon, 1 Aug 2016 10:30:00 +0200</pubDate>
+ <description><p>Did you know there is a TV channel broadcasting talks from DebConf
+16 across an entire country? Or that there is a TV channel
+broadcasting talks by or about
+<a href="http://beta.frikanalen.no/video/625529/">Linus Torvalds</a>,
+<a href="http://beta.frikanalen.no/video/625599/">Tor</a>,
+<a href="http://beta.frikanalen.no/video/624019/">OpenID</A>,
+<a href="http://beta.frikanalen.no/video/625624/">Common Lisp</a>,
+<a href="http://beta.frikanalen.no/video/625446/">Civic Tech</a>,
+<a href="http://beta.frikanalen.no/video/625090/">EFF founder John Barlow</a>,
+<a href="http://beta.frikanalen.no/video/625432/">how to make 3D
+printer electronics</a> and many more fascinating topics? It works
+using only free software (all of it
+<a href="http://github.com/Frikanalen">available from Github</a>), and
+is administrated using a web browser and a web API.</p>
+
+<p>The TV channel is the Norwegian open channel
+<a href="http://www.frikanalen.no/">Frikanalen</a>, and I am involved
+via <a href="https://www.nuug.no/">the NUUG member association</a> in
+running and developing the software for the channel. The channel is
+organised as a member organisation where its members can upload and
+broadcast what they want (think of it as Youtube for national
+broadcasting television). Individuals can broadcast too. The time
+slots are handled on a first come, first serve basis. Because the
+channel have almost no viewers and very few active members, we can
+experiment with TV technology without too much flack when we make
+mistakes. And thanks to the few active members, most of the slots on
+the schedule are free. I see this as an opportunity to spread
+knowledge about technology and free software, and have a script I run
+regularly to fill up all the open slots the next few days with
+technology related video. The end result is a channel I like to
+describe as Techno TV - filled with interesting talks and
+presentations.</p>
+
+<p>It is available on channel 50 on the Norwegian national digital TV
+network (RiksTV). It is also available as a multicast stream on
+Uninett. And finally, it is available as
+<a href="http://beta.frikanalen.no/">a WebM unicast stream</a> from
+Frikanalen and NUUG. Check it out. :)</p>
+</description>
+ </item>
+
+ <item>
+ <title>Unlocking HTC Desire HD on Linux using unruu and fastboot</title>
+ <link>http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlocking_HTC_Desire_HD_on_Linux_using_unruu_and_fastboot.html</guid>
+ <pubDate>Thu, 7 Jul 2016 11:30:00 +0200</pubDate>
+ <description><p>Yesterday, I tried to unlock a HTC Desire HD phone, and it proved
+to be a slight challenge. Here is the recipe if I ever need to do it
+again. It all started by me wanting to try the recipe to set up
+<a href="https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy">an
+hardened Android installation</a> from the Tor project blog on a
+device I had access to. It is a old mobile phone with a broken
+microphone The initial idea had been to just
+<a href="http://wiki.cyanogenmod.org/w/Install_CM_for_ace">install
+CyanogenMod on it</a>, but did not quite find time to start on it
+until a few days ago.</p>
+
+<p>The unlock process is supposed to be simple: (1) Boot into the boot
+loader (press volume down and power at the same time), (2) select
+'fastboot' before (3) connecting the device via USB to a Linux
+machine, (4) request the device identifier token by running 'fastboot
+oem get_identifier_token', (5) request the device unlocking key using
+the <a href="http://www.htcdev.com/bootloader/">HTC developer web
+site</a> and unlock the phone using the key file emailed to you.</p>
+
+<p>Unfortunately, this only work fi you have hboot version 2.00.0029
+or newer, and the device I was working on had 2.00.0027. This
+apparently can be easily fixed by downloading a Windows program and
+running it on your Windows machine, if you accept the terms Microsoft
+require you to accept to use Windows - which I do not. So I had to
+come up with a different approach. I got a lot of help from AndyCap
+on #nuug, and would not have been able to get this working without
+him.</p>
+
+<p>First I needed to extract the hboot firmware from
+<a href="http://www.htcdev.com/ruu/PD9810000_Ace_Sense30_S_hboot_2.00.0029.exe">the
+windows binary for HTC Desire HD</a> downloaded as 'the RUU' from HTC.
+For this there is is <a href="https://github.com/kmdm/unruu/">a github
+project named unruu</a> using libunshield. The unshield tool did not
+recognise the file format, but unruu worked and extracted rom.zip,
+containing the new hboot firmware and a text file describing which
+devices it would work for.</p>
+
+<p>Next, I needed to get the new firmware into the device. For this I
+followed some instructions
+<a href="http://www.htc1guru.com/2013/09/new-ruu-zips-posted/">available
+from HTC1Guru.com</a>, and ran these commands as root on a Linux
+machine with Debian testing:</p>
+
+<p><pre>
+adb reboot-bootloader
+fastboot oem rebootRUU
+fastboot flash zip rom.zip
+fastboot flash zip rom.zip
+fastboot reboot
+</pre></p>
+
+<p>The flash command apparently need to be done twice to take effect,
+as the first is just preparations and the second one do the flashing.
+The adb command is just to get to the boot loader menu, so turning the
+device on while holding volume down and the power button should work
+too.</p>
+
+<p>With the new hboot version in place I could start following the
+instructions on the HTC developer web site. I got the device token
+like this:</p>
+
+<p><pre>
+fastboot oem get_identifier_token 2>&1 | sed 's/(bootloader) //'
+</pre>
+
+<p>And once I got the unlock code via email, I could use it like
+this:</p>
+
+<p><pre>
+fastboot flash unlocktoken Unlock_code.bin
+</pre></p>
+
+<p>And with that final step in place, the phone was unlocked and I
+could start stuffing the software of my own choosing into the device.
+So far I only inserted a replacement recovery image to wipe the phone
+before I start. We will see what happen next. Perhaps I should
+install <a href="https://www.debian.org/">Debian</a> on it. :)</p>
+</description>
+ </item>
+
+ <item>
+ <title>How to use the Signal app if you only have a land line (ie no mobile phone)</title>
+ <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>
+ <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>
+ <pubDate>Sun, 3 Jul 2016 14:20:00 +0200</pubDate>
+ <description><p>For a while now, I have wanted to test
+<a href="https://whispersystems.org/">the Signal app</a>, as it is
+said to provide end to end encrypted communication and several of my
+friends and family are already using it. As I by choice do not own a
+mobile phone, this proved to be harder than expected. And I wanted to
+have the source of the client and know that it was the code used on my
+machine. But yesterday I managed to get it working. I used the
+Github source, compared it to the source in
+<a href="https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en-US">the
+Signal Chrome app</a> available from the Chrome web store, applied
+patches to use the production Signal servers, started the app and
+asked for the hidden "register without a smart phone" form. Here is
+the recipe how I did it.</p>
+
+<p>First, I fetched the Signal desktop source from Github, using
+
+<pre>
+git clone https://github.com/WhisperSystems/Signal-Desktop.git
+</pre>
+
+<p>Next, I patched the source to use the production servers, to be
+able to talk to other Signal users:</p>
+
+<pre>
+cat &lt;&lt;EOF | patch -p0
+diff -ur ./js/background.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js
+--- ./js/background.js 2016-06-29 13:43:15.630344628 +0200
++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/background.js 2016-06-29 14:06:29.530300934 +0200
+@@ -47,8 +47,8 @@
+ });
+ });
+
+- var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
+- var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
++ var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org:4433';
++ var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
+ var messageReceiver;
+ window.getSocketStatus = function() {
+ if (messageReceiver) {
+diff -ur ./js/expire.js userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js
+--- ./js/expire.js 2016-06-29 13:43:15.630344628 +0200
++++ userdata/Default/Extensions/bikioccmkafdpakkkcpdbppfkghcmihk/0.15.0_0/js/expire.js2016-06-29 14:06:29.530300934 +0200
+@@ -1,6 +1,6 @@
+ ;(function() {
+ 'use strict';
+- var BUILD_EXPIRATION = 0;
++ var BUILD_EXPIRATION = 1474492690000;
+
+ window.extension = window.extension || {};
+
+EOF
+</pre>
+
+<p>The first part is changing the servers, and the second is updating
+an expiration timestamp. This timestamp need to be updated regularly.
+It is set 90 days in the future by the build process (Gruntfile.js).
+The value is seconds since 1970 times 1000, as far as I can tell.</p>
+
+<p>Based on a tip and good help from the #nuug IRC channel, I wrote a
+script to launch Signal in Chromium.</p>
+
+<pre>
+#!/bin/sh
+cd $(dirname $0)
+mkdir -p userdata
+exec chromium \
+ --proxy-server="socks://localhost:9050" \
+ --user-data-dir=`pwd`/userdata --load-and-launch-app=`pwd`
+</pre>
+
+<p> The script start the app and configure Chromium to use the Tor
+SOCKS5 proxy to make sure those controlling the Signal servers (today
+Amazon and Whisper Systems) as well as those listening on the lines
+will have a harder time location my laptop based on the Signal
+connections if they use source IP address.</p>
+
+<p>When the script starts, one need to follow the instructions under
+"Standalone Registration" in the CONTRIBUTING.md file in the git
+repository. I right clicked on the Signal window to get up the
+Chromium debugging tool, visited the 'Console' tab and wrote
+'extension.install("standalone")' on the console prompt to get the
+registration form. Then I entered by land line phone number and
+pressed 'Call'. 5 seconds later the phone rang and a robot voice
+repeated the verification code three times. After entering the number
+into the verification code field in the form, I could start using
+Signal from my laptop.
+
+<p>As far as I can tell, The Signal app will leak who is talking to
+whom and thus who know who to those controlling the central server,
+but such leakage is hard to avoid with a centrally controlled server
+setup. It is something to keep in mind when using Signal - the
+content of your chats are harder to intercept, but the meta data
+exposing your contact network is available to people you do not know.
+So better than many options, but not great. And sadly the usage is
+connected to my land line, thus allowing those controlling the server
+to associate it to my home and person. I would prefer it if only
+those I knew could tell who I was on Signal. There are options
+avoiding such information leakage, but most of my friends are not
+using them, so I am stuck with Signal for now.</p>
+</description>
+ </item>
+