Wasted years

2080 1st January

Time for a medical visit.

In 2049 the great revolution came, it was called the what the fuck revolution.

Imagine billions of persons pissed at the way the worl is unfair but unable to come to a consensus other than let's over throw these nations, and then agree to disagree.

So as the revolution came from Internet and people were not too likely to riot in the streets something horrible appeared: the great Net Split.

It may seems a bad news, but it was in fact a good news. People learned to value information. Some gateways existed provided by flying carrier, old landline modems that were reactivated... You cannot imagine the inventivity of idiotic people.

OS where however drifting, different updates being applied in different nets... It was as if to avoid any consensus Nations where purposefully building a Babel tower.

And people realized a radical change should be enforced with a small heavily packed piece of information: a single sentence.

A nation should not own our ass, we should be free to choose our government according to our beliefs.

And so in a lot of confusion an idiotic motto made the biggest confusing revolution in the world: people actually decided that systems of government should be like a religion. There are conditions to meet and accept to enter any of them. People can change, and all Nations share the same unique territory with an arbitration of the other government.

Basically, at the age of around 18, you could ask in any country of the world to change your nationality. Then you would have a «national service», and then you could live like a free citizen. You could choose a royalist nation, a socialist, an anarchist or a liberal one. Each one applying his own rules and taxes on the same territory.

So what his the nation I chose?

The harmonic house of glass.

A nation based on the idea that the only stuff that his precious is our time of happiness in good health on earth. That a nation should treasure what is precious.

So basically it is a nation based on an extensive health and social insurance.

We are harmonic because if ever you have an expected lifetime of 100 years or 10 years left then national service duration is a part of your lifetime so that anyone can enjoy their lives and be part of the system.

An house of glass, because the only way to entrust your personal data is either to hide them deep, or show them to the face of the world.

In exchange for our belonging to the nation HHG requires that every citizens always answer truly to any verifiable questions.

Thanks to this, our citizens are rented at very high prices in other states, as public servant.

So today, I will have my revised medical visit to re-evaluate my national service length in regard to the new addiction I caught working as an accountant for a recreational drug based nation. And I will evaluate the cost benefit of keeping it or not with my physicist.

I would have the time, I would gladly write about all the absurdities of such a political system, and why my doctor strongly encouraged keeping on the hallucination to keep my mental health.

At first this revolution looked promisiing, but

Google's silent autodafé

TL; DR google is not evil, blocking access to relevant information is just a side effect of its business model:

google silent autodafé rule is : any knowledge that is not generating a revenue stream does not deserve to be shown to you

Years ago, after a «burn out», because I am library rat I used my usual paper based routine to dig information on the topic.

Before I go for «new text», I always go in the past to see if there was no precedent to a bigger extent of a phenomenon we know. The rationale being if a phenomenon was extreme at this time hence it would have been easier to study. (How to do science with a Hammer (function)).

My topic was why am I feeling like shit after 60 hours work per week?

So instead of looking for burn-out in google I went for what were the reason to limit working weekly hours to 48hours.

Through an interesting journey on google I found something that I love! Figures and charts with close to unethical experiments on human beings.

It is called the scandal of the ammunition UK 1916. Long story short: WWI saw the prevalence of death per explosive during conflicts, hence winning a war was a question of optimizing the chain of production to maximize the throughput.

Until 1900 (or 2000?) there was a belief productivity was linear to the number of hours worked, and after a lot of patriotic propaganda, workers were pumped up to work willingly extra hours for the same money, and then all hell broke loose: productivity plunged, but more importantly quality; UK explosives were killing tommies because of defects.

So, the UK army did extensive unethical studies justified by war time on humans to scientifically establish the parameters influencing production and generating this mess.

Long story short:
- peak of productivity is 30 something hours;
- peak of productivity when accepting non lethal defects in production is 48hours;
- night works harm;
- the health cost due to burn out far outweighs the benefit in produced units after 48h weekly hours.

48hrs is not the optimum, it is the optimum degraded mode acceptable during wartime when it is okay to push workers above their limit to get a 7% increase in production in exchange for reduced quality.

Just so you know this was a thing USA adopted the 48hrs week in 1917 because they saw obvious business benefits. And O.I.T. later made it an international obligation that is on par in our states with Geneva convention on war law, and IP convention.

A lot of 1900's books reachable with google used to evocate fatigue professionelle (in texto) and the cost of damages and responsibility that lied on the employers.

Just for the record 1800 to 1900 have been quite intense in terms of work conflicts.

And google would give to the astute persons a way to uncover traces of this history. It would be in google books notably.

What pisses me off is that years after years this kind of knowledge disappears from all the search engine.

But where is it now on the internet?

It is gone, and all because of an algorithm.

What matters to me is not what matters to google. Google first reason to be is profit. They make stream of revenue on ads that are either on the contents you look for, or on the keywords you enter.

So their algorithm to maximize profits tends to favour when searching topics topic who have a paywall (academic, software or normative (like IEEE)).

Pointing at anything in the public domain is a clear cost sink for them.

If you try to visualize their algorithm, you will notice it favours fresh news other older one. And it is a good idea : I don't think a physical teaching of 1760 he is on par in terms of relevance with a 2017 teaching.

Basically, they modulate their relevance with a temporal curve. Probably and amortized exponential, that has a strong cut around anything that is not protected by patrimonial right.

It is probably not intended but a side effect of an algorithm optimizing the revenues.

No need to be a genius to guess the google engineers made the sin of any mechanical engineers : they put a positive feedback loop in their algorithm.

If you are good at "machine learning", why not teach your search engine to return the more relevant search results that maximizes your incomes? Resulting in the fact that any free content that doesn't generate revenue thus become irrelevant. They still are on the internet: but google will not give you the link to reach them.

Yes of course NEW materials tends to be more relevant than old one. But, it is far from being always the case. Like in the case of old established knowledge like: vaccination, Fourier transform, thermodynamic ....

You know in 1804 Fourier, one of the father of thermodynamics clearly stated human activity is responsible for global warming, and because of a small mistake in calculation, he concluded it was a good thing since according to him we were condemned to die in cold otherwise. The demonstration is still totally relevant. But it is not Fourier simple and clear demonstration that bubbles up in google : it is either the anti-climate BS or GIEC smoke-screen that comes up. The 1804 thesis of Fourier on global warming SHOULD BE in the top 10 choices when asking about global warming scientific basis.

I can also point you to "out of internet" knowledge that proves Fourier's calculation are not relevant anymore: trees and plants have moved up to 200kms/decade to colder places. But it comes from out of the web knowledge, people counting plants and insects around the world in (paper) notebooks.

It is funny that the anti-ageism and pro-tech bias of google seems to be at least a reality in its search algorithm.

Google silent autodafé rule is : any knowledge that is not generating a revenue stream does not deserve shown to you, hence any knowledge that is more than 70 years old.

Well, what we are doing is stupid anyway.

Imagine you have a public library, but do not want to have librarian because they cost to much.

So you give a company this mission saying just finance yourself.

The librarian goes to the bookshop and says I have business model idea: for every 10 search I submit to a reader I put one to a book you sell in exchange for a share of generated income.

This way you fund new knowledge while preserving the old one.

Readers also benefit from having updated knowledges.

The problem is that in medio stat virtue. Too much of any is stupid.

Only old news would leave us in a crusted world where no progress would be possible.

Only new contents condemn us to reinvent the wheel poorly by forgetting the basic knowledge.

Google does not care, they are not a librarian, they are a business. google is not a search engine, it is an ad based streaming revenue generator empowering any companies able to make people pay to access to data.

My conclusion is we all used so much google we forgot about Shannon definition of information: H = k ln (O) (where O is the ratio of relevant choices over total choices).

If google was useful to gather information we would have a rarefaction of choices to organically point to fewer and fewer relevant choices.

If google algorithm was information based it would tend towards losing revenues, and having its users lose revenues. At the opposite, google is in a position to create artificial revenues to make you pay for information that are publicly available out of the proposed choices. Google has a direct incentive to block you from publicly relevant accessible content so that the ads buyers can generate revenues. It does effectively hide information.

Google is NOT evil. Google is just like a rational good gear in a malfunctioning clock.

Sometimes there is no one evil but the rules of the game we play. Necessity may be evil, but there is still no necessity to leave under the realm of evil.

My conclusion is actual societies are immature thus sucking big balls at understanding the simple challenge raised by the con behind the Information Technology sector.

Information Technology is not about giving access to information, it is totally the opposite due to the incentive of the market.

Terrorism is there to hide the true threat

Terrorism has a fishy history in  France

French propaganda during WWII collaboration
Let's say a young neglected ginger teen fishy smell

The treatment of what would be called heroes during WWII in France

When you see most of the persons that were actually powerful before, during WWII were still in power after the liberation, some do wonder if the France of the elite actually should not have been condemned with the nazis.

Terrorism has been used in France as an excuse to screen and archive every one's particularities (religion, opinions, ethnicity....) and then officially condemn them. Or deport them to death camps.

They turned the word terror as an excuse to protect the citizens and then take on the most vulnerable ones. All of this in the name of the higher reason of security...

Before terrorist it was named the agent of the enemy like ... the captain Dreyfus.

Nothing changes in french history, people using the words terrorism or the hidden enemies have a tendency to attack themselves the one they pretend to defend.

Let's be real ; the money of terrorism make Euro powerful.

For money laundering you have 3 options: USA based, Europe based, UK based.

And that's one reason Google, Amazon, Facebook ... don't pay taxes in Europe. Because we have custom made international rules to permit fiscal evasion and money laundering. The GAFA just used this circuits, hence that is the reason why they won't pay taxes.

But guess what, Mr Durand who is a hardcore human-and-weapon-and drug trafficking beast wants to enjoy his week ends with his 2 years old daughter. He share his stories about his kid with me.

Mr Durand wants his money locally. He cannot use the money too obviously, he just gets lucky in deals.

A company in Monaco, Delaware, or the Caïman may propose him a good lease for a car, or nice opportunity in real estates.

Yes, money of crime finally drop down in the real world. The trickle down reality of blood money.

It is invested in stuff in which you pay 3 times.

  • Art: a market that is artificially being kept afloat through national collections and sponsoring;
  • Stock options: which market is artificially high thanks to the free money the tax payers;
Real Estate is the worse: you pay the rent, fund the urban planning of government and fund the access to the property and pay it as a part of the costs of having retail surface distinct from living places.

Money laundering makes our economies turn into valuation of rents, like during victorian era, early or mid XXth.

It amplifies a winner takes all effects. And of course, losers don't like it. Because the only justification for this hierarchy is an arbitrary divide based on randomness of fortune most of it being inherited.

Let me tell you, take the best singers their offspring are often overvalued (except Kid Rock) compared to random singers. And worst comes at 3rd generation.

A society of feudalism maybe totally suiting my hardcore RPG background. However the point of fantasies is that it is not as a reality. Feudality is a dream in the it's good to be bad register, having fun and lashing out for the duration of a game.

I don't want to leave in a society left to pedantic whom power was only granted by the luck of birth.

It makes boring societies where you feel smart too easily but can't achieve anything. A tedious boring easy game you lose because of shitty controls and you need cheat codes to win. Like seriously? No gamers in their right mind want such a dystopian world.

The true threat is tax evasion and the fact a society based on inheritance makes us go back to the state of our societies before wars.

And that these societies have been calling terrorists anyone but the terrorists they were dealing with to have their fat earnings.

Basically with fiscal evasion we create a vicious circle where crime pays. And the more criminal you are, the more it pays. A money crime that slowly the corrupt more and more of the governments.

How We Could Make Coder's Union Successful

Last week I wrote an article on how I thought software industry was flawed for its lack of liability. In one week things changed: a coder is sentenced to 40 months in jail for having written a software.

Time has come to protect our asses from decision we were imposed.

Boring part what is it about having a profession (beruf)?

- having responsibility that fits your authority; 
- being paid for every hours spent to produce, including commuting for your work; 
- having hygienic work conditions that wont harm you (fuck crunches, open-spaces, poor chairs/lighting); 
- having standards in cleaning (yes cleaning is important, stuff like nice PR, documentations...); 
- LIABILITY we have to accept we are liable for things in exchange for authority; 
- ETHIC, we must have the right to refuse to code programs that in our knowledge opposes the common laws (like privacy, embezzlement, fiscal fraud, consumers rights to be informed...); 
- the respect of IP laws, I am bored of seeing people STEAL free/open source software and claim it is theirs, it we take part in doing so we are negating the value our very own work...

At my opinion this is the minimal package a coder's union should grant.

Once you have a well defined perimeter, you defend it. And here comes the how

It is easy. I know IT generation  is supposed to not be able to read book, but it is a lie. 

All unions are based on the same patterns:

fight for your right

to party... (beasty boys' joke). No actually unions are actually base on fighting for your rights.

Imagine you are like how do I start a union?

Literature is extensive on the topic: pick your fight and stick with it. And begin with the easiest one.

I would go for the LIABILITY part. 

I would create an legal association that can accept money and fund lawsuit for any topic where there is an easy win when a coder is held  responsible for a decision he was not having having authority.

Why? Because authority on a topic define a proficiency. 

If you are held responsible for decision, then it is your job. If you don't have the authority and the wages going with it you are being fucked. And the rest comes with it.

So a union basic mission is to fight for the recognition of a profession: the alignment between authority and responsiblity.

Hence, it turns into wages.

Nowadays, most managers that are paid more than you and know nothing about coding are going to force feed you dependencies in your project. Probably because their 16 yo kids just took their first computer out of its card-box. I like the idea of innovation. As long as risks are in sync with earnings.

A manager of a coder never get responsible of his choices, but since DieselGate we know we can go in jail for someone's else choice.

Are we paid as much as the managers? Hell no. Do we risk more than them? Hell yes.

What the fuck?!

Prove yourself useful


Coders do not live as a separate entity from the society.

A lot of topics where their knowledge can be useful exists: consumer's rights, legal expertise, education.

A union should also break the asymmetry of information between most common people and the other part of the society. However most of us have got these infamous Non Disclosure Agreement floating on our heads that are unethical.

Maybe a product is violating your civil rights, your consumers' rights and because we are individuals against big corporations we can do nothing.

Unions could be a way to protect whistle blowers and their rights to exists.

Unions could also tell students the real expected wages in regard to their tuition. Avoiding people to live as slaves of useless student loans.

Maybe a union could help citizens that are off the grid of "usable" internet connection have access to better connections?

Leveraging Internet

I recognize that FSF, OSI and CC have some «knowledge» on IP laws that are thanks to international conventions: global. I also do acknowledge the importance of Intellectual Property laws

However, I don't like any of the aforementioned organizations.

I don't know for you, but I know for myself I do accept disagreement as a fruitful form of evolution. I do not know anything about the future of any coder's union, however I am certain IP laws are central to this.

At my opinion, future unions should no be ashamed to begin locally and challenge global organization such WIPO, FSF, CC, WTO...

Where do I sign?

You don't sign: either you tell me of coder's union I am not aware of (0 so far), or you think of starting one yourself. My own location is probably far away for your own thus I am useless to you: a lot differ especially the costs of lawsuits, their odds of success, the cost of funding a union, and funding a strike.

Sometimes your future is up to you.

How Information Technology became the realm of bigots

Imagine you are in the Emergency Room of a modest hospital and you are a seasoned worker trying to save a patient.

You have not even begun to diagnose the patient someone just come in your back with a nice title saying, diagnose for what? We lose money.

Let's shower the patient in golden flakes and put him on a three days diet without water! It is exactly what they do that works in the fancy hospital where I come from.

You oppose the decision saying it could kill the patient, and they laugh at you saying, well who cares, we are not liable neither financially nor legally and who cares about the costs? Anyway NHS will pay.

Well, I do. A professional cares about costs and about the survival of the entity he works for. Ho! And if the patient dies, it is my fault, and I don't like people dying.

The patient I am gonna talk of today is Information Technology and Computer related technology: it is sick and FUBAR (like foo/bar).

We have symptoms:
  • multiplication of dependencies and frameworks;
  • non determinism of tools that used to be deterministic (systemd, C compilers);
  • non transactionals backend used for transactions;
  • bloatware that induces operational and energetical cost sinks;
  • unsecure software due to increase in the surface of vulnerability.
It all looks like what security engineers calls a shift of concern.

A collective dismissal about what our jobs is all about.

I could be theoretical on this one, or just tell my daily experience about what happens in real life.

I am not really a coder, I am first an analyst: I never take decisions without investigations of what a problem could be. I analyze, plan and anticipate before I code.

But, the process of diagnosing a trouble is random. Making it hard to plan. And nowadays we have all these magical tools for gathering gazillions of data. The funny part is I never have the data I need.

H = - k ln (Omega).

Information is not having access to big quantity of data, but just the right few relevant data. Two ways to higher information exists : better discrimination (AI) or smart data (science).
So the other day, there was a discussion on how to get insights working for our product: either take the upstream branch of the product we work on, or develop a new one.

Problem was solved in 30 seconds: fork is bad, end of discussion.

The upstream solution requires to introduce in a webstack of 500k lines of code that already have: Django, scipy, matplolib, bootstrap, jquery, ruby dependencies on java, hadoop, elasticsearch, openstack.

Our company has no sysadmins, and is pretty tight on developers.

What hadoop is used for? Time series display of events occuring with quite a light frequency. Something that could be handled in more than one ways: events could be dispatched at creation time with carbon/graphite. Using a custom script in a crontab with even less dependencies with python stdlibs...

But no, in modern days computer science diagnosing before taking a decision is bad because it makes company lose time, and everybody knows that big data is the direction to go, so if a tool is marketed big data and used by big companies, hence it is good.

I am totally aware this fall in the YAGNI article recently published on the internet.

But it does not end up there, because this is one of many symptoms of Cargo Cult science: borrowing the sign of science to look scientific but discarding any scientific methodology.

I made half a dozen internships in science. Science is not about theory and knowledge, it is a method based on making sure your model match your observations. For this measurements are important, and accepting you may be wrong. And believe me, when you deal with real world, you often are. You will fail eventually in your decisions!

I am a boring coder, longing for boredom.

I do not like crunch. I want to come back at the end of the day to enjoy the company of my family. I do hate death march, useless innovations, and adding new servers to the architecture when I already have a swarm of 26 servers using 20% loard to handle 50 request per seconds (all conformance with my actual work data would be fortuitous and coincidental).

Did I told you my linux experts in the company ignore that max CPU load on linux is CPU count * 100%? No so actually  the CPU load on most servers is 5%. And, my newly hired experts who takes decision for the infrastructure was scared when a consultant proposed to mutualize infrastructures. Let's use another VM instead! Yet another line of billing in the never ending growth of costs.

Anyway, I would like to work with a boring stack. I really do not like having to waste hours reading poorly documented code for which read the source luke involves using a buggy version of ansible (python), shell scripts, Vagrantfiles (ruby) based on magical assumption about environment variable, and not only deal with js/HTML/CSS but also 3 js frameworks one of which adds another templating systems that copies other templates we already serves in mako.

And when I ask why is this so complex? The answers is always because we trust our IT specialists that are in conformance with what the others are saying.

I am the rebel here. Wondering why no one backs up financially engaging choices with clear operational impacts with an argumentation about cost of different choices.

Logic has clearly left the realm of IT.

We are not anymore in the realm of individual responsibility and accountability we are in the realm of collective intelligence and benchmarking. We are well paid, because we are supposed to have responsibilities, we can make choices that can sink a company. But, it seems following the herd to be innovative is now more important.
Is the herd a troup of lemmings jumping of a cliff? We all seem to be going in euphoria to that cliff.

Except me, I don't like excitation and bromance.

I have a wife and a kid.

I hate documenting, I do document. Why? Because some operations require so much states to remember I cannot. Thus I document complex tasks. It is boring.

My coworkers also document complex tasks ... they never actually made and that they wish would be done one day.

And I am like, oh this is religion!

Documenting something that exists is sane.

Documenting something that does not exists is fantasy. Especially when there is no rationale for setting these tasks into motion other than I learned during my formation it is the way it should be done.

The freaking One best way of the engineering schools. Where you never did anything with your hands but are raised to think you are a special snowflake that have the magical power to be better than others at organizing their work.

Short military saying: if you want to be good at ordering first learn to obey. What is funny is these kind of persons seem to be good at writing a lot, but unable to accomplish simple procedure they are given. Yes, I am an asshole, I eventually trapped one of these guys in having to do a simple task that was documented.

How did we come up in a world that is basically functioning on magical thinking rather than scientific thinking?

How observations and measurements are now relegated as less efficient than just do what the majority does?

Because of Conway law. The problem in your code reflect the problem in your organization. This mess of dependencies and complexity is a reflection of our organizational problems.

There is no more conceptual integrity (Mythical Man-Month) that is ensured by a small team of knowledgeable coders.

If one project managers has experience with photoshop, I will have to generate documents as if we were a print workshop.

If a PR is enthusiastic about a new article about an IT guru we have to embed the technology.

We are living in companies were chain of commands are utterly broken. The one with responsabilities/accountability are not anymore in charge of taking decision. And the mismatch between responsibility and authority is called stress. I am a boring coder: I hate useless stress, because a production that is unstable is already enough stress for me. For every functionalities I prune, I am ordered to had 4. The fight against entropy is lost.

The multiplication of dependencies is just the reflection of how much persons are involved in the process of taking decisions. People who actually do not face the consequence of their actions. IT faced to the scarcity of coders have taken the decision to hire a lot of average quickly educated coders and think management worth more than the skills for actually doing. Basically skills are under-evaluated in regard of social status.

It is also a negation of what coding is. Coding is about analysing before coding. Most of the code will be in maintenance: screened for defects and better resource handling.

However management in IT is about hiring manageable coders that will not fight stupid decisions.

But how?

And that concludes my pamphlet: because we are experiencing an IT bubble.

In a normal market that actually works at handling resources efficiently companies that do not care about efficiency disappear.

There is clearly an hidden incentive for decisions that heads towards non rational decisions.

50 request/seconds (disclaimers these are not true figures bla bla) should not require 26 servers x 2, and 3 rows of load balancers for continuous delivery in a company of less than 50 if the budget is tightly controlled unless it is the norm in the economical environment.

It is the norm if and only if money is flowing so much that profitability does not matter.

Modern IT is just a sign our economical system is not working anymore and people have become irrational. Global warming is a truth. But because computers emit smoke only on very rare occasion (a warehouse taking fire), people do not integrate the energy consumption they use.

The watt per requests nowadays are ridiculously high. Who cares? It is green.

Modern IT has no legal/financial liability and people base their business and liability on a layer of unreliable products (software/hardware) that have no liability. Who cares, there is no incentives for delivering product that work as advertised.

IT/computer related industries revolution is based on the fact the nations have given a wild card to this industry and removed totally for them any liability, responsibility.  This industry is now used as a trojan horse to break any rights protecting consumers, stakeholders, citizens and workers. Uber, Amazon, Goldman Sachs, google, facebook all use the special treatment given by the AS IS clause in any software license to ignore any laws to which businesses are normally constrained like paying taxes.

As a rational person, I don't think this can end well. Because this is a clear incentive that results in destroying actual industry that efficiently handle resources.  The destroyed industry is the one that actually provides the goods and services with economical rationality.  When they will be gone, IT gurus will just cash out their money, take their benefits and retire on a deserted island not being accountable for the damage they did. Why? Because they have a boulevard of incentive to do so.

Can we stop this craziness?

Yes, we remove the incentives: the non financial and legal liability. IT are not above the laws, neither of the common, of economics, or of physics.

And what can YOU do?

Hire fucking boring coders instead of your crazy bigots that are gonna make your company bankrupt.

La guerre : c'est nul

L'Europe, est en tant qu'entité le 2é vendeur d'arme au monde.

L'Europe est en train de se recevoir une part de la vague énorme des réfugiés qu'engendre les conflits engagés avec des armes qu'ils ont vendu.

Mais rationnellement, la guerre c'est nul.

Le raisonnement violent qui va suivre est un raisonnement par l'absurde dont l'idée est de se faire l'avocat d'un diable malsain, et de démontrer que même le diable refuserait de faire la guerre.

Donc, la France vend des armes. Si moi j'y trouve mon compte, j'ai envie de dire on s'en fout des guerres d'ailleurs.

Mais un citoyen égoïste va-t'il y trouver son compte?

Rationnellement, il y a 2 types de dégâts liés aux ventes d'armes. Comme un bon lance roquette certes, la roquette va faire des dégâts sur le lieu visé, mais il y a aussi un retour de flamme direct.

Quel est le retour de flamme de toutes les transactions de ventes d'armes?

Corruption, paradis fiscaux et parfois terrorisme (service contentieux).

Que ce soit Eurodif (70), Luchaire (90), la Lybie (2007), Karachi (?), les frégates de Taïwan .... toutes les grosses ventes d'armes françaises ont été suivis de rétro commission vers des proches de nos pouvoirs. Et je donne pas cher de l'absence de coup tordus dans la vente des sous marins à l'Australie.

L'argent de la guerre corrompt autant les hommes politiques au loin que locaux. Argent qui comme nous le comprenons aujourd'hui est investi dans les campagnes électorales, car le financement public des partis politiques sans transparences est une manne pour les gens peu scrupuleux.

Or le coup d'une campagne est de l'ordre de 13 millions d'euros.

Quels sont les contreparties que semblent avoir engendré les corruptions locales.

Bon, Eurodif on a filé le nucléaire à l'Iran. Luchaire c'était pour payer l'Iran pour nos otages, à la Lybie de Kadhafi on leur a filé des équipements top secrets pour espionner leurs citoyens, Karachi ben on a eu des problèmes.

Les plus gros problèmes des ventes d'armes sont simplement le service contentieux.

Quand on fait un contrat avec le progressiste Shah d'Iran puis qu'on le remplace par un incontrôlable ayathola, on a plus vraiment envie de livrer le nucléaire qui ouvre la porte a du nucléaire militarisé.

Voilà comment la France s'est retrouvée la cible de l'Iran pendant 15 ans: à cause d'un contentieux sur un contrat d'armement.

Karachi, est aussi évidemment lié à un contentieux client sur le versement d'une rétro commission.

Tous les contentieux ne se terminent pas mal pour la masse française. Regardez Khadafi, quand on dit que le client est roi, pour un français ça implique qu'il peut terminer sur une Guillotine. Il a du penser qu'avoir en otage de l'info était une bonne idée et que tenter de faire plier le gouvernement avec était une bonne idée. Et bam! Opération homo (homicide) commandée depuis l'Élysée dans ses dents. Un petit reste de Mitterand la possibilité de pouvoir faire executer n'importe qui sans contrôle judiciaire par un président et sans traces. Son efficacité redoutable pourrait avoir été utile pendant l'affaire des frégates de Taïwan.

Donc, brefs, au premier ordre, l'impact dans nos frontières d'une vente d'arme est chère.

Au deuxième ordre, il faut noter bien évidemment que l'argent de la corruption doit passer par des canaux de confidentialité. Les ventes d'arme qui entraînent de la corruption, entraînent aussi la tolérance voire la bienveillance des gouvernements à l'égard des paradis fiscaux.

Au troisième ordre, il faut voir que l'Europe est bien en retard par rapport au bloc commonwealth sur l'espionage numérique. Et que même si les USAs corrompent tout autant, ils savent quand nous on le fait, et comme en affaire c'est comme à la guerre, ils hésitent pas à faire savoir. Si on se fait choper à corrompre alors que les pays du G20 se sont engagés à ne plus le faire, alors le marché est annulé.

Donc, il y a aussi les pratiques de la concurrence (mauvaise perdeuse) qui impactent notre société.

On peut dire que savoir que ses hommes politiques sont corrompus fait plus de dommage à la légitimité des institutions que l'ignorance.

Serions nous mieux dans un monde sans fuites ou sans mauvaises pratiques? En fait je trouve les fuites salutaires, même si elles sont dues à une puissance étrangère.

Ensuite posons nous la question de l'intérêt stratégique lui même d'entretenir une industrie de l'armement, en permanence.

Mon premier argument est l'Angleterre de 1942.
Ce qui a fait que l'Angleterre a pu produire en masse mitrailleuse, chasseurs bombardiers et autre n'était pas la présence d'une industrie militaire forte mais d'une industrie forte tout court.

Les UK ont converti en usine d'armement des usines qui n'étaient pas faites pour, grâce à une approche évoluée en logistique et ingénieurie.

Les ingénieurs sélectionnaient des usines avec le matériel nécessaire pour produire une arme ou une partie. Ils envoyaient les plans. Les usines avaient du personnel suffisamment éduqués pour pouvoir exécuter les plans et adapter leurs usines. C'est comme ça que les mitrailleuses étaient produites dans une usine de jouet. Des parts de bombardiers dans des usines de trains ...

Et ils évitaient la vulnérabilité Allemande aux attaques sur les régions industrielles qui concentraient la production d'armes, car les UK avaient un réseau naturellement bien réparti et une logistique déjà rodée pour ce genre de cas.

Mon deuxième est une fable paysanne. Celle du paysan qui veut marier sa fille à un mec pas trop inutile. Et, il demande aux deux prétendants de ramener une cheville adaptée à sa poutre au grenier. Le lendemain, le fils du charpentier ramène une superbe cheville en ébène. Le deuxième sa caisse à outil.

Le paysan demande, mais ell'est où ta cheville? Et le fils du métayer de répondre: ben je peux pas faire une bonne cheville si je vois pas pourquoi elle est faite. Avoir des nouveaux produits que l'on maintient sans évaluation du problème à contrer, c'est con. On lutte contre quoi exactement?

C'est un problème stratégique la France est un pays historiquement et constamment connu pour ses mauvais paris en investissement en évolution militaire.

D'Azincourt à Dien Bhien Phu le génie militaire en utilisation d'innovation a brillé par son aveuglement aristocratique a mépriser les coûts et les bénéfices.

Forteresses Vauban: peut être justifiées par l'intérêt touristique. Militairement une pure connerie qui a participé à provoquer la révolution de 1789  
Leurs constructions qui ont nécessité une somme monstrueuse de ressource, et ont été livrées plusieurs génération plus tard n'ont servi à rien, sauf à endetter la Nation.

Oui, entre leur mise en chantier et leur livraison ces pures merveilles issue des cogitations de nos mathématiciens célèbres comme Moivre (ou Monge?), étaient obsolètes dûes aux évolutions des technologies.

Un peu comme la ligne Maginot quoi.

Azincourt, des chasseurs d'écureuil qui dégomment du chevalier en conserve car la noblesse française considérait que le métal était une manière noble, et le bois un truc de gueux qui ne risquait de provoquer une innovation pouvant les compromettre. Sauf que l'arc composé est arrivé, et paf dans tes dents.

Une stratégie de conflit est une stratégie asymétrie notamment en terme de coût. Un IED c'est 130$. Un fantassin d'une armée de métier c'est dans les XXK$. Depuis les années 70 et l'apparition des insurrection notamment en milieu urbain denses avec une incapacité de discerner les alliés des ennemis, les armées sont désavantagées. 40 ans que les militaires l'on compris.

Nos militaires sont dans la situation de boîtes de conserves de la chevalerie qui refusent d'accepter qu'ils sont en train de se faire percer par des flèches parce que c'est une arme en bois.
De fait le terrorisme n'existe pas, il est juste une innovation dans l'art de la guerre et d'emploi d'une technique de conflit non réglementée basées sur une asymétrie extrême de moyens.

Si on accepte que ce que nous appelons terrorisme n'est qu'une forme évoluée de mode de conflit arrêtons de persévérer alors de leur donner l'avantage.

Plus nos boîtes de conserves coûtent cher, plus elles sont vulnérables.
Est-ce que les terroristes attaquent avec des avions, des tanks, des bateaux?

Non. Ils attaquent avec de la propagande en exploitant la misère et l'ignorance sur le territoire. Un peu comme les moines d'ages of empire en mode nuke de civilization. Et ça coûte bézef. Si tu jouais à civilization, et que c'était une des armes les moins chères, tu la spammerais.

Le terrorisme est amené à rester. Plus nous appauvrissons un pays en investissant dans des armes contrant la mauvaise menace plus nous faisons gagner les ennemis.

Plus nous nous appauvrissons, moins nous investissons dans la satisfaction et l'éducation des citoyens, plus nous donnons de surface à cette nouvelle forme de guerre moderne.

Bref, la guerre c'est nul, parce que plus on fait de l'argent avec, plus on se rend vulnérable.

Il est à noter, que les armées ne sont pas équipées comme elles le souhaiteraient pour maximiser l'efficience de leurs missions. Non, l'armée se voit imposer du matériel national au seul profit de faire la vitrine commercial de l'industriel.

Matériel qui engendre un coût d'achat, mais parfois aussi un coût de fonctionnement exhorbitant en plus d'être inadapté. C'est donc une perte cumulative sur des budgets militaire qui encore une fois affaiblissent systématiquement les armées.

Bref, en tant qu'individu rationnel égoïste je ne vois aucune rationalité à soutenir les industries de l'armement.

Et moralement, je pense que les pays qui appuient leurs industries militaires devraient être responsables à hauteur de leur chiffre d'affaire dans la région en conflit pour le traitement des réfugiés et des conséquences des guerres.

Un peu le principe du pollueur payeur. 

Pour conclure Civis pacem, para bellum implique que nous devons réagir face à un nouveau mode de guerre basé sur la déstabilisation sociale projetée. L'arme pour contrer la menace est claire: renforcer la stabilité sociale probablement en arrêtant de creuser les inégalités.

Aujourd'hui économiquement nos gouvernements favorisent les cigales, qui comme les industries de l'armement basent leur modèle économique sur la libre circulation des capitaux d'entreprise et la capacité à gagner un marché en mode attilah le hun. Tu peux détruire la société où tu atteris et tu peux empirer la situation sur le long terme, mais tu t'en fous puisque tu paies jamais les pots cassés.

De l'autre, les fourmis sont bien plus privées de libertés de mouvement, bien plus taxés, taxes reversées dans ... notamment les mécanismes de stabilisation de marchés. Qui sont les cibles des cigales. On est mécaniquement dans un mécanisme économique qui favorise la prédation comme modèle viable. Pouvoir faire des profits à aider à détruire efficacement les économies des autres pays, ça se pose là comme incitation à la vertu.

Bref, moi petite fourmi, je m'en fous, car je passe déjà ma vie à filer entre des marteaux et des enclumes, et ça fait longtemps que je stresse plus pour des conneries pareilles. On m'appelle One Punch Ant!

Une société stable et égalitaire est la seule et unique arme permettant de faire face à une nouvelle forme de conflit efficace exploitant notre instabilité sociale grandissante. Espérons que nos gouvernements comprennent que la lutte contre les paradis fiscaux et l'inéquité fiscale est une priorité stratégique, et qu'elle implique le sacrifice d'une partie de notre industrie qui en dépend dont une partie de celle de l'armement. C'est le prix pour gagner la guerre à venir.

Mon dernier padawan m'a peiné

Voilà moi j'ai des padawans, mais un pote tailleur de pierre il a des lapins.

Lui et moi on est con.

On a à peu près la même technique.

On prendJe me suis aperçu qu'une personne que j'aime bien des lapins/padawans. On les accepte comme ils sont, et ont les fait taffer direct.

On leur dit: «t'inquiètes j'ai du métier, d'abord t'essaies, et ensuite tu viens me voir».

Au début, le lapin idiot vient nous voir, et là on l'humilie sur un petit bout de notre connaissance en disant qu'un truc qu'on a pris 6 mois à apprendre est facile quand on connaît la bonne méthode.

Et le gars ... ou la fille quand on le tance, on le fait sévère en montrant le bon
geste, comme si c'était facile à trouver par soi même. Ouais je suis un pourri.

Humilié, le padawan préfère chercher plus par lui même la solution avant de venir voir. Mais, je lui dis pas qu'il est une merde. Je lui dis, tsss, tu peux le faire, t'as juste oublié d'essayer suffisamment fort.

Alors, le padawan vu comment je cause, piqué à l'aiguillon de la fierté, il veut me claquer le beignet, surtout que j'ai montré à quelques occasions que j'étais faillibe (probablement une question sur l'univer star wars que je déteste), alors il se dit, je vais le faire.

Le padawan travaille poussé par le coté obscur de la force, rêvant de passer du statut d'humilié à personne respectée. Entre nous, je le fais pas exprès, j'ai 0 empathie.

Et le crétin va travailler.

Et il va s'apercevoir qu'en fait je suis pas si bon quand il travaille parce qu'il croit eu lui.

Et ce crétin va me foutre le nez dans le caca devant tout le monde.

Et, tout le monde va rire, car c'est ce que font tout mes padawans qui deviennent maîtres.

C'est pour ça que j'ai des bons padawans naïfs au début qui découvrent qu'un maître est une fraude qui leur fait croire qu'ils sont bons et que c'est ce qui les  rend meilleur, et que le secret n'est pas le maître, mais l'apprenti.

Mon dernier padawan m'a peiné, il m'a traité de truc genre Lord dark sith, et il m'a traité de fraude parce que j'étais clairement pas à jour en culture star wars ... après un mois....Normalement, ça prend plus de temps...

Cryptographie, je te hais

Quelque part involontairement, je te le rend bien, je suis ton pire ennemi.

Je suis le pire problème de la sécu, pas en version Arsène Lupin super intelligent, mais plutôt en étant un croisement de Gaston Lagaffe et Monsieur Jourdin.

Si vous faîtes pas de crypto je vais vous expliquer crûment le problème.

Pour vous la crypto, c'est de la magie noire: c'est comme des boîtes toutes identiques en apparences dont tout le monde dit que c'est vachement important, et qui magiquement rendent secrets vos conversations, projets d'attentats virement bancaire pour votre paie ou votre compte en Suisse.

Vous savez pas si le truc marche parce que c'est vrai ou parce qu'il n'y a pas d'ennemis, vous constatez juste que ça marche pour vos et vos amis, donc ça vous suffit.

Moi, je suis comme vous.


Je dois parfois lever le capeau de ses boîtes pour les triffouiller.

Les ingénieurs qui les ont fait (appelons des cryptographises) sont hyper balaises.

Ils ont pensé à tout, ils ont mis des autocollants attention partout!

Genre! Attention si vous prenez tel protocole vous êtes morts à moins que voir sous asterisque 2

Attention, en fait si le protocole suscité est utilisé dans telle condition vous n'êtes pas vulnérable ... à moins que.

Et genre, les cryptographistes ils vont loin dans le détail.

On croirait quand tu veux protéger tes données qu'il faut faire un pacte avec le diable.

Chaque point et détaillé est vrai. Juste des fois, tu dois choisir, entre ta situation actuelle qui est pas la meilleure, et moins pire.

Et tu sais que tu dois faire des sacrifices.

Genre je vais vous la jouer avec un autre métier: aubergiste.

Une nouvelle loi interdit les assurances, et l'aubergiste devient responsable sur ses fonds propres de tous vols.

Il sait que la prochaine maraude peut faire fermer sa baraque.

Il a plus un sou car comme un con il a fait investir dans de la serrurerie et la mise d'alarme dans chaque chambre.

Manque de pot, tous les biens précieux sont dans une chambre non surveillée.
Manque de pot, il a installé par distraction une serrure unique que toutes les clés ouvrent.

Là tu te dis, ben je vais dire à mes hôtes que ce serait mieux qu'ils gardent leur bien dans leurs chambres.

Et là, t'as ton ami cryptographe qui te dit, mais tu fais de la merde, on ne partage pas un secret, ça ne peut pas améliorer la sécurité, le problème c'est la culture qui défailli dans toute ta boîte qui a abouti à ce que personne ne voit le problème.
Pourquoi? Parce que des gens comme toi prennent des décisions qu'ils savent mauvaises pour améliorer leur situation, et tu donnes un mauvais exemple.

Je sais que le problème c'est moi. C'est mon coté Lagaffe

Et je sais qu'il a raison.

Les serrures, je les ai commandé alors que je ravalais la façade sans vraiment faire attention.

Imagine, que t'es parachuté plombier dans une centrale nucléaire, qui y connaît rien au nucléaire, et qu'on te dit, fais gaffe si tu répares le mauvais tuyau tu vas tous nous faire exploser, mais je te dis pas lequel faut que tu devines. Et quand tu vois une fuite qui semble suspecte, genre nucléaire, et ton nez de mécanicien te dit si elle est pas réparée sous 3 minutes c'est irréversible car pouvant toucher d'autres tuyaux. Qu'est ce que tu fais?

T'es là t'es comme l'aubergiste t'as deux dangers également vrais:
- le vol intérieur à ton auberge,
- le vol extérieur à ton auberge.

La situation actuelle est que si les gens volent de l'intérieur t'es mal, et tu sais que c'est le plus courant.

De l'autre, si tu informes tes clients de rentrer leur bagages tu les prémunis certainement d'un autre problème, mais si ils savaient que leur clés sont des passe partout, les vols arriveraient sûrement.

Donc temporairement tu dois faire de la sécurité par «ofuscation» bref à coup d'écran de fumée, ce qui est mensonger, et est une mauvaise pratique criminelle.

Genre en info tu fais ça, tout le monde atterrit en garde à vue. De l'autre si tout était parfait (avec le mouchard indiquant qui rentre dans quelle chambre à quelle heure) seuls les clients qui visiteraient des chambres qu'ils n'ont pas loué le serait, et c'est toi le crétin qui a mis les mauvaises serrures.

Idéalement tu veux ni l'un ni l'autre. Tu sais que le monde est poche.

Et tu sais que tu ne sais rien.

Tu dois évaluer des choses sans savoir a priori.

Je vais te la refaire. T'imagine que t'es dans une manufacture. Que tes potes qui bossent dedans te disent attention, chaque machine outil mal utilisée peux te tuer ainsi que tes proches.

Tout leurs outils sont également coupants, dangereux et bruyant. En tout cas, c'est ce dont la crypto parle le plus.

Tu fais une erreur à la con dans un coin, et tout s'écroule.

Comme t'es mécanicien, tu fais attention tu penses que tu comprends leur langage.

Et tu lis qu'un mec n'as pas fait deux tours sur lui même, jeté du sel par dessus son épaule avant de tourner une manette et tout à explosé. Sa maison à 10km de là incluse.

Et toi malheureux, parce que tu es mécanicien et qu'ils se disent mécanicien tu parlais la même langue. Toi tu parles celle de la mécanique et de certaines proba.
Eux ils te parlent de choses prouvées et pratiquement qui marche consistant à se mettre des plumes dans les fesses et hurler 3 x à la lune.

Tu regardes, tu doutes, tu regardes à nouveau.

Là tu vois que mécaniquement, ça revient tourner un robinet et souffler sur une soupape, et ça fait du sens.

Moi je leur répond que ça fait du sens.

Et c'est là où je suis dangereux, alors que je pense connaître et je connais pas, mais je semble pour eux leur parler dans la même langue.

Et voilà où je dit involontairement des conneries et semble crédibe.

Mais je sais que j'ai deux risques. Je sais que je me prémunis de l'un si j'assène une connerie qui fait illusion alors que c'est ridicule. Je sais que j'ai amélioré la situation, de l'autre je dois mentir à des gens sans pouvoir le leur révéler. Je me mets en position de faute.

C'est mon coté Arsène Lupin.

Et nous savons tous que mentir est un écheveau. Quand on commence à mentir on ne s'arrête plus. On connaît tous l'histoire de ce crétin qui a dit je suis meilleur que les autres et j'en ai rien à foutre de la littérature.

Alors moi, je m'en tire.

Je mens.

En fait pas vraiment. Je fais le plan C: je convoque tout le monde pour leur dire que j'ai merdé.

Je crois qu'il y a un juste milieu qui est dur à trouver entre l'orgueil et l'humilité.

Sans orgueil on ne peut avancer, quitte à faire des conneries. La paralysie est pire qu'une mauvaise action quand le danger est certain.

Sans humilité on ne peut douter, et sans doute on peut se précipiter vers un danger pire en fonçant obstinément dans une direction.

La question de l'équilibre, donc de la mesure implique rigueur et méthode.

Tenter d'être positif et compter ce que l'on fait correctement. Tenter de voir où l'on s'est trompé. Et parfois, même après de nombreuses années où l'on pensent avoir été positif, on subit un revers, qui nous fait perdre tout notre orgueil.

Et la question est dois je agir ou pas sachant que je ne sais pas où est la bonne direction?

Moi, j'agis... et je prends le risque de me (re)tromper peut être encore et encore si l'alternative proposée est l'inaction.

La peur du ridicule est d'éviter l'inaction à préférer risquer de devoir avouer que l'on se trompe est pire que ne pas agir, quitte à apprendre et bouffer sa honte.

Donc, ouais, en crypto, je dis et je pense des trucs parfois cons, et ça me colle les michettes, le problème c'est que j'ai aucun outil de sécurité informatique facilement utilisable parce que ça existe pas.

De l'autre coté, toutes les boîtes n'ont pas les pépèttes pour se payer des spécialistes de la sécu de niveau.

J'en fais pas partie, je suis juste un fan boy qui trace et singe des gens qu'il suit dans l'ombre comme un stalker. Comme tant d'autre dans mon métier.

Donc, quand tout le monde est inactif face à un truc pas propre j'agis.

Et si j'agis pas c'est pire.

Mais parfois mon action est potentiellement dommageable... car je ne sais pas tout.

Voilà pourquoi je hais la cryptographie.

Je suis un taigneux, j'ai un complexe d'infériorité et je tente de leur taper dessus par envie de rivalité.

Je m'en fous d'être KO, je suis un taigneux je remonte sur le ring comme un deumeu.

C'est vrai que je suis nul.

Sauf, que des gens biens qui comptent sur moi pour comprendre l'informatique, crypto incluse. Et même si suprenamment le département de la compta peut être plus inspirée que moi sur le sujet. De manière encore plus surprenante la plupart dont ceux dans la hiérarchie des cadres qui comptent et devraient comprendre en connaissent moins que moi.

Je veux dire je suis pas le pire. Je flotte un poil significatif au dessus de la moyenne. Pas un gros poil, juste un poil de couille, petit mais certifié significatif.

Ami de la sécurité informatique, je vous hais.

Je sais que ce que vous faîtes est bien et m'émmerveille.

Mais là où vous me faite chier, c'est que j'ai du mal avec tout vos trucs. Vos applications contre-intuitive, votre jargon, votre mépris des crétins comme moi et cette idée que l'action qui entraîne l'impression de marcher dans un champs de mine est à préférer à une inaction mortelle.

Et comme pour un champs de mine, je n'ai aucune intuition des risques que je prends à chaque pas que je fais, car votre truc est imbitable.

Votre meilleur conseil c'est si tu sais pas bouges pas, ouhalala, tout est dangereux. Il te faut attendre 6 heures et payer 5l de ton sang pour du secours.

Moi, je vois un déluge de bombes lié au retard de production monter vers moi.

Je vois qu'il reste 5 pas à faire pour peut être survivre dans les 3 minutes et que nous allons mourir si je fais rien, et que même si c'est pas ma faute qu'on est là, je dois prendre le poids d'une décision qui me dépasse sur mes épaules.

Et vous m'avez prévenu que je devrais pas le faire....

Et je m'élance en vous faisant un gros doigt en disant tant pis si ça pète, je préfère mourir en essayant que vivre paralysé dans la peur.

Macron la pédanterie et l'incompétence numérique

 Correction importantes


  1. Le site permet bien d'envoyer des courriers non sollicités à des personnes;
  2. Les utilisateurs de Macron ne sont pas en danger de quoi que ce soit concernant les mots de passe (je me suis trompé grave);
  3. Il y a peut être un truc sur les tokens, mais ce code me ressort vraiment par les trous de nez.
  4. bcrypt génère les sels par défaut, cet algorithme n'a pour l'instant pas été pris à défaut contrairement à beaucoup d'autres.  
  5. Le code du site reste quand même éparpillé partout comme la cervelle de Kurt Kobain

En termes de technologies de l'information, soit on sait comme le premier ministre de Singapoure coder son solveur de soduku en C++
Voir le code ici

Soit on fait comme le gouvernement Taẅanais, et on embauche l'un(e) des meilleur(e)s hacker du monde comme ministre dédiée au technologie: Audrey Tang.

Macron est probablement l'un des candidats les plus dans la hype: son site web est disponible à mes yeux sur github! On se croirait dans la brise pré crash de la bulle internet tellement ça buzzz!

Donc, plutôt que d'écouter ses conneries, je vous propose une visite guidée des sources du sites webs et ce que cela révèle.

Premières impressions

Avant de rentrer dans le détail commençons par regarder l'ensemble:

Le code est ici : https://github.com/EnMarche/en-marche.fr

C'est buzz compatible et semble de bonne facture.

Annoncé logiciel libre, un readme, des documentation d'installation, une convention de style à la JAVA d'entreprise sérieuse, un couplet à la De Gaulle, l'intégration continue buzz compatible avec la vignette (comme sur mes projets), une doc développeur, du docker (de la techno cloud hype totalement instable).

Si j'étais dans le cargo cult je dirais : l'idée que l'apparence renseigne sur le fond, je serais sûrement un fan du site. En plus le core dev semble savoir de quoi il parle (là je ne m'attaque pas à la personne, mais à la stature sociale): il est tellement brillant qu'il a commencé par être architecte logiciel avant de savoir poser une brique logiciel, il est un dévelopeur certifié sensiolabs (créateur et dévelopeur du cadriciel utilisé par l'équipe par Macron pour leur site) et il est architecte internet de Macron, spécialiste en Intelligence Artificielle. Il participe et fait vivre du code libre. Si on juge sur le plumage tout à l'air bon.

Le code est propre comme du code d'entreprise, lisse, apparemment bien rangé, structuré fait pour le déploiement. Tout est fait pour sembler pro, propre, clean, parfait, même la petite touche logiciel libre et contributions libres.

Macron dont on rappellera qu'il a fait une violente charge contre le chiffrement. Une des bases garantissant un petit peu de sécurité sur internet tant que personne n'écoute au milieu.

Par où commencer un audit de code PHP?

Après 5 ans avec les web agencies et autres marchand de viande, j'ai appris à ne plus croire les apparences. Et j'ai développé une méthode simple d'audit: elle commence par rechercher comment les mots de passe sont stockés et validés.

Comprenez que l'authentification, est un point crucial de la sécurité informatique, tout autant que le chiffrement. La règle de base est: si le site est compromis il faut rendre difficile le fait de pouvoir trouver les mots de passes rentrés par les utilisateurs.

Il y a des règles simples:
  • utiliser un algorithme de cryptage (hashage) considéré sans vulnérabilités connues ou à venir (au moins au moment de la création du site) ;
  • rajouter un aléa dans le cryptage permettant qu'une compromission de la base embête qu'une bête comparaison entre les résultats du cryptage et ceux issus d'un dictionnaire donnent le résultat ;
  • utiliser un algo connu sans vulnérabilité susceptible d'apparaître sur les collisions.

Pour ceux qui s'y connaisse et qui veulent passer la suite un peu chiante, ils utilisent bcrypt et pour certains cas SHA1* et ne salent pas les mots de passe avec un aléa. Pourquoi? Parce que sinon ils ne peuvent pas faire une couverture de 100% sur leurs tests! Cargo cult 110%! Crétinerie ++ comme dans C++!
Si si, ils ont affaibli la sécurité pour avoir une belle médaille en chocolat délivrée par des laveurs de cerveau d'une secte appelé experts en méthodologie.

* le coté distraction par la redirection ne me permet pas d'être certain à 100% que les mots sont stockés encodés en base, mais je suis optimiste par nature.

Le labyrinthe des indirections

Tout code d'entreprise qui se veut sérieux tend à vouloir être obscur afin de paraître profond. La logique de vérification des mots de passes est en générale fait dans le contrôleur en appelant la classe de sécurité ou un mixin du modèle ce qui vous évite de réinventer la roue carrée. En général on s'attend à un niveau d'indirection, voir 2 si c'est mis dans le modèle :)

Bon prenons un outil de dev sérieux :

find ./ -type f -exec grep -Hin authenticate {} \;
La fonction authenticateUser apparaît dans le :
  • le formulaire (form) de connection (login)
  • un contrôleur 
  • le modèle
  • euh ... ailleurs ?!
Bon, un petit coup de fun, et amusons nous un peu.

Logging (journalisation des évènements) et Login (connection) sont prononcés de la même manière par les français. Ça ne veut pas dire que ce sont les mêmes mots, hein?

Et bien croyez le ou non, une fonction de Login est rangée dans l'espace de nommage Logging. LoL! 1 point pour l'humour.

Je vais passer la lente agonie de l'audit qui consiste à suivre une fonction sur 5 fichiers en se demandant, mais où le travail est-il vraiment fait? Pourquoi pour la même fonction je vois du copier coller?

Plus on met d'indirection pour faire une chose simple plus ça fait du code pédant, mais aussi chiant à maintenir et corriger. Par contre, il est vrai qu'en Entreprise on passe pour un dieu qui sait «abstraire et structurer». Quand le faire savoir l'emporte sur le savoir faire....

Bon, X fichiers 2 héritages une factory (qui n'empêche pas 3 fois la même fonction d'être recodée) et une apoplexie plus tard, que voyons nous comme manière d'encoder les mots de passe?

C'est notamment ici : https://github.com/EnMarche/en-marche.fr/blob/master/src/AppBundle/Membership/AdherentFactory.php#L98

private function encodePassword(string $password): string
        $encoder = $this->encoders->getEncoder(Adherent::class);

        return $encoder->encodePassword($password, null);
Le deuxième argument de encodePassword est le sel (salt) à donner à la function de hashage cryptographique.

Et malgré l'utilisation d'une Factory (code hyper réutilisable) la fonction encodePassword pour la validation de mots de passe est redéfinie / utilisée 17 fois. À ce niveau, ça valait vraiment pas la peine de faire une factory, et à chaque fois, le sel est vide.

Quel est l'algo de hash. Là encore X redirections plus tard c'est ici: https://github.com/EnMarche/en-marche.fr/blob/master/app/config/security.yml

brcrypt avec fallback en SHA1 si il y a des mots de passes anciens.

SHA1 est cependant toujours utilisé pour .... les jetons (tokens) de sécurité ... et j'ai pas eu le courage de suivre les cas où le legacy était vraiment appelé. Je suis lâche j'ai même pas honte.

Note pour les velus : je ne m'étends pas sur l'hérésie d'utiliser SHA1 en 2017 et la potentialité d'une prochaine attaque par collision qui rendrait de fait la fonction de sécurité cryptographique totalement illusoire.

Mais pourquoi 0 sel (salt)? Sont ils totalement idiots? La réponse est dans les tests unitaires : si vous mettez un aléas et que vous ne savez pas initialiser (seed) le PRNG de votre plateforme, alors, vous ne pouvez tester les mots de passes générés à la création de l'utilisateur. Et donc pour ne pas casser les tests unitaires .... ils ont retiré l'aléa ... \o/ Bravo! Chapeau bas!

En fait quand je lis les tests unitaires, j'ai parfois peur qu'ils testent des mots de passe en clair et que j'ai été très indulgent.
Mais le code est tellement lourd que j'avais pas envie de lire plus loin.

J'ai vu d'autres potentiels idioties (des tokens potentiellement utilisables en techno ajax base64encodé au lieu de URLbase64encodés), des tokens qui ont l'air déterministes, et des tas d'autres erreurs qui me ferait flippé si j'étais inscrit comme utilisateur du site web. Si une puissance étrangère avait la main sur leur base de données, je donne pas cher de vos chers mots de passe.

Si vous avez le courage de publier une analyse sur la sécurité de leurs tokens, je promet de vous payer une chopine! Moi, j'ai trop vu d'horreur pour un mois.

Mais si tu es pas content yakafokon soumettre un rapport de bug

Je suis pas content initialement, car je voulais déterminer avec certitude si le site enmarche était de fait une plateforme de spam. Et elle l'est. L'équipe internet de Macron qui connaît tout sur tout donne des outils à ses militants et à des officines privées pour envoyer le programme de Macron aux citoyens sans leur accord.  Cela tombe sous le coup de la loi Européenne, mais ils semblent se torcher avec la loi quand ça va pas dans leur sens.

Ma philosophie c'est n'ayant le droit de casser les genoux des spammeurs, au mieux de leur coller la honte à minima de ne pas les aider.

Le spam est un sujet autrement plus grave qu'avoir un site en carton, mais personne n'entend.

Mais c'est du logiciel libre donc c'est bon!

Non, c'est une licence spéciale appelée Affero GPL qui n'est pas unanimement reconnue comme telle, et même si c'était libre, ça donne pas au code des morceaux de vertues qui vont faire que je vais contribuer par lavage de cerveau.

Mais pourquoi t'es méchant!

Le spam c'est mal, mm'okay?

J'aime pas les gens qui me font chier et je donne pas un chocolat à celui qui me marche sur les arpions, je lui colle un bourre pif.

Et en République, on a le droit d'être sale, méchant et grognon

Mais c'est qu'un site web en quoi est-ce important?

Bonne question! Enfin.

C'est le site web dont le plus gros contributeur est l'auto promu architecte internet de Macron. Macron qui a pris une position radicale anti moyen de sécurisation des communications.

Pour moi, quand on fait la morale on s'expose à être regardé à la loupe au niveau de ses actions et de son code.

L'équipe web qui prétend conseiller Macron fait clairement un code qui est dans la norme de ce que fait l'industrie, et ce qui est d'un point de vue technique faible. Je ne souhaite pas avoir un président qui a l'oreille de mauvais experts.

Tu fais mieux?

Mon code est du code de punk, il est sale moche, méchant, petit comme moi  mais il fait la job sans s'étaler dans 28 classes et 20 répertoire et perdre les utilisateurs.

Brasse comme un pauvre pas comme un hipster

T'imagines que quand les temps sont durs, t'as les richards qui veulent croûter l'argent sur le dos des miséreux appelant nos habitudes communes des vices. Sauf, que comme y'sont riches à mourir y paient leurs indulgences sous la forme de taxe, mais toi t'es fauché, et tu trouves ça posh. Alors tu veux ta tease à 10cents/litre/%. Bref,  moins cher et meilleur que la Villageoise ou la bavaria 8.6.

Alors tu te souviens que c'est un vieux problème et que ton arrière grand père émigré de Belgique en France l'a eu itou. Et ton grand père, il a opté pour le cidre.

En fait, pas vraiment, d'après les douanes, il a opté pour la bière de pomme.

Kss, point technique : le cidre et la bière se distinguent par la levure utilisés d'après les douanes, ce qui change les taxes. Mais si comme moi, t'as pas 2000€/3000$ à jeter dans les taxes pour faire du commerce, tu t'en câlisses des douanes, des chambres de pourris et autres.

Cidre c'est la Saccharomyces uvarum un levure qui est optimum à basse température mais chiante à obtenir,
La bière c'est la Saccharomyces cerevisiae qui est plus facile à travailller ... à haute température.

Mon boulanger m'a à la bonne, je fais du pain et j'ai la levure de boulanger (Saccharomyces cerevisiae) hyper active tant que je lui file de mon pain. Donc, je paie que le jus.

Bon je suis sympa vl'a la recette


Bon, okay mon tourie il est pas kosher, mais il est en inox. Un poil de silicone, de tuyau d'aquarium et 3 poils d'inventivité et tu te fais un touries à pas cher.

T'as 7 litres en entrée, 1 réacteur de 7l et 7g de levure de boulanger super active et 7 bouteilles en sortie, t'es trop prêt.

Ben, tout job ça commence par nettoyer, donc, croies moi, tu nettoies tes bouteilles. Je parle pas d'acheter les trucs de hipster à 3€ pour nettoyer 20 boutanches, je te cause de pas utiliser de putain de savon à moins que t'aime avoir la chiasse et t'assurer que ta bouteille à pas de dépôt. Eau, oeil, huile de coude et narine. Moi je recycle de la bouteille d'eau de source car je sais que ça tient 140 PSI.

Prend moi pour un con, mais savoir ce qui est propre c'est 80% du savoir faire. Faire de l'alcool c'est le truc de fife. Pas (te) tuer c'est plutôt plus important. T'aime pas nettoyer, mais juste tu oublies la suite, quelque soit ton métier, codeur, mécanicien, maçon, brasseur tu sais ce qu'est nettoyer.

Donc si t'es un crado, abandonne la fabrication d'alcool.

Donc, pendant que tu embouteilles...

Tu réactives ta levure: eau chaude + levure + sucre + 10 min.

Moi c'est chaud mais pas trop avec du sucre.

Tu mélanges dans ta cuve avec du jus, du sucre des levures.

Tu vérifies que ton putain de réacteur est putain d'hermétique car tu aimes pas avoir la chiasse.

Tu ajustes à raison de 17g/l de sucre pour 1% d'alcool parce que Chaptal est ton ami. Ouais c'est du cheat, mais je tiens pas mes coûts en étant mignon. Mon jus est à 100g/l, donc 5-6% de base, pour me bourrer la gueule selon Chaptal je dois donc rajouter 100g/l. Sachant que plus tu mets de sucre, plus tes levures prennent de temps.

PS va pas mettre 10kg/l si t'atteint 20% t'es heureux, mais ça te prend du temp. Crois moi vise 12%¨.

Si t'es un pûtain de hipster tu suces tant ta propre bite à t'aimer (m'faites pas chier avec les genres, adaptez) que t'as ton densimètre, moi je juge l'alcool en utilisant des cobayes dans ma famille: frère, femme, parents, enfants, nièces et neveux (les enfants sont bons pour détecter tout ce qui est <5%).

Quand mes touries/dames jeanne arrêtent de faire des bulles, j'embouteille.

Ensuite je rajoute pour avoir un genre d'effet champagne/bière/cidre une liqueur à 3g/l pour faire des bulles avant de foutre le bouchon.

Tu veux pas mourir? 

La fermentation alcoolique est sans oxygène (anaérobie). Moi mon tuyau d'aquarium je le plonge dans une bouteille d'eau après avoir vérifié que mon tourie était étanche.

Conseil d'ami, fais de même.


500l que ça dure pour moi, et Chaptal et Lavoisier semblent avoir raison.

Je ne pasteurise pas, car c'est cool (sauf pour ma femme enceinte qui ne peut goûter) notamment dû au changement de goût avec la garde. Pour obtenir un alcool à 6% c'est 1 mois, 12% c'est 3 mois, les rendements sont décroissants. D'après la littérature, le max obtenable c'est 23% et selon les alcools c'est ~ 5ans pour ~20% sans ajout extérieur. Bref, si tu veux faire ton alcool, t'as pas mal à découvrir, car même si tout le monde fait ça depuis ~3000 ans en Europe, t'as ~0% partage.

Professionalisation vs Craftsmanship

While studying on my next topic : the cathedral builders something stroke me.

How masons were structured in order to ensure they where well paid.

Basically masons were the first unionized jobs, and were making sure to keep the knowledge and practices in the realm of the corporation.

It may seems weird to speak of a single entity when actually the masters were in competitions for chantiers, and that deadly fights were common between masons.

The masons were putting a big stress on the fact a good workers was acknowledged by his tools, and mostly by his «oeuvre».

Being a mason as defined by my great father is «the art of building a straight wall». No more no less.

As if coding was the art of making «code that works», or being a musician «musics that gathers the crowd».

Being a mason in middle age required, first a learning requiring you to be an apprentice in sometimes multiple workshop, and then validated by a «chef d'oeuvre» (master piece) validating by making something innovating validating that you both mastered the practice and understand how to make your job evolve.

Karl Marx call these two aspect the doxa (knowledge) and the praxein (practice). His theory is the captation of the knowledge by the capitalists made it possible to also get the most of the added value.

A full fledged worker had both mastery in doing and making the best practice evolve in a peer to peer relationship without centralization.

Then on a «chantier», among the other «corps de métier» masonry being the limiting factors for the others mason would often lead the coordination of the «chantier», being the first de facto architects.

Compared to our modern era, you see a «craftsman» so strong he does manage the project of building a cathedral.

If being a rockstar ninja mason has to be measured by the results, these cooperating lads where ninja masons.

So here is my scheme
Masons were both learning to learn, but also how to have a consistent future of executing, mastering, and managing teams...

Actually the working and learning looks like a lot what ISO 9001 formalize has Implementing Quality Assurance

Quality Assurance of his own work used to be the charge and the origin of a better pay for the workers. Acting being Doxein, Doing being Praxein.

Then, the industrial revolution came, and Napoleon and his successors introduced the modern school system.

Manufacturers were complaining especially in 1848 that craftsman were hard to manage: they had the knowledge, were skilled, but knowing how the value was made from the clothing they were disagreeing with the sharing of value, saying bad words such as they were robbed.

Worry not, the soldiers fired on them, their skills were studied and then taught at school. And, to prevent the craftsman to come back on the market, the only way to have the right to do your job was through the validation of a diploma.

Can a job, work, crafts be taught at school? Maybe, but bear in mind the first thing schools are teaching is a lot of knowledge in their one best way that cannot be reformed unless you chose to be a teacher without going to the working bench. Know-how -doxein- has been de facto stolen from the one who knows.

Innovation comes from making the practice evolves, nowadays, it is not the workers who are valued it is the company that is capturing the knowledge thanks to PhD, universities and funding.

The workers have all been literally emptied of the core value of their job: being able to craft, recognized for their work and making their practice evolve. They don't have a know-how that belongs to them, they just basically learn to follow orders.

Management have also removed the autonomy of the workers, while job announcement all search for these autonomous, flexible, able to make decision workers.

That's what the debate of professionalization vs craftsmanship is all about: who is valuable: the worker as a member of a company or as a member of a craftsman?

In my opinion doing a work of quality is learning the whole process, Doxa and Praxein cannot be separated.  

I am not a professional coder, I am a craftsman coder.

Of treason and and costs: security companies are threat 0

Before you should make security policy one is said to always make a threat model.

Basically it is a cost analysis, like if you make a measure system you put loss/benefits on both side of securing, not securing.

For instance, protecting .25$ non cumulative coupons with a 50$ protection per coupon is stupid if it applies to items costing 15$.

But the problem of a threat model analysis is it is centered around the one who pays, that may have interest in betraying the other stakeholders.

Take the case of Carlos Ghosn, the head of Renault. Since he his french most people think is loyalty is to his country thus Renault. However, his pride is Nissan recovery. And he led the merger of equals in disguise called the Renault Nissan Alliance. In Fusacq culture merge of equals often results either in split after culture clash or one company absorbing the other through strategic leverage.

If I was asked to secure the Renault infrastucture by Carlos Ghosn, I would take great care to firewall him. Because, there is the man and the function. He can sign as a person, but he is the head of Nissan and Renault and of the Renault Nissan Alliance, and according to the success of any of the 3 distinct entities he may have different financial incentives.

And which one of the 3 positions will be paying you?

He has an obvious win to make in a N-Turn betrayal game (Nash).

It seems kind of crazy, but your biggest threat might be the one asking for the audit. We all are incentivized and given ease of access to certain analysis according to who pays. And the one who pays can also turn down your analysis.

I know conforming to auditing best practices, if ever another audit company can argue your plan is biased, then you may loose your certification.

The problem in France is Renault has proven to be above the laws with a great power of lobbying (Usine Nouvelle, fr). Making an enemy of Renault's boss, is a sure way to have a lot of troubles, and eventually loose your precious audit certification.

However, what itches me is that he is mandated, as such, he should be seen as a less than permanent stake holder. Less permanent than all the workers having an incentive to trust the company and needing the company to work.

In fact the case can be made for every CTO mandated by a share holder. And also made about share holders when we live in a time of high turnover of shares.

A temporary major share holders can totally have interests in other companies because diversification in a sector you understand is a common financial strategy or fructifying costly expertise.

So you may also want to firewall share holders. But, then you have a big headache: share holders by ownership are having a legal liability on the action of the company also must ensure their droit de regard. Well in fact, when I see the DieselGate of VolksWagen I notice it is not the share holders that are being sued but the company itself. And that even though computer security is supposed to make sure to have an enforcement of responsibility, it has turned into a vast joke of deniability.

As you see my point, is computer security always at my opinion have a caricature of a vision of the organisation as a model. Hence the threat model does too.

At my opinion, a good threat model should always  put on top of the threat the one who pays.

The one that will have the more of control (defined by the number of action he can make others do  but others won't be able to do) is a systematic threat.

Power that is asymmetric lower the costs of treason systematically, hence someone wishing for a secure system should always be safe guarded from violating the system.

Most -if not all- the security model I experienced in my life are hierarchical as if centralized hierarchical system mimicking the Catholic Church (the origin of the word coming from this orginzation (hieros = holy, archein = ruling) is an obvious cultural bias in security corporation. And the idea that one stakeholder have the True right to dictate the direction of an organization.

Some idiots, think the peer 2 peer decentralized model is better. The decentralized anarcho libetarian model is prone to net split aka balkanisation with local decentralized networks spinning off.

Is there an alternative?

Well, of course there is: it is called pokemon.

Pokemon creators used the complex overlapping symmetries of particle physics to ensure a shifumi with strong types without guarantying any creatures a total advantages, just like a complex shi-fu-mi mexican stand off.

You could totally give balanced power to every stake holders with partial access of information necessitating for a total view the cooperation of the actors under a reciprocal scrutiny so that even the watchers are being watched.

The problem, I guess is cultural: I don't see a security company thinking that giving an underpaid worker that can be easily corrupted the power to fire a boss. But, if the worker was paid close to his boss wages it would ensure more loyalty and less risks of treason.

But, given most security consultants are way more paid than underpaid workers, by those with interests being overpaid, they have an incentive not not propose a pokemon kind of mexican standoff. And so does the industry as a whole submitted by regulations influenced by lobbies.

And finally we identify the priority 0 threat absent from any threat model: the whole incentivization of the security business that is biasing the security model towards a systemic positive bias given to the one who pays... whereas he may be the one with the most incentive to betray.

Security vulnerability #1 is hubris

Once upon a time there was an amoeba, and zap millions of years later with have human beings.

Not the greatest living being but very good at adapting making tools.

And funnily enough we are not perfect; since our brain has limited capacity of memory and analysis, most our reasoning is made by simplifying, abstracting, forgetting details to focus on the big picture, and sometimes doing the opposite.

In doing so we get very proud of our creation, and maybe too proud. Humans logic is strongly biased by emotions with the biased person strongly ignoring them.

Human are imperfect, so are our tools and abstraction.

We are easily confused, but due to Moore law we are required to remember increasingly long and numerous credentials.

We are so proud of our tools that we think better than us that we entrust mechanical turks with our secrets, bank account number, IDs. But remember that there are humans having physical access to the computers, the RAM, hard drives, the screen. Yes, screen can be photographed and leaked without triggering a single alarm in software. A cam can be used to watch you type your pin code...

And also, at one moment trading require a physical delivery. What is the use of a globalized economy if your expensive electronic gadget made in a sweat shop does not get delivered to your house?
Delivered by someone so poor he/she has incentive to steal it because it worth more than days of her own wages. This is also part of the surface of vulnerability.

Still we are bad at seeing the world. Most security threats are about software, but most efficient attacks are coming from human.

When passwords will be too long to remember, people will write them, and physical attack will be worthy.

When software are too complex, the dev/integrator may discard a complex stuff, because their project manager also did so under the pressure of the time to market. Solving a problem by ignoring its complexity is not incompetence, it is just we have imperfect knowledge on which we base engaging business decisions. Or the person in charge maybe over confident and trusting the project manager obviously wrong claim a NP problem can be solved easily.

Compared to the rest of the population, coders are living in a bubble of both insane work conditions (don't start me on this one), lack of diversity and economical security. Having a correct mental picture of who your users are is important: they can be blind, death, colour blind, poor, old, not sharing the exact same understanding of your culture...
Users can misuse a software not by malignity but by being like everyone of us: different from what the coder imagined. Exposing themselves to threats, and indirectly the environment in which your software run.
Coders can be interrupted all the time, over-loaded with noise (like meetings, bike shedding), technological religious wars distracting them from the problem at hand. He might be experiencing a crunch and a lack of sleep.
The maniac and busy industry standard of the work places do not help, it is toxic.

Our complex software often requires workarounds. Degraded behavior of software is the norm. Imagine if plane where like software: it would be as if we casually expected engine to take fire while on board. Our concerns in terms of quality are slipping because we have always experienced poorly working software as the norm.

Thus we overpromise, underdeliver in a virtuous circle of something we call progress. Making a huge industry of patching broken software on the fly. Security business being one of this kind. Imagine you'd buy a non functioning car, and you'd find normal to pay an external company to add extra soldering and firewall for it to be safe.

In computer industry, this is the normal state!

Our excessive pride reinforced by our commercial successes due to network effects and natural lock in that we see as a proof of our natural genius.

Being used to anticipate catastrophes -I did left linux 3 years ago because of systemd and I am glad of it- I also notice that the IT crowd is the weakest link in security: their intuition is wrong, they are so proud of their work they over-trust over people's work. They are back patting themselves so much, and shutting down all the pessimists that they are taking poor decisions for complex infrastructural choices trusting themselves and everything new. They think they are over-informed. They are over-exposed to noise, they live far away from the population.

The it's new, thus it must be good has became a mantra since web 2.0. Valid approach are being discarded as too old. A rush forward on immature technology thinking that unknown risks are equivalent to no risks, trusting the process of growing and patching endlessly.

This is hubris.

IT industry is the biggest security threat to our world since physical locks, physical security, economical transactions, medical devices, cars depends increasingly on people that deny any legal and financial liabilities for the result of their actions and rush forward like headless chickens.

This is insane, we should begin to finally make laws to demand software industry to be liable for their work, and ease the class actions of software users to let the market get rid of the bad apples. Let the market be a free market, and in a free market we get rid of the bad apples by making them financially liable for the loss they induced.

That is the only way we will not head for a second internet bubble explosion.