Le plus impressionnant sont les moteurs, qui ont vraiment beaucoup de spires.
D'ailleurs, pour avoir discuter avec un industriel, il y a tellement de combinaisons et de choix différents possibles, qu'il fabriquait eux-même leurs moteurs. Avoir un "générateur" de moteurs (en fonction de paramètre de puissance, consommation, latence, etc….) pourrait aider.
Je crois que tu n'as rien compris au principe du tweet :) Le problème n'est pas d'avoir des lecteurs, le problème est d'avoir des auteurs. Tu peux préférer un truc bien rédigé, si tu ne trouves personne pour le faire, ce document n'existera jamais.
Le résumé dont tu parles existe déjà sur la 1er page.
"des contenus plus courts : comment les susciter dans l'espace de rédaction ? (la crainte de « la page blanche » et de « ne pas être à la hauteur » revient régulièrement dans les retours sur le site ou les stands) ;"
Quand les blog sont devenu à la mode vous avez créer les "journaux" pour suivre ce nouveau mode d'édition. Ils serait temps de faire une nouvelle page "log" sur le mode de twitter avec un contenu à mis chemin entre la tribune de rédaction et les journaux. La limite de taille permet une limite du temps de rédaction.
Au début, je trouvais twitter inutile, mais c'était avant de comprendre le coté fondamentale du fait de réduire le temps d'écriture du tweet.
La taille idéale devrait être de 2 ou 3 lignes de tribunes maximum, non compris les url (limité à 2 ou 3). Il faudrait aussi une prévu d'image. C'est archivé et indexé. On peut limiter le nombre de postes par jour et par compte.
Les "réponses" aux tweets pourraient être simplement le système de commentaires habituelles.
Il y a une emmission US genre "myth buste", qui a fait tomber une plume et un morceau de métal dans une chambre à vide énorme. Les 2 tombent en même temps.
Je viens de comprendre que tu n'as jamais de représentation en mémoire, donc si l'expression est généré dans les faits, la génération est "refaite" à chaque type d’interprétation (eval ou pretty print)
J'ai l'impression que tu mélanges l'usage d'un outil comme gcc (le code de gcc est gpl, mais pas les le code des exe compilé avec), et la dépendances entre lib binaire (ton .so).
Ce n'est pas parce que gcc est sous GPL, que tout code l'utilisant est GPL. Par contre, toutes lib GPL, entraînent un code GPL. Dans le cas d'une base de donnée MYSQL, si ton code ne sais parler que mysql, et rien d'autre, si mysql est GPL, ton code aussi.
je raisonne en temps que quelqu'un qui ne tiens pas à écrire du code sous une licence qu'il ne comprends pas (c'est mon cas apparemment…)
Personne ne t'oblige à réutiliser du code GPL, aucun soucis.
Quel est la différence ?
Elle est majeur. Le droit d'auteur est sur le code, pas sur un artefact généré par du code. Il est impossible de faire un produit dérivé (au sens légal) entre du code généré, et un autre code. Par exemple, gcc compile un code propriétaire, il n'y a aucune licence pour ça. La seul licence spécifique, c'est pour le bout de lib qui appele le main(libgcc ou le crt0, un truc du genre)
C'est vraiment des problématiques proches de ce qu'on voit avec les brevets, je trouve.
Uniquement si tu raisonnes comme un mec qui veut baiser la GPL, le principe de développement du soft, et les développeurs du code, qui demandent uniquement que les utilisateurs jouent le jeu.
Le principe est ultra simple : si tu dépends d'un code (et uniquement d'un code, pas d'un outil) GPL, tu es forcément en GPL.
J'aimerais bien l'avis de kantien sur ces 2 problèmes :
Est-ce le "code" est dupliqué pour chaque functor ? J'ai du mal à imaginer ce qui va se passer pour une grosse expression (genre un million de terme). Normalement, ocaml ne duplique rien.
Mais dans le cas de "génération" d'une expression par lecture d'un fichier par exemple, il faut le faire pour chaque functor ? Comment partager une expression qui n'est pas statique ?
Ça n'a pas de sens. Tout logiciel qui fonctionne au dessus de linux serait sous GPL.
Pour Linux, je ne sais pas. Mais pour gcc, la licence de la lib de base autorise explicitement son usage pour du code non GPL.
Linux étant posix, si un programme suit ce standard, cela ne s'applique pas.
J'ai déjà vu passé le problème et la solution choisi, mais j'ai oublié. (api system hors du champs de la GPL, ou … )
Je te crois, mais le système est bien plus daubé que je ne l'imaginais alors…
La GPL utilise le seul et unique moyen qui existe dans la loi sur les droits d'auteur : les droits dérivés. Si il existe un fallback, le code GPL n'est pas nécessaire et la GPL ne se transmet pas.
L'avantage de cette approche, c'est qu'on peut se dire que le fondeur sera responsable de faire lui-même l'addition (généralement il réutilise un truc déjà développé).
Non, en général, c'est le synthétiseurs qui fait le boulot (synopsys DC ou autre).
Si la dépendance est forte. S'il y a un couplage faible (par exemple au moyen d'un webservice), il n'y a pas de contagion.
Si c'était le cas, un serveur web en GPL rendrait tous les navigateurs qui y accèdent sous GPL (mais je doute que ça puisse tenir face à un juge vu qu'il est impossible de vérifier ça avant d'y accéder et très dur après).
N'importe quoi. Vraiment. Vu que le navigateur peut servir à autre chose, et pas seulement à ce connecter à un seul serveur web sous GPL, ton équivalence n'a aucun sens.
un "tas" de gens ne supportait pas que l'on puisse dire que lisaac était le premier langage à prototype compilé. Ils prenaient l'exemple de javascript en version .net alors que pour compiler il laissait tomber des trucs de base comme le remplacement de méthode au runtime.
On essayait de vendre le truc, certain ne supportait pas le discours un peu trop marketing, même si Lisaac a été 1er pendant un temps dans le langage shoutout.
Je ne pense pas que cela a été la seule raison, mais le manque de reconnaissance a vraiment compté. Mais je n'en sais pas plus l'auteur a coupé les ponts.
Le copyleft coté serveur (donc dans les services), ça n'a pas de sens. Ça ne fonctionne pas.
Le coté vaccin de la GPL se base sur le droits des dérivées du droit d'auteur (c'était pensé pour les traduction d'un texte, pour la représentation au théatre, etc…). En gros, si le code GPL est nécessaire pour faire le boulot, le code qui en dépend est en GPL. Le moyen de s'en passer est de proposer 2 interfaces, et la licence GPL n'est plus obligatoire. Et cela peut importe le mode de communication.
Le coup du "link" n'est qu'une simplification, et n'est jamais évoqué dans la GPL.
Ça permet de lier n'importe quel type "d'entrée" qui respecte certaines propriétés à un type de sortie qui maintient certaines de ces propriétés de manière générique.
Tu peux faire la même chose avec des paramètres de constructeur qui fournissent une classe concrète d'un type abstrait interne, non ? La seul différence est que tu es emmerdé si le type abstrait "ressort" de ta classe, car cela veut dire des casts moche.
Du coup pour ce qui est des passes d'optimisation ça permet de les écrire de manière générique et de les chaîner un peu comme tu veux.
Faut que je rerelise cette partie de toute façon.
Mais … pour poser ces questions tu as lu les articles non ?
Merci c'est plus clair. Je dois encore comprendre ce que contiennent les functors de plus qu'une classe. D'un point de vue pratique, je veux dire.
Est-ce le "code" est dupliqué pour chaque functor ? J'ai du mal à imaginer ce qui va se passer pour une grosse expression (genre un million de terme). Normalement, ocaml ne duplique rien.
Mais dans le cas de "génération" d'une expression par lecture d'un fichier par exemple, il faut le faire pour chaque functor ? Comment partager une expression qui n'est pas statique ?
C'est cela ? Afin de pouvoir mieux comparer les codes et les méthodes ?
Oui, un fichier pour chaque exemple, bien séparer. Pour pouvoir comparer les évolutions et les différences. Genre je suis bloqué sur le fold appliquée aux parenthèses, mais je bloque surtout sur le principe de précédence, plus que sur le code.
Un foncteur est au fond une fonction des modules vers les modules, c'est plus « fonctionnel » dans le principe. On peut écrire une signature de foncteur ainsi :
Mais pourquoi ?! En objet, c'est simplement une injection. Un composant d'un objet qui est construit à l’extérieur de celui-ci et donné en paramètre au constructeur. En quoi instancier un module en fixant un des type paramètre en fait une fonction ?
Si tu te souviens des échanges sur le journal d'Aluminium qui présentait l'encodage de Böhm-Berarducci
Oui, et j'ai toujours mal à la tête. Je pense réécrire mon langage de modalisation avec ce genre de technique. J'utilisais un bête AST. Faut que je relise tout à tête reposé.
Justement, je voudrais les exemples de chaque étape, y compris le premier. Les fichiers dont tu parles doivent être bien trop compliqué pour comprendre le principe.
J'ai codé pendant 2 ans en ocaml fonctionnel simple. Et tout ce qui est foncteur/module, et les opérateurs spécifiques (@@) me semblent bien étrange et peu lisible.
Je n'ai toujours pas compris en quoi un module est si différent d'un objet ou d'une classe.
Pour github, il suffit de s'inscrire dessus, créer un projet, et faire un premier git clone sur sa machine. Puis des "git add" pour ajouter les fichiers dans l'index, "git commit" pour mettre mettre l'index dans le repository local puis "git push" pour mettre à jour github. Il existe un tas de tuto sur le sujet.
Cela serait bien de proposer le code complet minimal par exemple (github ?). C'est parfois pas évident de comprendre les dépendances entre bout de code.
[^] # Re: Verni, le fil de cuivre
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Montrez vos bobines. Évalué à 6.
Le plus impressionnant sont les moteurs, qui ont vraiment beaucoup de spires.
D'ailleurs, pour avoir discuter avec un industriel, il y a tellement de combinaisons et de choix différents possibles, qu'il fabriquait eux-même leurs moteurs. Avoir un "générateur" de moteurs (en fonction de paramètre de puissance, consommation, latence, etc….) pourrait aider.
"La première sécurité est la liberté"
[^] # Re: tweet ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Conférence LinuxFr(.org), mais refaire ?. Évalué à 1.
Ce n'est que ton avis. Je trouve que Twitter est le seul média sociaux qui a un intérêt.
"La première sécurité est la liberté"
[^] # Re: Bravo, sujet rafraîchissant
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Montrez vos bobines. Évalué à 3.
Tu en as fait pas mal d'élec pour la coupe e=m6 pourtant :) Tu ne connais pas déjà tout ?
"La première sécurité est la liberté"
[^] # Re: bipède ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Les diodes ne sont pas toutes des lumières. Évalué à 6.
ça dépend. Si c'est un jeu de mots fait exprès, on peut le dire.
"La première sécurité est la liberté"
[^] # Re: tweet ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Conférence LinuxFr(.org), mais refaire ?. Évalué à 7.
Je crois que tu n'as rien compris au principe du tweet :) Le problème n'est pas d'avoir des lecteurs, le problème est d'avoir des auteurs. Tu peux préférer un truc bien rédigé, si tu ne trouves personne pour le faire, ce document n'existera jamais.
Le résumé dont tu parles existe déjà sur la 1er page.
"La première sécurité est la liberté"
# tweet ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Conférence LinuxFr(.org), mais refaire ?. Évalué à 6.
Quand les blog sont devenu à la mode vous avez créer les "journaux" pour suivre ce nouveau mode d'édition. Ils serait temps de faire une nouvelle page "log" sur le mode de twitter avec un contenu à mis chemin entre la tribune de rédaction et les journaux. La limite de taille permet une limite du temps de rédaction.
Au début, je trouvais twitter inutile, mais c'était avant de comprendre le coté fondamentale du fait de réduire le temps d'écriture du tweet.
La taille idéale devrait être de 2 ou 3 lignes de tribunes maximum, non compris les url (limité à 2 ou 3). Il faudrait aussi une prévu d'image. C'est archivé et indexé. On peut limiter le nombre de postes par jour et par compte.
Les "réponses" aux tweets pourraient être simplement le système de commentaires habituelles.
"La première sécurité est la liberté"
[^] # Re: Analogie
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Toute résistance n’est pas futile.. Évalué à 3.
Il y a une emmission US genre "myth buste", qui a fait tomber une plume et un morceau de métal dans une chambre à vide énorme. Les 2 tombent en même temps.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 3.
Je viens de comprendre que tu n'as jamais de représentation en mémoire, donc si l'expression est généré dans les faits, la génération est "refaite" à chaque type d’interprétation (eval ou pretty print)
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 3.
J'ai l'impression que tu mélanges l'usage d'un outil comme gcc (le code de gcc est gpl, mais pas les le code des exe compilé avec), et la dépendances entre lib binaire (ton .so).
Ce n'est pas parce que gcc est sous GPL, que tout code l'utilisant est GPL. Par contre, toutes lib GPL, entraînent un code GPL. Dans le cas d'une base de donnée MYSQL, si ton code ne sais parler que mysql, et rien d'autre, si mysql est GPL, ton code aussi.
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 3.
Personne ne t'oblige à réutiliser du code GPL, aucun soucis.
Elle est majeur. Le droit d'auteur est sur le code, pas sur un artefact généré par du code. Il est impossible de faire un produit dérivé (au sens légal) entre du code généré, et un autre code. Par exemple, gcc compile un code propriétaire, il n'y a aucune licence pour ça. La seul licence spécifique, c'est pour le bout de lib qui appele le main(libgcc ou le crt0, un truc du genre)
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 5.
Uniquement si tu raisonnes comme un mec qui veut baiser la GPL, le principe de développement du soft, et les développeurs du code, qui demandent uniquement que les utilisateurs jouent le jeu.
Le principe est ultra simple : si tu dépends d'un code (et uniquement d'un code, pas d'un outil) GPL, tu es forcément en GPL.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 4.
J'aimerais bien l'avis de kantien sur ces 2 problèmes :
Est-ce le "code" est dupliqué pour chaque functor ? J'ai du mal à imaginer ce qui va se passer pour une grosse expression (genre un million de terme). Normalement, ocaml ne duplique rien.
Mais dans le cas de "génération" d'une expression par lecture d'un fichier par exemple, il faut le faire pour chaque functor ? Comment partager une expression qui n'est pas statique ?
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 3.
Pour Linux, je ne sais pas. Mais pour gcc, la licence de la lib de base autorise explicitement son usage pour du code non GPL.
Linux étant posix, si un programme suit ce standard, cela ne s'applique pas.
J'ai déjà vu passé le problème et la solution choisi, mais j'ai oublié. (api system hors du champs de la GPL, ou … )
La GPL utilise le seul et unique moyen qui existe dans la loi sur les droits d'auteur : les droits dérivés. Si il existe un fallback, le code GPL n'est pas nécessaire et la GPL ne se transmet pas.
"La première sécurité est la liberté"
[^] # Re: Code VHDL : peu de lignes ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 6.
Non, en général, c'est le synthétiseurs qui fait le boulot (synopsys DC ou autre).
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 2.
N'importe quoi. Vraiment. Vu que le navigateur peut servir à autre chose, et pas seulement à ce connecter à un seul serveur web sous GPL, ton équivalence n'a aucun sens.
"La première sécurité est la liberté"
[^] # Re: Au boulot ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 4.
un "tas" de gens ne supportait pas que l'on puisse dire que lisaac était le premier langage à prototype compilé. Ils prenaient l'exemple de javascript en version .net alors que pour compiler il laissait tomber des trucs de base comme le remplacement de méthode au runtime.
On essayait de vendre le truc, certain ne supportait pas le discours un peu trop marketing, même si Lisaac a été 1er pendant un temps dans le langage shoutout.
Je ne pense pas que cela a été la seule raison, mais le manque de reconnaissance a vraiment compté. Mais je n'en sais pas plus l'auteur a coupé les ponts.
"La première sécurité est la liberté"
[^] # Re: Ha les intégristes du libre...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 3.
Le coté vaccin de la GPL se base sur le droits des dérivées du droit d'auteur (c'était pensé pour les traduction d'un texte, pour la représentation au théatre, etc…). En gros, si le code GPL est nécessaire pour faire le boulot, le code qui en dépend est en GPL. Le moyen de s'en passer est de proposer 2 interfaces, et la licence GPL n'est plus obligatoire. Et cela peut importe le mode de communication.
Le coup du "link" n'est qu'une simplification, et n'est jamais évoqué dans la GPL.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 3.
Tu peux faire la même chose avec des paramètres de constructeur qui fournissent une classe concrète d'un type abstrait interne, non ? La seul différence est que tu es emmerdé si le type abstrait "ressort" de ta classe, car cela veut dire des casts moche.
Faut que je rerelise cette partie de toute façon.
Pas tous, non. J'ai déjà du mal avec le tien :)
"La première sécurité est la liberté"
[^] # Re: Au boulot ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 6.
Tient cela me rappelle mes postes lisaac. On s'était tellement fait démonter que le dev principal a fini par tout laisser tomber.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 2.
Merci c'est plus clair. Je dois encore comprendre ce que contiennent les functors de plus qu'une classe. D'un point de vue pratique, je veux dire.
Est-ce le "code" est dupliqué pour chaque functor ? J'ai du mal à imaginer ce qui va se passer pour une grosse expression (genre un million de terme). Normalement, ocaml ne duplique rien.
Mais dans le cas de "génération" d'une expression par lecture d'un fichier par exemple, il faut le faire pour chaque functor ? Comment partager une expression qui n'est pas statique ?
"La première sécurité est la liberté"
[^] # Re: DEL, tension inverse. Plomb
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Les diodes ne sont pas toutes des lumières. Évalué à 3.
Si je parle de varistance au lieu de plomb, il aurait fallut expliquer encore plus.
mais c'est l'idéal :
https://fr.wikipedia.org/wiki/Varistance
"La première sécurité est la liberté"
[^] # Re: Usage autre des GADTs ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 3.
Il y aussi une boulette sur x + 0 = 0.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 2.
Oui, un fichier pour chaque exemple, bien séparer. Pour pouvoir comparer les évolutions et les différences. Genre je suis bloqué sur le fold appliquée aux parenthèses, mais je bloque surtout sur le principe de précédence, plus que sur le code.
Mais pourquoi ?! En objet, c'est simplement une injection. Un composant d'un objet qui est construit à l’extérieur de celui-ci et donné en paramètre au constructeur. En quoi instancier un module en fixant un des type paramètre en fait une fonction ?
Oui, et j'ai toujours mal à la tête. Je pense réécrire mon langage de modalisation avec ce genre de technique. J'utilisais un bête AST. Faut que je relise tout à tête reposé.
"La première sécurité est la liberté"
[^] # Re: chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 2.
Justement, je voudrais les exemples de chaque étape, y compris le premier. Les fichiers dont tu parles doivent être bien trop compliqué pour comprendre le principe.
J'ai codé pendant 2 ans en ocaml fonctionnel simple. Et tout ce qui est foncteur/module, et les opérateurs spécifiques (@@) me semblent bien étrange et peu lisible.
Je n'ai toujours pas compris en quoi un module est si différent d'un objet ou d'une classe.
Pour github, il suffit de s'inscrire dessus, créer un projet, et faire un premier git clone sur sa machine. Puis des "git add" pour ajouter les fichiers dans l'index, "git commit" pour mettre mettre l'index dans le repository local puis "git push" pour mettre à jour github. Il existe un tas de tuto sur le sujet.
"La première sécurité est la liberté"
# chaud
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Tagless-final ou l'art de l'interprétation modulaire.. Évalué à 2.
J'ai encore mal au cerveau.
Cela serait bien de proposer le code complet minimal par exemple (github ?). C'est parfois pas évident de comprendre les dépendances entre bout de code.
"La première sécurité est la liberté"