Since I've got a few weeks off I've decided I need to find a project, or
two, to occupy me. Happily the baby is settling in well, mostly he
sleeps for 4-5 hours, then eats, before the cycle repeats. It could
have been so much worse.
My plan is to start exploring Arduino-related projects. It has been years
since I touched hardware, with the exception of building a new PC for myself
every 12-48 months.
There are a few "starter kits" you can buy, consisting of a board, and some discrete components such as a bunch of buttons, an LCD-output screen, some sensors (pressure, water, tilt), etc.
There are also some nifty little pre-cooked components you can buy such as:
Back in 2010, inspired by Juliet, I set about doing 101 things in 1001 days. I had various levels of success, but one of the things I did complete was the aim of watching half of the IMDB Top 250. I didn t stop at that point, but continued to work through it at a much slower pace until I realised that through the Queen s library I had access to quite a few DVDs of things I was missing, and that it was perfectly possible to complete the list by the end of 2016. So I did.
I should point out that I didn t set out to watch the list because I m some massive film buff. It was more a mixture of watching things that I wouldn t otherwise choose to, and also watching things I knew were providing cultural underpinnings to films I had already watched and enjoyed. That said, people have asked for some sort of write up when I was done. So here are some random observations, which are almost certainly not what they were looking for.
Here is my monthly update covering what I have been doing in the free software world (previous month):
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues.
strip-nondeterminism is our tool to remove specific non-deterministic results from a completed build.
trydiffoscope is a web-based version of the diffoscope in-depth and content-aware diff utility. Continued thanks to Bytemark for sponsoring the hardware.
buildinfo.debian.net is my experiment into how to process, store and distribute .buildinfo files after the Debian archive software has processed them.
Burkeman: Why time management is ruining our lives
Over the past semester I ve been trying to convince one graduate
student and one professor in my department to use Inbox Zero
to get a better handle on their e-mail inboxes. The goal is not to be
more productive. The two of them get far more academic work done than
I do. However, both of them are far more stressed than I am. And in
the case of the graduate student, I have to add items to my own to-do
list to chase up e-mails that I ve sent him, which only spreads this
stress and tension around.
The graduate student sent me this essay by Oliver Burkeman about how
these techniques can backfire, creating more stress, tension and
anxiety. It seems to me that this happens when we think of these
techniques as having anything to do with productivity. Often people
will say use this technique and you ll be less stressed, more
productive, and even more productive because you re less stressed.
Why not just say use this technique and you ll be less anxious and
stressed ? This is a refusal to treat lower anxiety as merely a means
to some further end. People can autonomously set their own ends, and
they ll probably do a better job of this when they re less anxious.
Someone offering a technique to help with their sense of being
overwhelmed need not tell them what to do with their new calm.
It might be argued that this response to Burkeman fails to address the
huge sense of obligation that an e-mail inbox can generate. Perhaps
the only sane response to this infinite to-do list is to let it pile
up. If we follow a technique like Inbox Zero, don t we invest our
inbox with more importance than it has? Like a lot of areas of life,
the issue is that the e-mails that will advance truly valuable
projects and relationships, projects of both ourselves and of others,
are mixed in with reams of stuff that doesn t matter. We face this
situation whenever we go into a supermarket, or wonder what to do
during an upcoming vacation. In all these situations, we have a
responsibility to learn how to filter the important stuff out, just as
we have a responsibility to avoid reading celebrity gossip columns
when we are scanning through a newspaper. Inbox Zero is a technique
to do that filtering in the case of e-mail. Just letting our inbox
pile up is an abdication of responsibility, rather than an intelligent
response to a piece of technology that most of the world abuses.
| Series: | The Belgariad #3 |
| Publisher: | Del Rey |
| Copyright: | June 1983 |
| Printing: | February 1990 |
| ISBN: | 0-345-33545-7 |
| Format: | Mass market |
| Pages: | 305 |
__main__.py)
and the search prototype.
Debmans is the first project for which I have tried the
CII Best Practices Badge program, an interesting questionnaire to
review best practices in software engineering. It is an excellent
checklist I recommend every project manager and programmer to get familiar with.
I still need to complete my work on Debmans: as I write this, I
couldn't get access to the new server the DSA team setup for this
purpose. It was a bit of a frustrating experience to wait for all the
bits to get into place while I had a product ready to test. In the
end, the existing manpages.d.o maintainer decided to deploy the existing
codebase on the new server while the necessary dependencies are
installed and accesses are granted. There's obviously still a
bunch of work to be done for this to be running in production so I
have postponed all this work to January.
My hope is that this tool can be reused by other distributions, but
after talking with Ubuntu folks, I am not holding my breath: it seems
everyone has something that is "good enough" and that they don't want
to break it...
Whilst I managed to read almost sixty books in 2016 here are ten of my favourites in no particular order.
Disappointments this year include Stewart Lee's Content Provider (nothing like his stand-up), Christopher Hitchens' And Yet (his best essays are already published) and Heinlein's Stranger in a Strange Land (great exposition, bizarre conclusion).
The worst book I finished, by far, was Mark Edward's Follow You Home.
Animal QC
Gary Bell, QC
Subtitled My Preposterous Life, this rags-to-riches story about a working-class boy turned eminent lawyer would be highly readable as a dry and factual account but I am compelled to include it here for its extremely entertaining style of writing.
Full of unsurprising quotes that take one unaware: would you really expect a now-Queen's Counsel to "heartily suggest that if you find yourself suffering from dysentery in foreign climes you do not medicate it with lobster thermidor and a bottle of Ecuadorian red?"
A real good yarn.
So You've Been Publically Shamed
Jon Ronson
The author was initially recommended to me by Brad but I believe I started out with the wrong book. In fact, I even had my doubts about this one, prematurely judging from the title that it was merely cashing-in on a fairly recent internet phenomenon like his more recent shallow take on Trump and the alt-Right but in the end I read Publically Shamed thrice in quick succession.
I would particularly endorse the audiobook version: Ronson's deadpan drawl suits his writing perfectly.
The Obstacle is the Way
Ryan Holiday
Whilst everyone else appears to be obligated to include Ryan's recent Ego is the Enemy in their Best of 2016 lists I was actually taken by his earlier "introduction by stealth" to stoic philosophy.
Certainly not your typical self-help book, this is "a manual to turn to in troubling times".
Returning to this work at least three times over the year even splashing out on the audiobook at some point I feel like I learned a great deal, although it is now difficult to pinpoint exactly what. Perhaps another read in 2017 is thus in order
Layer Cake
J.J. Connolly
To judge a book in comparison to the film is to do both a disservice, but reading the book of Layer Cake really underscored just how well the film played to the strengths of that medium.
All of the aspects that would not have worked had been carefully excised from the screenplay, ironically leaving more rewarding "layers" for readers attempting the book. A parallel adaption here might be No Country for Old Men - I would love to read (or write) a comparative essay between these two adaptions although McCarthy's novel is certainly the superior source material.
Lying
Sam Harris
I've absorbed a lot of Sam Harris's uvre this year in the form of his books but moreover via his compelling podcast. I'm especially fond of Waking Up on spirituality without religion and would rank that as my favourite work of his.
Lying is a comparatively short read, more of a long essay in fact, where he argues that we can radically simplify our lives by merely telling the truth in situations where others invariably lie. Whilst it would take a brave soul to adopt his approach his case is superlatively well-argued and a delight to read.
Letters from a Stoic
Seneca
Great pleasure is to be found not only in keeping up an old and established friendship but also in beginning and building up a new one. Reading this in a beautifully svelte hardback, I tackled a randomly-chosen letter per day rather than attempting to read it cover-to-cover. Breaking with a life-long tradition, I even decided to highlight sections in pen so I could return to them at ease. I hope it's not too hackneyed to claim I gained a lot from "building up" a relationship with this book. Alas, it is one of those books that is too easy to recommend given that it might make one appear wise and learned, but if you find yourself in a slump, either in life or in your reading habits, it certainly has my approval.
Solo: A James Bond Novel
William Boyd
I must have read all of the canonical Fleming novels as a teenager and Solo really rewards anyone who has done so. It would certainly punish anyone expecting a Goldeneye or at least be a little too foreign to be enjoyed.
Indeed, its really a pastiche of these originals, both in terms of the time period, general tone (Bond is more somber; more vulnerable) and in various obsessions of Fleming's writing, such as the overly-detailed description of the gambling and dining tables. In this universe, 007's restaurant expenses probably contributed signifcantly to the downfall of the British Empire, let alone his waistline.
Bond flicking through a ornithological book at one point was a cute touch
The Subtle Art of Not Giving A F*ck
Mark Manson
Certainly a wildcard to include here and not without its problems, The Subtle Art is a curious manifesto on how to approach life. Whilst Manson expouses an age-old philosophy of grounding yourself and ignoring the accumulation of flatscreen TVs, etc. he manages to do so in a fresh and provocative "21st-centry gonzo" style.
Highly entertaining, at one point the author posits an alternative superhero ("Disappointment Panda") that dishes out unsolicited and uncomfortable truths to strangers before simply walking away: "You know, if you make more money, that s not going to make your kids love you," or: "What you consider friendship is really just your constant attempts to impress people."
Ouch.
The Fourth Protocol
Frederick Forsyth
I have a crystal-clear memory from my childhood of watching a single scene from a film in the dead of night: Pierce Brosnan sets a nuclear device to detonate after he can get away but a double-crossing accomplice surreptitiously brings the timetable forward in order that the bomb also disposes of him
Anyway, at some point whilst reading The Fourth Protocol it dawned on me that this was that book. I might thus be giving the book more credit due to this highly satisfying connection but I think it stands alone as a superlative political page-turner and is still approachable outside the machinations of the Cold War.
The Partner
John Grisham
After indulging in a bit too much non-fiction and an aborted attempt at The Ministry of Fear, I turned to a few so-called lower-brow writers such as Jeffrey Archer, etc.
However, it was The Partner that turned out to be a real page-turner for somewhat undefinable reasons. Alas, it appears the rest of the author's output is unfortunately in the same vein (laywers, etc.) so I am hesitant to immediately begin others but judging from various lists online I am glad I approached this one first.
Shogun: The First Novel of the Asian saga
James Clavell
Despite its length, I simply couldn't resist returning to Shogun this year although it did fatigue me to the point that I have still yet to commence on its sequel, Tai-Pan.
Like any good musical composition, one is always rewarded by returning to a book and I took great delight in uncovering more symbolism throughout (such as noticing that one of the first words Blackthorne learns in Japanese is "truth") but also really savouring the tragic arcs that run throughout the novel, some beautiful phrases ("The day seemed to lose its warmth ") and its wistful themes of inevitability and karma.

Mausaji, Never born Never died, Always in the heart.
| Series: | The Belgariad #2 |
| Publisher: | Del Rey |
| Copyright: | November 1982 |
| Printing: | March 1992 |
| ISBN: | 0-345-33565-1 |
| Format: | Mass market |
| Pages: | 322 |
I got tired of manually fetching installation images via either FTP or by manually transferring files to z/VM to test s390x installs. Hence it was about time to automate it. Originally I wanted to instrument an installation via vmcp from another instance on the same host but I figured that I cannot really rely on a secondary instance when I need it and went the s3270/x3270-script way instead.- unpacked the tarball
- installed the rpm from the "packages" folder
zypper install cnijfilter-common-3.70-1.x86_64.rpm cnijfilter-ip100series-3.70-1.x86_64.rpm
... and choose to ignore the missing file dependency on libtiff.so.5.
ln -s /usr/lib64/libtiff.so /usr/lib64/libtiff.so.5
- re-ran the ./install.sh which registered the printer with cups and does whatever else
magic is included in 1906 lines of shell.
To my surprise this driver still works and provides the expected quality. Though it's just
a question of time until this setup will break. Be it an incompatible ABI change in libtiff
or another lib in use by those Canon provided tools.
QGIS and gdal with ECW support
While the printer stuff is a rather common use case, having a map viewer for map files in the
ECW format is the eccentric
part. I found some hints on stackoverflow and subsequently
https://trac.osgeo.org/gdal/wiki/ECW
that a non-free library is required and a specific build of gdal.
Then QGIS should be able to work with ECW files. Lucky us there
is at least a OpenSuSE repository for gdal and QGIS. So I did the following:
zypper addrepo http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_42.2/Application:Geo.repo
zypper install qgis
Then I had to download the non-free ECW SDK from http://download.hexagongeospatial.com/downloads/erdas-ecw-jp2-sdk-v5.3-%28linux%29 - you'll and up with a '.bin' installer file. The installation process
left me with "ERDAS-ECW_JPEG_2000_SDK-5.3.0" folder in my $HOME. I moved that one to /opt. Next
step is adding the library to the ldconfig search path.
echo "/opt/ERDAS-ECW_JPEG_2000_SDK-5.3.0/Desktop_Read-Only/lib/x64/release/" > /etc/ld.so.conf.d/ecw.conf; ldconfig
Now it was "just" about rebuild gdal with ECW support. So I downloaded the required source packages
with "zypper source-install gdal", edited the spec somewhere in "/usr/src/" to make the following
modifications
--with-ecw=/opt/ERDAS-ECW_JPEG_2000_SDK-5.3.0/Desktop_Read-Only
added to the "./configure" invocation. And somewhere at the top we had to relax the
requirement that all installed files have to be referenced inside the package.
%define _unpackaged_files_terminate_build 0
As a last step I had to "rpmbuild -ba" the package and force the installation via zypper
once more, because this time we have a file depedency on the libecw stuff and it's obviously
not listed in the rpm database. Last but not least I tried to put the gdal build on hold with
zypper addlock gdal libgdal20
to ensure it's not removed on the next update.
Other non-free tools
Beside of those two issues I had to install a range of other non-free tools, but currently
they work without further issues or modifications. One is Teamviewer (i686 multiarch rpm) and
the other one is XnViewMP. XnView is also able to show ECW files, but only the smaller ones.
It crashes on bigger ones but that's also the case on Windows. Then there is also (required
by some Italian map related websites) the ugly Adobe Flash Plugin for Firefox, but that one
is sadly still a widespread issue. We also tried to try out the nvidia graphic drivers but
at the moment we could only get the build in Intel card to work. Usually the preferred solution
from my point of view but sometimes we see rendering glitches and I'm not sure if it's the
driver or something else.
my personal take away
I hate to admit it but it's nothing extraordinary that was requested here. But still
it took me the better part of two evenings to figure everything out. And even now it's
not properly integrated and doomed to fail any day due to various updates and changes
in the surounding ecosystem. I've full sympathy for every average user that would give
up after two hours of research and try&error on this journey.
For the printer drivers I'm happy to blame Canon. The printer situation as a whole
improved from my point of view during the last decade, but it's still a pain in the
ass with the very short shelf life you usually see with consumer models.
For the ECW case one could discuss if it would be legally possible and helpful to do
ugly dlopen() stuff to dynamcially load the shared libs. But then again someone has
to make his hands dirty during the build and discussions about the legal use of header
files will be the next chapter (hello Oracle). It's just ugly. Actually I know too little
about the world of image formats to judge if someone has a good reason to keep this
format commercial or not. From my personal point of view it's not useful and maybe
even morally wrong.
Technically one could argue if it would make sense to keep a local copy of the
gdal build in "/opt" and start QGIS with a modified library path to prefer the
private gdal build. Not sure if that is any better.
On the other hand there are evolving mechanism like flatpack that would ease the handling of
such situations. Buth then again we would be catering non-free software. It feels a lot
like giving up.
While my private working environment is except for firmware blobs free, I now created
for someone a real "FrankenSuSE" to satisfy his everyday needs. On the one hand we
now have another mostly satisfied user of a mostly free operating system. On the other
hand that was only possible by adding a vast amount of non-free software. For sure
we did not win the war, I'm not even sure if we've won a single battle here. It's
just frustrating to see what is required to get someone up and running. With my personal
attitude towards open source software it even feels wrong to invest so much time into
fiddling with non-free components.
What is still missing
We currently lack an image viewer that allows us to print only a selection of
an image, which is useful to print parts of a map. That usually works with XnView
on Windows but does not work with the Linux version at the moment. I also tried gwenview
and geeqie and had the same issue. Not sure if it's maybe a bug in XnView or one of the
Qt parts (gwenview is also Qt based). I did not research that yet.
Update: I spent quite some time looking into open bug reports for geeqie and gwenview.
Seems the feature to print only a section of an image is something new. I've created
#374299 (gwenview) and
#457 (geeqie).
For XnView I expect it's a difference between XnViewMP (the portable version) and
the Windows only XnView Classic. Needs to be clarified and it might be worth to try
XnView Classic with wine. Maybe printing with wine via cups works, I found at least
some results for it on the internet.
.buildinfo files for Stretch as Debian will not rebuild its source packages and because these binary packages currently in the archive were mostly built with dpkg > 1.18.11.
reprepro/5.0.0-1 has added support for dealing with .buildinfo files
that are included in .changes files. (Closes: #843402)
Reproducible work in other projects
The Chromium project is now working on making their build process (mostly)
deterministic.
Their motivation is to save both "[money] (less hardware is required) and
developer time (reduced latency by having less work to do on the TS and CI)".
Unreproducible bugs filed
arm64 architecture.
arm64 machines with 64GB memory, which allows us to rebuild Debian very fast!
The year 2016, which is about to end, has been full of work and contributions
to the FLOSS comunity.
Most of my focus goes to two important projects: Debian and Netfilter.
This is no coincidence, since my main interests in the IT world are
systems and networks.
Some numbers (no exhaustive count):
| Series: | The Belgariad #1 |
| Publisher: | Del Rey |
| Copyright: | April 1982 |
| Printing: | August 1990 |
| ISBN: | 0-345-33551-1 |
| Format: | Mass market |
| Pages: | 258 |
You may have noticed (but you probably did not), but on 2017-02-04, at
14:00, in room UB2.252A (aka "Lameere"), which at that point in time
will be the Virtualisation and IaaS devroom, I'll be giving a talk on
the Network Block Device protocol.
Having been involved in maintaining NBD in one way or another for over
fifteen years now, I've never seen as much activity around the concept
as I have in the past few years. The result of that has been that we've
added a number of new features to the protocol, to allow it to be used
in settings where it was not as useful or as attractive as it would have
been before. As a result, these are exciting times for those who care
about NBD, and I thought it would be about time that I'd speak about it
somewhere. The Virtualisation/IaaS devroom seemed like the right fit
today (even though I wouldn't have thought so a mere two years ago), and
so I'm happy they agreed to have me.
While I still have to start writing my slides, and therefore don't
really know (yet) exactly what I'll be talking about, the
schedule
already contains an outline.
See you there?
dzil authordeps or dzil listdeps to list dependencies.dzil authordeps --missing cpanm dzil listdeps --missing cpanmOn a Debian system, one may prefer to install Perl modules using Debian packages. Installing build dependencies can be done with
apt build-dep, but apt does not handle Dist::Zilla author dependencies.
The new authordebs Dist::Zilla sub-command was wriiten to fill this gap. When run in a directory containing the source of a Perl module that uses Dist::Zilla, you can run dzil installdebs to list the Debian packages required to run the dzil command. You can also run dzil installdebs -install to install author dependencies (using sudo under the hood).
See:
On Debian, authordebs is provided by libdist-zilla-app-command-authordebs-perl
All the bestNext.