Revenu universel via Sans Emploi de Raphaël Liogier

2018-08-22  |   |  economy   francais  

On m'a recommandé de lire le livre Sans Emploi - Condition de l’homme postindustriel de Raphaël Liogier pour comprendre la notion de revenu universel. De pensée économique plutôt classique, j'ai du mal à comprendre comment ce modèle peut fonctionner. Sans fixation des prix des biens de consommation bien sur ;)

Liogier amène les arguments en faveur du revenu universel, notamment pour lui permettant la libération des besoins et l'élimination du besoin d'un droit du travail (on n'est pas obligé de travailler rappelez vous donc pas besoin d'être protégé). Son revenu universel est relativement élevé car il couvre tous les besoins de vie (logement, nourriture, téléphone etc). Ce qui n'est pas couvert sont les coûts liés au désir de comparaison aux autres (appartement sur grand ou bien placé, voiture qui tape à l'œil etc) Sa thèse principale est que l'automatisation va bouffer tous les emplois donc autant s'y préparer. Et l'uberisation (au sens de maximisation de l'utilisation de ressource e.g. la voiture), le mode participatif, la blockchain etc c'est l'avenir.

J'ai beaucoup de mal avec les justifications de l'auteur sur la viabilité du revenu universel et pourquoi la société et l'économie serait prête. Pour lui, on entre dans une économie d'abondance (après l'économie de rareté) où les besoins de nécessité et de conforts sont à coût marginal zéro et donc la subsistance est aussi à coût marginal zéro. Seuls les objets nous rendant unique et satisfaisant notre désir d'être ont des prix s'envolant sans rapport avec leur coût de production (œuvre d'art, appartement dans un lieu huppé, voiture de sport etc).

Mouaip. On voit les tensions sur les matières premières et de premières nécessités qui prouvent le contraire du coup marginal zéro. D'autre part il n'est pas clair comment la définition de la valeur du revenu minimum sera définie. Comme l'ancien SMIC au clientellisme / attentisme ? Comment différencier les coûts de vie de la région parisienne vs une autre région moins tendue niveau logement ? Peut-être en disant que la personne n'est pas obligée de vivre en région parisienne car pas besoin de travailler ? Manger bio est-il un besoin de base et donc inclut dans le revenu universel ? Au niveau économique, il y a peu d'arguments ou des arguments faibles pour expliquer les impacts sur les prix d'un revenu minimal systématique. Cette partie du bouquin m'a laissé non convaincu ou du moins aussi septique sur la façon de l'appliquer malgré les accents dithyrambiques.

Cependant, sa thèse de l'économie d'abondance et surtout du désir d'être est particulièrement intéressante et bien capturée.

Pour subventionner ce modèle, il propose d'éliminer tous les impôts dont l'impôt sur le revenu et n'en garder que deux.

  • la TVA à but de guidage de politiques sociétales (favoriser l'écologie, les produits de premières nécessité au detriment des produits de luxe). En circuit fermé c'est à dire en zéro sum game ou en tous cas s'en approchant (certains taux de TVA étant négatifs). J'ai peu d'avis si ce n'est que des produits dit de luxe aujourd'hui taxés à 20% ou plus sont en fait des produits nécessaire à vivre (pétrole, téléphone portable). Pourquoi cet ajustement n'est pas fait dès maintenant ?
  • une taxe fortement progressive sur le capital global (immeuble, placements, meubles, voitures, actions, et toute autre possession)

L'idée de la taxe globale sur le capital est de pousser l'utilisation improductive et rentière du capital et de le taxer fortement. Cela forcera les rentiers "improductifs" à vendre et libérer ce capital à des personnes plus productives. Un modèle Picketty aux stéroïdes. A noter que dû à la forte progressivité de l'impôt, cela ne sera pas plus productif en absolu mais plus productif en comparaison de leur niveau relatif d'imposition. Donc injuste ? L'argument de l'auteur est qu'au niveau des hyper fortunes, l'utilisation du dollars supplémentaire pour son désir d'être est effectivement nul si ce n'est d'amasser pour l'envie d'amasser. Et donc que cette réduction du capital n'est pas très coûteuse pour la société. En fait, le contrat sociétal dit que l'on peut avoir plein de capital tant que l'on est marginalement plus productif avec que le taux marginal d'imposition de sa tranche. Je n'ai beaucoup réfléchi mais je pense que cette approche peut avoir des effets de distorsion à étudier. Par exemple, une personne, au lieu d'accumuler des Ferrarri, serait tenté de passer tout son argent dans un plaisir éphémère ne générant pas de capital (restaurants, sports et autres loisirs, etc). Cette consommation de l'instant aurait tendance à ne pas favoriser l'accumulation de capital et défavoriser l'innovation. L'auteur amènerait le crowdfunding comme solution je pense et le fait que construire fait partie du désir d'être et donc l'enrichissement n'est pas la seule motivation ni la principale. Les effets de distorsion du modèle actuel existent aussi donc rien n'est rédhibitoire. Ce modèle est fortement social mais à des avantages intéressants. C'est la partie du livre qui m'a le plus challengé et intéressé.

Le modèle reste difficilement applicable en l'état par un seul pays dû à la concurrence mondiale. La fuite de capital et d'investissement serai la sanction immédiate. Même si l'Europe s'y mettait en bloc ce qui est peu probable, quid des réactions de l'OMC sur la taxation des entreprises entrant sur le marché de l'UE et donc devant se plier à ce système ? Quel serait l'impact sur le niveau de vie des européens (fuite de capitaux) ? De toutes façons, pour l'instant, l'UE n'est pas prête politiquement à un tel alignement. L'autre impact c'est que les gros investisseurs disparaissent. Parce que la taxation à deux chiffres en pourcentage (xx%) de la tranche marginale de capital n'incite pas à l'effort supplémentaire (trop risqué). Donc des initiatives du type serial entrepreneur ou business angel deviennent moins fréquentes ? A noter que les entreprises sont impactées de la même manière puisque les propriétaires sont in fine taxés sur leur capital et donc la valeur de la société.

Bref, je n'ai pas trouvé ce que je recherchais dans ce livre mais je vous recommande tout de même de le lire pour ses thèses sur la société d'abondance, le désir d'être et sur la taxation sur le capital global comme unique impôt (avec la TVA). Si vous avez des livres ou études qui poussent les simulations sur le revenu universel et ou la taxation du capital global (notamment simulations économiques), je suis intéressé. Celles que j'ai vu s'arrêtent très vite aux questions difficiles.


macOS powerline and Python interpreters

2018-07-18  |   |  tool   Mac OS X  

tl;dr; using powerline and having it fail after a homebrew update? Read on.

If you have tuned a bit your terminal in macOS, you might be using Powerline. It prettities your command line enough to warrant some trouble installing it. And it does it to vim status lines too.

Now if you also use homebrew, every so often you see something like this when starting a new terminal window

-bash: /usr/local/bin/powerline-daemon: /usr/local/opt/python/bin/python3.6: bad interpreter: No such file or directory

I always fiddle with things until I get it fixed again. So here it is reported for posterity. The Python interpreter has been updated behind your back and the installed modules end up referencing the old interpreter.

For powerline, here are the steps

pip uninstall -y powerline-status
brew update && brew upgrade python
pip install powerline-status

Note that I use Python 2 and not Python 3. From what I remember, I had troubles making it run properly on v3.

Here is a more generic solution, courtesy of bnaecker at StackOverflow.

pip list | cut -d " " -f 1 > package-list.txt # Store package names without versions
pip uninstall -y $(cat package-list.txt) # Cannot use redirection
brew update && brew upgrade python
pip install $(cat package-list.txt)

Back to work.


tig and add interactive

2017-08-02  |   |  tool   git  

Tig is a textual GUI for git which lets you manipulate your git repo like GitX or SourceTree but without leaving your terminal. In particular, you can "graphically" do git add --interactive. I find it easier to do my chunk surgery when I only want to apply parts of a file change.

The documentation is a bit terse so let me give you a rundown.

Tig add interactive in action

Navigate diffs

launch tig
s # to see the status view
arrows or j/k # to select the file diff to look at
enter # to see changes in that file, this is the stage view, alternatively hit c
j/k # to navigate up and down the file lines

Select specific chunks

(go down to a specific chunk)
u # to select the whole chunk
! # to delete/reset the whole chunk change (you must be on the chunk header line) ; caution this change will be gone forever

Select specific lines

(in a chunk on a specific line)
1 (one) to add the specific line to stage
! and then y to delete/reset the specific line ; caution this line will be gone forever

To undo the staging and remove the line, select the file in the changes to be committed section
1 (one) to move the line back to the non-stage area

Other goodies

Shift+R to refresh the diff changes in case you update the file in your editor and want a updated diff

You can delete/reset changes to a whole file by hitting ! and then y in the status view. Make sure to select the right file as the changes will be gone forever.


Simplifying your double (calendar) life

2017-07-21  |   |  productivity  

If like me you live a double life (pro and personal) and like me you want to share your availability via calendars, you probably have created clones of the same event into multiple calendars. There is a better way.

Double life

I live double calendar lives.

A shared calendar tells where I am (travel, conferences, face to face meetings, holidays etc) to the team I work with. Except that I am in more than one team, so there are several of these shared calendars. Likewise, my spouse likes to know when I am out of town (or rather does not like to know). And I end up creating one event in my main calendar and one event per shared calendar.

There are many occasions where an event is duplicated for one reason or another.

Invite instead of duplicate

Max shared a pretty useful tip with me the other day. Instead of duplicating an event in each calendar, you can invite shared calendars to a single event.

Google assigns email addresses to each shared calendar. You can find this email by selecting Calendar settings on the right menu of a given calendar (down arrow). Under Calendar address, you will find an email that looks like this cds7678dscdcs876sc6784@@group.calendar.google.com. Also make sure that the calendar setting Auto-accept invitations is set to Automatically add all invitations to this calendar. After all it will need to accept invites to your parties :)

Add to your contacts an entry with the email address (it's easier to remember than this opaque email address). And next time you need to put an event into multiple calendars, simply invite this/these contact(s) to the event. And voilà!


MacBook Pro and the SMC cure

2017-07-11  |   |  apple   Mac OS X  

The physical parts of your MacBook (fans, ports etc) behaves erratically? I might have a cure.

A story of crashes

My MacBook Pro was getting on my nerves lately. When plugged to my Thunderbolt dock and thus my external monitor, my laptop would crash randomly. Sometimes, once every 2 weeks, sometimes several times a day. I tried many things, like not starting all of the utilities one usually uses to verify that they were not involved but I could not find a culprit.

Then one day, I saw that one of my Thunderbolt port would not accept my Thunderbolt-Ethernet adaptor while the other did (the connection did not show up). I was convinced my laptop had a faulty hardware and needed repair.

System Management Controller to the rescue

So I called Apple and the support person told me to try something first: reset the SMC (System Management Controller) by pressing Shift+Control+Option on the left side and the power button for 10 seconds while starting the computer (after a full shutdown) - full procedure here.

And voila, all my problems are gone.

What is SMC anyways?

It turns out that there is a chip that manages a lot of hardware inside your laptop: fans, LEDs, IO ports, external displays, battery, etc. So slapping that chip on the face (figuratively) might make a lot of things go better.


Using vim and Evernote

2017-03-28  |   |  tool  

I like Evernote because all my notes are in a single place and I can access it from everywhere (desktop, phone). I use it very much as my GTD reference material. But the editor is subpar compared to vim though - what isn't?

Geeknote

I found a way to edit my Evernote notes in vim. I use Geeknote and specifically this fork.

git clone https://github.com/jeffkowalski/geeknote
python2 setup.py build
pip2 install --upgrade .

(I forgot to do the last line and it created a lot of pains. I also tried the brew formulae but did not work for me.)

You need to log in and select vim as your editor

geeknote login
geeknote settings --editor vim

And from there, you're good to go to edit notes

geeknote edit --note "Moon project meeting"

And boom. I personally can now edit my notes in Asciidoc markup and be happy :)

vim-geeknote

There is a more advanced integration with vim: vim-geeknote. I am not sure I like it but I'm exploring it. It gives a navigation panel inside vim.

Make sure to set it to use the plain format and not the markdown one. Otherwise, all your notes will look weird back in Evernote.

" in your vim.rc
" Geeknote options
let g:GeeknoteFormat="plain"
" filter the relevent notebooks
let g:GeeknoteNotebookFilters=[ "my notebook" ]
" do syntax highlighting with asciidoc syntax
autocmd FileType geeknote set syntax=asciidoc

Perfect solution / future

I initially thought about keeping all my notes in sync in a directory with each note exported as Asciidoc, but I found geeknote before going in development tunnel.

I don't think I really need the directory sync but I would like to be able to have the note as a file that I can render via Asciidoctor (e.g. asciidoctor.js).


Embedding Vim options in Markdown

2017-03-06  |   |  tool  

I've been wrestling with an issue for quite a while: embed vim options into a Markdown file. I finally found a solution.

Context

You can customize the options set when opening a specific file in Vim. This is pretty handy when you want to customize things like tab vs spaces or the language to spellcheck with.

This is typically done by adding some vim incantation as a comment in the file.

// vim: set softtabstop=2 shiftwidth=2 expandtab:
public class JavaClassExample {
  public String name;
}

Vim options in Markdown

I've been really struggling to get this working on Markdown because unfortunately Markdown does not have a comment syntax. That's until I remembered that Markdown defaults to HTML the minutes it does not know how to express things. <!-- --> to the rescue! Without further due, an example:

# Un exemple en Markdown

<!-- ask vim to use French to spellcheck -->
<!-- vim:set spelllang=fr : -->

<!-- ask vim to use 2 spaces for indent
     (a blog does not have lots of space) -->
<!-- vim: set softtabstop=2 shiftwidth=2 expandtab: -->

Ceci est un test montrant la validation orthographique en Français.

## Et ça marche ?

Carrément !

    public class JavaClassExample {
      public String name;
    }

Enjoy!


Start IntelliJ IDEA from the command line

2017-02-27  |   |  java   ide   tool  

You can start IntelliJ IDEA from the command line which is handy when you live in a terminal like me. But you need to enable that feature.

Open IntelliJ IDEA, go to Tools->Create Command-Line Launcher... and optionally adjust the location and name of the script that will start IntelliJ IDEA. Voilà! Now from your command line, you can type:

  • idea . to open the project in the current directory
  • idea pom.xml to import the Maven project
  • idea diff <left> <right> to launch the diff tool.

The generated script has an annoying flaw though, it does reference your preference and cache directories in a hard coded fashion. And for some reason the IntelliJ folks embed the version number in these directories (e.g. IdeaIC2016.2) That's annoying as it will likely break the minute you move to another (major?) version.

Antonio has a solution for that which is a simpler and more forgiving script in good anti-fragile fashion. The script is not generic and only runs for macOS.

#!/bin/sh

# check for where the latest version of IDEA is installed
IDEA=`ls -1d /Applications/IntelliJ\ * | tail -n1`
wd=`pwd`

# were we given a directory?
if [ -d "$1" ]; then
#  echo "checking for things in the working dir given"
  wd=`ls -1d "$1" | head -n1`
fi

# were we given a file?
if [ -f "$1" ]; then
#  echo "opening '$1'"
  open -a "$IDEA" "$1"
else
    # let's check for stuff in our working directory.
    pushd $wd > /dev/null

    # does our working dir have an .idea directory?
    if [ -d ".idea" ]; then
#      echo "opening via the .idea dir"
      open -a "$IDEA" .

    # is there an IDEA project file?
    elif [ -f *.ipr ]; then
#      echo "opening via the project file"
      open -a "$IDEA" `ls -1d *.ipr | head -n1`

    # Is there a pom.xml?
    elif [ -f pom.xml ]; then
#      echo "importing from pom"
      open -a "$IDEA" "pom.xml"

    # can't do anything smart; just open IDEA
    else
#      echo 'cbf'
      open "$IDEA"
    fi

    popd > /dev/null
fi

The GitHub gist version of this script. It does not offer the call to IDEA's diff though. I'm from an era where we did resolve > based diff conflicts in Notepad so that does not bother me much.

I think I'll go for Antonio's solution, that will avoid some nasty WTF moments when the preference directory moves and I will have forgotten all of this.


Retraite, baby boomers et pyramide des ages

2017-01-18  |   |  economy   francais  

Je n'avais jamais bien compris pourquoi les baby boomers étaient un tel problème pour les retraites des plus jeunes. Mon hypothèse était que la retraite des baby boomers est payée par des actifs dans un système à répartition comme en France. Donc le moment difficile c'est le moment de vie active où la pression de paiement est la plus forte. Mais ces baby boomers, ils vont bien finir par mourir, et donc le système reviendra à la normale. Ce raisonnement est correct mais il y a plusieurs facteurs aggravants.

Premièrement, le phénomène de baby boom est plus long que ce que je pensais. Il correspond aux naissances de 1945 à 1975 et à un surplus de naissance de ~ 20-25% par an par rapport à la moyenne des naissances post 1975 (à la louche). Donc c'est un gros morceau à la fois dans le temps et dans le volume supplémentaire par an. Les baby boomers ont commencé à entrer en retraite il y à 5 ans et cela va se poursuivre quasi jusqu'à ce que moi je rentre en retraite (je ne suis pas né au meilleur moment apparemment).

Pyramide des ages et baby boomers

Deuxièmement, ce phénomène n'est pas compensé (ni aggravé d'ailleurs) par les naissances et l'immigration. Pour faire simple, les 1,95 enfants par femme et la légère immigration que l'on a devrait suffire à garder les tranches d'age stables. Cela donne une base rectangulaire à la pyramide des ages. Cela dit si on faisait un peu plus de bébés ou si on accueillait un peu plus d'immigration, ma retraite se porterait mieux, CQFD.

Et évidemment, les gens meurent plus tard. Merci aux progrès de médecine et de nutrition.

Donc on se retrouvera avec une pyramide en forme de gros rectangle avec un petit chapeau au dessus (appelé cylindre pour une raison qui m'échappe).

La pyramide des ages du futur

La part des personnes agées dans la population va passer de 20% à 30-32% en 2035 pour se stabiliser ensuite d'après l'INSEE. Elle devrait baisser légèrement une fois les baby boomers tous partis remplir la pyramide inversée du ciel (c'est beau non ?). Le chapeau devrait se réduire un peu en largeur donc. Mais ça c'est pour après 2060.

Vu que je suis né juste après le baby boom, j'ai globalement tout perdu (je paye et je ne serai pas payé). Sauf si la France se met à faire beaucoup de bébés (l'immigration n'étant pas très tendance en ce moment). Il fait froid, lancez vous !


Course on inverted index

2017-01-17  |   |  computer science   conference  

I gave a three hours course on inverted index to students from Telecom SudParis an engineering school here in... Paris :) It was fun to refresh my knowledge on all the fundamental structures that make Lucene what it is.

I covered quite some ground for this three hours course (a bit to much to be honest). Amongst other things: b-tree, inverted index, how analyzers and filters do most of the magic (synonym, n-gram, phonetic approximation, stemming, etc.), how fuzzy search work in Lucene (state machine based), scoring, log-structured merge and the actual physical representation of a Lucene index and a few of the tricks the Lucene developers came up with. My list of reference link is pretty rich too.

Without further ado, here is the presentation. I tend to be sparse on my slides so make sure to press s to see the speaker notes. The presentation is released under Creative Commons and sources are on GitHub.

It is a first revision and can definitely benefit from a few improvements but there is only so much time per day :)


Name: Emmanuel Bernard
Bio tags: French, Open Source actor, Hibernate, (No)SQL, JCP, JBoss, Snowboard, Economy
Employer: JBoss by Red Hat
Resume: LinkedIn
Team blog: in.relation.to
Personal blog: No relation to
Microblog: Twitter, Google+
Geoloc: Paris, France

Tags