Bonjour,
Vous connaissez less
, l’utilitaire à la ligne de commande pour visualiser des fichiers textes ?
→ article sur Wikipédia sur less
Eh bien, voilà une petite histoire sur less
.
En voulant configurer aux petits oignons l’utilitaire less
j’en suis arrivé à me demander comment définir les variables LESS_TERMCAP_*
dans la configuration ~/.less
avec l’utilitaire lesskey
. Et j’ai trouvé que je n’étais pas le seul dans cette situation, avec une question similaire posée par Cyker : https://unix.stackexchange.com/328597.
J’ai donc relevé mes manches et avec l’aide de gdb-dashboard, et au bout de nombreuses heures, j’ai fini par cerner que les variables en internes représentant les valeurs de LESS_TERMCAP_*
étaient initialisées avant le chargement de la configuration ~/.less
. J’avais beau les configurer correctement dans ~/.less
, mes paramètres de configuration LESS_TERMCAP_*
ne pouvaient pas être pris en compte !
Je commence par expliquer ma trouvaille : https://unix.stackexchange.com/a/377221.
Et me vient l’idée de faire un rapport de bogue aux mainteneurs de less
, dont je trouve rapidement la page Web : http://greenwoodsoftware.com/less/.
Je contacte son unique mainteneur, Mark Nudelman, qui est aussi son auteur originel depuis 34 ans ! Et commence une collaboration éphémère par courriel afin de trouver une bonne correction sans régression.
Ce fut pour moi un moment intense en émotions, où non seulement j’ai échangé avec l’auteur du (d’un des) logiciel(s) le(s) plus utilisé(s) de toute l’histoire de l’informatique, mais en plus, Mark Nudelman est un des rares développeurs à continuer de maintenir activement son logiciel après 34 ans d’évolutions de révolutions informatiques, c’est une légende !
Dans notre dernier échange, j’ai demandé timidement s’il serait d’accord d’accorder à LinuxFr.org un entretien. Et voici que Mark Nudelman vient tout juste de donner sa réponse :
Do you mind, if I ask you some questions to publish on LinuxFr.org?
I hope you agree for the interview.Sure, it’s fine with me if you want to ask some questions. But if you ask details about the early days of less, I can’t guarantee that I’ll remember the details from over 30 years ago!
--Mark
Donc, c’est oui, Mark est partant.
Ce qui est incroyable, c’est qu’en parcourant le code source de less
(et de lesskey
) on retourne à l’informatique des années 80 et des années 90. Mark semble prendre soin de garder une compatibilité avec les vieux compilateurs et les vieux systèmes de ces années.
Il y a même des #if OS2
! Mais il paraitrait que OS/2 soit encore apprécié et utilisé (disponible de nos jours sous le nom de eCS/2, mais là c’est une autre histoire).
Très récemment, Mark vient de migrer sur Git. Depuis très très longtemps, Mark utilisait RCS (RCS est aussi une histoire incroyable, publié en 1982, sa version 5.9.4 est sortie en 2015).
Quelles questions avez‐vous envie de lui poser ?
# Super idée
Posté par F(log) . Évalué à 7.
Merci pour ta communication avec Mark Nudelman.
J'en profite pour proposer une question:
- Comment ressent-il l’évolution des interactions avec les utilisateurs et contributeurs de less depuis ses débuts?
# Autre question
Posté par Sylvestre Ledru (site web personnel) . Évalué à -1.
[^] # less en Rust
Posté par M5oul (site web personnel) . Évalué à 3.
less
semble déjà implémenté dans le projet Redox OS.Après, je ne connais pas son avancement. S’il implémente toutes les fonctionnalités de
less
en C.# Autre langage
Posté par Guillaume Denry (site web personnel) . Évalué à 5.
A-t'il déjà été tenté de redévelopper
less
avec un langage plus moderne ? Et si oui, lequel ?Has he ever been tempted to redevelop
less
with a more modern language? And if so, which one?[^] # Re: Autre langage
Posté par zurvan . Évalué à 4.
Je cite le journal : « Mark semble prendre soin de garder une compatibilité avec les vieux compilateurs et les vieux systèmes de ces années. ». Du coup pour le langage plus moderne, faudra repasser, je ne pense pas que brainfuck ou go soient portés sur OS/2 !
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: Autre langage
Posté par Guillaume Denry (site web personnel) . Évalué à 4.
Certes, mais je tiens quand même à revenir sur le mot "tenté" de mon premier commentaire.
[^] # Re: Autre langage
Posté par Maclag . Évalué à 5.
Tu veux dire un langage moderne tel que Cobol?
-------------> [ ]
[^] # Re: Autre langage
Posté par David Marec . Évalué à 1.
Par exemple,
C11
?# ?
Posté par rewind (Mastodon) . Évalué à 10.
[^] # Re: ?
Posté par Guillaume Denry (site web personnel) . Évalué à 5. Dernière modification le 26 juillet 2017 à 10:55.
Sans prétendre pouvoir répondre à la place de l'auteur, oui, c'est même sur la page wikipedia du projet : more ne permet(tait?) pas de remonter dans le flux.
[^] # Re: ?
Posté par deuzene (site web personnel) . Évalué à 10.
less
soit développé/maintenu par une seule personne ?less
?« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: ?
Posté par alkino . Évalué à 2. Dernière modification le 26 juillet 2017 à 11:07.
La réponse se trouve sur son site : http://greenwoodsoftware.com/less/faq.html#history
[^] # Re: ?
Posté par gaaaaaAab . Évalué à 3.
Le README dit que less fait partie du projet GNU, et, sauf erreur de ma part, tous les projets liés à la FSF ont migré en GPL-3. Je pense que ça explique le choix de la GPL-3, mais ça serait toujours intéressant d'avoir son avis sur les licences libres, et la GPL en particulier.
# questions
Posté par Benoît Sibaud (site web personnel) . Évalué à 10. Dernière modification le 26 juillet 2017 à 10:52.
more
etmost
notammentless
paraît faussement simple, et pourtant la liste des demandes ne désemplit pas. Où est la complexité ? Quelles sont les évolutions envisagées (feuille de route) ? Quel est l'historique et quelle est la dette technique accumulée ? Referait-il techniquement des choses différemment maintenant ?less
est-il le plus fier ? Et le moins fier ?[^] # Re: questions
Posté par Oliver (site web personnel) . Évalué à 5. Dernière modification le 26 juillet 2017 à 11:29.
Pour info, Mark en est déjà à la version 507, mais pas publiée.
De nombreux tests sont nécessaires, et si d'autres rectifications sont nécessaires, cela incrémente d'autant le numéro de la version.
On pourrait aussi lui demander d'où vient l'incrémentation des versions:
Et sa migration récente de RCS à Git:
less
) rejoigne une forge comme GitHub, GitLab… ?Tests:
less
)Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)
[^] # Re: questions
Posté par kna . Évalué à 6.
Ce journal (et ses commentaires) répondent en partie à la question
# question
Posté par Anonyme . Évalué à 10.
a t'il pu voir un changement dans la manière de programmer au cours de ces 30 ans, est ce que c'etait mieux avant ?
qu'elle a été sa première machine pour programmer ?
lorsque linux est sorti a t'il était entousiasmé par cet unix ?
qu'est ce que cela fait d'etre une légende ?
et d'avoir rendu service a des millions de personne ?
un port est prévu pour windows 10 ?
comment gerer correctement un logiciel sur 30 ans ?
a t'il deja perdu ses sources ?
[^] # Re: question
Posté par zurvan . Évalué à 8. Dernière modification le 26 juillet 2017 à 13:04.
Que pense-t-il de l'arrivée de la concurrence sous la forme de systemd-lessd, écrit en C#, qui remplacera less dans toutes les distributions linux (sauf Slackware) à partir de 2019 ?
« Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher
[^] # Re: question
Posté par Maclag . Évalué à 5.
Question sous-jacente:
Les Trolls étaient-ils aussi gros qu'ils le sont aujourd'hui à l'époque où il a commencé?
[^] # Re: question
Posté par eingousef . Évalué à 4.
Comment se fait-il que less ne contienne pas encore un éditeur de texte, un serveur mail, un jeu de démineur et un système d'init ?
*splash!*
[^] # Re: question
Posté par Maclag . Évalué à 4.
Parce que s'il faisait tout ça il s'appellerait Emacs! Ou Emin??
# Le nom du programme
Posté par jnanar (site web personnel) . Évalué à 7.
A-t-il déjà eu des retours négatifs concernant le nom du programme? Avec l'apparition des moteurs de recherche, un nom aussi courant peut poser des problèmes pour trouver des informations précises.
Avec le recul, est-ce qu'il ferait les choses différemment (implémentation, choix techniques, …)?
A-t-il des conseils pour les jeunes programmeurs qui se lancent?
# Plateforme de construction
Posté par purplepsycho . Évalué à 10.
Bonne idée.
# Bug ouvert ?
Posté par Vroum . Évalué à 2.
Qu'en est-il de la solution que tu proposes pour le chargement des variables
LESS_TERMCAP_*
? Est-ce que Mark Nudelman considère son inclusion dans une prochaine version ? Je n'ai pas trouvé de ticket sur:http://greenwoodsoftware.com/less/bugs.html
Merci en tout cas pour ton patch, j'ai toujours buté sur cette partie de configuration de less… et je n'aimais pas trop l'idée du wrapper pour définir ces variables.
[^] # Re: Bug ouvert ?
Posté par Oliver (site web personnel) . Évalué à 4.
Salut Vroum,
Attention la correction (patch) que j'ai proposé apporte son lot de régressions (j'ai honte du manque de tests de ma part). Mark est parti sur une autre façon de corriger ce problème et il m'a demandé de lui valider (là j'ai vérifié les changements et j'ai bien plus testé).
La prochaine version contient plusieurs changements et du nettoyage. Au bout de 34 ans, le code source de
less
n'est toujours pas stable, il continue des'améliorerse moderniser et de se complexifier ! Le diff entre la version stable actuelle et la prochaine est impressionnant pour un outil que l'on imagine ne plus bouger !Je ne sais pas quand Mark va mettre à jour les tickets sur son site web, ni quand est-ce que la nouvelle version sera publiée (cela peut être une idée de question). Mais ce qui est sûr c'est que la prochaine version de
less
permettra de lire lesLESS_TERMCAP_*
à partir du fichier de configuration~/.less
généré parlesskey
.Pour les détails,
lesskey
génère un fichier de configuration binaire (par défaut c'est le fichier~/.less
mais cela peut être différent).less
utilise par défaut le fichier~/.less
(mais peut aussi chercher un autre nom de fichier, prendre en compte la variable d'environnementLESS
ou une option de la ligne de commande). Quandless
charge ce fichier de configuration, le contenu est directement utilisé par un pointeur d'une liste de variable. A chaque fois queless
a besoin d'une variable, il passe le nom de la variable à une fonction qui la cherche dans la liste. Cela permet àless
de démarrer plus rapidement que s'il avait à décoder un fichier de configuration texte. De nos jours, ce gain est négligeable. Mais il y a une trentaine d'années…Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)
# Trucs et Astuces :)
Posté par Le Gab . Évalué à 0.
Essaye de grappiller des trucs et astuces, stp.
[^] # Re: Trucs et Astuces :)
Posté par Le Gab . Évalué à -6.
Pour ce moinssage gratuit? je peux vous traiter de connards?
Non mais je dis ça, je ne vois pas en quoi ma requête est déplacée.
[^] # Re: Trucs et Astuces :)
Posté par Marotte ⛧ . Évalué à 3.
Bah parce que « grapiller » quelque chose auprès de quelqu’un dont tu profites du travail tous les jours si, ça peut paraître un peu déplacé à certains.
[^] # Re: Trucs et Astuces :)
Posté par Le Gab . Évalué à -5.
Attend, tu te lis un instant???
Tu te fouts de moi? Il se fout de moi?!
Je te moinsse parce que tu dis vraiment n'importe quoi, c'en est indécent et non parce que tu m'aurais blessé dans mon être de beauf blanc d'une majorité qui opprime.
[^] # Re: Trucs et Astuces :)
Posté par Marotte ⛧ . Évalué à 6.
Alors que la documentation de less ne laisse pas à désirer, me semble-t-il, et que je doute que tu aies déjà toi-même mis en pratique l’ensemble des « astuces » qui sont par exemple présentées ici : https://linuxfr.org/users/barmic/journaux/back-to-basics-avoir-un-excellent-pager-avec-less
Avec ta formulation tu sous-entends que le mec (l’auteur de less), qui accepte de donner un peu de son temps, est en quelque sorte avare de conseils, et d’astuces comme tu dis. Il y a des questions beaucoup plus pertinentes, par exemple : « Avez-vous connaissance d’une utilisation particulièrement astucieuse de votre programme que vous n’aviez pas prévu ? »
Je t’explique juste pourquoi certains (dont je ne fais pas partie !) t’ont moinssé, puisque que tu dis que tu ne comprends pas.
Je ne savais pas que que tu étais blanc.
[^] # Re: Trucs et Astuces :)
Posté par freem . Évalué à 2.
Ca saute pourtant aux yeux quand tu regardes son avatar… il est blanc et noir avec un peu de jaune.
Hop moi je sors
# Question vim
Posté par J Avd . Évalué à 2.
Le logiciel a beaucoup de comportements proches de vim à l'utilisation, utilise-t-il une bibliothèque vim ou reproduit il simplement les comportements ?
"Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"
[^] # Re: Question vim
Posté par gouttegd . Évalué à 10.
Je suggère respectueusement que l’on évite de lui poser des questions dont la réponse se trouve en consultant le code source… less est un logiciel libre après tout.
En l’occurence, aucune trace dans le code d’une quelconque « bibliothèque vim ». L’auteur ne cache pas que « les commandes sont basés sur vi et sur more », mais a implémenté lui-même les comportements en question.
[^] # Re: Question vim
Posté par freem . Évalué à 2.
Comme?
Pour moi, la principale caractéristique de vi, c'est le côté modal, je n'ai pas l'impression que less implémente un truc dans ce style?
# questions
Posté par Jiel (site web personnel) . Évalué à 5. Dernière modification le 27 juillet 2017 à 09:32.
Quel logiciel auriez-vous aimé avoir écrit ?
Which software do you wish you had written ?
Quelle distribution utilisez-vous présentement et pourquoi ?
Which distribution are you currently using and why ?
Quel est le plus grand danger pour vous pour le logiciel libre aujourd'hui ?
What is the main danger that faces free software today ?
# Modifications d'architecture
Posté par VictorLambret . Évalué à 9.
# et pendant ce temps-là
Posté par feth . Évalué à 5.
34 ans c'est quasiment une vie professionnelle complète, un intervalle entre l'école et la retraite : s'il le souhaite, Mark Nudelman peut-il nous dire comment il a financé le temps de développement sur
less
, s'il a aimé ce qu'il a fait par ailleurs ?Mark Nudelman a-t-il eu des compagnons de développement à certains moments ? A-t-il été proche d'autres projets ?
# Sécurité
Posté par cluxter . Évalué à 2.
Est-ce qu'il a déjà été approché par des services quelconques pour affaiblir la sécurité de son code ?
[^] # Re: Sécurité
Posté par Kerro . Évalué à 2.
S'il est étasunien, il n'a pas le droit de le révéler. Ou du moins pas directement.
[^] # Re: Sécurité
Posté par cluxter . Évalué à 3.
S'il répond "Non", alors c'est non (normalement).
S'il répond "Je ne peux pas en parler", alors c'est oui.
[^] # Re: Sécurité
Posté par eingousef . Évalué à 6.
Ou alors il peut dire un truc subtil du style I was approached by people who were interested about "less security"
:P
*splash!*
# Motivation
Posté par spell (site web personnel) . Évalué à 1.
Comment fait-on pour rester motivé pendant plus de 30 ans à maintenir un logiciel ? Quel fut le moment de doute et découragement le plus important ? A l'inverse quel fut le moment le plus joyeux ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.