sinon niveau compilation, il était aussi très fort en utilisant le typage pour enlever les appel virtuel, il avait un mot clef "expanded" pour pouvoir éviter le boxing d'object, etc…
Attention les DVD ont une durée de vie bien plus courte que les CD. La correction d'erreur est différente : dans le cas du DVD, le "paquet de zéros renvoyés" est absorbé par le codec vidéo.
il faudrait aussi croiser les nom des candidats et des heures d'audiences, cela pourrait être fait avec un score d'impact (somme des audiences au moment ou le mot est prononcé).
Si tu n'a jamais eu de coupe raté chez le coiffeur, tu as bien de la chance.
C'est bizarre que tu considères en tant que chercheur en traitement d'image et du signal, que tu puisses magiquement aussi être chercheur en théorie des langages et en ergonomie.
J'ai une petit idée duquel de nous deux est présomptueux.
sed pour faire un remplacement rapide de texte dans un fichier, que de dégainer n'importe quoi d'autre…
J'utilise Perl à la place, qui permet encore plus de chose. Mais ce n'est pas le sujet. Sed a été créé à une époque, où la puissance CPU et la RAM étaient comptés, et depuis sa sortie, il y a beaucoup d’évolution dans la science des langages.
En général, il vaut mieux faire confiance aux créateurs du langage, qui ont réfléchi à la question plus longuement.
Sans doute. Mais je vous conseil de lire "clean code" pour voir que c'est difficile à faire avec votre langage. La définition de ce que l'on appelle du code propre à bien évoluer et à commencer à se définir plus clairement depuis 10 ans. Robert C. Martin est un des précurseurs du domaine ( http://cleancoder.com/ )
Le concepteur du langage doit gérer un ensemble de contrainte parfois contradictoire. Le C et le C++ ont la structure de leur fichier faite pour réduire la taille de l'unité de compilation, ce n'est plus aussi pertinent aujourd'hui.
Perso, il ne me viendrait pas à l'idée de décréter que SQL c'est mal, parce que je comprend pas facilement ce qui se passe lorsque je lis une requête.
La clarté d'une syntaxe d'un langage ne contraint pas ce qui se passe à la couche suivante. Le SQL pourrait avoir les mêmes fonctionnalités et être bien plus compréhensible. Je n'ai pas dit que c'était facile, je dis que dans l'état actuel des choses, on devient chauve à écrire des longues requêtes et que la plus part des mortels utilises des ORM pour éviter de le faire.
Ca serait vraiment naïf de ma part (ou pédant au choix). Au contraire, je me dis plutôt que si des gens qui sont experts en BDD ont élaboré le langage de cette façon, c'est surement qu'il y a une bonne raison (que je ne suis pas apte à comprendre, avec le niveau en BDD que j'ai).
Ce n'est pas parce que l'on est pas coiffeur que l'on ne peut pas critiquer une coiffure, ou critiquer une maison, si l'on n'est pas maçon. On peut justement critiquer le SQL car ces utilisateurs ne sont pas majoritairement des experts en BDD et en théorie des ensembles.
L'utilisabilité d'un logiciel et les principes d'ergonomie existent aussi pour les langages et ne se limitent pas aux IHM (principe de moindre surprise, principe de moindre mémorisation, nom prononçable,…).
La lisibilité d'un langage, ça peut être bien. Mais prendre cette propriété seule pour juger du niveau d'aboutissement ou de la praticité d'un langage, c'est vraiment pas une bonne idée (pour pas dire que c'est foireux).
Je pense que tu es dans le cas ultime ou le langage est adapté au hardcore user les plus extrêmes : les créateurs du langage.
On ne peut pas attendre que tous les langages ressemblent au Basic Python (ça serait d'une tristesse!).
python, java, ocaml, rust, C, golang, Javascript, il y a plein de possibilités. Si gmic était une lib pour Python, il aurait 100x plus d'utilisateurs, c'est sûr (et je n'aime pas python).
Il faut voir si vous avez un AST interne pour le langage, mais je pense qu'il doit être possible de garder exactement les mêmes concepts et 2 syntaxes.
Je ne sais pas où tu as pris cet exemple, mais il est obsolète.
ici : gmic.eu/reference/managing_3d_vector_objects.html
Dans les exemples pour utiliser les object 3D pour faire du rendu 2D (ce qui a l'air d'être une feature assez énorme en fait).
mais juste efficace et concis (ce dernier point n'étant pas forcément toujours compatible avec la clarté de lecture de code).
On est d'accord la dessus.
Le langage G'MIC est un langage métier, très différent des langages "classiques" généralistes. Il a été imaginé pour créer des pipelines potentiellement complexes de traitement d'images, pas pour initier des gens à la programmation.
"Clean code" n'a rien à voir avec le fait d'apprendre à programmer mais sur la maintenance sur le long terme de code potentiellement énorme ou complexe, et pour la transmission de connaissance entre développeurs.
sed et imagemagick
Ils sont aussi ignoble à lire, ce n'est pas une raison de faire pareil. L'auteur de Perl n'a jamais compris que sa feature la plus populaire soit la moins lisible (les regexp, des "Modem Line Noise" pour certain).
J'imagine qu'on pourrait trouver plein d'autres exemples, avec l'utilisation de langages métiers très spécialisés dans leur domaine.
Oui, je connais la hype des DSL. Pour en avoir subi plusieurs, c'est surtout des mauvais langages de programmation incomplet qui pourraient se remplacer avec des appels de fonctions dans n'importe quel langage avec bien plus de souplesse (cela ressemble aussi au débat metamodèle vs bibliothèques).
le SQL, j'ai jamais réussi à comprendre des requêtes de plus de deux lignes.
Moi, j'en ai écrit de plusieurs centaines de lignes, et je confirme que c'est un langage ignoble mais puissant, mais ignoble.
Mais je dirais que dans notre projet, on veut permettre surtout à des utilisateurs d'accéder facilement à des ensembles de filtres et de traitements d'images, plutôt que de rallier des développeurs à l'utilisation du langage G'MIC.
On ne vise pas majoritairement le public des développeurs.
C'est dommage la lib nn semble avoir un potentiel énorme. Rendre un code lisible diminue l'intéret d'une documentation. J'imagine qu'il doit être parfaitement possible d'avoir les mêmes concepts que le code actuel et d'avoir une syntaxe plus "littérale" et avoir un convertisseur d'une syntaxe dans l'autre.
Je suis le projet depuis longtemps, je l'ai utilisé à l'époque où c'était encore un énorme .h de 6 Mo.
J'avais raté le passage au langage de script "gmic". Exemple :
my_histogram :
i[0] 256 # Create the target histogram
repeat h y=$>
repeat w x=$>
val={i($x,$y)}
=[0] {$val+1},$val
done
done C'est une "A quite naive way of doing" an histogramme. Qui comprend ce que fait le code d'un coup d'oeil ?!
On dirait que l'on cherche à battre le coté write-only de Perl.
On parle tout le temps de "software craftmanship" pour faire du code propre (clean code est une référence du domaine https://damien.pobel.fr/post/clean-code/ ) mais comment le faire avec ce genre d'expression ?
J'imagine que le script est fait pour augmenter au maximum la productivité de l'auteur qui connait son sujet par cœur, mais ne pas avoir une écriture claire laisse sur la route un paquet de développeur. J'imagine en plus que ce genre de script doit pouvoir s'écrire assez facilement avec une syntaxe fonctionnelle (map, fold,…) plus classique.
Ce n'est pas possible de collaborer avec des chercheurs en ergonomie sur le sujet ?
A.m(A a, A a) existe (ex: multiplication d'entier).
Que pensez de B.m(B b, B b) C.m(C c, C c) C.m(C c, B c) qui existe aussi etc… (multiplication de vitesse ou de temps)
de définir de nouveau type numérique (permettant d'éviter d'additionner des choux et des carottes)
Est-ce que cela a réellement une utilité sans système d'unité intégré ? Certe, on n'additionne pas de choux avec des carottes, mais on les multiplies souvent (vitesse, temps, distance, énergie…)
On va avoir des anti-spam téléphonique qui fonctionneront de la même façon que les anti-spam de mail avec apprentissage automatique en utilisant plein de sources de données (numéro appelant, heure, numéro dans un répertoire ou non, qui appel souvent plein de numéro, etc… )
[^] # Re: Rien ne se perd
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Nous avons remarqué que vous n'utilisez PAS de bloqueur de publicités !. Évalué à 6.
il me semble que le service de la poste de distribution de tract le respecte bien.
"La première sécurité est la liberté"
[^] # Re: Contraintes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 4. Dernière modification le 09 janvier 2022 à 09:51.
Lisaac avait aussi une syntaxe à mot clef intéressante.
https://fr.wikibooks.org/wiki/Lissac/slot_param%C3%A8tres_et_mots_cl%C3%A9fs
sinon niveau compilation, il était aussi très fort en utilisant le typage pour enlever les appel virtuel, il avait un mot clef "expanded" pour pouvoir éviter le boxing d'object, etc…
"La première sécurité est la liberté"
[^] # Re: Contraintes
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 4.
Ton système pourrait permettre d'implémenter les vérifications d'unité de calcul sans être méga lourd ?
"La première sécurité est la liberté"
[^] # Re: durée de vie CD/DVD
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Sauvegarde suite et fin ?. Évalué à 4.
Attention les DVD ont une durée de vie bien plus courte que les CD. La correction d'erreur est différente : dans le cas du DVD, le "paquet de zéros renvoyés" est absorbé par le codec vidéo.
"La première sécurité est la liberté"
[^] # Re: Un très grand bravo pour le travail accompli
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Compter automatiquement les mots prononcés sur les chaînes d'information continue. Évalué à 4.
il faudrait aussi croiser les nom des candidats et des heures d'audiences, cela pourrait être fait avec un score d'impact (somme des audiences au moment ou le mot est prononcé).
"La première sécurité est la liberté"
[^] # Re: La syntaxe...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Sortie de G'MIC 3.0 : Une troisième dose pour un traitement efficace de vos images !. Évalué à -8.
Si tu n'a jamais eu de coupe raté chez le coiffeur, tu as bien de la chance.
C'est bizarre que tu considères en tant que chercheur en traitement d'image et du signal, que tu puisses magiquement aussi être chercheur en théorie des langages et en ergonomie.
J'ai une petit idée duquel de nous deux est présomptueux.
Bonnes fêtes à tous, j’arrête là aussi.
"La première sécurité est la liberté"
[^] # Re: La syntaxe...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Sortie de G'MIC 3.0 : Une troisième dose pour un traitement efficace de vos images !. Évalué à 2.
J'utilise Perl à la place, qui permet encore plus de chose. Mais ce n'est pas le sujet. Sed a été créé à une époque, où la puissance CPU et la RAM étaient comptés, et depuis sa sortie, il y a beaucoup d’évolution dans la science des langages.
Sans doute. Mais je vous conseil de lire "clean code" pour voir que c'est difficile à faire avec votre langage. La définition de ce que l'on appelle du code propre à bien évoluer et à commencer à se définir plus clairement depuis 10 ans. Robert C. Martin est un des précurseurs du domaine ( http://cleancoder.com/ )
Le concepteur du langage doit gérer un ensemble de contrainte parfois contradictoire. Le C et le C++ ont la structure de leur fichier faite pour réduire la taille de l'unité de compilation, ce n'est plus aussi pertinent aujourd'hui.
La clarté d'une syntaxe d'un langage ne contraint pas ce qui se passe à la couche suivante. Le SQL pourrait avoir les mêmes fonctionnalités et être bien plus compréhensible. Je n'ai pas dit que c'était facile, je dis que dans l'état actuel des choses, on devient chauve à écrire des longues requêtes et que la plus part des mortels utilises des ORM pour éviter de le faire.
Ce n'est pas parce que l'on est pas coiffeur que l'on ne peut pas critiquer une coiffure, ou critiquer une maison, si l'on n'est pas maçon. On peut justement critiquer le SQL car ces utilisateurs ne sont pas majoritairement des experts en BDD et en théorie des ensembles.
L'utilisabilité d'un logiciel et les principes d'ergonomie existent aussi pour les langages et ne se limitent pas aux IHM (principe de moindre surprise, principe de moindre mémorisation, nom prononçable,…).
"La première sécurité est la liberté"
[^] # Re: La syntaxe...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Sortie de G'MIC 3.0 : Une troisième dose pour un traitement efficace de vos images !. Évalué à 4.
Je pense que tu es dans le cas ultime ou le langage est adapté au hardcore user les plus extrêmes : les créateurs du langage.
python, java, ocaml, rust, C, golang, Javascript, il y a plein de possibilités. Si gmic était une lib pour Python, il aurait 100x plus d'utilisateurs, c'est sûr (et je n'aime pas python).
Il faut voir si vous avez un AST interne pour le langage, mais je pense qu'il doit être possible de garder exactement les mêmes concepts et 2 syntaxes.
"La première sécurité est la liberté"
[^] # Re: La syntaxe...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Sortie de G'MIC 3.0 : Une troisième dose pour un traitement efficace de vos images !. Évalué à 5.
Dans les exemples pour utiliser les object 3D pour faire du rendu 2D (ce qui a l'air d'être une feature assez énorme en fait).
On est d'accord la dessus.
"Clean code" n'a rien à voir avec le fait d'apprendre à programmer mais sur la maintenance sur le long terme de code potentiellement énorme ou complexe, et pour la transmission de connaissance entre développeurs.
Ils sont aussi ignoble à lire, ce n'est pas une raison de faire pareil. L'auteur de Perl n'a jamais compris que sa feature la plus populaire soit la moins lisible (les regexp, des "Modem Line Noise" pour certain).
Oui, je connais la hype des DSL. Pour en avoir subi plusieurs, c'est surtout des mauvais langages de programmation incomplet qui pourraient se remplacer avec des appels de fonctions dans n'importe quel langage avec bien plus de souplesse (cela ressemble aussi au débat metamodèle vs bibliothèques).
Moi, j'en ai écrit de plusieurs centaines de lignes, et je confirme que c'est un langage ignoble mais puissant, mais ignoble.
C'est dommage la lib nn semble avoir un potentiel énorme. Rendre un code lisible diminue l'intéret d'une documentation. J'imagine qu'il doit être parfaitement possible d'avoir les mêmes concepts que le code actuel et d'avoir une syntaxe plus "littérale" et avoir un convertisseur d'une syntaxe dans l'autre.
"La première sécurité est la liberté"
# La syntaxe...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Sortie de G'MIC 3.0 : Une troisième dose pour un traitement efficace de vos images !. Évalué à 6. Dernière modification le 22 décembre 2021 à 09:56.
Je suis le projet depuis longtemps, je l'ai utilisé à l'époque où c'était encore un énorme .h de 6 Mo.
J'avais raté le passage au langage de script "gmic". Exemple :
C'est une "A quite naive way of doing" an histogramme. Qui comprend ce que fait le code d'un coup d'oeil ?!my_histogram :
i[0] 256 # Create the target histogram
repeat h y=$>
repeat w x=$>
val={i($x,$y)}
=[0] {$val+1},$val
done
done
On dirait que l'on cherche à battre le coté write-only de Perl.
On parle tout le temps de "software craftmanship" pour faire du code propre (clean code est une référence du domaine https://damien.pobel.fr/post/clean-code/ ) mais comment le faire avec ce genre d'expression ?
J'imagine que le script est fait pour augmenter au maximum la productivité de l'auteur qui connait son sujet par cœur, mais ne pas avoir une écriture claire laisse sur la route un paquet de développeur. J'imagine en plus que ce genre de script doit pouvoir s'écrire assez facilement avec une syntaxe fonctionnelle (map, fold,…) plus classique.
Ce n'est pas possible de collaborer avec des chercheurs en ergonomie sur le sujet ?
"La première sécurité est la liberté"
[^] # Re: C'est quoi ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal TapTempo Federation cherche un repreneur. Évalué à 3.
Boouuuuuuuh !
"La première sécurité est la liberté"
[^] # Re: Achetez des disques qui ne planteront pas pendant la reconstruction du RAID
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Testez vos sauvegardes !. Évalué à 3.
Ça marche vraiment ? Changer un disque sur raid betterfs semble vraiment pénible.
"La première sécurité est la liberté"
[^] # Re: Nuance...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Coût de piratage des serveurs Linux. Évalué à 3.
Pour l'idor, utiliser l'userid comme filtre suffit non ? (Dans un modele simple ou chaque chose a un proprietaire unique)
Pour le xss c'est complexe de tout filtrer, a moins qu'il existe un moyen de transformer le tout en simple string html a coup sûr.
Pour le PII, c'est simple d'utiliser des uuid random comme id, non ?
"La première sécurité est la liberté"
[^] # Re: Nuance...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Coût de piratage des serveurs Linux. Évalué à 3.
Tu peux définir : IDOR, persisted xss, PII leak ?
"La première sécurité est la liberté"
[^] # Re: Nuance...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Coût de piratage des serveurs Linux. Évalué à 8.
Souvent, il est simplement plus sensible à la voiture rouge.
"La première sécurité est la liberté"
[^] # Re: Nuance...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Coût de piratage des serveurs Linux. Évalué à 3.
"Il disait qu'il ne fallait pas embaucher des talents pour leur dire ensuite quoi faire."
En effet, et c'est exactement l'inverse de ce que tu dis : Les choix techniques sont laissés au techniciens.
"La première sécurité est la liberté"
[^] # Re: Nuance...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Coût de piratage des serveurs Linux. Évalué à 3.
Si tu connais un domaine précis pour chercher des failles, tu peux te mettre aux bug bounty, cela peut rapporter un peu d'argent.
"La première sécurité est la liberté"
# mai 2000
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Comptes de 1999 qui êtes vous?. Évalué à 3.
Si cela se trouve les autres sont des comptes de teste.
"La première sécurité est la liberté"
[^] # Re: Sur le cul.
Posté par Nicolas Boulay (site web personnel) . En réponse au lien Lossless Image Compression in O(n) Time. Évalué à 3.
essaie de compresser ton png avec YOGA optimizer pour comparer.
"La première sécurité est la liberté"
[^] # Re: Intéressant
Posté par Nicolas Boulay (site web personnel) . En réponse au lien Récit : comment Manutan s’est sorti de la cyberattaque du 21 février 2021. Évalué à 6.
Il faut absolument tout mettre à jour. Il ne faut pas croire que l'interieur du reseau est safe : il prévoir de l'authentification sur chaque service.
Les clouds sont en general plus securisé que votre reseau. Les sauvegardes sont à faire.
"La première sécurité est la liberté"
[^] # Re: Perf
Posté par Nicolas Boulay (site web personnel) . En réponse au journal la rouille et la comtesse. Évalué à 3.
Je pensais surcharge.
B hérite A, C hérite de A.
A.m(A a, A a) existe (ex: multiplication d'entier).
Que pensez de B.m(B b, B b) C.m(C c, C c) C.m(C c, B c) qui existe aussi etc… (multiplication de vitesse ou de temps)
"La première sécurité est la liberté"
[^] # Re: Perf
Posté par Nicolas Boulay (site web personnel) . En réponse au journal la rouille et la comtesse. Évalué à 3.
En général, le polymorphisme couche mal avec l'héritage. Mais j'imagine qu'ici ce n'est pas de l'héritage.
"La première sécurité est la liberté"
[^] # Re: Perf
Posté par Nicolas Boulay (site web personnel) . En réponse au journal la rouille et la comtesse. Évalué à 3.
avec left/right je pense que tu va avoir des problèmes selon les sens de l'expression, et comment tu fait pour gérer vitesse et distance en plus ?
"La première sécurité est la liberté"
[^] # Re: Perf
Posté par Nicolas Boulay (site web personnel) . En réponse au journal la rouille et la comtesse. Évalué à 4.
Est-ce que cela a réellement une utilité sans système d'unité intégré ? Certe, on n'additionne pas de choux avec des carottes, mais on les multiplies souvent (vitesse, temps, distance, énergie…)
"La première sécurité est la liberté"
# anti spam ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Pourquoi Bloctel et les lois contre le démarchage téléphonique ne servent plus à rien. Évalué à 3.
On va avoir des anti-spam téléphonique qui fonctionneront de la même façon que les anti-spam de mail avec apprentissage automatique en utilisant plein de sources de données (numéro appelant, heure, numéro dans un répertoire ou non, qui appel souvent plein de numéro, etc… )
"La première sécurité est la liberté"