Le journal suggère quand même que la cause de l'arrêt d'Atom est le rachat par Microsoft, et que l'arrêt est fait dans le but de favoriser VS Code. Alors certes ce n'est pas « méchant Microsoft » mais ce n'est ni neutre, ni « gentil microsoft » :)
Avec les écrans qu'on a aujourd'hui il n'y a pas de raison de se limiter à 400 lignes. Moi avec mon 50 pouces installé en portrait, je mets une police 6 et je peux afficher 73269 lignes sans problème.
Je comprends ta souffrance et pourtant ça ne me semble pas évident. Quand je repars sur des trucs simples, j'en reviens toujours à ressentir les mêmes effets :
trop de lignes dans le fichier : « c'est le bordel, ce fichier fait trop de trucs »
trop de trucs enfouis dans le bazar : « pas moyen d'écrire un test unitaire pour cette fonction déclarée statique au fond d'un fichier avec dépendances à des variables globales » (ça marche aussi avec trop d'encapsulation)
au bout d'un moment j'en ai marre et je range : « et vas-y qu'il faut que je déplace tout le bazar, et vas-y qu'il y a des dépendances implicites et des raccourcis moisis ».
Alors avec le temps je préfère encore une arborescence plutôt vide qu'un petit tas de trucs empilés en vrac :) La simplicité, je la cherche ailleurs : calmos sur l'OOP, calmos sur la metaprog, calmos sur les dépendances third party (outillage ou libs).
Pour le multi-dépôts je n'ai pas encore tranché. J'aime que ce soit séparé et isolé, mais d'un autre côté le mono-repo est bien confortable pour les refactos et pour retrouver tout le projet dans un état donné.
Au boulot on utilise la stratégie que tu décris. Nous avons environ 30 000 lignes d'assembleur (en utilisant des intrinsèques, ce qui est quand même plus pratique que l'assembleur brut) et la principale motivation est d'avoir ces fonctions aussi optimisées que possible. Le meilleur moyen d'y arriver est de les écrire avec les instructions que nous voulons voir dans le binaire. Le cadre est assez fixe cela dit puisque nous visons un seul couple architecture/compilateur.
Nous avons aussi une version C pour chaque fonction optimisée, à la fois comme fallback mais aussi comme référence pour la version assembleur.
En pratique on remarque que certains compilateurs arrivent à émettre de l'assembleur équivalent à celui écrit à la main depuis fonctions C. Ce n'était pas le cas avec de plus anciennes versions.
Perso je trouve qu'il nous manque quelque chose pour mesurer le gain apporté par les fonctions optimisées, pour voir si elles sont toujours pertinentes. Nous avons des mesures globales, qui englobent toutes les optims, mais rien individuellement. J'ai bien entamé un truc à base de Google Benchmark mais ce n'est pas évident d'avoir un test représentatif des cas d'utilisation réels.
Je l'utilise le plus souvent pour confirmer que le compilateur va bien effectuer certaines optims (genre éviter d'appeler systématiquement une fonction dans une boucle quand son résultat ne dépend pas de l'itération).
Le deuxième cas d'utilisation que j'ai est de comparer les sorties de différents compilateurs.
Et de temps en temps c'est aussi juste pour être impressionné par les transformations d'optimisation.
Que ce soit pour les liens ou les journaux notre politique est de ne pas filtrer et de laisser faire le moinsage. Il y a régulièrement des contenus qui ne concernent ni le libre ni l'informatique et qui sont pourtant bien accueillis, et si nous commençons à les bloquer en amont nous allons nous priver de contenus intéressants ou divertissants, y compris de ce putain d'ornithorynque.
C'est une situation de tout ou rien. Du coup la seule solution valable est de ne bloquer que ce qui est manifestement illégal. La communauté se charge d'évaluer l'intérêt du reste. Dans les faits on observe que ça reste grosso-modo dans le thème.
ça veut dire qu'il fonctionne sur un binaire dont on a pas les sources?
Tout à fait, Valgrind et Inspector peuvent trouver des erreurs sans des binaires sans avoir les sources. Par contre s'il n'y a pas les symboles de debug ils vont avoir du mal à dire de quelle ligne ça vient. De tête il me semble qu'ils affichent l'adresse de la fonction.
Ceci dit, je me suis déjà compilé des versions récentes de clang++ pour CentOS. C'est fort pratique pour avoir des outils tels que les sanitizers, de meilleurs warnings, clang-tidy, un serveur LSP, etc même quand on est restreints à du C++ 98.
Si tu as des conseils pour avoir un Clang 13 ou ultérieur sur CentOS 7.9 ça m'intéresse. De souvenir je n'avais pas pu le compiler car le compilateur installé, GCC 4.8 ne supportait pas une version suffisamment récente de C++.
Pour la machine dans le nuage j'ai gardé le GCC de base car c'était notre second compilateur de référence. Comme c'est un vieil OS avec de vieux outils je n'avais pas de quoi y tester MSan avec Clang. Pour ma machine locale j'ai gardé GCC pour ASan afin de pouvoir comparer les résultats d'une simple mise à jour de compilateur.
Dans l'absolu j'imagine que le compilateur ne joue pas tellement sur les résultats d'ASan puisque c'est une lib développée indépendamment.
Si on pouvait supprimer cela ainsi que toute forme d'assistance dans les formulaire texte, ça m'irait très bien :
les popups d'emoji de GitLab.
le remplacement automatique des smileys ascii par des images, en particulier la substitution d'un simple sourire :) par un emoji aux yeux écarquillés et au sourire jusqu'aux oreilles. Si je voulais une image, j'insérerais une image.
les popups Azure de liens vers d'autres tickets lors de l'appui sur #. C'est en particulier l'horreur dans le wiki Azure, où # sert aussi à écrire un titre, du coup à chaque saisie d'un titre une popup sans rapport apparaît.
le fait que lorsque je sélectionne du texte pour le remplacer par du code inline dans un commentaire sur GitLab ou sur Slack, je tape ` et le texte sélectionné devient du code inline au lieu d'être remplacé comme dans tous les éditeurs textes depuis toujours.
les doubles quotes de fin de chaîne caractères qui s'ajoutent toutes seules quand je commence une chaîne sur Compiler Explorer et dans la plupart des IDEs, idem pour les accolades et les parenthèses. (Je sais fermer une parenthèse, merci
En fait toute forme d'action non sollicitée dans une zone de texte.
N'étant pas une personne active sur les réseaux sociaux, depuis le début de la campagne je cherche à atteindre les bonnes communautés (anglophones surtout) et ce n'est pas évident, j'aurais peut-être dû mettre un durée de campagne de 60 jours, je pensais Kickstarter plus "efficace" à amener du monde, en vendre 250 ne me semblait pas un chiffre démesuré :-)
Une campagne de financement participatif c'est avant tout un travail de relations publiques. Personne ne tombera sur le projet par hasard et il y a très peu de chances que Kickstarter te mette en avant. Du coup c'est essentiel de communiquer très fréquemment sur ton projet, sur toutes les étapes. En plus des forums ça vaut le coup de contacter aussi des journalistes de sites de matériel ou des youtubers du domaine, et transmettre au gens que c'est un sacrément chouette clavier. Idéalement il aurait même fallu faire la communication dès la genèse du projet, bien avant de lancer la campagne de financement :)
Je reçois aussi des tracts d'agents immobiliers malgré le stop pub. Du coup je les garde dans un tiroir en me disant que le jour où j'aurai quelque chose à acheter ou à vendre ils seront bien les derniers que j'irai voir.
De la diffamation, ça me semble un peu fort. C'est lourd, oui, agressif, sans aucun doute. Je ne pense pas pour autant qu'il faille intervenir (faites comme si je n'étais pas là).
Puisque la discussion devient agressive et n'ira nulle part, je t'invite plutôt à ignorer ton interlocuteur en n'alimentant pas la discussion. Ce n'est pas parce qu'on laisse le dernier mot à quelqu'un qu'on lui donne raison.
La base du film n'est pas les réactions face au Covid, il s'agit plutôt d'une caricature du comportement des trumpistes face au réchauffement climatique.
Le géocroiseur est une menace de destruction de la vie sur Terre qui se rapproche inévitablement. C'est le réchauffement climatique.
La prédidente est Trump. Ses partisans ont des casquette avec un slogan idiot et sont encouragés à ignorer le problème, en regardant de l'autre côté.
Tous les gens au pouvoir n'y sont que pour avoir le pouvoir. Ils n'ont aucune volonté d'agir pour le peuple qui les a élu. Chacune de leurs actions n'est motivé que par leur intérêt personnel.
Les scientifiques sont rabaissés. Les médias diffusent du sensationnel sans faire de vague. La résolution du problème est mise entre les mains d'entreprises de technologie pendant que les scientifiques et le processus scientifique, en particulier la revue par les pairs, sont mis à la poubelle.
Le film est pas mal et critique sérieusement sous couvert de légèreté et d'humour. Heureusement que ce n'est qu'une fiction.
[^] # Re: Lien mal formaté
Posté par Julien Jorge (site web personnel) . En réponse au journal Les IA des GAFAM sont-elles sentientes ?. Évalué à 3.
Je connais pas la raison de l'impossibilité d'éditer son journal mais j'ai quand même corrigé le lien :)
[^] # Re: Moi qui croyait qu'il était libre
Posté par Julien Jorge (site web personnel) . En réponse au journal Adieu Atom :(. Évalué à 7.
Le journal suggère quand même que la cause de l'arrêt d'Atom est le rachat par Microsoft, et que l'arrêt est fait dans le but de favoriser VS Code. Alors certes ce n'est pas « méchant Microsoft » mais ce n'est ni neutre, ni « gentil microsoft » :)
[^] # Re: et les fonctions
Posté par Julien Jorge (site web personnel) . En réponse au journal Software architecture considered harmful. Évalué à 10.
Avec les écrans qu'on a aujourd'hui il n'y a pas de raison de se limiter à 400 lignes. Moi avec mon 50 pouces installé en portrait, je mets une police 6 et je peux afficher 73269 lignes sans problème.
# Pas sûr
Posté par Julien Jorge (site web personnel) . En réponse au journal Software architecture considered harmful. Évalué à 10.
Je comprends ta souffrance et pourtant ça ne me semble pas évident. Quand je repars sur des trucs simples, j'en reviens toujours à ressentir les mêmes effets :
Alors avec le temps je préfère encore une arborescence plutôt vide qu'un petit tas de trucs empilés en vrac :) La simplicité, je la cherche ailleurs : calmos sur l'OOP, calmos sur la metaprog, calmos sur les dépendances third party (outillage ou libs).
Pour le multi-dépôts je n'ai pas encore tranché. J'aime que ce soit séparé et isolé, mais d'un autre côté le mono-repo est bien confortable pour les refactos et pour retrouver tout le projet dans un état donné.
[^] # Re: Cas d'usage
Posté par Julien Jorge (site web personnel) . En réponse à la dépêche Compiler Explorer a 10 ans. Évalué à 4.
Au boulot on utilise la stratégie que tu décris. Nous avons environ 30 000 lignes d'assembleur (en utilisant des intrinsèques, ce qui est quand même plus pratique que l'assembleur brut) et la principale motivation est d'avoir ces fonctions aussi optimisées que possible. Le meilleur moyen d'y arriver est de les écrire avec les instructions que nous voulons voir dans le binaire. Le cadre est assez fixe cela dit puisque nous visons un seul couple architecture/compilateur.
Nous avons aussi une version C pour chaque fonction optimisée, à la fois comme fallback mais aussi comme référence pour la version assembleur.
En pratique on remarque que certains compilateurs arrivent à émettre de l'assembleur équivalent à celui écrit à la main depuis fonctions C. Ce n'était pas le cas avec de plus anciennes versions.
Perso je trouve qu'il nous manque quelque chose pour mesurer le gain apporté par les fonctions optimisées, pour voir si elles sont toujours pertinentes. Nous avons des mesures globales, qui englobent toutes les optims, mais rien individuellement. J'ai bien entamé un truc à base de Google Benchmark mais ce n'est pas évident d'avoir un test représentatif des cas d'utilisation réels.
[^] # Re: Cas d'usage
Posté par Julien Jorge (site web personnel) . En réponse à la dépêche Compiler Explorer a 10 ans. Évalué à 3.
Je l'utilise le plus souvent pour confirmer que le compilateur va bien effectuer certaines optims (genre éviter d'appeler systématiquement une fonction dans une boucle quand son résultat ne dépend pas de l'itération).
Le deuxième cas d'utilisation que j'ai est de comparer les sorties de différents compilateurs.
Et de temps en temps c'est aussi juste pour être impressionné par les transformations d'optimisation.
[^] # Re: Typo
Posté par Julien Jorge (site web personnel) . En réponse au journal Broadcom rachète VMware. Évalué à 3.
C'est corrigé, merci :)
[^] # Re: Liens hors sujet
Posté par Julien Jorge (site web personnel) . En réponse à la dépêche À propos des liens sur le site LinuxFr.org. Évalué à 6.
Que ce soit pour les liens ou les journaux notre politique est de ne pas filtrer et de laisser faire le moinsage. Il y a régulièrement des contenus qui ne concernent ni le libre ni l'informatique et qui sont pourtant bien accueillis, et si nous commençons à les bloquer en amont nous allons nous priver de contenus intéressants ou divertissants, y compris de ce putain d'ornithorynque.
C'est une situation de tout ou rien. Du coup la seule solution valable est de ne bloquer que ce qui est manifestement illégal. La communauté se charge d'évaluer l'intérêt du reste. Dans les faits on observe que ça reste grosso-modo dans le thème.
[^] # Re: Bruno Michel
Posté par Julien Jorge (site web personnel) . En réponse à la dépêche À propos des liens sur le site LinuxFr.org. Évalué à 10.
Merci, c'est important pour ma street cred' :)
Comme tu as l'air nouveau sur le site je me permets de te pointer un journal que j'avais écrit sur le sujet ;)
# super article
Posté par Julien Jorge (site web personnel) . En réponse au lien « ton compilo il écrira toujours du code meilleur que toi » : vérification avec std::find(). Évalué à 10.
Aussi disponible en français sur LinuxFr.org ;)
[^] # Re: précédemment
Posté par Julien Jorge (site web personnel) . En réponse au lien suite à la mise en demeure de la CNIL, Google permet de rejeter les biscuits en un click en Europe. Évalué à 2.
C'est fait :)
[^] # Re: intéressant
Posté par Julien Jorge (site web personnel) . En réponse au journal Comparatif d'outils d'analyse mémoire. Évalué à 4.
Tout à fait, Valgrind et Inspector peuvent trouver des erreurs sans des binaires sans avoir les sources. Par contre s'il n'y a pas les symboles de debug ils vont avoir du mal à dire de quelle ligne ça vient. De tête il me semble qu'ils affichent l'adresse de la fonction.
[^] # Re: Test manquant ?
Posté par Julien Jorge (site web personnel) . En réponse au journal Comparatif d'outils d'analyse mémoire. Évalué à 2.
Bien vu ! Merci :)
[^] # Re: Résultats différents pour asan
Posté par Julien Jorge (site web personnel) . En réponse au journal Comparatif d'outils d'analyse mémoire. Évalué à 2.
Si tu as des conseils pour avoir un Clang 13 ou ultérieur sur CentOS 7.9 ça m'intéresse. De souvenir je n'avais pas pu le compiler car le compilateur installé, GCC 4.8 ne supportait pas une version suffisamment récente de C++.
[^] # Re: Pourquoi ?
Posté par Julien Jorge (site web personnel) . En réponse au journal Comparatif d'outils d'analyse mémoire. Évalué à 3.
Pour la machine dans le nuage j'ai gardé le GCC de base car c'était notre second compilateur de référence. Comme c'est un vieil OS avec de vieux outils je n'avais pas de quoi y tester MSan avec Clang. Pour ma machine locale j'ai gardé GCC pour ASan afin de pouvoir comparer les résultats d'une simple mise à jour de compilateur.
Dans l'absolu j'imagine que le compilateur ne joue pas tellement sur les résultats d'ASan puisque c'est une lib développée indépendamment.
[^] # Re: Coquille
Posté par Julien Jorge (site web personnel) . En réponse au journal [LWN] Une porte de sortie pour a.out. Évalué à 10.
C'est fait. J'ai remplacé une paire de « and » par « et » aussi.
Merci pour le journal, c'est très intéressant :)
# Libre
Posté par Julien Jorge (site web personnel) . En réponse au lien Memtest86+ revient (libre ou pas ?). Évalué à 4.
Vu que pcmemtest est en GPL 2, a priori ça sera libre.
# Et ce n'est pas tout
Posté par Julien Jorge (site web personnel) . En réponse au journal Voter pour virer les emojis de Gitlab. Évalué à 10.
Si on pouvait supprimer cela ainsi que toute forme d'assistance dans les formulaire texte, ça m'irait très bien :
En fait toute forme d'action non sollicitée dans une zone de texte.
[^] # Re: Beau projet !
Posté par Julien Jorge (site web personnel) . En réponse au journal ADM42 - L'aventure de mon clavier pour développeur jusqu'au crowfunding. Évalué à 10.
Une campagne de financement participatif c'est avant tout un travail de relations publiques. Personne ne tombera sur le projet par hasard et il y a très peu de chances que Kickstarter te mette en avant. Du coup c'est essentiel de communiquer très fréquemment sur ton projet, sur toutes les étapes. En plus des forums ça vaut le coup de contacter aussi des journalistes de sites de matériel ou des youtubers du domaine, et transmettre au gens que c'est un sacrément chouette clavier. Idéalement il aurait même fallu faire la communication dès la genèse du projet, bien avant de lancer la campagne de financement :)
# Allocs
Posté par Julien Jorge (site web personnel) . En réponse au journal Une 20-aine de lignes de code pour le defer de Go en C++. Évalué à 5.
C'est bien mais le premier truc que je relèverai est que les
std::function
vont faire des allocations dynamiques, de même pour lestd::vector
.Exercices pour le lecteur, et l'auteur :
std::function
ne fera-t-elle pas d'allocation dynamique ? Est-ce garanti ?Et sur un autre sujet, tu ne devrais pas utiliser
__
pour tes variables, c'est réservé pour le compilateur :)[^] # Re: sans OS?
Posté par Julien Jorge (site web personnel) . En réponse au journal Effet de bords et PC sans OS ?. Évalué à 3.
C'est corrigé :)
[^] # Re: Rien ne se perd
Posté par Julien Jorge (site web personnel) . En réponse au journal Nous avons remarqué que vous n'utilisez PAS de bloqueur de publicités !. Évalué à 7.
Je reçois aussi des tracts d'agents immobiliers malgré le stop pub. Du coup je les garde dans un tiroir en me disant que le jour où j'aurai quelque chose à acheter ou à vendre ils seront bien les derniers que j'irai voir.
[^] # Re: ARN vs inactivés
Posté par Julien Jorge (site web personnel) . En réponse au journal Moins d’un an pour un vaccin, est-ce surprenant ?. Évalué à 10.
De la diffamation, ça me semble un peu fort. C'est lourd, oui, agressif, sans aucun doute. Je ne pense pas pour autant qu'il faille intervenir (faites comme si je n'étais pas là).
Puisque la discussion devient agressive et n'ira nulle part, je t'invite plutôt à ignorer ton interlocuteur en n'alimentant pas la discussion. Ce n'est pas parce qu'on laisse le dernier mot à quelqu'un qu'on lui donne raison.
# Notes des journaux
Posté par Julien Jorge (site web personnel) . En réponse à la dépêche Statistiques 2021 du site LinuxFr.org. Évalué à 10.
Sur les 642 journaux de 2020 (il m'en manque un par rapport à la dépêche :/), 48 ont une note négative ou nulle (7,5 %).
Sur les 518 journaux de 2021, seulement 35 ont une note négative ou nulle (6,7 %).
LinuxFr.org ne se meurt toujours pas et semble même se bonifier avec le temps :)
On peut voir en 2020 une légère baisse de qualité en mars et avril, qui heureusement ne s'est pas maintenue par la suite.
P.S : Benoît, si tu te demandes qui est l'idiot qui requête littéralement
journaux?page=$i
c'était moi…# Trump + réchauffement climatique
Posté par Julien Jorge (site web personnel) . En réponse au journal J'ai regardé Don't Look Up. Évalué à 10.
La base du film n'est pas les réactions face au Covid, il s'agit plutôt d'une caricature du comportement des trumpistes face au réchauffement climatique.
Le géocroiseur est une menace de destruction de la vie sur Terre qui se rapproche inévitablement. C'est le réchauffement climatique.
La prédidente est Trump. Ses partisans ont des casquette avec un slogan idiot et sont encouragés à ignorer le problème, en regardant de l'autre côté.
Tous les gens au pouvoir n'y sont que pour avoir le pouvoir. Ils n'ont aucune volonté d'agir pour le peuple qui les a élu. Chacune de leurs actions n'est motivé que par leur intérêt personnel.
Les scientifiques sont rabaissés. Les médias diffusent du sensationnel sans faire de vague. La résolution du problème est mise entre les mains d'entreprises de technologie pendant que les scientifiques et le processus scientifique, en particulier la revue par les pairs, sont mis à la poubelle.
Le film est pas mal et critique sérieusement sous couvert de légèreté et d'humour. Heureusement que ce n'est qu'une fiction.