Planet Debian

Subscribe to Planet Debian feed
Planet Debian -
Updated: 7 hours 8 min ago

Norbert Preining: Changing cinnamon’s lockscreen background

Tue, 2020-02-25 19:47

Recently I want to have a different background image on the desktop and the lock screen. With my preferred desktop environment, Cinnamon, I found that this is not planned for, how disappointing. Searching the internet pointed me to a solution using a background task. The script is contained in this repository, which is btw full of nice tricks. The script there does much more than I need (no need for slide shows etc), and also uses qdbus in a sleep loop, which is somehow overdoing imho.

It turned out that using dbus-monitor alone, but not in profile output mode, but default output mode, allows for reading and acting upon the state of the screensaver. That allowed me to greatly simplify the script to the following:

#!/bin/bash #   DESKTOP_BACKGROUND=$(gsettings get org.cinnamon.desktop.background picture-uri) DESKTOP_SLIDESHOW=$(gsettings get org.cinnamon.desktop.background.slideshow slideshow-enabled) LOCKSCREEN_BACKGROUND="/path/to/lock/screen/background/image"   # Check for existing instances and kill them leaving current instance running for PID in $(pidof -o %PPID -x "${0##*/}"); do if [ "$PID" != $$ ]; then kill -9 "$PID" fi done   dbus-monitor --session "interface='org.cinnamon.ScreenSaver', member='ActiveChanged'" | while read -r msg do # The profile mode does not contain the actual value of the state, while in # normal output mode the state is shown in the second line: #signal time=1582609490.461661 sender=:1.17859 -> destination=(null destination) serial=132 path=/org/cinnamon/ScreenSaver; interface=org.cinnamon.ScreenSaver; member=ActiveChanged # boolean true #signal time=1582609495.138523 sender=:1.17859 -> destination=(null destination) serial=143 path=/org/cinnamon/ScreenSaver; interface=org.cinnamon.ScreenSaver; member=ActiveChanged # boolean false case "$msg" in "boolean true") DESKTOP_BACKGROUND=$(gsettings get org.cinnamon.desktop.background picture-uri) DESKTOP_SLIDESHOW=$(gsettings get org.cinnamon.desktop.background.slideshow slideshow-enabled) gsettings set org.cinnamon.desktop.background.slideshow slideshow-enabled false gsettings set org.cinnamon.desktop.background picture-uri "file://$LOCKSCREEN_BACKGROUND" ;; "boolean false") gsettings set org.cinnamon.desktop.background picture-uri "$DESKTOP_BACKGROUND" gsettings set org.cinnamon.desktop.background.slideshow slideshow-enabled $DESKTOP_SLIDESHOW ;; *) ;; esac done

With that simple script running in the background (best via an autostart item in ~/.config/autostart/ like the following (where the above script is located in /usr/local/bin/

[Desktop Entry] Type=Application Exec=/usr/local/bin/ X-GNOME-Autostart-enabled=true NoDisplay=false Hidden=false Name=cinnamon-lockscreen-background.desktop Comment=Change lockscreen background image X-GNOME-Autostart-Delay=30

gives me my preferred background image on both the lock screen and the main desktop. Great.

Categories: FLOSS Project Planets

Ulrike Uhlig: Conflict solving has many layers

Tue, 2020-02-25 05:00

In January I started a mediation training which is specifically aimed at mediation and conflict in workplaces. I'd like to share some of my insights from this training in a series of posts.

Visibility of conflicts

Conflicts in the workplace are most of the time structural and systemic. However, they generally burst out on the individual, personal level, and ultimately on the relational level - making it look like they were individual problems. Often times, when we see a conflict, we only see the tip of the iceberg.

I'll try to very briefly outline ways to look at conflicts.

Layers of conflict solving

When working on a conflict, there are generally three layers involved: the past, the present and the future:

  1. The past. What happened? When something hurtful or unlawful happened in the past, this layer calls for compensation and/or conciliation, i.e. giving back something that was taken, paying a fine, apologizing, or simply that both parties acknowledge the facts — or the hurt — that was caused.
  2. The present. Where are we, the conflicting parties, standing now, where is our center? At this layer we can seek compromise through negotiation, and communication.
  3. The future. How do we want to (not) interact in the future? In order to learn from conflict, the conflicting parties need to engage in a process of transformation.

When you think about a conflict that you solved in the past months or years, to which extent were these three layers involved?

You'll probably come to the conclusion that all of three of them were involved — but not necessarily to the same extent. If compensation/conciliation does not take place, we cannot operate on the layer involving the present and even less so on the layer involving future transformation.

Conflict as process

People generally approach conflict like they would approach a problem with their car: they want to solve it via expert advice. Something is wrong, please repair the problem. "Kim is not happy that we put them on another task with less pay. Let's hire an HR person who can "convince" Kim of the advantages of the new job."

Other times people think that the conflict can only be the fault of one of the people involved in it, and ascribe the person all sorts of bad character traits which could only get softened through relaxation techniques, or fixed through therapy (1). "Toni is so frustrated all the time, they should really learn some positive thinking and do more yoga so they don't bother everyone with their bad mood at work." OR "Jawad has a depression, let's ignore his negativity."

But there is something in between:


In between there is a relation, or a process: How do persons relate to problems?

There is no right or wrong in this in-between of person and problem, because this relation is always only subjective: how do I as a person relate to the problem, how do I understand it, where am I standing with regards to this problem? What are my experiences, my triggers, my values, my boundaries?

There are many different ways to deal with this process, only one of them is mediation. In some situations, other possibilities can be more appropriate: for example coaching, supervision, leadership training, legal advice, or even legal measures.


When a conflict in your workplace arises, make sure to ask and research if there could be one or more underlying structural issues that may have led to this conflict.

(1) It is very important to distinguish an actual mental health issue such as schizophrenia, bipolar disorder, as merely two examples, from behaviours that we dislike in other people. Mental health issues might be at the core of a conflict, or a dysfunctional relation at work. However, diagnosing a person with some kind of mental health issue is most often used as a way to dismiss their criticism, their way of voicing an opinion, or as a way to silence them. Rule of thumb: If you're not their doctor, but have to work with them, please seek external medical — or even legal — advice.

Categories: FLOSS Project Planets

Russ Allbery: Review: Digital Minimalism

Tue, 2020-02-25 00:00

Review: Digital Minimalism, by Cal Newport

Publisher: Porfolio/Penguin Copyright: 2019 ISBN: 0-525-53654-X Format: Kindle Pages: 256

Cal Newport is a computer science professor at Georgetown with a long-standing side interest in personal productivity and career development. I first ran across his work with Deep Work, the thesis of which is that the most valuable resource for knowledge workers is concentration and the ability to think deeply about a topic, but our work environments and tools are structured to undermine that concentration. I found, and still find, Deep Work persuasive, even if that hasn't fully translated into following its recommendations.

This book is only glancingly about concentration, however. Newport has gotten interested in what he calls "digital minimalism," joining the chorus of people who say that smart phones and social media are bad for your brain. If you're already starting to roll your eyes, you're not alone. I think Newport has a few interesting things to say and successfully avoids most of the moral panic that infests news media coverage of this topic, but I'd rather read more in the vein of Deep Work.

Newport's basic thesis is sound: Social networks, and to a lesser extent smart phones and mobile apps in general, are designed to make money for their authors by monetizing your attention. The companies behind them aren't opposed to making your life better if that helps hold your attention, but it's not their primary goal, nor is it clear if they know how to improve your life in any meaningful way. They do know, extremely well, how to exploit human psychology to keep you returning to their product.

How they do this is a topic of much speculation and analysis. Newport primarily blames three things: the ubiquitous availability of mobile devices, the addictive power of intermittent positive reinforcement, and exploitation of the human desire for social approval.

The second of those is, I think, the least obvious and the one with the most interesting psychological research. Behavioral experiments in psychology (specifically, Michael Zeiler's 1971 experiment with pigeons) seem to indicate that unpredictable rewards can be more addictive than predictable rewards. Zeiler compared pigeons who were rewarded for every button press with pigeons who were sometimes rewarded and sometimes weren't at random, and found that the second group pressed the button twice as much. Newport argues that social media interactions such as the like button, or even just searching posts for something interesting or unexpected, produce exactly this sort of unpredictable, random positive reinforcement, and are thus more addictive than reliable and predictable rewards would be.

The other points are more obvious, and expand on themes Newport discussed in his previous books. Mobile devices plus social media provide convenient and immediate access to lightweight social interactions. We can stay lightly in touch with far more people than we could interact with in person, and easily access the small mental and social rewards of curiosity, life news, and content-free moments of connection. As you might expect from Newport's focus on concentration and deep thinking, he considers this ubiquitous, shallow distraction to be dangerous. It requires little sustained effort, offers few meaningful rewards, and is developed and marketed by companies with an incentive to make it mildly addictive. Newport believes these sorts of trivial interactions crowd out deep and meaningful ones and can make us feel perpetually distracted and harried.

So far, so good; this is a defensible take on social media. But it's also not very groundbreaking, and is only a small part of this book. Most of Digital Minimalism is about what Newport proposes we do about it: Cut back significantly (at first, completely) on social media and replace it with other activities Newport finds more worthy.

To give him credit, he doesn't fall for the moralizing simplification that either screens or social media are inherently bad. His thesis is that social media is one of a number of tools we can choose to use, and that we should make that choice thoughtfully, base it on the value that tool can bring compared to other ways we could spend the same time, and restrict any tool we do choose to only the purposes for which it has value. He therefore doesn't propose dropping social media entirely; rather, he recommends deciding what purpose it serves for you and then using it only for that purpose, which can often be done in a half-hour on the weekend from a desktop computer rather than in numerous interrupted intervals throughout the day on a phone.

I think this is sensible, but maybe that's because I'm already (mostly) doing what Newport suggests. I never created a Facebook account (thankfully, my family doesn't use it). My one social media time sink is reading Twitter, but knowing my tendency to get into arguments on-line, I have an iron-clad rule to treat Twitter as strictly read-only and never post, thus avoiding at least the social approval aspects. I learned my lesson on Usenet that on-line arguments can expand to fill all available time, and it's worth thinking very hard about what I'm trying to accomplish. There's usually something else I could be doing that would either be more fun or more productive (and often both).

I was therefore less interested in Newport's advice and more interested in how he chose to provide it and in what he recommends people substitute for social media. This is a mixed bag.

Those who follow his blog will know that Newport is relentlessly apolitical in public. That's a more severe problem for Digital Minimalism than it is for Deep Work because a critique of social media begs to be a critique of marketing-driven capitalism and the economic and social systems that support building commercial empires on top of advertising. Newport predictably refuses to follow that thread. He makes specific, limited, and targeted criticisms of social media companies that go only as far as observing that they commodify our attention, but absolutely refuses to look at why attention is a commodity or what that implies about our economic system. I was unsurprised by this, but it's still disappointing.

Newport also freely mixes in his personal biases and is rather too credulous when reading studies or authors who agree with him. Frequent references to Thoreau and Walden as examples of minimalism sound a bit odd once you know that Thoreau's mother occasionally cooked for him and did his laundry. Minimalism based on other people's (gendered) labor is perhaps not the note Newport was trying to strike. In another version of the same problem, he's enamored of the modern minimalist movement and FIRE bloggers (Financial Independence, Retire Early), and while I'm generally sympathetic to people who opt out of the endless advertising-driven quest to acquire more things, presenting these folks as successes of minimalism rather than a choice made available via inherited wealth or access to high-paying contract work is dubious. I suppose I'll take my allies against capitalism where I can find them, but I'd rather they be a bit more politically aware.

Also on the bias front, Newport is oddly obsessed with in-person conversations and physical hobbies. He's dismissive of on-line relationships and friendships, throws out some dubious arguments about the lack of depth and emotional nuance in text-based communications, and claims that nothing done on a computer, even programming, fully counts as craft. This may well be true of him personally, but speaking as an introvert who has had multiple deep, decades-long friendships conducted entirely via letters and on-line chat, he is wrong to universalize his own preferences. Writing is different than in-person interactions with the full range of verbal and physical cues, and I wouldn't recommend eliminating the latter entirely, but there are forms of written interaction that are not shallow social media. And I will vigorously defend the thoughtful maintenance of a free software project as craft and high-quality leisure equal to woodworking.

This is not a bad book, exactly. It has an even narrower target audience than Newport's other books, namely well-off people who use social media, but those people exist and buy books. (Newport probably thinks that the book might be helpful to people who are less well off. I think he's wrong; the book is full of unmarked assumptions about availability of the life choices that come with money.) It says some sensible things about the motives of social media companies, although it doesn't take that analysis nearly far enough. And it contains some reasonable suggestions about how to significantly reduce one's personal use of social media if you need that sort of thing (and if your biases are mostly compatible with the author's).

That said, I thought Newport was saying something interesting and somewhat more novel in Deep Work. Digital Minimalism is in line with numerous other articles about clawing bits of your life back from social media — more moderate than most, more detailed, and a bit more applied, but nothing you can't find elsewhere. Hopefully Newport has gotten it out of his system and will go back to writing about practicing concentration and improving workplace communication methods.

Rating: 6 out of 10

Categories: FLOSS Project Planets

Norbert Preining: Gaming: The Turing Test

Mon, 2020-02-24 21:48

In a world without Portal and The Talos Principle, The Turing Test would have been a great game. Fortunately there is Portal and The Talos Principle, which leaves The Turing Test as an interesting clone with a lot of (sometimes) challenging levels, but no real innovation.

You are playing as Ava Turing sent to Jupiter’s moon Europe to investigate strange things that have occurred on the mission while Ava was in cryogenic sleep. She is sent through a long list of levels that, in particular in the later stages, require cooperation between the supervising “Technical Operations Machine” and the human Ava.

Every level is accompanied with more or less boring discourses, often superficially touching on the meaning of human intelligence and a (real) Turing test. None of the dialogues contribute considerably, if at all, to the story – which is anyway weak. Most details about what has happened are put together from remnants of data recordings and notes to be found, most often in separate extra levels.

The game play is rather repetitive, and most of the puzzles are not too difficult, often the most challenging part is getting an overview on the many rooms and items available, and where the exit is. I liked the part where Ava has to switch to some service robots or one of TOM’s video cameras to solve puzzles, this generated a bit of a diversion.

All in all a good puzzle game, albeit far from Portal (including Portal II, and of course Portal Stories Mel) and The Talos Principle. The many often short puzzles allowed me to play the game as a sort of break filler. I don’t play often, and if, then I have hardly time for long sessions, so these kind of level games come in handy.

Total play time: 9 hours

Categories: FLOSS Project Planets

Antoine Beaupré: The CLA Denial-Of-Service attack

Mon, 2020-02-24 10:32

I just stumbled upon this weird mind bender this morning. I have found what I believe is a simple typo in the Ganeti documentation which has a trivial fix. But then, before I submitted a PR to fix it, I remembered that I had trouble getting stuff merged in Ganeti before. That's because they require a CLA (which is already annoying enough) that requires a Google account to sign (which is simply unacceptable). So that patch has been sitting there for months, unused and I haven't provided a patch for the other issue because of this very problem.

But that got me thinking. If I would want to mess things up real bad in a CLA-using project I don't like and:

  1. find a critical bug
  2. figure out a patch for the bug
  3. publish the patch in their issue tracker
  4. forever refuse to sign the CLA

Then my patch, and any derivative, would be unmergeable. If the bug is trivial enough, it might even be impossible to fix it without violating the letter of the law, or at least the process that project as adhered to.

Obviously, there's a flaw in that logic. A CLA is an agreement between a project and a (new) contributor. A project does not absolutely requires the contributor to sign the agreement to accept its contributions, in theory. It's the reverse: for the contributor to have their patch accepted, they need to accept the CLA. But the project could accept contributions without CLA without violating the law.

But it seems that projects sometimes end up doing a DOS on themselves by refusing perfectly fine contributions from drive-by contributors who don't have time to waste filling forms on all projects they stumble upon.

In the case of this typo, I could have submitted a patch, but because I didn't sign a CLA, again, the project couldn't have merged it without breaking their own rules, even if someone else submits the same patch, after agreeing to the CLA. So, in effect, I would have DOS'd the project by providing the patch, so I just opened an issue which strangely — and hopefully — isn't covered by the CLA.

Feels kind of stupid, really...

Instances of known self-imposed CLA DOS attacks:

Categories: FLOSS Project Planets

Russ Allbery: Book haul

Mon, 2020-02-24 00:04

I have been reading rather more than my stream of reviews might indicate, although it's been almost all non-fiction. (Since I've just started a job in astronomy, I decided I should learn something about astronomy. Also, there has been some great non-fiction published recently.)

Ilona Andrews — Sweep with Me (sff)
Conor Dougherty — Golden Gates (non-fiction)
Ann K. Finkbeiner — A Grand and Bold Thing (non-fiction)
Susan Fowler — Whistleblower (non-fiction)
Evalyn Gates — Einstein's Telescope (non-fiction)
T. Kingfisher — Paladin's Grace (sff)
A.K. Larkwood — The Unspoken Name (sff)
Murphy Lawless — Raven Heart (sff)
W. Patrick McCray — Giant Telescopes (non-fiction)
Terry Pratchett — Men at Arms (sff)
Terry Pratchett — Soul Music (sff)
Terry Pratchett — Interesting Times (sff)
Terry Pratchett — Maskerade (sff)
Terry Pratchett — Feet of Clay (sff)
Ethan Siegel — Beyond the Galaxy (non-fiction) (ed.) — Some of the Best from Tor.Com 2019 (sff anthology)

I have also done my one-book experiment of reading Terry Pratchett on the Kindle and it was a miserable experience due to the footnotes, so I'm back to buying Pratchett in mass market paperback.

Categories: FLOSS Project Planets

Russ Allbery: Review: Sweep with Me

Sun, 2020-02-23 22:21

Review: Sweep with Me, by Ilona Andrews

Series: Innkeeper Chronicles #5 Publisher: NYLA Copyright: 2020 ISBN: 1-64197-136-3 Format: Kindle Pages: 146

Sweep with Me is the fifth book in the Innkeeper Chronicles series. It's a novella rather than a full novel, a bit of a Christmas bonus story. Don't read this before One Fell Sweep; it will significantly spoil that book. I don't believe it spoils Sweep of the Blade, but it may in some way that I don't remember.

Dina and Sean are due to appear before the Assembly for evaluation of their actions as Innkeepers, a nerve-wracking event that could have unknown consequences for their inn. The good news is that this appointment is going to be postponed. The bad news is that the postponement is to allow them to handle a special guest. A Drífan is coming to stay in the Gertrude Hunt.

One of the drawbacks of this story is that it's never clear about what a Drífan is, only that they are extremely magical, the inns dislike them, and they're incredibly dangerous. Unfortunately for Dina, the Drífan is coming for Treaty Stay, which means she cannot turn them down. Treaty Stay is the anniversary of the Treaty of Earth, which established the inns and declared Earth's neutrality. During Treaty Stay, no guest can be turned away from an inn. And a Drífan was one of the signatories of the treaty.

Given some of the guests and problems that Dina has had, I'm a little dubious of this rule from a world-building perspective. It sounds like the kind of absolute rule that's tempting to invent during the first draft of a world background, but that falls apart when one starts thinking about how it might be abused. There's a reason why very few principles of law are absolute. But perhaps we only got the simplified version of the rules of Treaty Stay, and the actual rules have more nuance. In any event, it serves its role as story setup.

Sweep with Me is a bit of a throwback to the early books of the series. The challenge is to handle guests without endangering the inn or letting other people know what's going on. The primary plot involves the Drífan and an asshole businessman who is quite easy to hate. The secondary plots involve a colloquium of bickering, homicidal chickens, a carnivorous hunter who wants to learn how Dina and Sean resolved a war, and the attempts by Dina's chef to reproduce a fast-food hamburger for the Drífan.

I enjoyed the last subplot the best, even if it was a bit predictable. Orro's obsession with (and mistaken impressions about) an Earth cooking show are the sort of alien cultural conflict that makes this series fun, and Dina's willingness to take time away from various crises to find a way to restore his faith in his cooking is the type of action that gives this series its heart. Caldenia, Dina's resident murderous empress, also gets some enjoyable characterization. I'm not sure what I thought a manipulative alien dictator would amuse herself with on Earth, but I liked this answer.

The main plot was a bit less satisfying. I'm happy to read as many stories about Dina managing alien guests as Andrews wants to write, but I like them best when I learn a lot about a new alien culture. The Drífan feel more like a concept than a culture, and the story turns out to revolve around human rivalries far more than alien cultures. It's the world-building that sucks me into these sorts of series; my preference is to learn something grand about the rest of the universe that builds on the ideas already established in the series and deepens them, but that doesn't happen.

The edges of a decent portal fantasy are hiding underneath this plot, but it all happened in the past and we don't get any of the details. I liked the Drífan liege a great deal, but her background felt disappointingly generic and I don't think I learned anything more about the universe.

If you like the other Innkeeper Chronicles books, you'll probably like this, but it's a minor side story, not a continuation of the series arc. Don't expect too much from it, but it's a pleasant diversion to bide the time until the next full novel.

Rating: 7 out of 10

Categories: FLOSS Project Planets

Steve McIntyre: What can you preseed when installing Debian?

Sun, 2020-02-23 19:55

Preseeding is a very useful way of installing and pre-configuring a Debian system in one go. You simply supply lots of the settings that your new system will need up front, in a preseed file. The installer will use those settings instead of asking questions, and it will also pass on any extra settings via the debconf database so that any further package setup will use them.

There is documentation about how to do this in the Debian wiki at, and an example preseed file for our current stable release (Debian 10, "buster") in the release notes.

One complaint I've heard is that it can be difficult to work out exactly the right data to use in a preseed file, as the format is not the easiest to work with by hand. It's also difficult to find exactly what settings can be changed in a preseed.

So, I've written a script to parse all the debconf templates in each release in the Debian archive and dump all the possible settings in each. I've put the results up online at my debian-preseed site in case it's useful. The data will be updated daily as needed to make sure it's current.

Categories: FLOSS Project Planets

Enrico Zini: Assorted wonders

Sun, 2020-02-23 18:00
Daily Science Fiction :: Rules For Living in a Simulation by Aubrey Hirsch fiction 2020-02-24 «Listen. We're fairly certain it's true. The laws of the universe just don't make sense the way they should and it's more and more apparent with every atom of gold we run through the Relativistic Heavy Ion Collider and every electron we smash up at the Large Hadron Collider that we are living in a universe especially constructed for us. And, since we all know infinities cannot be constructed, we must conclude that our universe has been simulated.…» Missionary Church of Kopimism - Wikipedia religion 2020-02-24 The Missionary Church of Kopimism (in Swedish Missionerande Kopimistsamfundet), is a congregation of file sharers who believe that copying information is a sacred virtue and was founded by Isak Gerson, a 19-year-old philosophy student, and Gustav Nipe in Uppsala, Sweden in the autumn of 2010.[6] The Church, based in Sweden, has been officially recognized by the Legal, Financial and Administrative Services Agency as a religious community in January 2012, after three application attempts. The Perfect Tribe - Bizzarro Bazar bias 2020-02-24 I cannibali Korowai vivono in cima agli alberi. Ma è tutto vero? The Korowai cannibals live on top of trees. But is it true? Usanza tutta islandese di celebrare il Natale intonando canzoni pop italiane music 2020-02-24 “Siccome @ciocci mi ha confessato che la cosa gli stava facendo esplodere la testa, e siccome io stesso da tempo ero alla ricerca di risposte adeguate sul tema, ho fatto un po’ di ricerche sull'usanza tutta islandese di celebrare il Natale intonando canzoni pop italiane 🎄🇮🇸🇮🇹” Antiche unità di misura del circondario di Bologna - Wikipedia history 2020-02-24 Sono qui riportate le conversioni tra le antiche unità di misura in uso nel circondario di Bologna e il sistema metrico decimale, così come stabilite ufficialmente nel 1877. Nonostante l'apparente precisione nelle tavole, in molti casi è necessario considerare che i campioni utilizzati (anche per le tavole di epoca napoleonica) erano di fattura approssimativa o discordanti tra loro.[1] Creature leggendarie non umane culture history literature 2020-02-24 Elenco di popolari creature leggendarie e animali mitologici presenti nei miti, leggende e folclore dei diversi popoli e culture del mondo, in ordine alfabetico. Note Questa lista elenca solo creat… Jigoku: Japanese Hell | Matthew Meyer culture 2020-02-24 Last week I wrote about about Meido, the Japanese Underworld, and how it has roots in Indian Buddhism and Chinese Buddhist-Taoist concepts. Today I'll write a little bit about where some unlucky Vegetable Lamb of Tartary - Wikipedia history 2020-02-24 The Vegetable Lamb of Tartary (Latin: Agnus scythicus or Planta Tartarica Barometz[1]) is a legendary zoophyte of Central Asia, once believed to grow sheep as its fruit. It was believed the sheep were connected to the plant by an umbilical cord and grazed the land around the plant. When all accessible foliage was gone, both the plant and sheep died.
Categories: FLOSS Project Planets

Russ Allbery: Review: Exit Strategy

Sat, 2020-02-22 23:46

Review: Exit Strategy, by Martha Wells

Series: Murderbot Diaries #4 Publisher: Copyright: October 2018 ISBN: 1-250-18546-7 Format: Kindle Pages: 172

Exit Strategy is the fourth of the original four Murderbot novellas. As you might expect, this is not the place to begin. Both All Systems Red (the first of the series) and Rogue Protocol (the previous book) are vital to understanding this story.

Be warned that All Systems Red sets up the plot for the rest of the series, and thus any reviews of subsequent books (this one included) run the risk of spoiling parts of that story. If you haven't read it already, I recommend reading it before this review. It's inexpensive and very good!

When I got back to HaveRotten Station, a bunch of humans tried to kill me. Considering how much I'd been thinking about killing a bunch of humans, it was only fair.

Murderbot is now in possession of damning evidence against GrayCris. GrayCris knows that, and is very interested in catching Murderbot. That problem is relatively easy to handle. The harder problem is that GrayCris has gone on the offensive against Murderbot's former client, accusing her of corporate espionage and maneuvering her into their territory. Dr. Mensah is now effectively a hostage, held deep in enemy territory. If she's killed, the newly-gathered evidence will be cold comfort.

Exit Strategy, as befitting the last chapter of Murderbot's initial story arc, returns to and resolves the plot of the first novella. Murderbot reunites with its initial clients, takes on GrayCris directly (or at least their minions), and has to break out of yet another station. It also has to talk to other people about what relationship it wants to have with them, and with the rest of the world, since it's fast running out of emergencies and special situations where that question is pointless.

Murderbot doesn't want to have those conversations very badly because they result in a lot of emotions.

I was having an emotion, and I hate that. I'd rather have nice safe emotions about shows on the entertainment media; having them about things real-life humans said and did just led to stupid decisions like coming to TransRollinHyfa.

There is, of course, a lot of the normal series action: Murderbot grumbling about other people's clear incompetence, coming up with tactical plans on the fly, getting its clients out of tricky situations, and having some very satisfying fights. But the best part of this story is the reunion with Dr. Mensah. Here, Wells does something subtle and important that I've frequently encountered in life but less commonly in stories. Murderbot has played out various iterations of these conversations in its head, trying to decide what it would say. But those imagined conversations were with its fixed and unchanging memory of Dr. Mensah. Meanwhile, the person underlying those memories has been doing her own thinking and reconsideration, and is far more capable of having an insightful conversation than Murderbot expects. The result is satisfying thoughtfulness and one of the first times in the series where Murderbot doesn't have to handle the entire situation by itself.

This is one of those conclusions that's fully as satisfying as I was hoping it would be without losing any of the complexity. The tactics and fighting are more of the same (meaning that they're entertaining and full of snark), but Dr. Mensah's interactions with Murderbot now that she's had the time span of two intervening books to think about how to treat it are some of the best parts of the series. The conclusion doesn't answer all of the questions raised by the series (which is a good thing, since I want more), but it's a solid end to the plot arc.

The sequel, a full-length Murderbot novel (hopefully the first of many) titled Network Effect, is due out in May of 2020.

Rating: 9 out of 10

Categories: FLOSS Project Planets

Dirk Eddelbuettel: digest 0.6.25: Spookyhash bugfix

Sat, 2020-02-22 18:42

And a new version of digest is getting onto CRAN now, and to Debian shortly.

digest creates hash digests of arbitrary R objects (using the md5, sha-1, sha-256, sha-512, crc32, xxhash32, xxhash64, murmur32, and spookyhash algorithms) permitting easy comparison of R language objects. It is a fairly widely-used package (currently listed at 889k monthly downloads with 255 direct reverse dependencies and 7340 indirect reverse dependencies) as many tasks may involve caching of objects for which it provides convenient general-purpose hash key generation.

This release is a one issue fix. Aaron Lun noticed some issues when spookyhash is used in streaming mode. Kendon Bell, who also contributed spookyhash quickly found the issue which is a simple oversight. This was worth addressing in new release, so I pushed 0.6.25.

CRANberries provides the usual summary of changes to the previous version.

For questions or comments use the issue tracker off the GitHub repo.

If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: FLOSS Project Planets

Norbert Preining: QOwnNotes for Debian

Sat, 2020-02-22 17:07

QOwnNotes is a cross-platform plain text and markdown note taking application. By itself, it wouldn’t be something to talk about, we have vim and emacs and everything in between. But QOwnNotes integrates nicely with the Notes application from NextCloud and OwnCloud, as well as providing useful integration with NextCloud like old version of notes, access to deleted files, watching changes, etc.

The program is written using Qt and contains, besides language files and desktop entries only one binary. There is a package in a PPA for Ubuntu, so it was a breeze to package, converting the cdbs packaging from the ppa to debhelper on the way.

Source packages and amd64 binaries for sid/testing and buster are available at

deb unstable main deb-src unstable main


deb buster main deb-src buster main

respectively. The git repository is als available.


Categories: FLOSS Project Planets

Martin Michlmayr: ledger2beancount 2.0 released

Sat, 2020-02-22 08:28

I released version 2.0 of ledger2beancount, a ledger to beancount converter.

Here are the changes in 2.0:

  • Handle comments in account and commodity declarations
  • Handle transactions with a single posting (without bucket)
  • Handle empty metadata values
  • Rewrite Emacs modeline

You can get ledger2beancount from GitHub.

Categories: FLOSS Project Planets

Dirk Eddelbuettel: RcppSimdJson 0.0.2: First Update!

Sat, 2020-02-22 07:55

Following up on the initial RcppSimdJson release, a first updated arrived on CRAN yesterday.

RcppSimdJson wraps the fantastic simdjson library by Daniel Lemire which truly impressive. Via some very clever algorithmic engineering to obtain largely branch-free code, coupled with modern C++ and newer compiler instructions, it results in persing gigabytes of JSON parsed per second which is quite mindboggling. I highly recommend the video of the recent talk by Daniel Lemire at QCon (which was also voted best talk). The best-case performance is ‘faster than CPU speed’ as use of parallel SIMD instructions and careful branch avoidance can lead to less than one cpu cycle use per byte parsed.

This release syncs the simdjson headers with upstream, and polishes the build a little by conditioning on actually having a C++17 compiler rather than just suggesting it. The NEWS entry follows.

Changes in version 0.0.2 (2020-02-21)
  • Sychronized with upstream (Dirk in #4 and #5).

  • The R side of validateJSON now globs the file argument, expanding symbols like ~ appropriately.

  • C++ code in validateJSON now conditional on C++17 allowing (incomplete) compilation on lesser systems.

  • New helper function returning value of __cplusplus macro, used in package startup to warn if insufficient compiler used.

For questions, suggestions, or issues please use the issue tracker at the GitHub repo.

If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: FLOSS Project Planets

Russ Allbery: Review: All About Emily

Fri, 2020-02-21 23:38

Review: All About Emily, by Connie Willis

Publisher: Subterranean Copyright: 2011 ISBN: 1-59606-488-9 Format: Kindle Pages: 96

Claire Havilland is a Broadway star, three-time Tony winner, and the first-person narrator of this story. She is also, at least in her opinion, much too old to star in the revival of Chicago, given that the role would require wearing a leotard and fishnet stockings. But that long-standing argument with her manager was just the warm-up request this time. The actual request was to meet with a Nobel-Prize-winning physicist and robotics engineer who will be the Grand Marshal of the Macy's Day Parade. Or, more importantly, to meet with the roboticist's niece, Emily, who has a charmingly encyclopedic knowledge of theater and of Claire Havilland's career in particular.

I'll warn that the upcoming discussion of the background of this story is a spoiler for the introductory twist, but you've probably guessed that spoiler anyway.

I feel bad when someone highly recommends something to me, but it doesn't click with me. That's the case with this novella. My mother loved the character dynamics, which, I'll grant, are charming and tug on the heartstrings, particularly if you enjoy watching two people geek at each other about theater. I got stuck on the world-building and then got frustrated with the near-total lack of engagement with the core problem presented by the story.

The social fear around robotics in All About Emily is the old industrialization fear given new form: new, better robots will be able to do jobs better than humans, and thus threaten human livelihoods. (As is depressingly common in stories like this, the assumptions of capitalism are taken for granted and left entirely unquestioned.) Willis's take on this idea is based on All About Eve, the 1950 film in which an ambitious young fan maneuvers her way into becoming the understudy of an aging Broadway star and then tries to replace her. What if even Broadway actresses could be replaced by robots?

As it turns out, the robot in question has a different Broadway role in mind. To give Willis full credit, it's one that plays adroitly with some stereotypes about robots.

Emily and Claire have good chemistry. Their effusive discussions and Emily's delighted commitment to research are fun to read. But the plot rests on two old SF ideas: the social impact of humans being replaced by machines, and the question of whether simulated emotions in robots should be treated as real (a slightly different question than whether they are real). Willis raises both issues and then does nothing with either of them. The result is an ending that hits the expected emotional notes of an equivalent story that raises no social questions, but which gives the SF reader nothing to work with.

Will robots replace humans? Based on this story, the answer seems to be yes. Should they be allowed to? To avoid spoilers, I'll just say that that decision seems to be made on the basis of factors that won't scale, and on experiences that a cynic like me thinks could be easily manipulated.

Should simulated emotions be treated as real? Willis doesn't seem to realize that's a question. Certainly, Claire never seems to give it a moment's thought.

I think All About Emily could have easily been published in the 1960s. It feels like it belongs to another era in which emotional manipulation by computers is either impossible or, at worst, a happy accident. In today's far more cynical time, when we're increasingly aware that large corporations are deeply invested in manipulating our emotions and quite good at building elaborate computer models for how to do so, it struck me as hollow and tone-deaf. The story is very sweet if you can enjoy it on the same level that the characters engage with it, but is not of much help in grappling with the consequences for abuse.

Rating: 6 out of 10

Categories: FLOSS Project Planets

Raphaël Hertzog: Freexian’s report about Debian Long Term Support, January 2020

Fri, 2020-02-21 12:00

Like each month, here comes a report about the work of paid contributors to Debian LTS.

Individual reports In January, 252 work hours have been dispatched among 14 paid contributors. Their reports are available: Evolution of the situation

January started calm until at the end of the month some LTS contributors met, some for the first time ever, at the Mini-DebCamp preceeding FOSDEM in Brussels. While there were no formal events about LTS at both events, such face2face meetings have proven to be very useful for future collaborations!
We currently have 59 LTS sponsors sponsoring 219h each month. Still, as always we are welcoming new LTS sponsors!

The security tracker currently lists 42 packages with a known CVE and the dla-needed.txt file has 33 packages needing an update.

Thanks to our sponsors

New sponsors are in bold (none this month).

No comment | Liked this article? Click here. | My blog is Flattr-enabled.

Categories: FLOSS Project Planets

Andrej Shadura: Follow-up on the train journey to FOSDEM

Fri, 2020-02-21 09:09

Here’s a recap of my train journey based on the Twitter thread I kept posting as I travelled.


The departure from Bratislava was as planned:

Ready to depart from Bratislava hl. st.

Half an hour in Vienna was just enough for me to grab some coffee and breakfast and board the train to Frankfurt without a hurry:

Boarding a Deutsche Bahn ICE to Frankfurt am Main

Unfortunately, soon after we left Linz and headed to Passau, the train broke down. Apparently, it powered down and the driver was struggling to reboot it. After more than an hour at Haiding, we finally departed with a huge delay:

Trapped in Haiding near Linz

Since the 18:29 train to Brussels I needed to catch in Frankfurt was the last one that day, I was put into a hotel Leonardo across the street from Frankfurt Hbf, paid by Deutsche Bahn, of course. By the time of our arrival in Frankfurt, the delay was 88 minutes.

Hotel room in Frankfurt am Main

Luckily, I didn’t have to convince Deutsche Bahn to let me sleep in the morning, they happily booked me (for free) onto a 10:29 ICE to Brussels so I had an opportunity to have a proper breakfast at the hotel and spend some time at Coffee Fellows at the station.

Guten Morgen Frankfurt About to depart for Brussels

Fun fact: Aachen is called Cáchy in Czech, apparently as a corruption of an older German form ze Aachen.

Stopping at Aachen

Having met some Debian people on the train, I have finally arrived in Brussels, albeit with some delay. This, unfortunately meant that I haven’t gone to Vilvoorde to see a friend, so the regional tickets I bought online were useless.

Finally, Brussels!

… and back!

The trip home was much better in terms of missed trains, only if a tiny bit more tiring since I took it in one day.

Leaving Brussels on time

Going to Frankfurt, I’ve spent most of the time in the bistro carriage. Unfortunately, the espresso machine was broken and they didn’t have any croissants, but the tea with milk was good enough.

In the bistro carriage

I’ve used the fifty minutes I had in Frankfurt to claim the compensation for the delay, which (€33) I received in my bank account the next week.

The ICE train to Wien Hbf is about to depart Herzlich willkommen in Österreich!

Arrived at Wien Hbf The last leg

Finally, exactly twelve hours and one minute after the departure, almost home:

Finally home

Categories: FLOSS Project Planets

Norbert Preining: Okular update for Debian

Thu, 2020-02-20 19:17

The quest for a good tabbed pdf viewer lead me okular. While Gnome3 has gone they way of “keep it stupid keep it simple” to appeal to less versed users, KDE has gone the opposite direction and provides lots of bells and knobs to configure their application. Not surprisingly, I am tending more and more to KDE apps away from the redux stuff of Gnome apps.

Unfortunately, okular in Debian is horrible outdated. The version shipped in unstable is 17.12.2, there is a version 18.04 in experimental, and the latest from upstream git is 19.12.2. Fortunately, and thanks to the Debian maintainers, the packaging of the version in experimental can be adjusted without too much pain to the latest version, see this git repo.

You can find the sources and amd64 packages in my Debian repository:

deb unstable main deb-src unstable main


Categories: FLOSS Project Planets

Matthew Garrett: What usage restrictions can we place in a free software license?

Wed, 2020-02-19 19:45
Growing awareness of the wider social and political impact of software development has led to efforts to write licenses that prevent software being used to engage in acts that are seen as socially harmful, with the Hippocratic License being perhaps the most discussed example (although the JSON license's requirement that the software be used for good, not evil, is arguably an earlier version of the theme). The problem with these licenses is that they're pretty much universally considered to fall outside the definition of free software or open source licenses due to their restrictions on use, and there's a whole bunch of people who have very strong feelings that this is a very important thing. There's also the more fundamental underlying point that it's hard to write a license like this where everyone agrees on whether a specific thing is bad or not (eg, while many people working on a project may feel that it's reasonable to prohibit the software being used to support drone strikes, others may feel that the project shouldn't have a position on the use of the software to support drone strikes and some may even feel that some people should be the victims of drone strikes). This is, it turns out, all quite complicated.

But there is something that many (but not all) people in the free software community agree on - certain restrictions are legitimate if they ultimately provide more freedom. Traditionally this was limited to restrictions on distribution (eg, the GPL requires that your recipient be able to obtain corresponding source code, and for GPLv3 must also be able to obtain the necessary signing keys to be able to replace it in covered devices), but more recently there's been some restrictions that don't require distribution. The best known is probably the clause in the Affero GPL (or AGPL) that requires that users interacting with covered code over a network be able to download the source code, but the Cryptographic Autonomy License (recently approved as an Open Source license) goes further and requires that users be able to obtain their data in order to self-host an equivalent instance.

We can construct examples of where these prevent certain fields of endeavour, but the tradeoff has been deemed worth it - the benefits to user freedom that these licenses provide is greater than the corresponding cost to what you can do. How far can that tradeoff be pushed? So, here's a thought experiment. What if we write a license that's something like the following:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. All permissions granted by this license must be passed on to all recipients of modified or unmodified versions of this work
2. This work may not be used in any way that impairs any individual's ability to exercise the permissions granted by this license, whether or not they have received a copy of the covered work

This feels like the logical extreme of the argument. Any way you could use the covered work that would restrict someone else's ability to do the same is prohibited. This means that, for example, you couldn't use the software to implement a DRM mechanism that the user couldn't replace (along the lines of GPLv3's anti-Tivoisation clause), but it would also mean that you couldn't use the software to kill someone with a drone (doing so would impair their ability to make use of the software). The net effect is along the lines of the Hippocratic license, but it's framed in a way that is focused on user freedom.

To be clear, I don't think this is a good license - it has a bunch of unfortunate consequences like it being impossible to use covered code in self-defence if doing so would impair your attacker's ability to use the software. I'm not advocating this as a solution to anything. But I am interested in seeing whether the perception of the argument changes when we refocus it on user freedom as opposed to an independent ethical goal.



Rich Felker on Twitter had an interesting thought - if clause 2 above is replaced with:

2. Your rights under this license terminate if you impair any individual's ability to exercise the permissions granted by this license, even if the covered work is not used to do so

how does that change things? My gut feeling is that covering actions that are unrelated to the use of the software might be a reach too far, but it gets away from the idea that it's your use of the software that triggers the clause.

Categories: FLOSS Project Planets