Moving out from coding part I: why?

When I was a kid, I had this teacher's husband who taught me one of my greatest thing: what passion and hobby are. He would take us with his wife to ride bike for first small, then long circuits. Riding without competition in mind, but with greater and greater autonomy.

I have made a lot of competitive sports since then however even though I am still riding an average of 100km per weeks I never did it in «sport» context. I can ride 100km in a day with my wife just because I love it and I sometimes ride at 70km/h.

Passion much more than competition is what is empowering. Being free, feeling free. Having the mastering of space (I have quite some autonomy in my legs) and time (I don't rely on anybody for moving) is great. I can ride off road with a road bike, or just swallow kilometers like an idiot.  When there is traffic jam, I ride like an eel in the middle of the city going faster than cars in the roundabouts (~40km/h).

Well, it is dangerous, sometimes people are mad I do not ride on dangerous bike paths to do what is legal: riding on the road. And I literally have to fight to stay on my path.

This is an allegory of my experience so far from moving out of code to my new life ; I am today a mover. I may change career in the future, I may go on, I don't know where it is leading me, but having chosen to ride bike instead of cars, is like a philosophy of life on how to extend your horizon to the maximum with limited means. And I owe it to the man who introduced me to biking.

One day though he was on his 40s (I was ten) I don't know why, he told me that he had one regret in life he wanted to change job. He was tired of this, and he wished me «to have more than one life in his life». And he wished me to live in a time it would be possible. After 6 month of hard work I achieved it. It is possible. Tough, but possible.

30 years later, here I am, having left Canada and back in France in a new place. And I hear the same complaint from people around my actual age: people would like to change job and begin new careers. Security agents bored of static positions, movers wanting to become truck drivers... coders bored of the Internet Of Shit, Java is the new Cobol, Cloud is the new mainframe, PHP/node and the spaghetti code, javascript fatigue, the coded obsolescence, unsecured by laziness  .... there are moments when the friction in your professional practice overtake the drive of passion and Beruf.

Sometimes, leaving a profession, is the way to vote with your feet against what is happening.

You know one of the disheartening things in coding is you know exactly how the world could be better with coding: by making simple stuff, not complex one. I would advocate less feedback loops and coupling, but modern practices are doing the opposite. I do advocate Tcl/Tk to make portable/lasting interfaces, but everyone want smartphone apps that are gonna be obsolete in 5 years. Well, your home boiler may last for 20 years, but when it can be only controlled by an app that may last 5 years doesn't it make old style knobs and virtually unbreakable embedded spartian UI more desirable?

 
In fact, it is not the language, the tools, the OS that are broken, it is probably the business ; there is no incentive for doing right things since there is no financial or legal responsibility for doing shit. For this business to improve it is required that customers are leveraged to do class actions for the defects in the code and designs. Directions that google, apple, fb, cloud providers, banks, providers for governments are lobbying against.

Most of free software coders are abused, and seems to like it ; their code is used everywhere, but instead of having thanks or recognition they are pressured by pro users who demand free work/consulting.... free software developers are the bitches spat upon by the IT business. The cloud, the apps, the smartphone OS are all heavily relying on free software and for 1 or 2 success stories, there are hundreds of people living in inhuman open spaces where coders are put in batteries like chicken hatching eggs. A lot of free developers I know have experienced depression or heavy burn out (the new name for professional fatigue). Man, hobbyists are having from there hobby professional fatigue. Symptoms that were not existing when corporations where NOT using free software.

We may all have time sheets to fulfill dutifully every days, but true hours are never fulfilled. 50/60 hours work per week happens. If you have free software projects, you will anyway have more time thinking of your job, because your projects are probably related to your work. Coding is a becoming permanent mind cage. What should be making you a valuable craftsman : the capacity to create your own tools, is turned against you.

A good coder is a rested coder. A free software developer that want to keep the copyright on his creation MUST work after hours. But company do not want to pay for less hours per week at the same price and thus, to keep up doing their job by building their tools AND keeping property of their inventions they have to work extra. Well, I am a good coder because I can crafts MY tools, and I want to keep ownership of MY tools. Because without them I can't code anymore. So if you want me, take me with MY tools, and give me time to stay a good craftsman by having sometime sharpening my tools.



Micro management has become the norm, thanks to agile. The grotesque of a ritual pretending to empower the coder, is just a masquerade of pseudo equality. Coders have feedback from customers from a long chain of specialists that knows nothing neither from their customer's business nor from coding. Each level of indirection noising the signal. And, like in every job nowadays, every person instantly after having powering on their first computer feels like he is an expert in coding. Don't worry, every customers when I move do the same.

Me, I desire a closer integration between simple electronics and software. I want pin with well known value triggering well known behaviour. A simple default UI, and a way for customers to plug in a servo control using a parallel interface. I want the opposite of actual direction in computer integration. I want any users to be able to program and understand their hardware and software. I want to help users by discarding the cloud of obfuscation between them and the hardware they own. I know how to achieve it. But business practices are in the way : you may think the actual coding mess is due to a smart way to create monopoly achieved by lock in with smart coupling, but there is no conspiracy. Just pure «expert effect» that has contaminated every place in our societies. People are Internet smart. They read 2/3 articles to get an informed choice before doing everything, they have got very good articles from man of the crafts and they master a good intuition. But they are not crafts smart, it is the details that are important. But internet smart people tends to know thinks better then you without having done it repetitively. 


This is my experience as a new pretty inexperienced mover. I deny any deep professional skills. I just follow the experience of the 10+ years of experienced movers that are teaching me and explaining. These people are smart. What they say makes sense, it is causes and consequences relationship between an action and there results. Once you learn them you stick to them because it makes sense.

When we fold our «couvrante» (blanket used to cover things) our customers thinks we do it to make them pay more. Well we fold our blanket to not have them in the way and clean our work space to be safe and more efficient. And folding while doing the job, makes the truck ready for next day without losing 1 extra hour at the end of tiring days. It is both work safety and optimization.

Every job is about having a clean usable workspace that will not trigger accidents and optimize the flow. When we take time prepping and trying to balance the weight in our boxes to maximize the throughput. Too light there are stupidly wasting volume (hence useful load in truck), too heavy they break the back of the movers.

A movers job is mainly about prepping.

When we write the description of the cardbox on the top, customers feel entitled to say it is the wrong place. For some we should write on 6 faces, and so on.This internet smartness is all the more touchable when you are a mover. Every customers are feeling entitled to club you in the head from their smartness proving you are wrong with all the weight of their education.

As if education was about being arrogant delusive self confident assertive bastard. It is as if the power given by having education was more important than the knowledge.  The more someone feels educated, the more you get criticized quasi systematically wrongly through the lens of solid belief on self certitude. Making your job correctly expose you to all the more critics. We enable at repsonsibility level self righteous people, full of certainties. Doubts are unprofessional. Well, I have seen a lot of persons coming to me in coworking spaces full of wannabe startups to propose me to do free consulting. Startups love free consultants. They often had a wonderful idea with 95% ready and they needed a «stupid» point in the last 5%.

Always, the 5% that would be underpaid benign features since interface were there and a POC was working in a simple case.



It was fun because even simple RSS scrapers (that were seeming anecdotic) where revealing a failure in the keystones of their project. A physical, coding or mathematical impossibility.

When I said free consulting, it is because they would always propose you a small contract (5 days at 100$ x 8 hours) to in fact made you write on a paper what was wrong when you discarded the contract.   

In game strategy : either you take an obviously underpaid contract but will have money or you lose time to say you refuse and give important insight to the startup that in both ways win. Since the company relies heavily on a flawed concept, they need to keep the illusion of the product working, so you cannot be hired, or if you are hired, you have to go in the right direction.

Right direction is the investors believing you can deliver something that works. The market is not based on satisfying customer"s needs, it is based on conning investors and banks to make some bonimentors being able to retire after having built Hollywood kind of houses. Lies valued on the market of your retirements plan in the form of an index in a random stock. Yes you pay for this with every private investment you are making. Your savings is invested in scams. Middle term scams that actually cannot yield profits. But coders like monkeys behind the scene, like a dwarf in an automata pretending to play chess, are patching behind the scene a decorum so that it looks like on the commercial pictures. Manually inserted SQL code at some crucial times of days to walk around a «bug» that is just reflecting the fact the feature does not exists.

A good professional manager is certain the product can be built.

As a coder we are pretending to build solid castles but truth is we build card houses. Every one is losing.

And to get paid as a mover you have to avoid antagonizing the one who pays. You must look your feet. Even if what you are told makes no sens. Else you may loose the «bonus» for having worked 20 «free» extra hours (paid normally 10€/hr) at the wonderful price of 1€/hr. And wealthy people feels very generous. While they cock block you from being efficient by getting in your way when you work... do it this way, you are too slow, you are an idiot...

And some of these people that are very educated are probably doing the same at their work.

I moved away from coding to be mover so that I may have escaped these assholes. Actually, it does not works the way I expected. I expected my bitterness to disappear and begin an new simple life without thinking. I expected I would pull the Interet/coding plug and not care to get control of my life without thinking about what was wrong. And fact bitterness has  disappeared. I am not bitter anymore.

It might seems stupid, but I like being an humiliated mover. I am no masochist. After changing country, then social position, it is like opening my mind, like you finally discover the map in 3 dimension instead of 2.

You see new more interesting mechanics. Important patterns.

Like what is being a professional? And what are the limits of our crafts.

Every jobs require specific knowledge but they have in common one thing: having a clean work-space.

Movers folding their blankets. Demolition workers constantly removing stuff to the trashes and cleaning at the end for the chantier. Cook keeping their table constantly clean.

We as coders are rushing our code in production nowadays. We all have given up on «clean» code.

A clean code is small, with few dependencies, configuration items, requirements, complexity.... Yet computer software/hardware are growing in complexity.

Like incompetent customers -that despise prepping and blanket folding and see our job of mover as moving heavy loads- all the industry is focused on the writing of lines of codes.

We have masquerade of cleaning. Ticketing systems, dev-staging-production environment, tests ...

But they are not. Just a mimicking of cleaning. Just like people first cleaning the floor and then cleaning their walls not seeing that their floor is still dusty.

I am not insane to criticize the actual IT industry and walk away from it even if I am making far less money and work in funky conditions.

It is building resolve and confidence : something is wrong with the world today. The power to command is given to the wrong persons : educated one.


Education is the biggest bubble right now: it does not work and we pay a fucking heavy price for it and it is fucking with the brain of their owners to make them idiot. It is manipulating people into a rigid attitude of exclusive ordering or obeying based on self confidence. Leaders are raised to be professional bullies. 

Our society over-evaluates an education delivering pseudo-smart knowledge. If education was delivering anything there should be actual figures proving that the diploma they deliver are impacting positively society. That for a same job diploma matters. Actually diploma are used as a corporative tool to protect access to some professions. Investors will probably require you have an MBA. MBA may gives you profound insights of a craftsman of running a business, but it does not worth having made a series of business yourself. Yet if you cannot pay 35k$ / year you hardly can have investment.

Education does not teach the craftsman and diploma are favoring the one who have the confidence not the skills. And too much self confidence conflicts with skills. We give more power to the one who are born wealthy. That's all.

It is time we look at the costs of our universities that cannot make reproducible science, at our industries our education and think once again how to make an education that improves our lives as a whole.


Well IT industry is fucked, like all the industry today... I just now just hope for the bubble on education, in IT, and the stock market to blow up so that it comes back to survival to the fittest kind of market.

I wish to get my power back by being able to produce and sell my services or product without the barrier of false education. I wish to live in a truly liberal state where skills matter more than birth and the capacity to get formations.

I wish I could make the government do what I wish with the taxes we pay, and not fuel financial bubbles by borrowing money to banks.

I wish I was leaving in a democracy not a Republic that is just an aristocracy by birth disguised as a pseudo elitist meritocratic system.

Diploma are void of power on me. I will look at what you do and not what you say, and will go my way full of doubts and resolves.







Des mots et des maux: le terrorisme de la novlangue.

Être gouverné par des abrutis acculturés c'est dur. Quand l'opposition et les journaux rivalisent de stupidité, c'est une crise de légitimité du pouvoir.

Mais passons.

Depuis le gouvernement de Vichy sont ré-apparus 2 mots pour définir un mal:

Attentat est une action destinée à nuire aux biens ou à la vie d'autrui. On parle généralement d'attentat dans un contexte politique, voire terroriste.

Terrorisme système de gouvernance politique basée sur la peur.

Pour les anglophones le mot attentat s'écrivait Attemptat : tentative.

Comment ce mot a-t'il glissé?

Racine, Corneille pour faire plaisir au Roy et à sa cour d’illettrés adoraient utiliser des vieux mots de français à la mode pompier. Comme des peintres du mouvement pompiers ils aimaient décrire les sentiments avec puissance. Nul mots de plus de 3 syllabes étrangers aux peuples ne leur échappait.

Mot tordus par des idiots, ils devinrent foutus.

Le terrorisme lui est souvent mis en synonyme par nos académiciens (descendants d'une institution crée par les Roys de France)  du Régime de la Terreur pendant la Révolution.

L'excuse pour torturer les résistants quand ils commettaient des actes étaient que leurs crimes dépassaient le droit commun, c'était au delà du crime, et Vichy introduisit le mot terrorisme.

Un mot utile pour qualifier un acte comme échappant de fait à toute justice, voire même aux conventions de Genève sur les prisonniers de guerre.


La partie amusante (pour une version tordue d'amusant) est que l'on peut remplacer dans cette affiche dont le contexte est le réseau Manouchian (cf l'affiche rouge) le mot juif par islamisme, ou tout autre mot.



Il me semble troublant que nos gouvernants utilisent des mots usés à la corde popularisés par le régime de Vichy, sans quasiment changer une virgule.

Cette affiche résume les articles de presse que l'on a suite aux crimes de masses commis en France.


  1. on cherche toujours à rendre le criminel étranger
  2. on mets toujours en exergue sont statuts social défavorisé
  3. on recherche toujours une inspiration étrangère et une manipulation par une puissance occulte
  4. on recherche systématiquement un passif judiciaire, allant même jusqu'à puiser dans les fiches S dont l'abus de signalement leur donne le statut de preuve forgée
  5. on recherche une idéologie «anti valeurs de la République»
  6. On justifie les immixtions françaises dans des pays étrangers.

Sans vouloir faire mon pisse froid suite à l'attentat de Nice, je dis juste que les mots, et la lumière de l'intelligence sont plus que jamais nécessaire quand l'obscurité prévaut. Et que plus que jamais il faut oser savoir (Nicolais Copernicus).


Maintenant tordons le cou à quelques vilaines choses:

Comment on a construit la menace islamiste


Si quand je faisais mon service militaire en 1997 nos gradés entamaient déjà la prédiction auto-réalisatrice (post guerre d'Algérie) de la menace Maghrébine, nous sortions d'une décade de torpillage politique par le PS de la marche pour l'égalité des beurs. La volonté d'accéder à être des français normaux ... laïcs.

Les partis politiques ont sabordé systématiquement cet effort d'un mouvement spontané en voulant trouvant des beurs à qui parler.

Et comme des beurs citoyens lambda faisaient peurs, nos institutions on ne sait pourquoi, peut être sous la pression stupide de politique religieux ont préféré se tourner vers les institutions religieuses.

Les religieux avaient pour avantages de ne pas être les enfants sauvages des cités, mais des gars bien avec qui on pouvait parler.

Bientôt les grands frères furent même plus ou moins intégrés dans les mécanismes (en tout cas dans ma banlieue) de réinsertion des jeunes délinquants.

C'est un peu comme si après une éruption de mouvement civique d'une jeunesse d'origine française qui écoutait les béruriers noirs on avait trouvé plus confortable de parler avec les curés.


Ensuite, la France est un des plus gros marchands d'armes dont le marché est traditionnellement le moyen orient et l'Afrique.


Rendez-vous avec Mr X (émission sur France Inter) évoque notamment comment les attentats du Liban et de Paris dans les années 90 avaient pour origine le non respect d'un contrat de fourniture d'une centrale nucléaire à l'Iran.


Les mails de Clinton (ClintonLeaks) ont des passages éloquents cités par un confrère de la  DGSE: la France intervient en Lybie, en Algérie dans le sens de ses intérêts. La France fait même volontairement chier sur le Sahara Occidental réserve de 3 ressources importantes : 70% des réserves de phosphates nécessaires à l'agriculture industrielles, une quantité substantielle d'Uranium, et du sable de qualité pour la construction (qui se raréfie).


La France vend des armes à des pays africains pour lutter contre les contrebandiers (tabac, humain (dont immigration), ...).

Ces contrebandiers se sont unis au Maghreb dans une coopérative du crime initialement de droit commun. Puis quand les fonds d'Al Qaeda sont arrivés, ils ont totalement virés leur cutille.

Al Qaeda/El Al basent leurs techniques de «terrorismes» sur des techniques modernes de marketing: ils n'hésitent pas à donner de vagues indications de mode opératoire et à clamer qu'ils sont les responsables. Du marketing viral basé sur des réseaux sociaux. Derrière ces groupes -comme la mafia italienne ou russe- structure des réseaux très lucratifs de crime organisés de droit commun basés sur une pseudo appartenance à un mouvement de pensée.


Il est clair que le but recherché est d'impressionner les foules et de faire peur, tout en couvrant l'enrichissement de certains.


Mais regardez le Califat, son premier objectif est juste l'enrichissement personnel d'une minorité. En-ceci le Califat qui pille des ressources minières est-il différent de certaines compagnie officielle qui œuvre en Papouasie Nouvelle Guinée ?

L'Europe n'est-elle pas elle même embourbée dans l'aide évidente à des groupes financiers comme Goldman Sachs, BNP Paribas, HSBC ont profité résultant dans l'enrichissement personnel d'une minorité ?

Et qu'en est-il du «beur» athée qui comme un Sicilien ou un russe dénonce la main-mise de ces organisations? Il est rejeté de la communauté.


Ma conclusion est que la seule chose qui protégerait contre le terrorisme dont les premières victimes sont avant tous les immigrés des régions considérées comme le réservoir de terrorisme serait de rétablir le lien... sans passer par des institutions religieuses.

Une nouvelle marche des beurs, peut être même une marche «black blanc beur» sans signes religieux mais un mot d'ordre clair d'égalité de traitement des citoyens, l'abolition du contrôle au faciés, le retrait des caméras de sécurité, la dissolution des polices municipales et de dénonciation de la non représentativité des institutions serait la bonne idée.

Pourquoi s'en prendre aux caméras, aux polices municipales voire aux lumière dans la ville?

Elle ne diminuent pas le crime, elles le déplacent. Et les populations stigmatisées sont celles qui sont le plus soumises aux crimes.

La politique sécuritaire de la France depuis 20 ans est un échec.

Vigipirate rouge (niveau maximal) est en oeuvre depuis 20 ans. Les cornichons sont utilisés comme des épouvantails à crime dans les bourgs, mais aucun ne sont présents dans les faubourgs, et pour l'instant ils n'ont évité aucun attentats.


Le contrôle au faciès est basé sur l'idée que les délinquants sont cons. Mais ils le sont pas. Les fils à papa des écoles privées au look BCBG sont depuis
longtemps recrutés en tant que transporteur, et une fille agressée a plus de chance d'être protégée dans un lieu publique quand on tente de saisir sa marchandise ou son pognon.


Des attentats du Bataclan, malgré les 1500+ caméras dans Paris les enquêteurs sont toujours à la peine pour assurer qu'il n'y avait bien que 3 criminels.


La destruction de la Protection Judiciaire de la Jeunesse (notamment à Cergy Pontoise dans la fédération où et quand Valls a fait ses armes en politique) par les socialistes a probablement entraîné la radicalisation de certains jeunes délinquants. 

L'investissement dans l'intelligence électronique au moyen de marché passés par copinage à des boîtes notamment incompétentes (Thalès, sogeti ...) résulte dans un fatras de moyens perdus qui génèrent moults faux positifs et négatifs. Le renseignement humain qui faisait la force de la France a été décapité par la gauche et la droite sans discernement. Il n'était peut être pas meilleur, mais au moins, il était moins coûteux.

Tale of the coder, of his wife and of the dangerous AI

In the time that were to come, a venerable coder was telling of the beauty of his craft to his young wife.



« Dear wife, we coders, like wizards, build wonderful constructions out of logic that like oracles can predict the future in a nice pure way...
We give to our creature a long list of random events of the past, and such as a wonderful new born child without no prior knowledge our creature learns by itself what is a cause and what might be consequence in the future, guessing correctly the web of signal of causes and consequences by logic. Our creation are better than humankind which judgement is often clouded by ridiculous affections at predicting outcomes!

Husband, can the oracle fails?

Well it can, but this is so seldom you can discard it as something never happening, and anyway we use our creations on harmless jobs such as choosing the best ad for you. For now, it works very well. So well, it is creepy. Why?

Would you bet your life, my dearling, that most of the power of your algorithm is not from its accuracy but like for a religion in its power of self prophecy? Is it you trusting so much your automata you weight heavily for choosing its early conclusions as valid, and that maybe he has learned through the cloud of your excessive confidence that it should trust itself? Have you correctly taught your creation to doubt itself my dear?

You seem very meta-physical my dear today .... You may be blond and young, but my tingling senses tells me this question could have serious implications.

Dear husband, cannot you notice that your bright creation is proposing on your screen a targeted advertisement for a dating site for young ladies. Are you finding your 20 years old wife too old? »



The story tells that a reasonable amount of doubt in your infallibility  can save an happy marriage, and that coders thinks better of what false positive means when confronted in their life with a worst case failure that is supposed to not happen that often. 

The story also tells that we should not believe in our creations, but carefully measure they achieve their goals.

Les journaux français par typologie

De temps en temps je lis les journaux. Et pour avoir une information à peu près débruitée, comme un humain qui cherche la vision en profondeur, j'aime à lire plusieurs journaux sur un même sujet.

La partie amusante, c'est que plus on lit les journaux plus on voit «leurs biais».

Donc voici une galerie de journaux que je lis parfois avec leurs biais.

Le monde


Journal pro-institutions, défenseur des professions intellectuelles et cadres supérieurs.

Ce journal est républicain franco-centré au sens platonique ; jamais un courrier des lecteurs ou une tribune ou contenu externe au journal ne viendra d'un ouvrier. La légitimité de la parole vient de l'université, de la profession intellectuelle ou artistique.

Même les fact-checkers refusent d'utiliser des instruments de mesure. Ils préfèrent se référer à des sources institutionnelles fiables. Quitte à ne se référer qu'à une seule source non contradictoire pour pourfendre les conspirationnistes populaires.

Ironie ; bien que «le monde» évoque l'ouverture internationale, ce journal tend à être peu perméable aux nouvelles mondiales qui ne concernent pas au deuxième ordre les agendas institutionnels quand il s'agit de politique, société ou autres. L'étranger c'est bon pour la culture, la cuisine ou les voyages. On y apprend étonnamment qu'avec beaucoup de retard les nouvelles des pays européens.


NB: style classique à plus de 3 syllabes soporifique et limite langue de bois.

Le figaro


Journal pro-entreprises établies de grande tailles. Chantre du capital bolchévisme et de la reproduction sociale.

L'ironie du journal tient dans le fait que la citation éponyme du roman du libéral Beaumarchais est «quel mérite se sont ils donnés à part celui de naître?» est en fait l'opposé des positions défendues par le figaro.

Le figaro éternel pourfendeur de l'état et des régulations, accueil cependant toujours avec une bonne oreille les régulations biaisant le marché en faveur des entreprises pré-existantes.  La seule chose que le figaro retient du libéralisme est le caractère sacré de la propriété.

Quand ils aiment à parler de l'artisanat, premier employeur de France constitué d'entreprises de petites tailles, alors pour elles toutes entorses à un marché du travail pur et parfait est acceptable. Dans ce cas pour eux tout est bon pour pouvoir embaucher des employés aidés, sous payer leurs salariés et interdire le droit des salariés à s'organiser. Oui à un marché libre ... pour les acheteurs de faire ce qu'ils veulent non à la capacité pour les vendeurs de négocier. Le libéralisme selon le figaro semble vouloir signifier : remplacer la noblesse par la bourgeoisie

Bref, le figaro est capital socialiste car il est contre l'état régulateur sauf quand l'état permet aux plus riches de payer moins d'impôt au d'instaurer des rentes de situations familiales.

NB: très bonne rubrique étrangère notamment sur le moyen orient. Et chouette style classique.

Les échos


Financier tendance libéralo-névrotique.

Alors, bizarrement, bien que les 3/4 des échos sont aussi chiants à lire que BFM TV est chiant à regarder, parfois des petites perles libérales au sens historique s'y cachent, surtout dans l'avant dernière page bourrées d'édito.

On y trouve dans les grandes lignes surtout des instantanées de situations sur des secteurs d'activité et des impacts de régulations. C'est sûrement une des meilleures sources d'informations sur l'impact de la technocratie européenne.

Bien que ce soit un journal du capitalisme triomphant, qui finalement vante les mérites des entrepreneurs capables de lever suffisamment de fond pour être capable de casser des marchés établis sans véritables autres savoir faire que le faire savoir, il apprend beaucoup sur l'économie mondialisée moderne.

La seule chose à retenir c'est que le vrai mérite dans la vie n'est pas de naître, mais d'avoir la possibilité de lever des fonds. Dommage que la capacité de lever des fonds soit souvent lié à la naissance.

NB : les éditoriaux de l'avant dernière page sont souvent étonnamment intéressants. En fait je ne lisais les échos que pour ça.

Libération


Journal méritant sa réputation de journal bobo parisianiste voire romantique.

Si les romantiques ont regretté l'abolition de la noblesse basée sur la naissance, ils proposèrent que la noblesse artistique la remplaçât.

Si libé est un journal de gauche compassionnelle écrit dans un style pseudo argotique mal branlé marqué années 80s, il reste sous la surface biaisé en faveur des artistes. Contrairement au monde, ils daignent accepter dans cette catégorie les artistes non issues des institutions et universités.

Étonnamment libération aime l'art contestataire surtout quand il commence à être reconnu. Genre, trend setter.

NB: le sur encrage de la première page est tel qu'il marque tout ce qu'il touche, et c'est bien la seule chose marquante de libération.

 

Le nouvel obs


La redoute de la gauche caviar.

Le nouvel obs est souvent critique ... envers les riches ... entre deux pages de pubs pour des biens immobiliers à 3 000 000 € ou des montres à 220 000 €.

Le vide intersidéral inter-pub appelé information me permet de penser que le nouvel obs est juste un catalogue de pub pour l'industrie du luxe subventionné par l'état grâce à quelques alibis intellectuel.

Pour les riches qui ont le culte de leur culture prolétarienne ... donc les anciens 68ards, qui croient en ascenseur social post 2é guerre mondiale, c'est à dire dès lors qu'une bonne guerre a eu tué tous les vieux.

 

Le canard enchaîné


Le voici/gala des hommes politiques.


Les prolos aiment les images, les intellos aiment les mots. Le canard qui malheureusement est resté enchaîné au passé au point de toujours nous offrir des poilades quand il s'agit de nouvelles technologies est tellement vieux et enkisté dans son passé qu'il y a sûrement un club des adorateurs dudit journal à l'assemblée à coté de celui des fans de Brassens.

Il ne sert finalement que très peu à révéler des scandales modernes, ayant décidé malgré son passé anarchiste à rester dans les frontières républicaines du drapeau nationale.

Bref, la gazette du palais. Irrévérencieuse comme un piment passé.

Le courrier international


Ça eut été bien, puis Adler l'a repris en main. Tous les articles un peu trop critique d'Israël ont disparu. C'est devenu chiant. C'est aussi devenu quasiment le fournisseur d'anecdote en page 4 ou 5 du canard.


Un des grands marronniers du courrier et la France vue du reste du monde. Rendant l'international une excuse pour regarder le nombril du pays.


Comment dire. C'est un peu le téléphone arabe de l'information à ce niveau.


L'usine nouvelle


Le productivisme à son paroxysme. Vous voulez augmenter la vitesse de traite des vaches de 40%, ou au contraire augmenter la qualité organoleptique du lait en désautomatisant vos chaînes d'automatisation?

L'usine nouvelle, journal de l’ingénierie rayonnante est là pour vous.

Nouvelles normes qualité responsables, nouveaux robots ou technique, tout y est.

Si le développement durable y est traité, c'est uniquement parce qu'un ingénieur peut garantir soit qu'il engendre une certification permettant de toucher des subventions par le respect de normes internationales, soit parce qu'il augmente un facteur important de la qualité.

Après la lecture de ce magasine vous avez l'impression qu'entreprendre se résume à avoir suffisamment de pognon pour acheter des machines ou prestations chères et toujours avoir une calculette dans la main pour prendre les bonnes décisions.

Ah si seulement la vie était faite d'information parfaite et de choix simple que l'on peut déterminer par des calculs, ce serait si bien.

La recherche


Le libération de la recherche, excepté que c'est mieux écrit.

La recherche devrait se renommer : le journal des chercheurs patentés.

En fait, comme le monde qui ne donne la parole qu'aux élites intellectuelles, la recherche ne s'intéresse qu'à la parole des chercheurs institutionnels. Nulle science n'existe en dehors des labos industriels, universitaires ou des écoles.

Peu importe que l'Académie des sciences ou l'ENS aient étaient maintes fois foncièrement réacs et opposés à des chercheurs innovants (Poincaré, Mandelbrot, Marie Curie) ils restent la meilleure source d'information sur la recherche. Peu importe que leurs yeux leurs prouvent que leurs lieux d'excellence sont basées sur une compétition biaisée, ils soutiennent la beauté du système basé sur la sélection des meilleurs.

Peu importe les turbulences et conflits la recherche est sociale démocrate : elle croit à la réforme de l'intérieur et dans la capacité des institutions à se réformer et à l'excellence.

NB : En science? Il y a quand même des beaux sujets, mais il y a un rapport signal bruit élevé, et surtout son coté béni oui-oui institutionnel lui fait manquer le sujet le plus important aujourd'hui en science qui la critique de l'organisation de la recherche et de sa structure encroûtée dans le passé.

Les Fanas de l'aviation


Sans conteste le meilleur journal français avec HW CanardPC.

  1. il y a de superbes photos de superbes coucous
  2. en parlant d'aviation ça parle de tout.
J'y ai appris des morceaux d'histoire, d'assurance qualité qui semble issue d'une tradition d’ingénieure aéronautique basée sur les retours d'expérience, les problèmes de stratégie industrielle.


Si je suis pas fan des comptes rendus laudateurs bourrés de chiffre sur les batailles, que ce soit comment certaines opérations contre les barrages allemands pendant la deuxième guerre mondiale, la production d'avions qui ont changé l'histoire (Me 109, spitfire, F4, mirage) on y apprend des vraies choses.

Le parti pris pro avion sans se soucier des drapeaux permet de se dépayser bien plus qu'avec le courrier international. L'analyse des processus industriels y est plus agréable à lire que dans l'usine nouvelle ou les échos, et l'histoire des grands programmes vous en apprend plus sur les institutions et leur fonctionnement que le monde. Et l'acceptation de l'innovation d'où qu'elle vienne (pilote d'essai, mécano, chercheur ou ingénieur) en apprend plus que la recherche sur l'innovation et la science.

Un biais fort sur les avions rend le journal plus intéressant à lire. Comme quoi l'objectivité n'est pas l'opposé de biais assumé.

C'est un MUST read.

 

Canard PC/Hardware Canard PC


Canard PC: je ne l'achète plus. Ce journal sans concession sur les jeux, me fait plus sûrement acheter des jeux que les merdes sur sponsorisés. Les chroniques sont un poile mal écrites et traînent en longueur, et peut être est ce cette imperfection que j'aime.

Hardware canard PC: un autre vrai magazine scientifique ; contrairement aux facts checker du monde, quand il s'agit de vérifier les faits, ils n'hésitent pas à mettre les mains dans le cambouis. Oscilloscope, voltmètre, protocoles expérimentaux. Tout y passe.

Ce sont des vrais journalistes. Un MUST read.

 

Le virus informatique


Je les lis par nostalgie et je les aime bien.


De même que Canard PC leur ligne éditoriale est indépendante de leur régie publicitaire ce qui leur joue des tours au niveau financier.  Mais, c'est le prix de l'indépendance.

Parfois anecdotique, les nouvelles sont variées et intéressantes. Elles changent des magazines informatiques qui se résument à du publi reportage. Elles sont plus pour les amateurs/hobbyistes que les pros. Mais je trouve plus de savoir faire dans ce domaine que dans le monde pro.

À soutenir au vu du rapport qualité prix.

GNU/linux mag


Depuis que linux mag est devenu GNU linux mag, c'est un peu devenu chiant.

Ça parle de logiciel libre, comme avant on parlait de CORBA, Windev, composante métier dans l'ancien temps.

Linux mag est devenu un journal institutionnel, qui évite la polémique intrinsèque qui opposent le monde de l'entreprise et celui de la programmation.

Vous n'y lirez nul rapport sur le burnout épidémique qui touchent en ce moment les développeurs anciens et nouveaux du libres pressurés comme des travailleurs bangladais dans une injonction tant à maintenir gratuitement leurs codes qu'à travailler en dépit du bon sens dans leurs propres entreprises qui exploitent leurs inventions pour les transformer en rente.

Bref, c'est devenu aussi chiant que 01 informatique ou décision micro, journaux qu'ils dénonçaient du début. Je crois que le parti pris de vouloir gommer les humains derrière les logiciels libres nuit. (L'adulation de star n'est pas parler de l'humain).

Le parisien


Parfois intéressant.

La presse quotidienne régionale


Presse de chiens écrasées, elle évite souvent les conflits avec les notables, donc vous entendrez parler de tout, et rarement de la vie de ses habitants.

Parfois un cuistot ou un serveur évoque anonymement l'enfer de l'hostellerie restauration et de ses abus. En page 12 coincé entre les procès retentissants, et pas loin d'une humoriste local défendant la cause animale.


NB : Mention spéciale à cette presse en générale et au Midi libre en particulier dont j'aime le français simple, facile à lire. C'est peut être pas hyper stimulant, mais quand je dois faire lire ma femme pour lui apprendre le français utile pour parler et écrire, ce sont mes journaux de choix.



Voilà ma liste des journaux que je lis parfois ou souvent en plus de ce qui traîne sur les tables : équipe, voici, gala, paris match, auto plus, la gazette de montpellier, l'écho du val d'oise, 20 minutes, métro ....

Entre nous, on devrait arrêter de subventionner la presse.

Too many knobs is not a good idea

Have you ever done the electricity board in a house and developed software?

If so, you will know the basics of not burning your house down: Keep It Simple Stupid.

Electric board are built by evenly setting the charge on segment in parallel, than chaining small sub segment in series.

The rule is balance the load on every segment, isolate them and every sub-segment.

A classical modern house will have 10 sub-segment being potentially in 0/1 states. Hence 1024 states which is quite a lot of complexity.
 
If you add equipment on the circuitry or incorrectly estimated your load compared to your input you may:
- use too much power compared to the input (resulting in power loss);
- use too much power compared to the size of your wire and overheat some cables hence having local overload.




If electricians did not knew their job it would happen, resulting in unsafe configurations. To find them a method would be to turn on and off every apparatus in the house to explore safe and unsafe configuration. Happily in 2016 it almost never happens in correctly built housing.

Something even worse could happen though: short circuits. if someone by laziness put a non protected segment directly on the main power and forget to limit its power output, you can overheat so much a wire it creates a fire.



Well, electricity boards best practice is a sane example of how to avoid disaster by tearing down a complex problem in simple practice. Still the «state» described by the list of all potential configurations is equal to 2^(number of switchs). So 10 apparatus is still a 1024 states.

Now let's talk of software. A software like mysql has 400 parameters. Some of them able to take discreet values ranging from 0 to all your memory (in size) others taking between selected values.



The number of states describing a software is way more complex than the number of states achievable by using a whole building integral electrical circuitry.

Worse : in computer isolation is like sex for the teenagers everyone talks about it, hardly anyone do it.

Hence in our software that are memory bound/CPU bound we often have parameters that antagonize one another.

In mysql so "mem" parameters affects the main engine, others the memory used to serve each requests. Some are global some are local. But memory is fixed in size. The job of sysadmins is a tad like an electricians trying to balance with the knobs knows as software configuration parameters the load on both CPU and RAM and IO  so that your software is at max speed of working.

Software don't get under powered or short circuit. But if set wrongly the parameters can make the software degrade its performance in a chaotic dramatic way.

For instance : memory access is around 4 to 100cycles in cache, 1500 to memory, a lot to hard drive, SSD and network.

Your worst nightmare is swapping: running out of memory and having to freeze/thaw data from out of the silicon of the motherboard.

So, with 400 parameters that are not isolated from one another configuration is for a human impossible.

Most wannabe consultant will say: I do not care the price of memory is so cheap we can still buy more memory, I will object that L1/L2/L3 are not extensible and they yield up to 100x improvement in speed. Others will say, as long as it works even slow it still works. I will object that slowing by 10000 thousands your requests may make your request timeout.

The simple part of scalability/availability (mysql doc)
In fact, performance problem snowballs. The more slow query/buffer are being filled, the more it will encumber your memory with relics of past queries in which the state is unknown.


Some sites like mariadb will propose you template. Some company can send you consultants. There is here another problem that I wish you to encounter : you can have success.

A misconception from developer of IT at my opinion is perfect memory is a memory that remembers everything.

My theory is a perfect IT system has a moving window of data that are kept with degraded precision over time and/or irrelevance. You wish your data to stay in a constant size of memory whatever the future is. The only data that should be kept are the one that are relevant and that is information.

Most companies I have worked with let data grow in size while they let their database grow in numbers of entries. The growing number of users can be easily handled (horizontal sharding/partitioning). The other one requires to understand that database are relational. Which often means to be careful to try to make partitions that limits the hop in requests from computers to computers, burning up to 1000 000 000 cycles.   That is coupling the exact opposite of isolation.


On top of this you probably have web services requiring operations to happen in a timely fashion. Most companies just ignore capacity planning. They prefer «scalability». It is a generic term saying that they think they know how to double the hardware (and thus operational costs) and gain a 40% gain in throughput, ignoring the epsilon latency introduced in the process. Still hardware nowadays and electricity are still way lower than workforce. A daily coder's pay is worth a server. So why care?

So modern software have a nasty mathematical property by design, the more success you have the more bound you are to double your cost for every 40% increase in your user base on your underpowered services.

Still mysql doc: it is in the HA groups you add your servers for "scalability"


I know you double initially low expanses. But still it is an exponential growth that is more than linear ... inducing a diminishing return for the acquisition of new customers. And as Microsoft, google, facebook proved it, software industry is about network effects: the more people use your software, the more value it has. It is a realm of natural monopoly and diminishing return thus of prices having to grow the more a software have success.




In this I did not even dared speak of the effect of a failure due to a timeout propagating in a web of interconnected (coupled) services. These local software failures can dramatically trigger by a snowball effect the loss of mutualized resources... like amazon in eastern zone :)



My conclusion is the following; for simple reasons of too many knobs software are hard to configure, and there is no silver bullets (distributed databases, nosql also suffer this flow). I took the example of mysql because it is a fairly commonly used piece of infrastructure in backend technology. But on top of that you may have routers, firewalls, load balancers, memcached....

In computer industry at the opposite of electrical workers we seem to ignore in our models the costs of our lack of isolation and we create the equivalent of shortcuts. 

The too many knobs effect coupled with the lack of isolation triggers leaks of behaviour making our software able to fail in worst case in dramatic ways and propagate as far as affecting large unit of works (datacenters, cloud...).

Hybris is our problem. It is not there are bad developers out there that is the real problem. It is much more we believe in our capacity to handle a lot of complexity. But some level of complexity are not in the reach of our brain.

The software industry is ultimately human bound in its capacity to handle a given amount of complexity/information in its brain. 





Modern Computer Science is obscurantism disguised as science

Recently I decided to get back to the basics and question my use of classes/frameworks.

I tried to find a definition of the word framework but weirdly this word is a tautology, no one knows what it is, but it refers at itself for something people use to get the work done through the use of external knowledge. But can you manipulate knowledge you do not understand?

This word has been broadening so much that it globally is a synonym of a shortcut for standing on the giant's shoulder without having to do the painful process of climbing painfully all the way up by learning. Framework are actually for me a synonym for an intellectual shortcut ; they are the foundation of cargo cult programming. And I want to illustrate it with a python code example to draw a wall clock without libraries except for importing constant (exponential and PI) and drawing.

So I will introduce an anti-framework that makes you have less dependency based on taking no shortcuts : science. Not the ones of computer science and university, the one that also is useful in the real world, hence a more useful tool than framework. Something that can help you compute solution with a pen and paper fast. And for which you can check the results of your code. The science taught in high school that requires no degrees and that we are supposed to know when we are given the responsibility to vote. The one that help you make enlightened decisions as a citizen for the future.

For the example I will use a simple use case with code: an analogic wall clock. I will treat different problems: 2D & 1D geometry, sexagesimal basis, drawing the hands, computing time without datetime.

Scientific reasoning to be understandable before coding requires that you explain what you are doing and how. To introduce the problem in a simple, yet consistent way so people do not understand the code, but the mental process to interpret the code, thus to define rigorously your concepts and definitions. The stuff Agile hates : explicit requirements and clear definitions of concepts, rigor.
 
What is time?

Time in its usual form hour/minute/second is inherited from Sumerian civilization. A civilization that was localted in Irak -whose archeological wonders occidental civilization took part in destroying- that has brought mathematical knowledge to the world thousands years ago. It was designed by people having no computers but knowledge of the fact earth is round, having simple use of fractions and basic geometry. Time cannot be manipulated without understanding that earth is round and that it revolves around the sun and that noon is dependent from your location.  12:00am is set on when the sun is at its zenith for a given place. Which is basically an invariant on a meridien. Giving time, is giving a relative position of earth according to the maximum potential exposition to the sun.

The base of 60/60 is useful for astronomers using sticks/shadows and is quite powerful in low tech context. 360° (minutes * seconds) is a measure of the rotation of the earth according to a reference (noon) and since the angular speed of earth is constant, it is linearly related to time. Time measure the relative angle from your position according to noon in a referential where earth is rotating around its north/south pole axis. It is periodic. It is thus a measure of phase/space. Usual time is a space measure.

The python time() function is an expression in a base 10 of the time elapsed since 1/1/1970 according to your geographical position without all political biases (except TZ).
Localtime is the correction with leap seconds, DST .... and politics. Something defined by arbitrary rules that is far to be a one best canonical way.

Each hand on a wall clock rotates with a speed according to its rank in the base.

Seconds rotates at the speed of a 60th of a turn per seconds.
Minutes are 60 time slower
Hours ... are 24 times slower, but by convention, we prefer to make it with a period of half.
Basis conversion be it base 10, 2, or sexagesimal is a CORE concept of computer science. It is a core requirement every developers should be able to do it without libraries.

I am gonna introduce a convenient tool for doing geometry : the Moivre formula that will do the heavy lifting :

exp( i * theta) = cos(theta) + i * sin(theta)
https://en.wikipedia.org/wiki/Complex_number

To understand the following code, understanding the geometrical relationship between complex notation, cartesian/polar coordinates requires learning and rigor. And there is not shortcut for it.

I don't know why, python is confusing j and i. And I hate IT, it is like a slap to the face of people using science.
i is defined by i² = -1 python decided to call it j
j is traditionally defined by a number such as  j**3 = -1 for which the imaginary part is positive. Thank you python for not respecting mathematical conventions, it makes this confusing.

I guess it falls into the tao of python
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.



That is not the first time I have a beef with python community when it comes to respecting mathematical notations and their consistent use. I could dig this topic further, but it would be unfair to python which is not even the community with the worst practices. 

So without further ado here is the commented code without the noise of colors. Brutal code.
(Colored version here)


import matplotlib.pyplot as plt
from time import sleep, time, localtime

# Constant are CAPitalized in python by conventionfrom cmath import  pi as PI, e as E
# correcting python notations j => I  
I = complex("j")

# maplotlib does not plot lines using the classical
# (x0,y0), (x1,y1) convention
# but prefers (x0,x1) (y0,y1)
to_xx_yy = lambda c1,c2 : [(c1.real, c2.real), (c1.imag, c2.imag)] 

# black magic
plt.ion()
plt.show()

# fixing the weired / behaviour in python 2 by forcing cast in float

# 2 * PI = one full turn in radians (SI) second makes a
# 60th of a turn per seconds
# an arc is a fraction of turn
rad_per_sec = 2.0 * PI /60.0
# 60 times slower
rad_per_min = rad_per_sec / 60
# wall clock are not on 24 based because human tends to
# know if noon is passed
rad_per_hour = rad_per_min / 12

# I == rectangular coordonate (0,1) in complex notation
origin_vector_hand = I

size_of_sec_hand = .9
size_of_min_hand = .8
size_of_hour_hand = .6

# Euler's Formula is used to compute the rotation
# using units in names to check unit consistency
# rotation is clockwise (hence the minus)
# Euler formular requires a measure of angle (rad)
rot_sec = lambda sec : E ** (-I * sec * rad_per_sec )
rot_min = lambda min : E ** (-I *  min * rad_per_min )
rot_hour = lambda hour : E ** (-I * hour * rad_per_hour )

# drawing the ticks and making them different every
# division of 5
for n in range(60):
    plt.plot(
        *to_xx_yy(
            origin_vector_hand * rot_sec(n),
            .95 * I * rot_sec(n)
        )+[n% 5 and 'b-' or 'k-'],
        lw= n% 5 and 1 or 2
    )
    plt.draw()
# computing the offset between the EPOCH and the local political convention of time
diff_offset_in_sec = (time() % (24*3600)) - localtime()[3]*3600 -localtime()[4] * 60.0 - localtime()[5]   
n=0

while True:
    n+=1
    t = time()
    # sexagesimal base conversion
    s= t%60
    m = m_in_sec = t%(60 * 60)
    h = h_in_sec = (t- diff_offset_in_sec)%(24*60*60)
    # applying a rotation AND and homothetia for the vectors expressent as (complex1, ccomplex2)
    # using the * operator of complex algebrae to do the job
    l = plt.plot( *to_xx_yy(
            -.1 * origin_vector_hand * rot_sec(s),
            size_of_sec_hand * origin_vector_hand * rot_sec(s)) + ['g']  )
    j = plt.plot( *to_xx_yy(0, size_of_min_hand * origin_vector_hand * rot_min( m )) + ['y-'] , lw= 3)
    k = plt.plot( *to_xx_yy(0, size_of_hour_hand * origin_vector_hand * rot_hour(h)) +[ 'r-'] , lw= 4)
    plt.pause(.1)
    ## black magic : remove elements on the canvas.
    l.pop().remove()
    j.pop().remove()
    k.pop().remove()
    if not n % 1000:
        ### conversion in sexagesimal base
        print int(h/60.0/60.0),
        print int(m/60.0),
        print int(s)
    if n == 100:
        n=0
   


My conclusion is frameworks, libraries make you dumb. It favors monkeys looking savant as much as pedantism in academic teaching is. People may try to point THIS is pedantic, but pedantism is about caring about the words and formalism, not the ideas and concept. It is like focusing on PEP8 instead of the correction of the code. Pedantism is not saying correction is important, it is annoying developers with PEP8.

My code is saying the earth is round, that it revolves around the sun with a constant rotational speed, that noon is when the sun is at its zenith and happens periodically, that I have an harmonic oscillator in my computer that is calibrated to deliver me time with a monotonic growing functions, that we use a 60/60 base since millennials to represent time, that most of the problem we encounter with times are either political or due to an insufficient understanding of its nature. And that we can use complex numbers to do powerful 2D geometry operation in a compact, yet exact way that does not require libraries or framework. Complex numbers operations USED to be hardwired in CPU. They became useless, because people stopped using them by ignorance, not because they stopped being useful.

Our actual problem is not computer raw power, but education. Every coders using datetime modules should be sacked : datetime operations are (out of the TZ insanity) basic base conversion and 1D operations of translations projections. If a coder do not understand what numbers are, what time is, the difference between representations and concepts why do you entrust them manipulating your data in the first place? What do you expect?

That a thousands monkey will write you the next Shakespeare novel if you throw enough bananas at the monkeys?

We live in a time of obscurantists people using advanced concepts that looks like science, but are not.



I still find with the examples used for teaching OOP counterproductive

After the stupid example with the taxonomy of the species/car/employees that makes you do a lot of inheritance one of the valid use case for OOP is 2D geometry : points & rectangles.

This is the python example in wiki.python.org
https://wiki.python.org/moin/PointsAndRectangles

Don't worry, python is one of the many language doing this class. It is an actual use case for learning classes.

200 lines of code and you do nothing. Not even fun

Except in python complex is a base type, and I learned the use of complex numbers when I was  in public high school in my sweet banlieue. (a place said to be full of delinquents and uneducated kids)

Then I thought : with just simple math how hard would it be to just draw two polygons one of which rotated with the python base types? 
How hard is programming when you keep it simple?

Here is my answer in less than 10% of the initial number of lines of code and a drawing to illustrate how hard it is :


from PIL import Image, ImageDraw
# short constant names a la fortran
from cmath import pi as PI, e as E
I = complex("j")
 
to_x_y = lambda cpl: (cpl.real, cpl.imag)
im = Image.new("RGB", (512, 512), "white")
draw = ImageDraw.Draw(im)
rotation = E**(I*PI/3)
homothetia = min(im.size[0], im.size[1])
trans = homothetia/2
homothetia /= 2.5
polygone = (complex(0,0), complex(0,1), complex(1,1), complex(1,0), complex(0,0))
bigger = map(lambda x: x * homothetia + trans, polygone)
bigger_rotated = map(lambda x: x * rotation, bigger)
draw.line(map(to_x_y, bigger), "blue")
draw.line(map(to_x_y, bigger_rotated), "green")

im.save("this.png", "PNG")

I don't say classes are useless, I use them. But, I still have a hard time thinking of a simple  pedagogic example of their use. However, I see a lot of overuse of Object Oriented Programming to try to make people able to use concepts that are not accessible without basic knowledge. OOP is no shortcut for avoiding to learn math, or anything else. If you don't understand geometry and math, you will probably be whatever the quality of the class given unable to do any proper geometrical operations.

We need OOP. But the basic complex type far outweigh in usefulness any 2D geometry classes I see so far without requiring any dependencies.  And I never saw in 5 years complex types used even for doing 2D geometry, however it seems the alternative buzzword to OOP -including numpy- is so making you look data scientist and pro! 

So what is the excuse again for not using something that works and is included in base types with no requirements for doing geometry when we say that games could be a nice way to bring teenagers to coding? Are we also gonna tell them learning is useless and that reinventing the square wheel is a good idea? Are we gonna tell them to not learn because we have libraries for everything?

For the fun I did an OOP facade to complex as point/rectangle but seriously, it is just pedantic and useless. But still 50% less lines and more useful than the initial example.