Tuesday, November 15, 2016

France 2017 - pourquoi je vote à la primaire de la droite et du centre - #notrumpinfrance

Allons tous voter à la primaire du centre et de la droite

Note: vu les réactions, ce n'est pas clair: cet article ne parle pas de vote utile. Il ne parle pas du premier tour 2017. Il parle de se laisser un plan B acceptable pour la cohabitation entre Français, pour la démocratie, pour le climat si le premier tour ne tourne pas comme "on" le voudrait. Il viendra un tant on une action pour le premier tour sera importante, ce n'est pas encore le moment.

Des bulles de confort, silos aveuglants

Nous vivons aujourd’hui dans de petites bulles d’informations aseptisées, des silos bien compartimentés dans lesquels seules nos idées, ou des idées prochent de nos idées, ont droit de cité. Ce phénomène n’est pas nouveau, c’est même l’un des biais cognitifs le plus connus: le biais de confirmation. Il est aujourd’hui décuplé par la technologie qui filtre chaque jour un nombre grandissant de nos interactions sociales. Les algorithmes trouvent nos amis, nous posons un bâillon “silent” sur les trolls, ces individus qui ne sont pas d’accord avec nous, et qui nous sortent de notre zone de confort. Notre confort. Ce confort si agréable. Si confortable.

Et nous créons ainsi nos propres prisons d’idées, des silos en forme de chambre d’écho. Cet article décrit en détail le phénomène.

Le résultat est que nous ne voyons pas les autres silos qui ne pensent pas comme nous. Nous ne savons pas, nous ne voulont pas savoir, nous ne pouvons plus savoir qu’ils existent, ni leur taille, ni leur portée.
Et nous passons notre temps à optimiser les choix globaux de société auxquels nous sommes confrontés pour notre silo, pour l’idéal qu’il incarne en triant tous ceux qui n’y correspondent pas. Ce silo qui est notre monde. Lorsque nous sommes face à un choix imposé par un plus gros silo que le nôtre, ou qui correspond à l’optimum local d’un plus grand nombre de silo que nous, nous sommes estomaqués.

“Comment”, s’exclame-t-on dans le silo PC de 2012, “mais je ne connais PERSONNE qui vote Le Pen - comment peut-il être au second tour?”.

La France n’est pas mieux que l’Angleterre et les USA

L’élection de Trump, le “oui” au Brexit, le choix pour la primaire EELV dans une moindre mesure, nous rappelle que les résultats se fichent pas mal de ce qui fait foi dans le silo que vous fréquentez. Et cela, même s’il est aussi la chambre d’écho des médias que vous écoutez - vous les avez filtrés, évidemment. Or les Français ne sont pas plus immunisés au phénomène que ne le sont les Américains, les Anglais, les partisans de Cécile Duflot.

Dans mon silo, en 2017…

Pour 2017, je crois que j’aimerais avoir Bernie Sanders président des USA, une Europe fédérale, et peut-être Montesquieu président de la République Démocratique de France. Ou garde des Sceaux.

En tout cas, mon candidat idéal est porteur d’une idéologie politique sans intégrisme. Il propose un framework de grandes idées, de direction à suivre pour atteindre des buts (une stratégie) qu’il peut décliner en tactiques idoines pour traiter des problématiques inattendues ou spécifiques, en fonction des besoins. Il suit un cap lisible, qu’il est capable d’expliquer et de transmettre, dont découle naturellement les choix de réponse aux problématiques concrètes et complexes de notre monde. Il est capable de me parler comme à un adulte, en présentant les compromis et les alternatives, les raisons d’un choix éclairé. Et même si je ne suis pas d’accord dans tous les détails, je comprends et j’adhère à la vision globale, et à l’exécution générale. Je crains que tous ne soient pas possibles, peut-être certains n’étant que le fruit d’optimum local à mes silos fréquentés.

Tout pour préserver la civilisation

En imaginant que Montesquieu ne soit pas libre en mai prochain, ou ne passe pas le premier tour, je pense qu’il faut tout faire pour empêcher l’arrivée au pouvoir d’un homme (ou d’une femme) politique à même de libérer, crédibiliser et valider les plus bas instincts égoïstes de l’humain, racisme et haine en tête (mais toute destruction ou appropriation du Bien Publique pas loin derrière). Les exemples du Brexit et de Trump sont des mises en garde poignante qui rappelle que la civilisation ne tient que par le bon vouloir de milliers de gens. Dites-nous qu’il est normal d’insulter son prochain, et le chaos suit. La stratégie de l’échec, qui vise à démontrer le problème en poussant à l’erreur, ne fonctionne pas sur une échelle de temps raisonnable lorsqu’une moitié de la population est persuadée que ce n’est pas un échec ! Et le risque de catastrophe irrémédiable pour une ou plusieurs générations est trop grand pour valoir la joie du “je vous l’avais bien dit.”
Bref.

Posez-vous la question suivante: votre candidat idéal est Y. Jadot, EELV. Gentil, humain, contre le réchauffement climatique, tout ça. Pas de bol, il échoue à 22 points du second tour. Vous préférez avoir à choisir entre Marine Le Pen et Sarkozy, ou plutôt entre Marine Le Pen et Juppé ? Entre Fillon et Valls, ou plutôt Fillon (je rappelle qu’il trouve que la Convention Européenne des Droits de L’Homme est une contrainte dont on doit sortir) et Macron ? Entre Le Maire et Copé, ou entre Le Maire et NKM?

OK, on est d’accord, vous préféreriez voir Jadot gagner. Mais dans l’hypothèse où ça n’arriverait pas… Qui serait le moins pire (oui oui, je suis père de jeunes enfants) ? Instinctivement, je suis sûr que vous avez des choix qui semblaient plus faciles. Moins de chance que NKM explose le climat et revienne sur l’ensemble des propositions de la COP 21 que Copé. Ou que l’élection de Juppé fasse que l’ensemble des groupuscules néonazi se sentent les coudées franches et aillent casser de l’immigrant.

Pas de plan B pour le second tour n’est pas une option

Il est donc primordial d’essayer de prévoir un plan B, au cas où Montesquieu ou Jadot n’arriveraient pas à devenir présidents. Ce plan B se prépare dès aujourd’hui en sélectionnant des candidats plus acceptables que le dernier extrémiste venu. Pour ça, la droite, et peut-être la gauche (ou pas. Ou peut-être. Ou on verra. C’est compliqué) nous donne la possibilité de sélectionner son candidat. Et c’est important. Surtout si vous n’êtes pas habituellement de droite. Si vous avez lu jusque là, c’est que vous êtes pour l’alternance Hollande-quelqu’un-d’autre, que vous êtes pour la république, et vous êtes sûrement pour le redressement de la France. Qui ne voudrait pas d’une France bien droite, n’est-ce pas? Bref, vous êtes qualifiés pour aller voter à la primaire du centre et de la droite.

Voter ? Mais pour qui ? Mon framework de décision

Aujourd’hui, mon candidat idéal n’a pas l’air de pointer le bout de son nez. Aussi, je me limite pour l’instant à trois simples critères dont le but est simple:

  1. préserver la civilisation,
  2. préserver la possibilité de la République Démocratique,
  3. préserver la possibilité d’un futur pour les générations à venir.

[1] Contre l’incitation à la haine entre groupes démographiques

La civilisation ne tient qu’à un fil, et la moindre exploitation de la peur, de la colère ou de la haine d’un groupe démographique contre un autre risque de faire boule neige (mode avalanche). Le Brexit, l’élection de Trump en sont de tristes exemples.
Évidemment, tout candidat à tendances racistes (ou qui banalise ce phénomène) est éliminé. Mais c’est aussi valable pour l’incitation à la haine envers tout groupe démographique arbitrairement défini. Les jeunes. Les lesbiennes. Les ruraux. Les élites. Les riches. Les immigrants.
Par exemple, lorsque Macron propose un contrat “jeunes”, il perd des points ici: il stigmatise un groupe démographique contre d’autres, incitant à la colère et la haine là où nous avons besoin de coopération et de solidarité.
De civilisation.

[2] Pour la séparation des pouvoirs, contre l’autoritarisme et le “surveillance capitalism”

Ce trait est primordial, car il est le garant de la possibilité d’avoir une élection suivante. Ou une République d’après, sans passer par la case dictature-révolution-coupons-quelques-têtes.
Le gouvernent de Hollande et Valls restera sûrement dans l’histoire comme le gouvernement qui a le plus préparé à des dérives autoritaires: état d’urgence perpétuel, fichiers en tout genre, lois sécuritaires, légalisation de l’espionnage de masse… Ajoutez à tout ceci l’avènement du “surveillance capitalism”, et nous sommes en train de donner tous les outils au prochain dictateur en herbe pour exercer ses ambitions efficacement.
Il est de notre devoir d’infléchir cette tendance.
Tout candidat qui semble vouloir réduire la séparation stricte des trois pouvoirs de gestion de la nation, ou qui amenuise, voir ridiculise les plus hauts organes juridiques garants de l’état de droit (comme cela se voit en Angleterre en ce moment), est dangereux pour la liberté et la démocratie.

[3] Pour la préservation de notre écosystème, la Terre

Enfin, tout ceci n’a pas le moindre sens si demain, nous n’avons plus de Terre. Le climat est évidemment le principal élément du sujet, mais de façon plus générale, la Terre est un Bien Commun dont nous oublions trop facilement le prix titanesque. Et aujourd’hui, nous courons à la catastrophe. Sans action violente, rapide, concertée de nations très décidées - et il va falloir l’être pour les USA, nos enfants n’auront pas à se préoccuper de savoir si leur système politique est bien.

La primaire du centre et de la droite

Peuple de France, allez voter dimanche 20 et 27 novembre.
Personnellement, ma lecture au crible de la grille d’évaluation présentée des différents candidats entraine l’élimination de Sarkozy, Copé, Fillon, Poisson et Le Maire, en ne comptant que ceux qui ont eu trois smileys tristes (notation mode maternelle: smiley triste - smilley neutre - smiley content).

Reste Juppé et NKM. Comme disent mes enfants, il y a toujours une solution moins pire que les autres.

Votez ! Faites-vous entendre !

Monday, July 27, 2015

Enlightenment (e19) not starting after closing session - hangs on loading

Seems some time, I have, sometime, a really annoying behaviour with Enlightenent (E19). It happens on Archlinux (e0.19.5.1 at the time of writting), but I think it is not related with the distribution.
At the same time, it happens that new screen detection goes wrong, so it may be due to some bad driver. I'm using Intel driver (i915).

So, when it happens, the symptoms are:

  • from the login page (I'm using lightdm, but again, not sure it plays any role), I try to log
  • the E19 loading screen seems to want to appear, but nothing happen
  • if I switch on tty 1, ps aux | grep enligh gives  /usr/bin/enlightenment_start and /usr/bin/enlightenment
  • I can kill /usr/bin/enlightenment_start but the other need a kill -9
  • if I try  env DISPLAY=:0 enlightenment_remote -restart , the command hangs
  • env DISPLAY=:0 xrandr gives strange "current value" for screen 0: my screen is 1600x900, and when the bug happens, I get things like "3520x994" 
    • I get the same value on .xsession-errors, first line: zone 0x31cdfc0: 0 0   3520x994

 And until now, the only solution I had to make it start again was to remove my E19 profile (~/.e) - quite frustrating.

So, it happens that the problem is with "e_randr" module, the Enlightenment module in charge to manage xrandr for E. Somehow it's configuration get corrupted, and completely block any new sessions.

The solution is to simply remove e_randr cache files in .e/e/config when no enlightenment process runs (so kill them before if needed):
  • rm .e/e/config/standard/e_randr.*
  • rm .e/e/config/default/e_randr.*

The name "default" or "standard" may vary (for example, I remember that when I used to use BodhiLinux, it was bodhi or something alike).


And that's all ! Hope it helps other and my future me when I'll forget how to get out of that situation.

Monday, August 25, 2014

Upgrading to Ubuntu 14.04: "Error: Timeout was reached", "Segmentation fault (core dumped)" with APT and other stranges errors


This last weed-end, I tried to upgrade my old Bodhi Linux 2.4 based on Ubuntu 12.04 LTS to Bodhi 3.0 based on Ubuntu 14.04 LTS.


At some point something goes wrong with the update of the 1500 or so packages. I'm not sure about what happenned, but I started to see stranges errors, especially when trying to install/remove/correct package, but also in other part, for example when running some Python3 scripts.

Finally, everything was looking like working, but just almost working. Google fails on me on that, and I spend quite some time this week-end trying to go to the bottom of that problem, so I let a testimonial here, if it can help other people.

Symptoms

Segmentation fault (core dumped) with apt-get and python3 related scripts


This appears especially when trying to install/install -f "update-notifier-common" software, for example (sorry for the French):

% sudo apt-get install -f
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances      
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
1 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Paramétrage de update-notifier-common (0.154.1) ...
Segmentation fault (core dumped)
dpkg: error processing package update-notifier-common (--configure):
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 139
Des erreurs ont été rencontrées pendant l'exécution :
 update-notifier-common
Error: Timeout was reached
E: Sub-process /usr/bin/dpkg returned an error code (1)



The other aspect of that problem was that any Python3 related errors lead to a stack trace like that:

% python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> foo                                                                                                                                                                                                     
Traceback (most recent call last):
  File "", line 1, in
NameError: name 'foo' is not defined
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in
    import apt_pkg
ImportError: /usr/lib/python3/dist-packages/apt_pkg.cpython-34m-x86_64-linux-gnu.so: undefined symbol: _ZN13pkgTagSectionC1Ev

Original exception was:
Traceback (most recent call last):
  File "", line 1, in
NameError: name 'foo' is not defined



Error: Timeout was reached

The second main symptom was that when using apt-* tools, I was getting an error message "Error: Timeout was reached" just at the end of the process. Nonetheless, everything seemed to be correctly installed/removed/etc.


Bug tracking, short version


That led me to some bug about a timeout to short for packagekit:

/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 4 --method org.freedesktop.PackageKit.StateHasChanged cache-update

So I tested with a really big number, and got:

/usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 300 --method org.freedesktop.PackageKit.StateHasChanged cache-update

Error: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of org.freedesktop.PackageKit timed out


What lead to testing packagkit itself:

% sudo /usr/lib/packagekit/packagekitd --verbose
11:12:57        PackageKit          Verbose debugging enabled (on console 1)
11:12:57        PackageKit          keep_environment: 0
11:12:57        PackageKit          using config file '/etc/PackageKit/PackageKit.conf'
11:12:57        PackageKit          syslog fucntionality disabled
11:12:57        PackageKit          Log all transactions: 1
11:12:57        PackageKit          daemon shutdown set to 300 seconds
11:12:57        PackageKit          clearing download cache at /var/cache/PackageKit/downloads
11:12:57        PackageKit          destination eth0 is valid
11:12:57        PackageKit          setting config file watch on /etc/PackageKit/PackageKit.conf
11:12:57        PackageKit          ProxyHTTP read error: Key file does not have key 'ProxyHTTP'
11:12:57        PackageKit          searching for plugins in /usr/lib/x86_64-linux-gnu/packagekit-plugins
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-systemd-updates.so: A plugin to write the prepared-updates file
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-clear-firmware-requests.so: Clears firmware requests
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so: checks for any shared libraries in use after a security update
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-scan-desktop-files.so: Scans desktop files on refresh and adds them to a database
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-check-processes.so: Checks for running processes during update for session restarts
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-no-update-process.so: Updates the package lists after refresh
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-package-cache.so: Maintains a database of all packages for fast read-only access to package information
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin_scripts.so: Runs external scrips
11:12:57        PackageKit          opened plugin /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-require-restart.so: A dummy plugin that doesn't do anything
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-scan-desktop-files.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-check-processes.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-no-update-process.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-package-cache.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          run pk_plugin_initialize on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-require-restart.so
11:12:57        PackageKit          finished pk_plugin_initialize
11:12:57        PackageKit          Trying to load : aptcc
11:12:57        PackageKit          dlopening '/usr/lib/x86_64-linux-gnu/packagekit-backend/libpk_backend_aptcc.so'
Failed to load the backend: opening module aptcc failed : /usr/lib/x86_64-linux-gnu/packagekit-backend/libpk_backend_aptcc.so: undefined symbol: _ZN13pkgTagSectionC1Ev11:12:57 PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-check-shared-libraries-in-use.so

11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-scan-desktop-files.so
11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-check-processes.so
11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-no-update-process.so
11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-update-package-cache.so
11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          run pk_plugin_destroy on /usr/lib/x86_64-linux-gnu/packagekit-plugins/libpk_plugin-require-restart.so
11:12:57        PackageKit          finished pk_plugin_destroy
11:12:57        PackageKit          already closed (nonfatal)
11:12:57        PackageKit          parent_class->finalize


HooooOOoo... What about Aptitude ?


% aptitude
aptitude: symbol lookup error: aptitude: undefined symbol: _ZN3APT11CacheFilter39PackageArchitectureMatchesSpecificationC1ERKSsb



Solution

The problem was that somehow, I get a bad version of libapt-pkg4.12. So anything related to apt in some way had a chance to end badly.

Reinstalling the correct version of them (the one provided with my distribution) corrected all the problems:

sudo apt-get install libapt-pkg4.12=1.1.1bodhi1 apt=1.1.1bodhi1 apt-transport-https=1.1.1bodhi1 apt-utils=1.1.1bodhi1


Hope it helps !


Tuesday, April 1, 2014

Where all the activity went?

As you can see, the activity on that blog has been non existant for several years now. For the two visitor wondering, my main focus switch to my familly (2 sons, one other on its way), Normation (my company about devops, config management, etc: http://www.normation.com/ ) and of course Rudder (http://www.rudder-project.org/).

I'm still doing a ton of Scala, and you can find some articles on our company blog (http://blog.normation.com/) or slides about presentation I gave, like the one on Scala + ZeroMQ for Scala.IO 2013. It's on slideshoare: http://fr.slideshare.net/normation/

And of course, there is my Github page: https://github.com/fanf/ or twitter: https://twitter.com/fanf42

Hope to see you on these other media!

Thursday, November 17, 2011

Make firefox remember "autocomplete=off" password fields

Some site thinks that they better know than us what is security. For example, they want to prevent us to make firefox remember the login/password for them, and in the sametime, they don't allow to use a 30 char passphrase (because it does not contain a symbol, but six "!" is ok...).

If, like me, you are finding that behaviour as irrespectuous of your browsing experience as, say pop-ups, there is a trick:

  • install Firebug
  • on the page with the faulty password field, open Firebug.
  • use the blue mouse pointer in Firebug toolbar to select the password field
  • on the Firebug HTML tab, you should have a <input  type="password" autocomplete="off"....> field selected
  • double-click on "off" to edit the value and change it to "on". 
  • Now, enter you login/password as usual in the page form
  • when you hit "submit", Firefox should display the notification pop-up that allows to remember the login/password for that site. 
 Now, each time you are going to go on that page, firefox will autocomplete  the login/password as usual. 



Hop it will help other !

  © Blogger template 'Minimalist G' by Ourblogtemplates.com 2008

Back to TOP