I am very, very, very happy to report this And I cannot believe we have achieved this so fast:
Back in June, I announced I'd start working on the translation of the Made with Creative Commons book into Spanish.
Over the following few weeks, I worked out the most viable infrastructure, gathered input and commitments for help from a couple of friends, submitted my project for inclusion in the Hosted Weblate translations site (and got it approved!)
Then, we quietly and slowly started working.
Then, as it usually happens in late August, early September... The rush of the semester caught me in full, and I left this translation project for later For the next semester, perhaps...
Today, I received a mail that surprised me. That stunned me.
99% of translated strings! Of course, it does not look as neat as "100%" would, but there are several strings not to be translated.
So, yay for collaborative work! Oh, and FWIW Thanks to everybody who helped. And really, really, really, hats off to Luis Enrique Amaya, a friend whom I see way less than I should. A LIDSOL graduate, and a nice guy all around. Why to him specially? Well... This has several wrinkles to iron out, but, by number of translated lines:
| Attachment | Size |
|---|---|
| Screenshot from 2017-10-08 20-55-30.png | 103.1 KB |
Here s my weekly report for week 40 of 2017. In this week I have looked at
censorship in Catalonia and
had my deleted Facebook account
hacked (which made HN front
page). I ve also been thinking
about DRM on the web.
/dev/sdb) and copy the image onto it:
$ wget https://people.debian.org/~stapelberg/raspberrypi3/2017-10-08/2017-10-08-raspberry-pi-3-buster-PREVIEW.img.bz2 $ bunzip2 2017-10-08-raspberry-pi-3-buster-PREVIEW.img.bz2 $ sudo dd if=2017-10-08-raspberry-pi-3-buster-PREVIEW.img of=/dev/sdb bs=5MIf resolving client-supplied DHCP hostnames works in your network, you should be able to log into the Raspberry Pi 3 using SSH after booting it:
$ ssh root@rpi3 # Password is raspberry
When I learned TeX, I was told to not write e.g. something, because TeX would think the period after the g ends a sentence, and introduce a wider, inter-sentence space. Instead, I was to write e.g.\ .
Years later, I learned from a convincing, but since forgotten source, that in fact e.g.\@ is the proper thing to write. I vaguely remembering that e.g.\ supposedly affected the inter-word space in some unwanted way. So I did that for many years.
Until I recently was called out for doing it wrong, and that infact e.g.\ is the proper way. This was supported by a StackExchange answer written by a LaTeX authority and backed by a reference to documentation. The same question has, however, another answer by another TeX authority, backed by an analysis of the implementation, which concludes that e.g.\@ is proper.
What now? I guess I just have to find it out myself.

The problem and two solutions
e.g., and the two contesting variants to fix it. Looks like they yield equal results!
So maybe the difference lies in how \@ and \ react when the line length changes, and the word wrapping require differences in the inter-word spacing. Will there be differences? Let s see;

Expanding whitespace, take 1

Expanding whitespace, take 2

Expanding whitespace, take 3

Expanding whitespace, take 4
e.g.\ is less hassle when using lhs2tex than e.g.\@ (which has to be escaped as e.g.\@@), so the winner is e.g.\ !
(Unless you put it in a macro, then \@ might be preferable, and it is still needed between a captial letter and a sentence period.)
Watch out for future events in Prishtina, the pizzas are huge, but that didn't stop them disappearing before we finished the photos:
One of the reasons which made me switch my old 17" BenQ monitor for a Dell U2413 three years ago was it had an integrated SD card reader. I find very convenient to take camera's card out, plug the card into the monitor and click on KDE device monitor's option Open with digiKam to download the photos or videos.[190231.770349] usb 2-2.3.3: new SuperSpeed USB device number 15 using xhci_hcd [190231.890439] usb 2-2.3.3: New USB device found, idVendor=0bda, idProduct=0307 [190231.890444] usb 2-2.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [190231.890446] usb 2-2.3.3: Product: USB3.0 Card Reader [190231.890449] usb 2-2.3.3: Manufacturer: Realtek [190231.890451] usb 2-2.3.3: SerialNumber: F141000037E1 [190231.896592] usb-storage 2-2.3.3:1.0: USB Mass Storage device detected [190231.896764] scsi host8: usb-storage 2-2.3.3:1.0 [190232.931861] scsi 8:0:0:0: Direct-Access Generic- SD/MMC/MS/MSPRO 1.00 PQ: 0 ANSI: 6 [190232.933902] sd 8:0:0:0: Attached scsi generic sg5 type 0 [190232.937989] sd 8:0:0:0: [sde] Attached SCSI removable disk [190243.069680] hub 2-2.3:1.0: hub_ext_port_status failed (err = -71) [190243.070037] usb 2-2.3-port3: cannot reset (err = -71) [190243.070410] usb 2-2.3-port3: cannot reset (err = -71) [190243.070660] usb 2-2.3-port3: cannot reset (err = -71) [190243.071035] usb 2-2.3-port3: cannot reset (err = -71) [190243.071409] usb 2-2.3-port3: cannot reset (err = -71) [190243.071413] usb 2-2.3-port3: Cannot enable. Maybe the USB cable is bad? ...
A while ago I played with a Twitter bot that
would track radio amateurs using
a packet radio position reporting system, tweet
their location and a picture from Flickr that was taken near to their location
and a link to their packet radio activity on aprs.fi. It s
really not that hard to put these things together and they can be a lot of fun.
The tweets looked like this:
This isn t about building a system that serves any critical purpose, it s about fun. As the radio stations were chosen essentially at random, there could be some cool things showing up that you wouldn t otherwise have seen. Maybe you d spot a callsign of a station you ve spoken to before on HF or perhaps you d see stations in areas near you or in cool places. On Friday evening I took a go at hacking together a bot for Tor relays. The idea being to have regular snippets of information from the Tor network and perhaps you ll spot something insightful or interesting. Not every tweet is going to be amazing, but it wasn t running for very long before I spotted a relay very close to its 10th birthday:VK4CVL is mobile near Chapel Hill, Australia http://t.co/2dqvuqjJxQ http://t.co/q88OhtcPTX #hamradio #hamr pic.twitter.com/5gBVw3ebvq HamLocator (@HamLocator) June 12, 2015
The relays are chosen at random, and tweet templates are chosen at random too. So far, tweets about individual relays can be about age or current bandwidth contribution to the Tor network. There are also tweets about how many relays run in a particular autonomous system (again, chosen at random) and tweets about the total number of relays currently running. The total relays tweets come with a map:esko in Finland started contributing bandwidth to the #Tor network 9 years and 51 weeks ago https://t.co/4K7aj9Jf6C Tor Atlas (@TorAtlas) October 7, 2017
The maps are produced using xplanet. The Earth will rotate to show the current side in daylight at the time the tweet is posted. Unfortunately, the bot currently cannot tweet as the account has been suspended. You should still be able to follow @TorAtlas though and tweets will begin appearing again once I ve resolved the suspension. I plan to rewrite the mess of cron-activated Python scripts into a coherent Python (maybe Java) application and publish the sources soon. There are also a number of new templates for tweets I d like to explore, including number of relays and bandwidth contributed per family and statistics on operating system diversity. Update (2017-10-08): The @TorAtlas account should now be unsuspended.There are currently 6638 #Tor relays running. https://t.co/uySyX7AlAH pic.twitter.com/BbgNGpoNtY Tor Atlas (@TorAtlas) October 7, 2017
Since DebConf 17 I was working on cross-architecture support for
FAI. The new FAI release supports creating cross-architecture disk images, for
e.g. you can build an image for Arm64 (aarch64) on a host running 64-bit
x86 Linux (amd64) in about 6 minutes.
The release announcement
has more details, and I also created a
video showing the build process
for an Arm64 disk image and booting this image using Qemu.
I'm happy to join the Debian cloud sprint in a week, where more FAI
related work is waiting.
FAI
embedded
ARM
I've just released python-gfshare, a Python library that implements Shamir s method for secret sharing, a technique to split a "secret" into multiple parts.
An arbitrary number of those parts are then needed to recover the original file but any smaller combination of parts are useless to an attacker.
For instance, you might split a GPG key into a 3-of-5 share, putting one share on each of three computers and two shares on a USB memory stick. You can then use the GPG key on any of those three computers using the memory stick.
If the memory stick is lost you can ultimately recover the key by bringing the three computers back together again.
For example:
$ pip install gfshare
>>> import gfshare >>> shares = gfshare.split(3, 5, b"secret") >>> shares 104: b'1\x9cQ\xd8\xd3\xaf', 164: b'\x15\xa4\xcf7R\xd2', 171: b'>\xf5*\xce\xa2\xe2', 173: b'd\xd1\xaaR\xa5\x1d', 183: b'\x0c\xb4Y\x8apC' >>> gfshare.combine(shares) b"secret"
>>> del shares['104'] >>> del shares['171'] >>> gfshare.combine(shares) b"secret"
My monthly report covers a large part of what I have been doing in the free software world. I write it for my donors (thanks to them!) but also for the wider Debian community because it can give ideas to newcomers and it s one of the best ways to find volunteers to work with me on projects that matter to me.
Debian LTS
This month I was allocated 12h but I only spent 10.5h. During this time, I continued my work on exiv2. I finished reproducing all the issues and then went on doing code reviews to confirm that vulnerabilities were not present when the issue was not reproducible. I found two CVE where the vulnerability was present in the wheezy version and I posted patches in the upstream bug tracker: #57 and #55.
Then another batch of 10 CVE appeared and I started the process over I m currently trying to reproduce the issues.
While doing all this work on exiv2, I also uncovered a failure to build on the package in experimental (reported here).
Misc Debian/Kali work
Debian Live. I merged 3 live-build patches prepared by Matthijs Kooijman and added an armel fix to cope with the the rename of the orion5x image into the marvell one. I also uploaded a new live-config to fix a bug with the keyboard configuration. Finally, I also released a new live-installer udeb to cope with a recent live-build change that broke the locale selection during the installation process.
Debian Installer. I prepared a few patches on pkgsel to merge a few features that had been added to Ubuntu, most notably the possibility to enable unattended-upgrades by default.
More bug reports. I investigated much further my problem with non-booting qemu images when they are built by vmdebootstrap in a chroot managed by schroot (cf #872999) and while we have much more data, it s not yet clear why it doesn t work. But we have a working work-around
While investigating issues seen in Kali, I opened a bunch of reports on the Debian side:
No comment Liked this article? Click here. My blog is Flattr-enabled.
At work, I help maintain a smartcard
middleware that is provided to
Belgian citizens who want to use their electronic ID card to, e.g., log
on to government websites. This middleware is a piece of software that
hooks into various browsers and adds a way to access the smartcard in
question, through whatever APIs the operating system and the browser in
question provide for that purpose. The details of how that is done
differ between each browser (and in the case of Google Chrome, for the
same browser between different operating systems); but for Firefox (and
Google Chrome on free operating systems), this is done by way of a
PKCS#11 module.
For Firefox 57, mozilla decided to overhaul much of their browser. The
changes are large and massive, and in some ways revolutionary. It's no
surprise, therefore, that some of the changes break compatibility with
older things.
One of the areas in which breaking changes were made is in the area of
extensions to the browser. Previously, Firefox had various APIs
available for extensions; right now, all APIs apart from the
WebExtensions API are considered "legacy" and support for them will be
removed from Firefox 57 going forward.
Since installing a PKCS#11 module manually is a bit complicated, and
since the legacy APIs provided a way to do so automatically provided the
user would first install an add-on (or provided the installer of the
PKCS#11 module sideloads it), most parties who provide a PKCS#11 module
for use with Firefox will provide an add-on to automatically install it.
Since the alternative involves entering the right values in a dialog box
that's hidden away somewhere deep in the preferences screen, the add-on
option is much more user friendly.
I'm sure you can imagine my dismay when I found out that there was no
WebExtensions API to provide the same functionality. So, after asking
around a bit, I filed bug
1357391 to get a
discussion started. While it took some convincing initially to get
people to understand the reasons for wanting such an API, eventually the
bug was assigned the "P5" priority -- essentially, a "we understand the
need and won't block it, but we don't have the time to implement it.
Patches welcome, though" statement.
Since having an add-on was something that work really wanted, and since
I had the time, I got the go-ahead from management to look into
implementing the required code myself. I made it obvious rather quickly
that my background in Firefox was fairly limited, though, and so was
assigned a mentor to help me through the process.
Having been a Debian Developer for the past fifteen years, I do
understand how to develop free software. Yet, the experience was
different enough that still learned some new things about free software
development, which was somewhat unexpected.
Unfortunately, the process took much longer than I had hoped, which
meant that the patch was not ready by the time Firefox 57 was branched
off mozilla's "central" repository. The result of that is that while my
patch has been merged into what will eventually become Firefox 58, it
looks strongly as though it won't make it into Firefox 57. That's going
to cause some severe headaches, which I'm not looking forward to; and
while I can certainly understand the reasons for not wanting to grant
the exception for the merge into 57, I can't help but feeling like this
is a missed opportunity.
Anyway, writing code for the massive Open Source project that mozilla is
has been a load of fun, and in the process I've learned a lot -- not
only about Open Source development in general, but also about this weird
little thing that Javascript is. That might actually be useful for this
other project that I've got running
here.
In closing, I'd like to thank Tomislav 'zombie' Jovanovic for mentoring
me during the whole process, without whom it would have been doubtful if
I would even have been ready by now. Apologies for any procedural
mistakes I've made, and good luck in your future endeavours!
So my last blog-post was about creating a digital-radio, powered by an ESP8266 device, there's a joke there about wireless-control of a wireless. I'm not going to make it.
Sticking with a theme this post is also about radio, software-defined radio. I know almost nothing about SDR, except that it can be used to let your computer "do stuff" with radio. The only application I've ever read about that seemed interesting was tracking aircraft.
This post is about setting up a Debian GNU/Linux system to do exactly that, show aircraft in real-time above your head! This was almost painless to setup.
lsusb:
$ lsusb
..
Bus 003 Device 043: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
..
In more detail I see the major/minor numbers:
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x2838 RTL2838 DVB-T
So far, so good. I installed the development headers/library I needed:
# apt-get install librtlsdr-dev libusb-1.0-0-dev
Once that was done I could clone antirez's repository, and build it:
$ git clone https://github.com/antirez/dump1090.git
$ cd dump1090
$ make
And run it:
$ sudo ./dump1090 --interactive --net
This failed initially as a kernel-module had claimed the device, but removing that was trivial:
$ sudo rmmod dvb_usb_rtl28xxu
$ sudo ./dump1090 --interactive --net
Once it was running I'd see live updates on the console, every second:
Hex Flight Altitude Speed Lat Lon Track Messages Seen .
--------------------------------------------------------------------------------
4601fc 14200 0 0.000 0.000 0 11 1 sec
4601f2 9550 0 0.000 0.000 0 58 0 sec
45ac52 SAS1716 2650 177 60.252 24.770 47 26 1 sec
And opening a browser pointing at http://localhost:8080/ would show that graphically, like so:
NOTE: In this view I'm in Helsinki, and the airport is at Vantaa, just outside the city.
Of course there are tweaks to be made:
udev-rules in place it is possible to run the tool as non-root, and blacklist the default kernel module.dump1090 software that are more up-to-date to explore.
In the interests of keeping myself "honest" regarding F/LOSS activity, here's a report, sadly it's not very good.Unfortunately, September was a poor month for me in terms of motivation and energy for F/LOSS work. I did some amount of Gitano work, merging a patch from Richard Ipsum for help text of the config command. I also submitted another patch to the
STM32F103xx Rust repository, though it wasn't a particularly big
thing. Otherwise I've been relatively quiet on the Rust/USB stuff and have
otherwise kept away from projects.
Sometimes one needs to take a step away from things in order to recuperate and
care for oneself rather than the various demands on ones time. This is
something I had been feeling I needed for a while, and with a lack of
motivation toward the start of the month I gave myself permission to take a
short break.
Next weekend is the next Gitano developer day and I hope to pick up my activity
again then, so I should have more to report for October.
As we walk around with mobile phones in our pockets, there are multiple radios
each with identifiers that can be captured and recorded just through their
normal operation. Bluetooth and Wifi devices have MAC
addresses and can advertise their
presence to other devices merely by sending traffic, or by probing for devices
to connect to if they re not connected.
I found a simple tool, probemon that
allows for anyone with a wifi card to track who is at which location at any
given time. You could deploy a few of these with Raspberry
Pis or even go even cheaper with a number of
ESP8266.
In the news recently was a report from
TfL
about their WiFi data
collection.
Sky News
reported
that TfL plans to make 322m by collecting data from passengers mobiles . TfL
have later denied
this
but the fact remains that collecting this data is trivial.
I ve been thinking about ideas for spoofing mass amounts of wireless devices
making the collected data useless. I ve found that people have had success in
using
Scapy
to
forge
WiFi
frames.
When I have some free time I plan to look into some kind of proof-of-concept
for this.
On the underground, this is the way to do this, but above ground I ve also
heard of
systems
that use the TMSI from 3G/4G, not WiFi
data, to identify mobile phones. You ll have to be a bit more brave if you want
to forge these (please do not,
unless using alternative licensed frequencies, you may interfere with mobile
service and prevent 999 calls).
If you wanted to spy on mobile phones near to you, you can do
this
with the gr-gsm package now available in
Debian.
85 years ago, on 30 July 1932, Albert Einstein send a letter to Sigmund Freud discussing the question: Why War? Freud answered to this letter in early September 1932. To commemorate the 85 year anniversary, the German typographer Harald Geisler has started a project on Kickstarter to recreate the letters send back then. Over the last weeks the two letters have arrived at my place in Japan:
But not only were the letters reproduces, but typeset in the original digitized handwriting and sent from the original locations. Harald Geisler crafted fonts based on the hand-writing of Einstein and Freud, an layout out the pages of the letters according to the originals. Since the letters were originally written in German, an English translation also typeset in the hand-writing font was added.
In addition to the a bit archaic hand writing of Freud which even many German natives will not be able to read, the German text of his letter has been included in normal print style. Not only that, Harald Geisler even managed to convince the Sigmund Freud Museum to let rest the letters for one night in the very office where the original letter was written, so all the letters send out actually came from Freud s office.
This project was one of the first Kickstarter projects I supported, and I really liked the idea, and would like to thanks Harald Geisler for realizing it. These kind of activities, combining of typography, history, action, dedication, keep our culture and history alive. Thanks.
Harald Geisler also invites us all to continue the dialog on Why War?, which is getting more and more relevant again, with war-mongering becoming respected practice.
RProtoBuf provides R bindings for the Google Protocol Buffers ("ProtoBuf") data encoding and serialization library used and released by Google, and deployed fairly widely in numerous projects as a language and operating-system agnostic protocol.
A new releases RProtoBuf 0.4.11 appeared on CRAN earlier today. Not unlike the other recent releases, it is mostly a maintenance release which switches two of the vignettes over to using the pinp package and its template for vignettes.
CRANberries also provides a diff to the previous release. The RProtoBuf page has copies of the (older) package vignette, the 'quick' overview vignette, a unit test summary vignette, and the pre-print for the JSS paper. Questions, comments etc should go to the GitHub issue tracker off the GitHub repo.Changes in RProtoBuf version 0.4.11 (2017-10-03)
- The
RProtoBuf-introandRProtoBuf-quickrefvignettes were converted to Rmarkdown using the templates and style file from the pinp package.- A few minor internal upgrades
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Some things I don't really understand reading in German media
Next.