La GPL garantie que les autres contributeurs ne peuvent pas privatiser le code dont tu es l'auteur.
Dans l'autre sens, elle garantit aussi que l'auteur initial ne peut pas prendre les contributions externes et les re-distribuer sous licence propriétaire dans une version future. À moins de faire signer des CLA qui permettent cela.
Si tu es le seul auteur sans aucune contribution extérieure, oui tu peux changer la licence quand tu veux. Mais si tu n'acceptes aucune contribution externe, est-ce de l'open-source dans un sens utile du mot ?
Dans mon expérience, 90% du typage c'est annoter les arguments des fonctions ou les attributs de classe avec var: TypeDeVar. Je manque peut-être d'imagination :) mais je ne sais pas comment on pourrait faire plus court. Peut-être plus d'inférences : Pourquoi est-ce que je suis obligé d'ajouter -> None à toutes les routines qui ne renvoient rien du tout ? Sûrement quand j'ai un keyword argument f(var=1) mypy pourrait décider que var doit être de type int ? Pour éviter ça je me suis senti obligé de mettre l'option no-untyped-def, qui est vraiment pédante.
deflog(msg:str,level=1):print("%d: %s"%(level,msg))reveal_type(log)# Revealed type is "def (msg: builtins.str, level: Any =) -> Any"
ça n'arrive pas a la cheville d'un vrai typage statique
C'est vrai. C'est clairement un rajout qui s'intègre moyennement bien au langage (ex: le problème de Serge). Mon problème à moi serait plutôt combien il est facile d'avoir des Any un peu partout dès qu'on oublie quelque chose (ex : juste au-dessus), ou lorsqu'on utilise une bibliothèque tierce qui n'a pas de types.
Dans l'ensemble et malgré tout ça, je trouve que c'est très utile, et ça m'évite un grand nombre d'erreurs avant de lancer mon code, donc j'utilise.
Pas de cast ou de type: ignore, et mypy peut vérifier que les opérations que tu fais sur SafeLoader sont valides à la fois avec CSafeLoader et PySafeLoader.
Clairement c'est pas évident, c'est un exemple où le typage est plus difficile qu'il ne devrait l'être. Mais on pourrait aussi dire : pourquoi donc yaml ne détecte pas tout seul si CSafeLoader est disponible, et force l'utilisateur à faire ces acrobaties :)
Aussi, la syntaxe blah: typ1 | typ2 est relativement nouvelle (Python 3.10 je crois?), utilise typing.Union[typ1, type2] si tu as un Python plus vieux.
Je mettrais simplement un commentaire avec type: ignore :
try:fromyamlimportCSafeLoaderasSafeLoaderexceptImportError:fromyamlimportSafeLoader# type: ignore # appaise mypy: 2em assignement avec un autre module
Personnellement, les types me sont très utiles. Ils attrapent beaucoup d'erreurs qui ne se signaleraient que bien plus tard. L'effort pour ajouter des annotations, et la difficulté pour annoter certaines constructions, vaut le coût.
D'un point de vue très égoïste, uBlock est l'une des très rares extensions que j'utilise, et comme tu dis j'imagine mal qu'ils lâcheront la prise en charge de FF, donc cela me touchera peu…
FF est dans un position difficile, de devoir faire sa place et être utilisable (pris en charge par les développeurs Web, d'extensions etc.) quand il ne fait que quelques % des utilisateurs VS Chrome et tous les re-skins de Chrome.
Je comprends le point c) comme obligeant à avoir un plan de reprise en cas de catastrophe. Mais si l'entreprise n'a que la version chiffrée (ou pseudonymisée) des données personnelles des clients, ben c'est uniquement ceci qu'elle doit pouvoir rétablir.
Tu peux toujours appeler le vrai ls avec \ls ou /bin/ls.
Je pense que si tu as l'habitude de taper lsi et que tu ne vois pas ce qui ne va pas, tu continueras à taper lsi parce que c'est ce que tu es habitué à faire…
À part fouiller manuellement dans /var/log pour les derniers logs qui datent d'avant les messages de boot du noyau courant, je ne crois pas qu'il y ait de solutions de base. Pistes : un syslog configuré pour écrire toutes les n minutes « je suis vivant », un munin qui graphe la valeur d'uptime avec alerte quand il retombe sous la barre des 15 minutes…
Je ne connais pas FreeNAS en particulier, mais sous FreeBSD il y a plusieurs façons de préciser les options pour monter un système de fichiers :
les options passées au moment de l'appel à mount(8) ;
les options passées dans ton /etc/fstab ;
les options inscrites dans le système de fichiers lui-même.
Je ne sais pas trop ce que tu veux dire par « je supprime cette option à chaque démarrage ». Tu fais un « mount -o remount,nonfs4acls » ? Si c'est ça, ce n'est pas étonnant que l'option revienne au montage suivant.
Quel est le contenu de /etc/fstab ? Que donne « tunefs -p /dev/ufs/vol » ? Ça devrait te dire que nfs4acl est activé. « tunefs -N disable /dev/ufs/vol » pour le désactiver, mais pour ça il faut remonter le FS en read-only (mount -o remount -r /dev/ufs/vol).
Pour le support utilisateur, je n'ai pas eu besoin affaire à eux ; ils ont des forums sur lesquels l'opinion générale semble être que le support est efficace et accessible. C'est une petite boîte de 200 personnes, les gens y seront plus accessibles.
Le portable que je me suis acheté il y a quelque temps chez Novatech est (d'après /sys/class/dmi/id/sys_vendor) un Clevo, comme deux commentaires plus bas. Il ressemble vraiment beaucoup au modèle que tu postes (esthétiquement et dans les specs). Il est à 489£, plus 16£ pour la livraison si vous êtes de l'autre côté de la Manche, ça reste moins cher, et il est possible de customiser la bête (hum, disque SSD…).
Tout est reconnu par Linux, sauf le lecteur d'empreintes, mais c'est pas grave. Pour la luminosité de l'écran, j'ai dû installer un noyal 3.7, le 3.2 de Debian ne semblait pas reconnaître les touches de contrôle de la luminosité.
Et qu'est ce que tu veux qu'un développeur noyau fasse de plus pour déployer IPv6 quand tu à déjà une stack qui marche ?!
Justement, rien de plus, ils ont développé tout ce qu'il fallait, tout est là. En fait, ils ne devraient même pas se préoccuper de savoir si il y a encore des adresses dispo en v4 ou pas. Trouver des solutions à ce genre de problématique et pondre les normes, c'est le boulot de l'IETF et autres.
Ce n'est pas aux développeurs de suivre les RFC, mais l'inverse. Une RFC pour un nouveau protocole ou technique ne peut pas passer au stade de brouillons (Draft Standard) si elle ne dispose pas d'au moins deux implémentations. C'est un peu comme dans le LL : tu expérimentes dans ton coin, tu implémentes d'abord, et ensuite tu publies ta RFC et tu demandes à tout le monde de la suivre.
Et je ne retrouve pas le lien, mais je suis tombé il n'y a pas longtemps sur quelqu'un qui expliquait que certains réseaux utilisaient des IP publiques pour des réseaux qui ne sont pas connectés à Internet (ou pour lesquels il suffirait d'un proxy oueb pour les lusers) parce qu'il y a un besion d'accepter des VPN depuis d'autres réseaux ; mais si les deux bouts du VPN utilisent la même plage d'IP privées, ça va faire du caca…
Tout ça pour dire que non, 3 plages d'IP privées ce n'est pas suffisant.
Je ne vois pas de mention du jugement sur www.google.fr. Juste un retard ? Ou Google aurait décidé que payer l'amende est moins cher de d'afficher publiquement une condamnation ?
Est ce qu'il existe une commande pour connaître sur quel montage se trouve un fichier ?
Oui, df mon_fichier.
Est-ce qu'il y a plus d'informations visibles dans /proc/mounts ? Ce fichier est maintenu par le noyal. Le fichier /etc/mtab est maintenu par mount(8) (du moins dans une distribution classique, il est possible que dans un système embarqué il y ait des subtilités).
Pourquoi ne pas faire un simple script SETUID que tes utilisateurs pourront lancer sur les binaires qu'ils créent ?
Autant mettre le mot de passe de root dans /etc/issue, ça ira plus vite...
Une autre possibilité serait peut-être d'utiliser inetd, qui permet de dire que toute connexion sur le port A est redirigée sur le programe /home/userB/bin/whatever qui sera exécuter en tant que userC.
[^] # Re: J'ai pas compris
Posté par Frédéric Perrin (site web personnel) . En réponse au journal GPL vs MIT, que choisir ?. Évalué à 8.
Dans l'autre sens, elle garantit aussi que l'auteur initial ne peut pas prendre les contributions externes et les re-distribuer sous licence propriétaire dans une version future. À moins de faire signer des CLA qui permettent cela.
Si tu es le seul auteur sans aucune contribution extérieure, oui tu peux changer la licence quand tu veux. Mais si tu n'acceptes aucune contribution externe, est-ce de l'open-source dans un sens utile du mot ?
[^] # Re: Mauvais compromis
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Quel pov' type . Évalué à 5.
Dans mon expérience, 90% du typage c'est annoter les arguments des fonctions ou les attributs de classe avec
var: TypeDeVar
. Je manque peut-être d'imagination :) mais je ne sais pas comment on pourrait faire plus court. Peut-être plus d'inférences : Pourquoi est-ce que je suis obligé d'ajouter-> None
à toutes les routines qui ne renvoient rien du tout ? Sûrement quand j'ai un keyword argumentf(var=1)
mypy pourrait décider quevar
doit être de typeint
? Pour éviter ça je me suis senti obligé de mettre l'optionno-untyped-def
, qui est vraiment pédante.C'est vrai. C'est clairement un rajout qui s'intègre moyennement bien au langage (ex: le problème de Serge). Mon problème à moi serait plutôt combien il est facile d'avoir des
Any
un peu partout dès qu'on oublie quelque chose (ex : juste au-dessus), ou lorsqu'on utilise une bibliothèque tierce qui n'a pas de types.Dans l'ensemble et malgré tout ça, je trouve que c'est très utile, et ça m'évite un grand nombre d'erreurs avant de lancer mon code, donc j'utilise.
[^] # Re: type: ignore
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Quel pov' type . Évalué à 5.
Salut Serge ! J'avais pas vu le nom avant de répondre :)
Il m'est venu une autre idée :
Pas de
cast
ou detype: ignore
, et mypy peut vérifier que les opérations que tu fais surSafeLoader
sont valides à la fois avecCSafeLoader
etPySafeLoader
.Clairement c'est pas évident, c'est un exemple où le typage est plus difficile qu'il ne devrait l'être. Mais on pourrait aussi dire : pourquoi donc
yaml
ne détecte pas tout seul siCSafeLoader
est disponible, et force l'utilisateur à faire ces acrobaties :)Aussi, la syntaxe
blah: typ1 | typ2
est relativement nouvelle (Python 3.10 je crois?), utilisetyping.Union[typ1, type2]
si tu as un Python plus vieux.# type: ignore
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Quel pov' type . Évalué à 10.
Je mettrais simplement un commentaire avec
type: ignore
:Personnellement, les types me sont très utiles. Ils attrapent beaucoup d'erreurs qui ne se signaleraient que bien plus tard. L'effort pour ajouter des annotations, et la difficulté pour annoter certaines constructions, vaut le coût.
[^] # Re: Firefox
Posté par Frédéric Perrin (site web personnel) . En réponse au lien Merdification de Chrome anti-bloqueurs de pub. Évalué à 5.
D'un point de vue très égoïste, uBlock est l'une des très rares extensions que j'utilise, et comme tu dis j'imagine mal qu'ils lâcheront la prise en charge de FF, donc cela me touchera peu…
FF est dans un position difficile, de devoir faire sa place et être utilisable (pris en charge par les développeurs Web, d'extensions etc.) quand il ne fait que quelques % des utilisateurs VS Chrome et tous les re-skins de Chrome.
[^] # Re: Un vœu pieux, mais une prise de conscience du politique
Posté par Frédéric Perrin (site web personnel) . En réponse au lien Leaders in Industry Support White House Call to Address Root Cause of Many of the Worst Cyber Attack. Évalué à 2. Dernière modification le 28 février 2024 à 12:58.
Je comprends le point c) comme obligeant à avoir un plan de reprise en cas de catastrophe. Mais si l'entreprise n'a que la version chiffrée (ou pseudonymisée) des données personnelles des clients, ben c'est uniquement ceci qu'elle doit pouvoir rétablir.
# Firefox
Posté par Frédéric Perrin (site web personnel) . En réponse au lien Merdification de Chrome anti-bloqueurs de pub. Évalué à 5.
Je ne comprends pas l’inquiétude à propos de Firefox. Qu'est-ce qui obligerait Firefox à suive la même politique que Chrome pour ses extensions?
[^] # Re: question idiote
Posté par Frédéric Perrin (site web personnel) . En réponse au journal le shell trick tout pourri du vendredi : .lsignore. Évalué à 2.
Tu peux toujours appeler le vrai ls avec
\ls
ou/bin/ls
.Je pense que si tu as l'habitude de taper lsi et que tu ne vois pas ce qui ne va pas, tu continueras à taper lsi parce que c'est ce que tu es habitué à faire…
[^] # Re: uptime ?
Posté par Frédéric Perrin (site web personnel) . En réponse au message Temps depuis le dernier arret. Évalué à 4.
Le monsieur a dit depuis le dernier arrêt…
À part fouiller manuellement dans
/var/log
pour les derniers logs qui datent d'avant les messages de boot du noyau courant, je ne crois pas qu'il y ait de solutions de base. Pistes : un syslog configuré pour écrire toutes lesn
minutes « je suis vivant », un munin qui graphe la valeur d'uptime avec alerte quand il retombe sous la barre des 15 minutes…[^] # Re: ACL du systeme de fichier contre ACL de NFS
Posté par Frédéric Perrin (site web personnel) . En réponse au message Aide Freenas et ACL. Évalué à 3.
Il y a peut-être bien plus simple que tout ça : visiblement dans l'interface oueb de FreeNAS il y a une case à cocher Windows ACL / Unix ACL : http://doc.freenas.org/index.php/Volumes#Setting_Permissions
Faire un « tunefs -p » ou regarder /etc/fstab avant / après cocher la case peut être intéressant pour voir ce que fait cette case.
[^] # Re: ACL du systeme de fichier contre ACL de NFS
Posté par Frédéric Perrin (site web personnel) . En réponse au message Aide Freenas et ACL. Évalué à 2.
Je ne connais pas FreeNAS en particulier, mais sous FreeBSD il y a plusieurs façons de préciser les options pour monter un système de fichiers :
Je ne sais pas trop ce que tu veux dire par « je supprime cette option à chaque démarrage ». Tu fais un « mount -o remount,nonfs4acls » ? Si c'est ça, ce n'est pas étonnant que l'option revienne au montage suivant.
Quel est le contenu de /etc/fstab ? Que donne « tunefs -p /dev/ufs/vol » ? Ça devrait te dire que nfs4acl est activé. « tunefs -N disable /dev/ufs/vol » pour le désactiver, mais pour ça il faut remonter le FS en read-only (mount -o remount -r /dev/ufs/vol).
[^] # Re: virtualisation?
Posté par Frédéric Perrin (site web personnel) . En réponse au message Ordinateur portable. Évalué à 1.
Viable, c'est-à-dire ?
Pour le support utilisateur, je n'ai pas eu besoin affaire à eux ; ils ont des forums sur lesquels l'opinion générale semble être que le support est efficace et accessible. C'est une petite boîte de 200 personnes, les gens y seront plus accessibles.
[^] # Re: virtualisation?
Posté par Frédéric Perrin (site web personnel) . En réponse au message Ordinateur portable. Évalué à 3.
Le portable que je me suis acheté il y a quelque temps chez Novatech est (d'après /sys/class/dmi/id/sys_vendor) un Clevo, comme deux commentaires plus bas. Il ressemble vraiment beaucoup au modèle que tu postes (esthétiquement et dans les specs). Il est à 489£, plus 16£ pour la livraison si vous êtes de l'autre côté de la Manche, ça reste moins cher, et il est possible de customiser la bête (hum, disque SSD…).
Tout est reconnu par Linux, sauf le lecteur d'empreintes, mais c'est pas grave. Pour la luminosité de l'écran, j'ai dû installer un noyal 3.7, le 3.2 de Debian ne semblait pas reconnaître les touches de contrôle de la luminosité.
[^] # Re: I See You!!!
Posté par Frédéric Perrin (site web personnel) . En réponse à la dépêche LibreOffice se met en 4.0. Évalué à 4.
Oui, il y a pare-feu.
http://workshop.netfilter.org/2010/wiki/images/f/f2/Oowall.odp
[^] # Re: Avis personnel
Posté par Frédéric Perrin (site web personnel) . En réponse au journal 127.0.0.0/8, bientôt sur vos traceroute. Évalué à 1.
Ce n'est pas aux développeurs de suivre les RFC, mais l'inverse. Une RFC pour un nouveau protocole ou technique ne peut pas passer au stade de brouillons (Draft Standard) si elle ne dispose pas d'au moins deux implémentations. C'est un peu comme dans le LL : tu expérimentes dans ton coin, tu implémentes d'abord, et ensuite tu publies ta RFC et tu demandes à tout le monde de la suivre.
[^] # Re: Avis personnel
Posté par Frédéric Perrin (site web personnel) . En réponse au journal 127.0.0.0/8, bientôt sur vos traceroute. Évalué à 2.
Et je ne retrouve pas le lien, mais je suis tombé il n'y a pas longtemps sur quelqu'un qui expliquait que certains réseaux utilisaient des IP publiques pour des réseaux qui ne sont pas connectés à Internet (ou pour lesquels il suffirait d'un proxy oueb pour les lusers) parce qu'il y a un besion d'accepter des VPN depuis d'autres réseaux ; mais si les deux bouts du VPN utilisent la même plage d'IP privées, ça va faire du caca…
Tout ça pour dire que non, 3 plages d'IP privées ce n'est pas suffisant.
[^] # Re: Avis personnel
Posté par Frédéric Perrin (site web personnel) . En réponse au journal 127.0.0.0/8, bientôt sur vos traceroute. Évalué à 3.
En 2005, des gens comme Comcast avaient déjà épuisé 10/8 pour leur propre tambouille (http://www.nanog.org/meetings/nanog37/presentations/alain-durand.pdf, page 5.
[^] # Re: Et moi
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Avec un bon Dell on peut.... Évalué à 1.
De mon côté, mon ancien portable (un Dell aussi) faisait un sifflement quand la carte réseau travaillait trop…
# Make love
Posté par Frédéric Perrin (site web personnel) . En réponse au journal La revanche du cochon/chien. Évalué à 10.
Ça fait un peu penser à la blague :
Qui a été ajoutée en 1998, puis
activée par défaut, puis gardée par un #ifdef (qui n'est pas défini par défaut, mais les esprits chagrins peuvent le masquer)
[^] # Re: Et cher
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Presque 12% de participation pour le vote par Internet. Évalué à 3.
C'est la première fois que les Français de l'étranger sont appelés à voter pour les élections législatives. Sur les élections précédentes, il y a eu :
Présidentielles le mois dernier : 42% de votants ;
Européennes de 2009 : les gens ont voté dans leur commune de résidence ;
Présidentielles 2007 : 42% ;
Référendum de 2005 : 33% (et « oui » à 81%…).
# Affichage du jugement sur la page d'accueil
Posté par Frédéric Perrin (site web personnel) . En réponse à la dépêche Google Suggest : 50.000 euros de dommages et intérêts pour injure publique. Évalué à 6.
Je ne vois pas de mention du jugement sur www.google.fr. Juste un retard ? Ou Google aurait décidé que payer l'amende est moins cher de d'afficher publiquement une condamnation ?
[^] # Re: Sans le savoir,
Posté par Frédéric Perrin (site web personnel) . En réponse au journal De bien belles icones comme on aimerait en voir plus souvent.... Évalué à 7.
La réponse est dans le message auquel tu réponds :
[^] # Re: C'est fameux
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Journal bookmark The Stallman Dialogues. Évalué à 7.
Rrrrouh, drôle l'humour de perroquet, rrrouh!
# /proc/mounts
Posté par Frédéric Perrin (site web personnel) . En réponse au message Mount et fstab. Évalué à 3.
Oui,
df mon_fichier
.Est-ce qu'il y a plus d'informations visibles dans
/proc/mounts
? Ce fichier est maintenu par le noyal. Le fichier/etc/mtab
est maintenu parmount(8)
(du moins dans une distribution classique, il est possible que dans un système embarqué il y ait des subtilités).[^] # Re: création de fichier qui sera executé en fork.
Posté par Frédéric Perrin (site web personnel) . En réponse au message POSIX capabilities / ouvrir port tcp <=1024. Évalué à 3.
Autant mettre le mot de passe de root dans /etc/issue, ça ira plus vite...
Une autre possibilité serait peut-être d'utiliser inetd, qui permet de dire que toute connexion sur le port A est redirigée sur le programe /home/userB/bin/whatever qui sera exécuter en tant que userC.