18 Sep 2020

feedPlanet Grep

Koen Vervloesem: Exploring the PinePhone with the multi-distro demo image

The PinePhone, powered by Linux

A few days ago my PinePhone arrived. It came with postmarketOS, which is based on Alpine Linux. By default it has a fairly limited set of apps. And if you look in the application manager, there are not many apps available to install either. With apk, Alpine's package manager, you can install a lot of other software. I installed Firefox this way, it seems to work, but you often need to zoom out to 50% to get the whole website on the screen.

But what I find most impressive is how this low-cost Linux phone has garnered extensive support from all major mobile Linux distributions. Who would have thought a few years ago that 'distro hopping' on a phone would be a thing?

Trying out some Linux distributions on the PinePhone

The easiest way to explore a lot of the supported distributions is the PinePhone multi-distro demo image, which is a 5 GB image with 13 distributions and a neat bootloader, p-boot.

The bootloader p-boot, here with 13 Linux distributions for the PinePhone

So installed the multi-distro demo image on a spare microSD card with USBImager, resized the partition to the microSD card's full size and then I have been trying all 13 distributions for the last few days. These are my notes for the 2020-09-14 version of the image, not in any way systematic or complete: 1

Arch Linux

Boots into a command line. I don't even see a virtual keyboard appearing to log in. This is not what I expect from a phone, but it's very understandable coming from the Arch Linux philosophy :-)

LuneOS

Has a bit more apps installed by default: maps, email, a PDF viewer, ... The maps app uses Google Maps data, but it doesn't work. I can't find general settings. It seems somewhat limited and basic things such as rebooting or shutting down don't work. LuneOS is based on webOS.

Maemo Leste

Boots into landscape mode, and I can't find how to change it to portrait mode. It has Vim and Htop installed by default, but they crash. There's no browser installed by default. It has an app manager, but it doesn't have a lot of apps available to install. The settings are fairly limited. The virtual keyboard is barely usable. Maemo Leste is the successor of Nokia's Maemo and it's currently an ARM64 port of Devuan (Debian without systemd).

Mobian

Has a good set of default apps. It has both Web and Firefox installed as web browsers. There's a To Do app, Processor usage, Telegram (the Desktop version), Maps (using OpenStreetMap), Geary for email. There's also an Authenticator app, but it doesn't show anything. There's no terminal installed by default. Software shows a lot of apps, and you get access to a lot of GNOME settings, including accounts, for instance to set up your email account (Geary uses the accounts you have set up here). It definitely feels Linux-like, but at the same time feels like a real mobile operating system. It's essentially just Debian for ARM64 with the Phosh user interface developed by Purism for the Librem 5, and it works surprisingly well.

KDE Neon

Looks nice, there are but not many apps installed. I'm more familiar with the GNOME world, so I feel a bit lost here. There's Spacebar (to chat), Koko (music), Okular (document viewer), Konsole. Contrary to all other distributions I tried, there's a screenshot app in the drawer. But how does it work? I don't think I will get used to the Plasma Mobile interface. So while it looks like a perfectly usable system, it's not for me.

postmarketOS with fbkeyboard

Boots into a command line. The virtual keyboard needed to log in is quite usable, but this is not what I expect from a phone.

postmarketOS with GNOME

I hear a high-pitched sound when the PinePhone boots into the graphical environment. The virtual keyboard has awkwardly small buttons. There's a terminal installed. But the apps are not easy to access: if you open the application drawer, the icons suddenly fly off the screen, so the only way to start the apps is by typing an app's name in the search box. There are a lot of GNOME settings. However, the system doesn't seem to be adapted to a mobile screen: windows are shown only partially, even the GNOME initial setup window. All in all, this is not very usable in this state.

postmarketOS with Phosh

Also gives the high-pitched sound, but less long. There are not many apps preinstalled. There are also not many apps to install from Software. There are a lot of GNOME settings. Not all windows are adapted to the mobile screen size.

postmarketOS with Plasma Mobile

I hear a high-pitched sound when the PinePhone boots into the graphical environment. A limited set of preinstalled apps. The system doesn't seem to be very responsive. I couldn't even enter my Wi-Fi settings because the interface hangs when I want to open the settings window. Unusable in this state.

postmarketOS with sxmo

A nice lightweight alternative using suckless programs. Sxmo (Simple X Mobile) is actually a collection of simple programs and scripts to create a fully functional mobile user interface adhering to the Unix philosophy. It's a bit too minimalistic for me, but it works nicely to my surprise, controlling the user interface largely through the PinePhone's volume and power buttons and swipe gestures.

PureOS

Has a limited set of apps. It seems to be better adapted to the mobile screen size than some of the other distributions. The default web browser is GNOME Web. There's no Firefox to install from the Software app. There seems to be an Iceweasel in the app, but it hasn't been updated since the version equivalent to Firefox 55! The available GNOME settings are rather limited.

Sailfish OS

Looks very nice. It has a very user-friendly user onboarding experience. There's a fairly limited set of installed apps. The user interface is closed source, so this is no option for me.

Ubuntu Touch

Looks very nice, it also a nice user onboarding experience. The default web browser is Morph. It also has a media player, weather app, music, terminal, navigation (uNav, but it didn't work for me, as it keeps "waiting for GPS"). It seems to be a bit slower to boot and less responsive than some of the other distributions. I also experienced some weird behaviour with the window placement.

Powered by Linux

Mobian is a surprisingly useful Debian distribution on the PinePhone.

The PinePhone supports even more Linux distributions: Fedora, Manjaro, Nemo Mobile (an open source build of Sailfish OS), NixOS, openSUSE and AVMultiPhone (basically postmarketOS with MATE). These are not (yet) available from the multi-distro demo image, and I haven't tried them yet.

As you see in my notes above, there are still a lot of issues if you want to use the PinePhone on a daily basis. 2 Most of them will probably be solved eventually: things seem to move very fast in this domain. Also, the fact that these are all just Linux distributions is extremely helpful. If you encounter a problem, you can have a look at dmesg, run systemctl list-units --state=failed and so on and you have the same powerful toolbox at your disposal as on the Linux desktop.

All in all, Mobian impressed me most, with PureOS as my second choice. So after distro hopping for the last few days, I'm going to do a clean install with Mobian and explore it further. The feeling of having freedom and control on my phone in a familiar environment is amazing. Powered by Linux!

1

I haven't tested phone calls or SMS messages, as I haven't put my SIM card yet in the PinePhone.

2

For instance, on none of the distributions I tested I was able to get the camera working. I also couldn't take a screenshot on any system, even with scrot.

18 Sep 2020 6:49pm GMT

Lionel Dricot: Le mensonge des réseaux sociaux

La promesse que les réseaux sociaux ont fait aux créateurs de contenus n'a pas été tenue.

Pour les créateurs comme moi, la promesse des réseaux sociaux semble claire. Nous permettre de créer une communauté facilement joignable tout en donnant à nos créations l'opportunité d'atteindre de nouvelles personnes.

En échange, nous, créateurs, faisons de la publicité permanente pour lesdits réseaux sociaux, nous les animons, nous créons du contenu souvent exclusif voire même nous acceptons de payer pour diffuser nos créations. Sans oublier que nous vendons notre temps, notre vie privée ainsi que celle des membres de notre communauté.

Un pacte pour le moins faustien. Mais est-il rempli ?

Avec plus de 2.600 abonnés à ma page Facebook, près de 6.500 sur Twitter, 2.500 sur Mastodon, 1.500 sur Linkedin, 1.100 sur Medium et 1.100 amis Facebook, on pourrait dire que « ma communauté » est de 15.000 comptes. En admettant que certains me suivent sur plusieurs réseaux, 10.000 semble plus réaliste. Un joli chiffre.

Vraiment ?

De ces 10.000 comptes, il faut retirer les bots qui suivent automatiquement ce qui passe à leur portée, les comptes temporaires, les comptes qui ne sont plus utilisés, les comptes commerciaux qui ne vous suivent qu'en espérant un « follow back », les comptes des personnes décédées.

Ajoutons que les personnes qui vous suivent, mais qui suivent également 2000 ou 3000 autres personnes n'ont statistiquement aucune chance de voir vos messages.

Enfin, parmi les véritables comptes actifs qui ne suivent pas beaucoup de personnes, encore faut-il que l'algorithme du réseau social décide d'afficher votre message ou avoir la chance de poster dans les minutes qui précèdent le moment où vos abonnés vont consulter leur flux.

Au final, un message posté sur les réseaux sociaux est « affiché » (même pas lu) une ou deux centaines de fois. Pour une grosse dizaine de visites sur mon billet de blog (d'après les statistiques des réseaux sociaux eux-mêmes).

Les réseaux sociaux me font croire que j'ai une communauté de plus de 10.000 membres. C'est un mensonge. Les réseaux sociaux me font croire que je peux atteindre ma communauté. C'est un second mensonge.

Peut-être faut-il payer ? Pour l'expérience, j'ai décidé de dépenser 50€ en publicités chez Facebook et 50€ en publicités chez Twitter. L'objectif ? Promouvoir mon roman Printeurs. Dans les deux cas, j'ai obtenu, d'après les statistiques des réseaux sociaux eux-mêmes, beaucoup de visites et de clics. En regardant de plus près, je constate que tous les retweets obtenus sont issus de faux comptes Twitter. Que les clics n'ont eu aucun effet. Aucun livre n'a été vendu suite à ces promotions.

Tentant de prévenir à tout prix ma « communauté » que je publiais un roman, que c'était important pour moi et que c'était le moment de me soutenir pour ceux qui en avaient l'envie et les moyens, je me suis retrouvé à spammer sans relâche les réseaux sociaux. Certains, à raison, se sont sentis harcelés. D'autres, qui me suivent sans lire chacun de mes billets de blog, m'ont demandé de quoi je parlais. Ils n'avaient vu aucun des précédents messages, ils ne savaient pas ce qu'était ce « Printeurs » qui apparaissait pour la première fois dans leur flux. Certains ne sont toujours pas au courant aujourd'hui ! (alors que les préventes s'achèvent ce mercredi !)

Pour toucher ma « communauté », les réseaux sociaux font pire que mal. Ils me font croire qu'il y'a une communication là où elle se réduit à quelques interactions entre les mêmes personnes.

Mais, au moins, on pourrait espérer que les réseaux sociaux me permettent de toucher de nouvelles personnes.

Cela arrive, parfois. Cela s'appelle un « buzz ». C'est imprévisible, aléatoire. Cela m'est arrivé plus d'une fois, souvent pour des billets qui, selon moi, ne le méritaient pas. C'est de plus en plus difficile, car tout le monde cherche à faire le buzz. L'objectif n'est plus d'informer ou de partager, juste de faire le buzz. Ce n'est pas mon métier.

Mais ai-je touché l'utilisateur qui a choisi de ne pas avoir de compte de réseau social pour raison philosophique ? Celle qui a supprimé ses comptes pour raisons professionnelles ou suite à un harcèlement. Celui qui a un compte, mais qui n'en a jamais vu l'intérêt, qui ne l'utilise pas vraiment. Celle qui s'y intéresse, mais qui n'a pas acquis le réflexe, qui l'oublie pendant plusieurs mois, qui n'a pas le temps.

Ces personnes existent. Elles sont nombreuses. Peut-être plus nombreuses que la population des addicts aux réseaux sociaux. J'en croise tous les jours. Une longue conversation téléphonique avec un lecteur de mon blog qui n'a jamais eu de compte m'a ouvert les yeux.

Toutes ces personnes ne peuvent être atteintes par les réseaux sociaux. Pire : en optimisant ma communication pour les réseaux sociaux, je les exclus.

Là encore, pour un créateur, les réseaux sociaux sont un mensonge.

J'ai rempli ma part du contrat. J'ai produit du contenu pour les réseaux sociaux. J'ai fait leur promotion partout, jusque sur mon blog et dans mes conférences en demandant à être suivi. J'ai même payé pour être diffusé. J'ai, indirectement, vendu la vie privée de mes lecteurs.

Qu'ai-je obtenu en échange ? Une impression d'importance, une impression d'audience, impression qui se dissipe vite lorsqu'il s'agit de vendre un vrai livre.

Les réseaux sociaux sont un mensonge pour les créateurs, pour les utilisateurs, pour tous ceux qui pensent communiquer. Ils m'avaient déjà rendu injoignables.

C'est la raison pour laquelle je pense me concentrer sur l'écriture de livres et sur mon blog. Si vous voulez me soutenir, achetez mes livres, abonnez-vous à ma mailing-liste ci-dessous (ou par RSS), parlez de mes écrits à vos amis, mais ne me suivez plus sur les réseaux sociaux ! Ils sont un mensonge.

Certains pensent que j'y perdrais grandement en visibilité. Je prends le risque. Je ne supporte pas le mensonge.

Photo by Siora Photography on Unsplash

Je suis @ploum, écrivain électronique. Printeurs, mon dernier roman de science-fiction, est disponible en précommande jusqu'au 24 septembre. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Paypal ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Vérifiez votre boite de réception ou votre répertoire d'indésirables pour confirmer votre abonnement.

Ce texte est publié sous la licence CC-By BE.

18 Sep 2020 12:20pm GMT

Dries Buytaert: How governments can help sustain Open Source

Yesterday I wrote about why software funded with tax dollars should be Open Source. Based on the feedback in email and social media, lots of people seem to agree.

Today, I want to highlight how this could be a game changer for Open Source sustainability.

Using Drupal as an example, let's do some quick math. Imagine if:

Even if these numbers are conservative, it would lead to $15 million in annual contributions to Drupal: 1,000 x $300,000 x 0.05 = $15,000,000. That could be 150 full-time contributors each year.

In other words, requiring public code in government could be Open Source's best funding mechanism.

18 Sep 2020 11:34am GMT

Xavier Mertens: [SANS ISC] A Mix of Python & VBA in a Malicious Word Document

I published the following diary on isc.sans.edu: "A Mix of Python & VBA in a Malicious Word Document":

A few days ago, Didier wrote an interesting diary about embedded objects into an Office document. I had a discussion about an interesting OLE file that I found. Because it used the same technique, I let Didier publish his diary first. Now, let's have a look at the document.

It's an OLE file that contains an embedded object… [Read more]

The post [SANS ISC] A Mix of Python & VBA in a Malicious Word Document appeared first on /dev/random.

18 Sep 2020 10:15am GMT

17 Sep 2020

feedPlanet Grep

Xavier Mertens: [SANS ISC] Suspicious Endpoint Containment with OSSEC

I published the following diary on isc.sans.edu: "Suspicious Endpoint Containment with OSSEC":

When a host is compromised/infected on your network, an important step in the Incident Handling process is the "containment" to prevent further infections. To place the device into a restricted environment is definitively better than powering off the system and, probably, lose some pieces of evidence.

Endpoint protection solutions are the "in" thing for a while. Instead of using standard AV tools, those solutions implement more control and try to block attackers directly. One of the features they implement is a containment solution to prevent a compromised host to communicate over the network, except with the endpoint management console. An endpoint solution can be expensive if you have a lot of hosts to protect and… it's (again) a new agent to deploy on them… [Read more]

The post [SANS ISC] Suspicious Endpoint Containment with OSSEC appeared first on /dev/random.

17 Sep 2020 11:40am GMT

Dries Buytaert: Public money, public code

Should software funded with tax dollars be Open Source? I believe so. Maybe there are exceptions, but the default should be "developed with public money, make it public code".

Some governments have increasingly embraced Open Source software. For example, Italy created a new law to enforce the evaluation and use of Open Source in government. And, the Australian government has been promoting the idea of public code for several years.

Why do you think many governments have not adopted the idea of "public money, public code"?

17 Sep 2020 10:21am GMT

16 Sep 2020

feedPlanet Grep

Lionel Dricot: Le jour où je n’ai pas rencontré David Graeber

Alors que je descendais du bus au milieu d'une petite bourgade irlandaise, je me fis la réflexion que le lieu était particulièrement étrange pour la tenue de ce qui se voulait une conférence internationale sur la démocratie.

Le voyage avait été long, je n'étais pas payé, mais j'avais accepté de donner une keynote pro bono pour une raison très simple : je partageais l'affiche avec David Graeber, dont j'avais dévoré les livres.

Depuis des années, je m'insurgeais contre l'absurdité politique de la « création d'emplois ». En 2012, j'intitulai ce phénomène « le creusage et rebouchage de trous ». J'ai même donné une conférence TEDx sur le sujet. Malgré le succès relatif de mes idées, j'avais l'impression de prêcher dans le désert. Jusqu'à ce que David Graeber popularise les « Bullshit Jobs » dans un article de 2013.

Là où j'avais une intuition, Graeber apportait une érudition et une vision anthropologique professionnelle. Après l'article sur les Bullshit Jobs, je me penchai sur sa bibliographie. Je dévorai le pourtant épais « Dette, 5000 ans d'histoire », un livre qui, bien que fort critiqué, me semblait plus profond que le célèbre « Sapiens » de Harari tout en apportant une approche originale de l'histoire de l'humanité. Mais c'est avec « Utopia of Rules » que Graeber touche au génie. En remettant en question avec justesse et un cynisme mordant nos certitudes les plus ancrées sur notre société. Une lecture que je recommande entre toutes.

L'homme était brillant, intéressant. Je partageais beaucoup de centres d'intérêt avec lui. Je me réjouissais de le rencontrer, car je désirais lui expliquer mes théories sur une démocratie décentralisée gouvernée à travers la blockchain. Partageant avec lui un idéal anarchiste, j'étais très curieux d'entendre son analyse politique et sociologique de mes idées essentiellement inspirées par la technologie décentralisée.

Nos discussions s'étaient, jusqu'à présent, essentiellement tenues via Twitter, en public ou par message privé. J'avais tenté de le contacter par mail plusieurs fois, mais, sur Twitter, il m'avoua que le chiffre en rouge sur l'icône en forme d'enveloppe comportait cinq chiffres, qu'il répondait uniquement aux mails qui arrivaient quand il ouvrait sa messagerie. Comme il se plaignait que beaucoup de ses articles étaient refusés par les magazines grand public, je le poussai plusieurs fois, sans succès, à ouvrir un blog personnel.

Repensant à nos échanges tout en explorant le sentier côtier qui jouxtait mon hôtel, j'envoyai plusieurs messages pour savoir s'il devait arriver le soir même ou le lendemain et s'il acceptait mon invitation à dîner.

Sa réponse, au bout de plusieurs messages de ma part, fut une question un brin irritée : « What is that thing you are talking about ? »

Une boule dans la gorge, je lui expliquai qu'il s'agissait d'une conférence internationale sur la démocratie, conférence pour laquelle nous devions tous deux donner une keynote. Nos photos respectives étaient même sur l'affiche !

Après plusieurs minutes de silence, David m'expliqua qu'il était à Londres, légèrement grippé. Mais que de toute façon, les organisateurs ne payant rien, pas même son voyage, il ne se sentait nullement engagé. Qu'il ne viendrait pas.

La déception était pour moi à son comble. Et je n'étais qu'au bout de mes mauvaises surprises (en tout et pour tout, le public de la conférence se limitera à une vingtaine de personnes). Heureusement, ce fut pour moi l'occasion de revoir mon ami Costa Vayenas (auteur de Democracy in the Digital Age, que je recommande également). Je m'offris également deux bons bains en mer d'Irlande. La mer froide soigne les pensées les plus noires.

Au comble de la déception, mon premier réflexe fut d'appeler ma femme. J'étais venu en Irlande pour rencontrer David Graeber, je me retrouvais dans un bled au milieu de nulle part alors qu'il était à Londres. Elle me consola en me disant que j'aurais bien d'autres occasions de le rencontrer. Que nos chemins finiraient par se croiser.

Elle avait, une fois n'est pas coutume, tort. Le 3 septembre 2020, je tombai sur un tweet de Vinay Gupta annonçant la mort de David Graeber. Plusieurs fois, j'avais annoncé que mon rêve intellectuel était d'être assis à une table entre David et Vinay. La vision du futur de ces deux intelligences me semblait tellement complémentaire. En lisant le tweet, je fus immédiatement convaincu qu'il s'agissait d'une mort métaphorique. Que Graeber avait révélé un aspect de sa personnalité qui ne plaisait pas du tout à Vinay. J'en étais tellement persuadé que je fus glacé d'effroi en lisant le tweet original de l'épouse de David Graeber. David Graeber est décédé subitement le 2 septembre 2020.

Il laisse derrière lui une humanité qui a gravement besoin d'intellectuels assez malins pour analyser, assez talentueux pour communiquer et assez courageux pour parler franchement de la bullshitization de notre monde. Pour accepter, comme David Graeber, de payer le prix de leur franc-parler.

Je lui dédie mon essai « Despair and Hope » , largement inspiré par la lecture de « The Utopia of Rules ».

Mais, alors que le retour de mon escapade en Irlande fut un enfer (tous les vols vers Bruxelles furent annulés, je vous passe les détails), je digérai une leçon fondamentale de vie que venait de m'enseigner Graeber : « Tu ne dois rien à personne. Même si tu fais des déçus, tu ne leur dois rien. »

Il l'avait écrit en 600 pages. Je l'ai compris en un message Twitter.

C'est en rentrant d'Irlande, le message de David dans ma poche, que mon épouse acheva de me convaincre d'arrêter de faire des conférences gratuites et de me concentrer sur ce que je voulais vraiment faire. Pas sur ce que je pensais que les autres voulaient que je fasse.

Merci, David ! Que tes idées et tes combats ne se reposent jamais !

Photo prise le même jour par l'auteur.

Je suis @ploum, écrivain électronique. Printeurs, mon dernier roman de science-fiction, est disponible en précommande jusqu'au 24 septembre. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Paypal ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Vérifiez votre boite de réception ou votre répertoire d'indésirables pour confirmer votre abonnement.

Ce texte est publié sous la licence CC-By BE.

16 Sep 2020 8:08am GMT

Mattias Geniar: A new start for DNS Spy

Hi all! I'm excited to announce a strategic handover of DNS Spy to SecurityTrails with the goal to ensure both the future and growth of DNS Spy.

16 Sep 2020 12:00am GMT

15 Sep 2020

feedPlanet Grep

Frank Goossens: Want to test AVIF images with Autoptimize’s Image Optimization?

So AVIF is a new(ish) image format that promises even better optimization then WebP and is supported in desktop Chrome & behind a preference in Firefox; go to about:config and set image.avif.enabled to true.

If you are using Autoptimize to optimize your images and you want to test AVIF images, you can use below code snippet to do so;

add_filter('autoptimize_filter_imgopt_webp_js', function(){return '<script data-noptimize="1">function c_img(a,b){src="avif"==b?"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABoAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACJtZGF0EgAKCBgADsgQEAwgMgwf8AAAWAAAAACvJ+o=":"data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==";var c=new Image;c.onload=function(){var d=0<c.width&&0<c.height;a(d,b)},c.onerror=function(){a(!1,b)},c.src=src}function s_img(a,b){w=window,"avif"==b?!1==a?c_img(s_img,"webp"):w.ngImg="avif":!1==a?w.ngImg=!1:w.ngImg="webp"}c_img(s_img,"avif");document.addEventListener("lazybeforeunveil",function({target:a}){window.ngImg&&["data-src","data-srcset"].forEach(function(b){attr=a.getAttribute(b),null!==attr&&-1==attr.indexOf("/client/to_")&&a.setAttribute(b,attr.replace(/\/client\//,"/client/to_"+window.ngImg+","))})});</script>';});

Use the the code snippets plugin to add this (easy and safe) or if you're adventurous add it to your theme's functions.php.

Possibly related twitterless twaddle:

15 Sep 2020 7:18am GMT

14 Sep 2020

feedPlanet Grep

Lionel Dricot: Le roman suspendu

Rendre la lecture financièrement accessible à tou·te·s. Et avoir la satisfaction d'être lu.

Ma carrière d'écrivain se concentre sur deux objectifs : écrire et être lu.

J'ai cette intuition que lire un seul de mes romans sera toujours plus important que lire tous mes billets de blog combinés. Que j'y apporte plus d'idées, plus de profondeur. Qu'en étant lu, un de me livres peut faire grandir le lecteur, lui faire considérer le monde sous un autre angle. C'est, selon de nombreux témoignages, ce que j'avais réussi avec « Le blog d'un condamné ».

Afin d'être lu, mon travail principal d'écrivain est d'éviter de mettre les bâtons dans les roues de mes lecteurs. Lisez, partagez, copiez, prêtez, donnez ! Mes livres ne vivent que si on les lit, si on les fait voyager, si on en écorne les pages, si on les annote, si on partage des extraits ou le texte complet.

Beaucoup de maisons d'édition pensent que cette philosophie n'est financièrement pas rentable. N'en déplaise à mon comptable, je souhaite être lu plutôt que de devenir riche. C'est d'ailleurs pour cette raison que j'ai pris le risque de m'associer avec une jeune maison d'édition qui me proposait un projet de version du roman sous Creative Commons.

Je suis conscient que dépenser 20€ pour un roman (plus 6€ de frais de port pour les Français, victimes d'une aberration administrative) est un luxe. Pour certains, c'est même un luxe malheureusement hors de portée.

C'est pourquoi j'ai souhaité que la campagne Ulule Printeurs s'accompagne d'un « Roman suspendu ».

Le principe est simple : vous commandez deux romans, vous n'en recevez qu'un seul et le second sera donné soit à des personnes ne pouvant se l'offrir, soit à des bibliothèques publiques.

En tant qu'auteur, je double cette offre. Cela signifie que pour chaque roman suspendu commandé, j'en offre un second, financé par mes droits d'auteur.

En clair, pour 38€, vous achetez un exemplaire de Printeurs et vous en offrez deux ! Vous pouvez également choisir de recevoir deux exemplaires afin d'en donner un à la bibliothèque de votre choix.

Si vous souhaitez bénéficier d'un roman suspendu, pour vous-même ou pour le projet de votre choix, contactez-moi par email. Nos échanges seront, bien entendu, confidentiels et je ne peux garantir d'accéder à toutes les demandes (cela dépendra, évidemment, du nombre de suspensions disponibles).

Si Printeurs ne me rendra vraisemblablement pas riche, le plus important pour moi est d'être lu. Et, sans fausse modestie, alors que je termine ma toute dernière relecture du manuscrit, je me dis que les idées partagées dans Printeurs sont essentielles pour construire le monde de demain.

« - Que fais-tu Nellio ?

- Ils veulent le printeur ? Et bien on va leur donner le printeur ! »

Printeurs, chapitre 40

Je suis @ploum, écrivain électronique. Printeurs, mon dernier roman de science-fiction, est disponible en précommande jusqu'au 24 septembre. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Paypal ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Vérifiez votre boite de réception ou votre répertoire d'indésirables pour confirmer votre abonnement.

Ce texte est publié sous la licence CC-By BE.

14 Sep 2020 12:57pm GMT

12 Sep 2020

feedPlanet Grep

Philip Van Hoof: Erg krachtige quote

Ik vind deze zin van Jordan Peterson erg krachtig (en ik wilde die op een oud medium zoals blogs doen voortbestaan):

I do believe that each of us participate in the transformation of what could be, into what is.

12 Sep 2020 5:17pm GMT

11 Sep 2020

feedPlanet Grep

Lionel Dricot: Lectures 2

Quelques liens en vrac que vous pouvez lire sans vous connecter aux réseaux sociaux. Je galère pour mettre en place une mailing-liste liée à mon blog pour vous permettre de vous abonner.

RSS

Plutôt que de picorer sur les réseaux sociaux, permettant à ceux-ci de décider ce que vous aller voir et lire, l'essentiel de mes lectures web provient dorénavant des flux RSS.

Mises-à-jour

Jeune geek, j'adorais mettre à jour mes logiciels, découvrir des nouvelles fonctionnalités voire même des bugs. Mais alors que je cherche à regagner ma concentration, je découvre à quel point les mises à jour forcées sont envahissantes et perturbantes. Le pire étant lorsque je suis soumis à une deadline et que le clavier de mon mac plante (ce qui arrive trop souvent) et que je redémarre pour découvrir que, pendant plus d'une heure, le système va se mettre à jour. Même Zettlr m'ennuie à chaque démarrage !

Les deux articles se complètent merveilleusement pour décrire une situation qui n'est à l'avantage ni des utilisateurs, ni des développeurs mais uniquement… du marketing et des managers !

Jaron Lanier

Un très bel interview avec Jaron Lanier. Si vous ne le connaissez pas, je vous conseille très chaudement son livre « Ten Arguments For Deleting Your Social Media Accounts Right Now ». J'ai plus de mal à finir « Who Owns The Future » car il tente de justifier la création d'emplois.

Jaron Lanier est, avec Cal Newport, une de mes sources d'inspiration : ce sont deux personnes qui écrivent des réflexions très intéressantes et ne sont pas du tout sur les réseaux sociaux.

Cory Doctorow

S'il est sur les réseaux sociaux, Cory Doctorow n'en est pas moins extrêmement intéressant. Je vous ai déjà recommandé la lecture de son essai « How to Destroy Surveillance Capitalism ». Je serais très intéressé de le voir face à Jaron Lanier (les deux approches sont complémentaires mais parfois contradictoires).

Pendant ce temps, Cory Doctorow annonce sur son blog Pluralistic le lancement d'une campagne Kickstarter. L'objectif ? Mettre à mal le monopole d'Amazon sur les livres audio et l'obligation des DRM. J'ai bien entendu contribué (même si je n'aime pas les livres audio) et me suis offert sa trilogie Little Brother en epub.

Cryptos

Politique

Bandes dessinées

Printeurs

Comme vous pouvez le voir en photo, ma plus grosse lecture de la semaine reste Printeurs. Manuscript définitif à rendre pour lundi !

Le premier pallier à 150 exemplaires précommandés assurera la diffusion de Printeurs sous licence Creative Commons dans un fichier print@home.

Bonnes lectures et bon week-end à tou·te·s !

Je suis @ploum, écrivain électronique. Printeurs, mon dernier roman de science-fiction, est disponible en précommande jusqu'au 24 septembre. Si vous avez apprécié ce texte, n'hésitez pas à me soutenir sur Paypal ou en millibitcoins 34pp7LupBF7rkz797ovgBTbqcLevuze7LF. Vos soutiens réguliers, même symboliques, sont une réelle motivation et reconnaissance. Merci !

Vérifiez votre boite de réception ou votre répertoire d'indésirables pour confirmer votre abonnement.

Ce texte est publié sous la licence CC-By BE.

11 Sep 2020 2:32pm GMT

10 Sep 2020

feedPlanet Grep

Fabian Arrotin: Deploying OpenShift in KVM/libvirt guests

This week I had to work on a PoC to deploy OpenShift in Virtual Machines instead of bare-metal, like we did recently for the CentOS CI infra

Why in Virtual Machines (KVM guests) and not on bare-metal ? Well, there are cases where you have powerful/beefy machines, but not enough to meet the minimum number of nodes (at least 3 etcd nodes, and not even counting the real workers, at least 2 so 5 in total for bare minimum), while these nodes would perfectly (both at cpu/memory and storage) support the whole infra (assuming that you don't deploy all etcd/control planes nodes on the same physical node of course, and same for workers)

If you have a look at the official openshift documentation, you'll see that while all major cloud providers (AWS, Azure, GCP) are listed, there are also ways to deploy on bare-metal (what we did for CI infra), but also on RHEV, vSphere and Openstack too .. but nothing for plain KVM hypervisors (managed by libvirt in our cases).

But a VM is more or less like a bare-metal install, so what about we treat the VMs as bare-metal ? problem solved, right ? For our bare-metal deployment, we just used Ansible and with a simple ad-hoc playbook, so nothing fancy : just creating pxe boot entries, using ipmi to remotely power on the nodes and ensure they'd boot on network, RHCOS is installed and has all the kernel parameters for network settings and where to find RHCOS image to install, and where to find ignition files

So reusing that was my first idea, as we can easily create a VM with a fixed mac-address, and boot from the network. But then I thought about what we already use for our traditional KVM deploy : a simple ad-hoc playbook just templating a virt-install command that is kicked on the hypervisor.

If you have used virt-install yourself, you know that there is the --location parameter (that we used already). Extracted from man virt-install :

      -l, --location OPTIONS
           Distribution tree installation source. virt-install can recognize certain distribution trees and fetches a
           bootable kernel/initrd pair to launch the install.

How does that work ? Well, virt-install grabs kernel and initrd from that location, but to know where to find it (name/path), it uses a .treeinfo file. Example of http://mirror.centos.org/centos/7/os/x86_64/.treeinfo :

[general]
name = CentOS-7
family = CentOS
timestamp = 1587405659.3
variant = 
version = 7
packagedir = 
arch = x86_64

[stage2]
mainimage = LiveOS/squashfs.img

[images-x86_64]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
boot.iso = images/boot.iso

[images-xen]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img

So let's combine this option with the Red Hat CoreOS tree that we'll generate on our httpd deployment server : such .treeinfo doesn't exist, but let's just template it . From that point, it's easy, let's just use a variant for ad-hoc playbook that will :

While I admit that I'm surely not the most experienced openshift admin (just started to play with it), I still like the fact that RHCOS is still more or less linux that we use to know, and so combinining tools we already use allow us to deploy it , but surely not the way it's officially documented :)

10 Sep 2020 10:00pm GMT

Wim Leers: The sunset of the API-first initiative

Mateu, Gabe and I agreed to sunset the API-first initiative, about which I've written a lot in 2016-2019.

We've all spent countless hours on it - Gabe and I were able to work on it mostly full time, Mateu contributed an incredible amount of his free time to get the API-first initiative and the JSON:API module ecosystem in particular to where it is today.

I learned a lot from these two lovely people, and we also had lots of laughs!

API-first Drupal with multiple consumers @DrupalConNA :D pic.twitter.com/GhgY8O5SSa

- Gábor Hojtsy (@gaborhojtsy) April 11, 2018

Mateu wrote a great retrospective, which is a superb way to end this project. Quoted here in full:

TL;DR: we are putting an official end to the API-first initiative although we don't consider our work done. The initiative leads have struggled to find availability or energy to keep moving it forward. The upcoming JS components initiative will likely light this flame back up, and we'll be there to assist and guide in their API endeavors. This patch removes the initiative from the MAINTAINERS.txt.

Connection: close

We mark the API-first initiative done. :wave:.

However, we are not done. There are so many things we would like to improve in Drupal core. Those include hypermedia support, Open API and schema reliability, non-entity JSON:API resources, OAuth2, etc. Nonetheless, we believe that this is a good stopping point for the initiative. We achieved so much, there are so many unforgettable moments. This initiative has played a huge role into transitioning Drupal to the next 10 years of success! We are so proud of what we have accomplished that it has not been easy to wrap it up.

Let's have HTTP guide us through this decision.

207 (Multi-status)

There is no single definitive reason, but the sum of several reasons have lead us to the unanimous decision to call this initiative done.

202 (Accepted)

JSON:API was the major goal and crowning achievement of the initiative. It was hard to imagine how much work, stress, and personal time that would take from us. As of Drupal 8.7 we can use JSON:API as part of Drupal core. This was the first time we were tempted to call it done.

426 (Upgrade required)

The API-first initiative started with Wim working hard to make REST in core more reliable. In parallel Mateu was writing a myriad of contrib modules bring decoupled Drupal more usable to deliver the expected experiences for customers. In the midst of this Gabe joined the team to help us guide the project to the finish line with the contribution of many volunteers-to whom we are supremely grateful. Thank you! :pray:

It seems this was such a long time ago. Nowadays none of us has the time or the energy to keep tugging this ship. It's time for a different team to take the lead.

429 (Too many requests)

We recognize that Drupal has a very long road to truly become API-first. On top of that we still have to finish and polish so many key contributed modules. At different points we entertained the idea of adding to core:

  • Consumers.
  • Simple OAuth.
  • JSON:API Hypermedia.
  • Open API.
  • JSON:API Resources.
  • Decoupled Router.
  • Consumer Image Styles.

We probably don't want them all, but we talked about how very useful they are to the decoupled Drupal endeavour. It is also worth mentioning that there are many other modules that are not very good candidates to Drupal core because they are not broadly applicable enough, while they remain tremendously important to the API-first ecosystem. One obvious example: JSON:API Explorer.

303 (See other)

Dries proposed a new JS components initiative that will likely begin by "solving" decoupled navigation. We vehemently agree that is a great place to start. It is a thorny problem that is not very well solved right now from the API perspective and requires API-first users to reinvent their own solutions over-and-over.

We expect that the JS components initiative team will have to work on the API side in order to complete their goals. We will be there for them, and we will help with code. We hope to be involved as much as we are able to.

Cookie: Contributors=new;

This post was about marking the initiative as done. As such we have talked about the decisions, and the mindset of the initiative coordinators. However, it would be terribly unfair to add this bow on top of the initiative without mentioning the contributors. Everyone that contributed with code, documentation, ideas, designs, support, etc. THANK YOU.

10 Sep 2020 12:29pm GMT

Koen Vervloesem (NL): Bouw je eigen Raspberry Pi-cluster

Het aantal Raspberry Pi's in mijn huis begon onhandelbaar te worden en het kluwen van kabels en voedingsadapters was me al even een doorn in het oog. Ik besloot een aantal van deze Raspberry Pi's op elkaar te stapelen in een clusterbehuizing, aangesloten op één voeding en één netwerkswitch.

De belangrijkste componenten van de configuratie die ik koos, zijn:

Clusterbehuizing

Deze behuizing met zes lagen vond ik voor € 20 op Amazon:

Een clusterbehuizing voor Raspberry Pi's met acrylplaatjes

De Raspberry Pi's zijn hiermee niet volledig beschermd, want er zit alleen boven en onder elk processorbordje een acrylplaatje. Maar een voordeel van deze opstelling is dat ze gemakkelijk uit te breiden is. Je kunt er ook eenvoudig een laag uitnemen als je die Raspberry Pi tijdelijk elders nodig hebt.

Voeding

Als voeding koos ik voor het € 29 kostende Anker PowerPort 12 A 60 W laadstation met 6 poorten:

Het Anker PowerPort 12 A 60 W laadstation kan 6 Raspberry Pi's voeden.

Belangrijk bij de keuze voor de voeding is dat ze per poort voldoende vermogen kan leveren voor je Raspberry Pi's. Ik ging daarvoor uit van het vermogensverbruik van zes Raspberry Pi 4's op volle kracht. Uit een benchmark van MagPi blijkt dat dit model in een stresstest tot 7 W verbruikt.

Een set van laadkabels (usb-c voor de Raspberry Pi 4, usb-a voor de eerdere modellen) vult dit aan.

Waarschuwing

Ik heb laadkabels van 25 cm lang gekocht om het geheel zo compact mogelijk te houden, maar dat was eigenlijk iets te kort: door de stijfheid van de kabels blijft het laadstation niet stabiel staan. Maak dezelfde fout niet.

Netwerkswitch

Voor de netwerkverbinding kies je een switch met één poort meer dan het aantal Raspberry Pi's in je cluster. Een eenvoudige unmanaged gigabit-ethernetswitch is voldoende. Ik koos voor een TP-Link LS108G 8-poorts gigabit-ethernetswitch van € 25:

De TP-Link LS108G 8-poorts gigabit-ethernetswitch voorziet de Raspberry Pi's van een netwerkverbinding.

Voor de netwerkkabels koos ik voor een set van 7 platte Cat7-ethernetkabels.

Waarschuwing

Ik heb ook hier voor kabels van 25 cm lang gekozen om het geheel zo compact mogelijk te houden, maar dit was een miskoop. Ze waren te stijf, ik had echt flexibele ethernetkabels moeten kopen. En 25 cm was te kort.

Statusleds

Ik wilde de status van mijn Raspberry Pi's eenvoudig kunnen tonen, maar kant-en-klare oplossingen vond ik te duur of met een te klein schermpje. Ik vond een leuke lowtech-oplossing in het Mini Battery Display van Open-Smart. Voor € 1,30 per stuk vind je dit kleine printplaatje met leds op AliExpress. Het bevat een ledbalk met tien segmenten, die je kunt aansturen om bijvoorbeeld de processorbelasting of cpu-temperatuur aan te duiden:

Het Mini Battery Display van Open-Smart is perfect voor statusleds voor je Raspberry Pi.

Ik heb zes van deze printplaatjes op een breadboard geprikt en elk printplaatje is met vier jumperwires met zijn Raspberry Pi verbonden. Ik heb dan een Python-programma geschreven om de leds aan te sturen op basis van de processorbelasting: rpi-mini-battery-display.

Het resultaat

Als je dit alles dan in elkaar steekt, ziet dat er als volgt uit:

Mijn cluster van zes Raspberry Pi's.

Ik koos voor de horizontale plaatsing omdat die het minste problemen met de te korte kabels oplevert, en het zorgt ook voor een gelijkmatige warmteafvoer. Je ziet op de achtergrond wel nog het laadstation in de lucht 'zweven' door de te korte voedingskabels...

Voor PCM beschreef ik uitgebreid hoe je zelf zo'n cluster maakt. Het artikel gaat alleen in op de hardwarekant, maar daar komt al heel wat bij kijken. Meer tips en gedetailleerdere instructies vind je in het artikel.

Al met al ben ik hier tevreden mee. Ik probeer nu sneller nieuwe zaken op mijn Raspberry Pi's uit omdat ik er geen werkloze Raspberry Pi's meer voor uit een doos hoef te halen of een vrij stopcontact moet zoeken. En mijn bureau ziet er heel wat netter uit!

10 Sep 2020 10:20am GMT

09 Sep 2020

feedPlanet Grep

Frank Goossens: Avif coming to Autoptimize

Experimenting with JS-based feature-detection for Avif image format (if Avif is available the code does not even test for webp, hence the undefined).

Likely coming with the next Autoptimize update, stay tuned :)

Possibly related twitterless twaddle:

09 Sep 2020 7:56pm GMT