Vim is not elitist: it likes you the way you are.

To the complexed vim users, don't be.

I was. A long long time ago :)

I am a true believer of vi(m) since I had to do sysadmin task on freeBSD that did not have my usual emacs in a panic moment on a production server.

Prior to this BSD experience I new just 10 tricks on vi. These tricks were still working!

Vi (and I so love vim because I am not truly a true believer) saved my life.

It works right for so long. In a kind of conservatism I respect.

The only one. The one that makes you stand on firm grounds. Like most of the times unix, SQL, HTTP, TCP ...

Yes conservatism saved my life so many times that I am now a conservatist.

And instead of mastering the art of vi weired beautiful features (I so wish I knew), I learnt to learn.

I learnt to learn in all technologies the 10 tricks to save my life and master them.

So, since the day vi saved me, I still hardly know more than 10 commands. But, I cherish them. And I cherish the way vi loves me: the way I am. I am a lazy ungifted user of text editors that don't want to become an expert in a tool when he has a job to do.

Thanks -beautifully hard to handle bastard of- vi to exist the way you are!
You saved me, more than once, and I owe you.  

For vi users that would be complexed to have become experts I would tell you not too. I looove like every vi user to be told of new tricks I ignored.

Vi is elegant, vi is non discriminative. It suits all kind of intellectual thinking.

At the condition you accept to learn 7 tricks. (escape mode, insert, wq, undo, search, dd, p) :) You are free to stack your 3 favorites in your own brain and maybe more....

1 seconde de nawak

C'était la 3éme fois ce mois-ci qu'il s'énervait en cours, c'est normal qu'il fût envoyé ainsi voir le dirlo.

Mais merde, comprenez-le! Ça fait, depuis qu'il a 10 ans qu'il veut faire de l'informatique. Et chaque année depuis 5 ans on le ballade. Un coup c'est: tu verras on commence les cours pratique l'année prochaine, l'autre c'est il faut avoir un doctorat d'informatique pour avoir accès aux machines depuis cette année.

Je veux dire, ils sont gentils les papys. Mais les bouquins qu'ils semblent pas lire le hurlent tous: les diplômes en informatique et l'expérience au delà de deux ans ne font ni des plus mauvais ni des meilleurs développeurs que les autodidactes. Dans les grandes lignes, leur permis de coder blackboule seulement les autodidactes, pas les incompétents. C'est du flan, et ils le savent.

Ils prétendent que les meilleurs doivent avoir une tête bien faite pour changer le monde: ils me les broutent menues. Je connais le monde; si ton ennemi dit que c'est au nom du savoir qu'ils te bloquent l'accès à un truc qui plait. Et bien apprends en plus que lui sur son domaine, et cloue lui le bec.

Donc, m'vla convoquée. Ouais, je sais c'est perturbant la voix off qui me décrit comme un mec. Ou moi qui me prends pour une fille. J'sais pu.

Bon bref, troisième fois que je retourne devant ce vieux impavide qui va me poser les mêmes questions. Pourquoi je fais ça, qu'est ce qui me pousse à penser que j'ai raison. Il a pas vraiment l'air furax en fait. J'ai plus l'impression de passer un examen et que le pauvre gadjo attends la réponse qui le délivrerait. Comme Charon espérant l'obole.

Fukc, je suis remontée, j'y vais aux gonades boostées. Tant qu'à faire la vie est trop courte pour renoncer à ce que l'on a envie de faire.

Ainsi, gonflé aux hormones notre brillant étudiant se dit, en fait, (cela étant sûrement du à la surconsommation de champi plus tôt dans l'année): c'est juste une IA à qui je dois démontrer que je suis l'humain dont ils ont besoin pour les soigner. Parce que si ils nous éloignent d'eux c'est qu'on doit être dangereux, mais ils ont même temps besoin de nous pour les soigner parce qu'on a du mettre des bugs.
Ainsi armé d'un raisonnement sans faille qui ferait honneur au plus sain des sysadmins windows que j'ai rencontré jusqu'à maintenant, notre héro s'approche.

Hum, j'ai compris.

Tu as besoin de comprendre pourquoi je suis apte à faire de l'informatique, et pourquoi c'est de moi qui vais prendre ton relais.

Et bien facile.

L'informatique -toi- dit-il, ne peut être intelligente.

Tu peux me battre sur certains domaines qui nécessitent des explorations exhaustive de possibilités. Les échecs, les réussites peut être aussi.  Tu peux même encore  optimiser.

Mais, tu ne sais pas tricher. Pour te convaincre que je peux te remplacer, j'ai juste à fournir une preuve formelle que j'ai compris tes critères.

Tes parcours d'arbres augmentent pour augmenter ta précision (en combinant de nouvelles informations) ou ta profondeur (ton nombre de coups). Pourtant,tu  es obligée -chère informatique- de constater que les humains peuvent de manière consistantes prédire des actions avec précision et peu d'informations. Comme, par exemple quand ma tante arrive avec le pas trop guilleret on sait qu'elle va cuisiner et on évite de rester manger.

Ce miracle constant, par exemple pour estimer avant sa réalisation d'une recette de cuisine rien qu'en regardant les ingrédients; c'est l'intuition.

Les ordinateurs peuvent le mesurer, mais ils ne peuvent pas le reproduire car leurs parcours d'arbre sont à ressources explosives. Donc ils peuvent savoir qu'il existe quelque chose qu'ils n'ont pas: la créativité.

Certaines fois aucun mots ne peuvent décrire la délicate limite entre un silence gêné et religieux.

Bon, je suis un peu surpris: mais tu viens de passer l'examen au troisième repêchage. Mais, je me demande si t'as bien compris?
Et je veux pas le savoir donc je vais t'affranchir parce que c'est là règle. La première règle consistait à décider les élèves aptes à statistiquement détecter une non conformité basée  sur des éléments statistiques. Et donc on devait sélectionner des gens capables de douter du bien fondé des normes quand elle déviait trop de leur finalité initiales. Et tu comprendras pourquoi à ton deuxième examen.

Et le deuxième était de trouver quelqu'un de trouver qu'il devait y avoir une règle cachée pour accéder au système et faire la procédure suivante: trouver les indices logiquement accessibles, voir le directeur (se faire convoquer est rarement la méthode choisie, en général, les gens demandent un rendez-vous), et faire une dissertation amusante sur le sujet de l'année "comment faire comprendre à une IA qu'elle n'est pas humaine?". 

Je veux dire, on avait laissé des indices partout, les horoscopes, les magazines autos et féminins, les rumeurs, et même dans les mots croisés du times.

Enfin, bon, t'es passé, t'es passé.

Et c'est ainsi, que je termine le premier chapitre parce que j'ai le deuxième en tête et que j'ai la flemme de continuer.

:) 

Pourquoi google investi dans les énergies renouvelables

Oki, je vais vous apprendre une nouvelle: l'informatique est "énergie bound".

Les informaticiens aiment les raisonnements "unbounded". L'énergie est limitée.

Oki, vous pensez que c'est négligeable?

Il y a 10 ans un petit net center qui routait 5% du traffic français vers l'international consommait la force électrique d'une ville de 40K habitants.

40k = 5% du traffic

N'oubliez pas que pour un ordinateur qui sert, il y en a n fois plus qui lisent. qu'il faut l'alimentation des fibres ....
Puis en 10 ans les infras, les flux, les consommations de bande passante, de complexité ont augmenté. Donc, on est en toute logique plus polluant que l'industrie aéronautique. Cela n'est pas négligeable comme un truc d'huluberlu qui cherche les poux avec un epsilon.

Tout le monde sait que ses coûts sont négligeables. Et, ils le sont. Mais, l'essentiel et qu'il y a une conséquence évidente.

Si l'énergie est une ressource limitée alors le temps de calcul total l'est aussi.

Avec l'énergie renouvelable on peut espérer éventuellement au mieux un nombre maximum total de cycle de calcul par jour.

Oui, je dis que l'informatique devrait prévisionnellement consacrer un nombre de cycle de calcul nécessaire à rendre l'informatique autosuffisante en énergie. Sinon, personne ne peut avoir confiance en sa durabilité.


Si nous numérisons tout notre savoir, mais que l'informatique ne peut plus fonctionner faute de ressources, on est mort.

Quand cela arrivera-t'il?

On ne le sait pas, mais ce serait drôlement bien de le savoir.

Imagine que c'est dans 20 ans et que ton fils te demande pourquoi on a perdu tout le savoir du monde, et que tu lui répondes: ben désolé, on savait que ça allait arriver, mais on a pas pensé que ce serait à nous, donc on a pas vérifié. 

T'aura pas l'air con, hein?

Bon, tu peux aussi faire comme google et investir dans ton énergie. 

Cheatsheet : howto choose your free software license wisely

Cover your ass

There is one huge reason to have a license for your code: cover your ass.

Designing, and implementing software is so complex no one can guaranty that it will work. So -as in any "serious" software license- you should state that you decline any liability if someone is stupid enough to think there will be no bugs.


Some idiots think that a license is necessary to assert your moral rights (you did the code). No. Code either is automatically covered by international conventions, conventions that grants you automatically full ownership at divulgation (prior act), or it belongs to the company you work for.

A good license is strictly defensive against morons. It must at least explicitly states:
  • the code is yours and you should be credited for it, because ignorant people (IP pro included) forget about the international conventions (Bern/Genève);
  • that you are not liable if an idiot uses your code for a nuclear power plant control resulting in a meltdown 'cause you never stipulated your code was "100%" correct (I know, it is in the nature of software, but people are really stupid);
  • that you -not protecting the code against copy- does not mean people can claim ownership of it and cock block anyone from using/sharing/studying it later (espcially YOU). 
Why are we that paranoid? Ask Tesla and a lot of others brilliant minds that gave away knowledge without securing it.  Because, we learn of history: there are idiots, there are ignorants with authority that can sue you, and opportunists guru in California. Trust but protect.

Idiocy and incompetence are the most important threats in risk assessments... 

If your code is shitty or you are clueless about QA: publish under GPLv3 (and later)


QA is the art of improving your code with the feedback of your users. If you are not ready to support the hidden cost of software maintenance (bug fixing, evolution, packaging, documentation, interacting with API providers): you are doomed.

Good code without QA rot.
Bad code even with QA will never evolve in good code.

If you ignore this user will know the obvious. You are bad at software development, you will be bashed by the best, adulated by the worst. Choose carefully if you prefer to be mediocre amongst the bests or best amongst the idiots.  

Poor / bad software eventually may have a good reputation (PHP, gnome, GCC, automake/conf, openoffice, some linux distributions). And you may -like them- publish free software. Then my advice is, please, publish in GPLv3+.
These licenses are bad by design and hopefully they will trap you in an ecosystem where you won't pollute (too much) the effort of serious developers to improve the software/OS...

It may take decades for most to realize GPLvx+ license and some "good software" are intrinsically flawed. But I am sure the understanding will gradually come. For now GPLv+ licenses are polluting the ecosystem (cost), but they are a wonderful tool to discriminate the developers with a poor understanding of what coding really is (usefulness).  
 

Efficient license because a one man army should focus

 
License, QA, documentation, community management, testing, sharing, packaging, architecture ... every software requires a lot of different skills. A software is often the result of the effort of only one person.
Free software is often crafted on free time. You want to minimize the impact of the "parameters" that are out of the code.
All the aforementioned skills are "hidden variables" that will constrict your code and divert precious energy from the fun part. The less constraining a variable is, the better it is.

With GPL you are expected, logically, to handle all the contributions you are de facto triggering (else what's the point of GPL?). Like bad code from clueless companies.

Do you really have time to waste on mentoring the noobs submitting poor code/issues into becoming seasoned developers?

No.

You should focus on making great softwares, not teaching zealots in the truth of coding: the license does not make miracles. Publishing free software code does not grant super powers or skills as a coder. 

If you are in the "ethic aspect", then a good license should not disappoint you and should not make you waste your energy in vain deception.


The deception of GPL: it cannot be enforced

On what grounds a judge will base its reasoning and the amount of money gained from license violation? The money you lost.

No judges or developers understood that the asset is not the code but the reputation of the coders. The reason why nessusd stopped being GPL only is because GPL sux! (Btw the reputation is not assessable \o/)

Nessusd (a CVB scanner) was plagiarized and embedded in security appliances from the exact same companies giving a bad name to nessusd as a "free software thus unsecure amateur code".

Every time Renaud Déraison went for trial, he lost money; he had to spend money preparing the case, but was not granted to win. And when the judge would estimate he won, the prejudice for a free software were close to null. Thus, he was loosing time (time=money) while compelled by the license to help his "competitors" that were using his own code to prove their point of him being an amateur.

We live in an era of marketing were so called geeks are in fact marketers. Marketers packaging already existing software and selling fantasm. Steve Jobs, Big Data community, security based companies... It is a shame, but a license will not change that. Don't put too much hope in the power of license. Else you will get demotivated.

The factorial headache of license combinations

Every so called open source license may be varying in certain degrees in their conditions of use based on :
  • the condition of use (is it a web app hosted? Is it embedded? will it be used as a standalone library?);
  • your potential use (CC NC ...). (Non commercial license are NOT opensource or free software. they are plain proprietary licenses marketed as free by indigent enthusiasts and marketers disguised as lawyers (yes, I think of Lawrence Lessig));
  • the context in which you release it (commercial company, personal project);
  • multiple licensing;
  • the licensing of the IP (patents) needed to make the code;
  • ...

A FLOSS license compatibility matrix today would need even with a faulty approach a 100x100 matrix. If we had the validity domain sub items, add 10 items per license (1000 x 1000 items to scan).


If you choose: apache, GPL, MIT, or any other "5 aspirins" licenses (rated on the number of aspirins you need before plainly understanding them), you introduce uncertainty in the ability you give your software for integration.

A good one man army is a control freak. Release the useless constraints to focus on what can be achieved.

Choose licenses that you understand that are clever and have achievable claims if you need to enforce them.


Useless conclusion

As a word of conclusion I will tell you what a good license is. It is a text that you should understand and you should decide on your actual rationale. If you think GPL is the good one: please, I beg you, do not change your mind.

You should be strongly opinionated, because you are investing in your future. You will rely on it, you should like it, be ready to go to court in case of litigation. You should have a license that matches the energy you wish to divert from coding in a purpose of efficiency. No middle ground exists, and it should be your call, not RMS', ESR', CC's or whoever, or even mine. So RTFL and choose wisely.


I can tell you what licenses I like. Not on a legal point of view but on an affective point. Here are my prefered one:

WTFPL: rock'n roll & concision;
BSD 2 clauses:  elegance and concision;
PSL, PAL : because I don't like choosing if I use Perl or python. I use the "default" one, that is easier to integrate in the ecosystem I code in;
PAL: because it is has artistic in the name, and it makes me feel creative;
License Art Libre: okay, I really don't like the fact it is a GPL like for data. But I like the idea of non coders becoming active stakeholders and thinking about the convergence of Free (Original) Content that can integrate in Free Softwares.