Les navigateurs essaient par tous les moyens possibles de rendre cette frontière la plus étanche possible, mais on imagine facilement qu'avec des nouvelles fonctionnalités ajoutées à JavaScript, de nouvelles failles peuvent facilement voir le jour.
Je ne pense pas que le fait d'être passé par des investisseurs soit la principale raison de la "chute" d'EdenWall.
Je pense plutôt que c'est le fait que la société se soit concentrée uniquement sur un seul produit, son appliance réseau (qui est essentiellement un parefeu), en utilisant NuFW comme fer de lance. Il y a beaucoup de concurrence dans le domaine des parefeux : Netasq et Arkoon en France, Cisco, Juniper, Fortinet, Palo Alto, ... à l'international. Quand un parefeu tombe en panne, le coût pour une entreprise est énorme. Alors remplacer un parefeu fonctionnel par un nouveau parefeu d'une jeune société méconnue (comparée à Cisco ou Juniper par exemple), il faut oser sauter le pas. Pour NuFW : la nécessité d'avoir un agent sur chaque poste client semble trop contraignant pour choisir NuFW plutôt qu'un portail captif, filtrage par adresse MAC, la norme 802.1x ou autre. Quand on contrôle son parc ça passe, mais souvent il y a des ordinateurs portables qui s'ajoutent, puis les terminaux mobiles (smartphones), etc. Autrement dit, bien que NuFW soit un bon parefeu, je doute qu'il réponde à vrai besoin. Les solutions concurrentes sont un compromis sécurité/facilité (de déploiement/administration) suffisant.
Au sujet de l'activité de service : la qualité des services vendus par EdenWall fidélisait les clients. Plusieurs fois, ça a donné confiance aux clients qui osaient alors sauter le pas en achetant une appliance. Alors que chercher des clients en attaquant directement par la vente d'appliance est autrement plus difficile.
Enfin, c'est mon analyse personnelle. Il y a d'autres facteurs, cités dans le journal, et peut-être aussi quelques soucis organisationnels (enfin, ça je pense pas que ça soit une exclusivité EdenWall ;-)).
We currently refuse to touch the ASPM registers if the BIOS tells us that
ASPM isn't supported. This can cause problems if the BIOS has (for any
reason) enabled ASPM on some devices anyway. Change the code such that we
explicitly clear ASPM if the FADT indicates that ASPM isn't supported,
and make sure we tidy up appropriately on device removal in order to deal
with the hotplug case. If ASPM is disabled because the BIOS doesn't hand
over control then we won't touch the registers.
Donc effectivement, ce n'est pas un bug noyau, mais -encore une fois- un bug du BIOS. Le bon correctif pour ton PC portable consistera donc à patcher ton BIOS.
C'est quoi ça, de la modification rétroactive du passé ? Mauvaise idée, ne pas utiliser.
Je dirai que ce n'est une mauvaise idée que pour les commits déjà public. Pour les commits locaux, on peut en faire ce qu'on veut : les fusionner, les diviser, les réorganiser, les éditer, etc. Je fais ça à peu prêt quotidiennement : je profite de la vitesse de Git/Mercurial pour faire des micro-commits, puis je nettoie avant de pousser. D'ailleurs, Mercurial est assez lent pour ce genre d'opération (greffon histedit), alors que c'est super facile et efficace avec git rebase -i.
Sauf que la fibre revient bien moins chère à l'opérateur que l'adsl: il ne paye pas FT.
Côté support technique, je pense que c'est une qualité de ne pas dépendre de France Telecom. Ca fait 3 mois que j'ai des pertes de synchronisation ADSL sur ma Freebox (plusieurs fois par jour, ça coupe mes appels téléphoniques pour le boulot, et la nuit Internet est souvent inutilisable). J'ai déjà eu 3 interventions (dont deux avec France Telecom) et aucun n'a vraiment résolu le problème (mais j'ai l'impression que c'est moins pire).
Bien que Free prenne assez facilement l'excuse de "France Telecom c'est des méchants, ils ne coopèrent pas" : j'ai vu comment le technicien France Telecom s'est comporté chez moi. Il parlait peu, en a profité pour râler contre Free, a fait un test inutile selon moi (test de continuité, je savais déjà que le signal passait vu que l'ADSL fonctionne une bonne partie de la journée), sans explication, et est parti. Alors que le premier technicien (Free) qui est passé m'a bien expliqué le problème, quelles étaient les étapes suivantes, les raisons probable de mon problème, etc.
Quand je demande une intervention, on me répond que ça prendra 2 semaines car les techniciens France Telecom ne sont pas dispo avant, et pour l'horaire du rdv, c'est souvent assez large (en journée et une plage de 2h ou plus). Bon je bosse à la maison, donc ça ne me pose pas problème d'attendre le technicien, mais j'imagine que d'autres personnes doivent poser un RTT juste parce qu'ils n'arrivent pas à donner un rdv à une date et une heure arrangeante...
En ce moment, la "nuit" (20h à 8h) j'ai beaucoup moins de coupures. Par contre, en journée, souvent quand un train passe : la Freebox perd la synchronisation ADSL... Ca pourrait être drôle si je n'avais pas besoin d'Internet et du téléphone pour travailler.
Le premier technicien "Free" (sûrement un prestataire) qui est passé a été clair : Free n'offre pas un support de qualité pro car ils sont lents à cause de France Telecom. Pour le téléphone il vaut mieux éviter le dégroupage total si on est pro. Il me semble que d'autres FAI ont des accords avec France Telecom pour avoir un support plus rapide.
Lundi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons mardi.
Mardi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons mercredi.
Mercredi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons jeudi.
Jeudi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons vendredi.
Vendredi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons samedi.
Samedi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons dimanche.
Dimanche matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous ne reviendrons plus.
Un trait peut accéder aux attributs et méthodes de l'objet sans que ces attributs et méthodes soient définis. Il faut donc espérer que la classe qui utilise le trait respecte les contraintes implicites exigées par le trait. Ce problème peut être limité par l'ajout de méthodes abstraites au trait.
Les Abstract Base Class (ABC) de Python, genre d'interfaces, déclarent les méthodes abstraites dont elles ont besoin. Si une classe qui l'utilise n'implémente pas toutes les méthodes abstraites, une exception est levée. La plupart des ABC utilisent uniquement des méthodes, ce qui laisse plus de libertés au développeur qui souhaite l'utiliser (pas d'attributs imposés). Mais si une ABC utilise un attribut, c'est elle qui doit le définir. Par exemple, MappingView a un attribut protégé self._mapping qu'elle définit dans son constructeur. KeysView est basé sur MappingView et peut donc réutiliser self._mapping : l'attribut est défini dans MappingView, on sait d'où vient (c'est explicite).
certains problèmes sont résolus des millions de fois plus rapidement aujourd'hui qu'il y a 30 ans
Donc si j'ai bien compris, soit certains calculs étaient trop long pour être lancé il y a 30 ans, soit c'était possible mais avec une précision très inférieure à ce qu'on est capable de faire aujourd'hui.
Evidement, sur de telles machines, on lance beaucoup de calculs en même temps, par beaucoup d'utilisateurs. Donc la machine ne reste ne général pas sans rien faire, il y a toujours des choses qui tournent dessus, voir une file d'attente de jobs à faire ...
Quoi ? Ca arrive qu'un ordinateur valant plusieurs millions d'euros ne fasse rien ?
Comment se passe l'obtention d'un temps de calcul sur un calculateur ? Il faut coucher^Wêtre amis avec l'admin ?
Par contre, PHP 5.4 ajoute les "Traits" ("Horizontal Reuse for PHP"), un truc qui ressemble à de l'héritage multiple (ou un hack pour arriver au même résultat selon moi) : https://wiki.php.net/rfc/horizontalreuse
Comme pour l'ajout des espaces de nommage avec leur syntaxe surprenante et une utilisation peu aisée, cette nouvelle fonctionnalité (son implémentation, sa syntaxe) me laisse perplexe. Durant l'héritage (bloc "use"), on peut changer le nom des méthodes, leur visibilité (public / private / protected), et gérer manuellement la gestion des conflits (si deux "traits" ont des fonctions (méthodes ?) qui ont le même nom). Exemple extrait de la RFC :
Python a opéré un changement radical dans Python 2.3 pour corriger des bugs tordus liés à l'héritage multiple. Un nouveau type de classe (new-style class) a été introduit pour implémenter une nouvelle méthode de résolution des méthodes (MRO, method resolution order) : C3 Method Resolution Order. Vieille documentation avec de jolis serpents en ASCII Art : http://www.python.org/download/releases/2.3/mro/
Avec Python 3, les old-style class ont disparu : toutes les classes utilisent l'algorithme C3. Perl 6 et Parrot utilisent également C3, Perl 5.10 peut l'utiliser de manière optionnelle. http://en.wikipedia.org/wiki/C3_linearization
Mais bon, l'héritage multiple et les mixins semblent être trop compliqués pour un développeur PHP (extrait de la RFC PHP) : To circumvent this problems multiple inheritance and Mixins have been invented. But both of them are complex and hard to understand. PHP5 has been explicitly designed with the clean and successful model of Java in mind: single inheritance, but multiple interfaces.
Il existe un module "six" pour faciliter la compatibilité entre Python 2 et Python 3 : le nom "six" vient de (Python) 2 * (Python) 3. Si son auteur était superstitieux, il aurait du prendre 2^3 (8). http://pypi.python.org/pypi/six
D'ailleurs sa documentation débute par : The name, “six”, comes from the fact that 2*3 equals 6. Why not addition? Multiplication is more powerful, and, anyway, “five” has already been snatched away.
À quoi ça sert d'avoir des calculateurs sans arrêt plus puissants ? Est-ce que ça permet de lancer plusieurs calculs en même temps ? Que les calculs se terminent plus vite ? Que les calculs soient plus précis ?
Selon la page suivante, le domaine d'application est inconnu dans 30% des cas, 15% sert à la recherche (euh, quel type de recherche ?), 7% à la finance, 5% pour des services logistiques, 5% à Internet, puis beaucoup d'autres choses. http://www.top500.org/stats/list/37/apparea
Pour la finance par exemple, je suppose que plus le calculateur est gros, plus on peut avoir des prévisions fiables et plus loin dans le temps.
Ces clusters echangent des donnees a travers le reseau constamment pour beaucoup --> interuption HW --> code noyau execute a chaque paquet qui arrive
Je ne pense pas qu'une interface réseau émette une interruption pour chaque paquet.
Pour info, Linux et FreeBSD permettent de désactiver les interruptions matérielle d'une carte réseau pour faire du polling à la place. Ceci permet de gagner en performance sur des cartes gigabits. http://www.linuxfoundation.org/collaborate/workgroups/networking/napi
"Observe that when the NIC receives 890Kpackets/sec only 17 rx interrupts are generated."
Pour le choix de PHP, je crois savoir, si je me souviens bien, que c'est pour faciliter la multiplication de nœuds (je ne suis pas sûr que c'est le bon terme, j'utilise celui de seeks) et donc d'avoir une installation facilement accessible au commun des mortels pour l'hébergement sur serveur mutualise, voire dans un cadre d'autohébergement.
Cela me semble justement être une barrière à l'entrée assez difficile à franchir, avoir un serveur web perso. Chez soit, il faut arriver à donner accès au port tcp/80 depuis l'extérieur, ce n'est pas gagné. Avoir un hébergeur (mutualisé ou pas) coûte des sous. Ce projet me semble donc réservé aux geeks bidouillé, ou bien je me trompe ?
Python par exemple intègre un serveur web (basic) qui évite d'avoir à déployer Apache et PHP par exemple. Enfin, je ne sais pas si c'est plus facile à installer au final.
Rien n'empêche d'utiliser un serveur XMPP ouvert de type APINC et de s'installer son movim maison.
Si tu veux dire qu'il est conseillé d'installer en plus d'installer un serveur XMPP ? Ca me semble hors de porté (j'ai aucune envie d'adminstrer un truc pareil juste pour moi). Bien sûr que j'opterai pour la solution "utiliser un serveur public" (j'utilise actuellement im.apinc.org).
Hurd supprime la plupart des limites arbitraires, voir toutes. Un nom d'hôte peut alors faire plusieurs million ou milliard de caractères. Je pense que ce mec devrait utiliser Hurd et patcher un serveur SMTP au besoin. Bon par contre, pour patcher tous les autres serveurs web de la planète, ça va être plus long.
Mon 1101ha va enfin pouvoir marcher correctement !
Tiens, j'ai aussi ce modèle d'eee pc. Il n'y pas d'accélération vidéo (mplayer) ni 3D, par contre, est-ce que Xorg est un poil accéléré ? Y'a quand même 1366×768 pixels à gérer.
# Content Security Policy
Posté par Victor STINNER (site web personnel) . En réponse au journal Et pourquoi pas un nouveau modèle de sécurité pour le web ?. Évalué à 4.
Les navigateurs essaient par tous les moyens possibles de rendre cette frontière la plus étanche possible, mais on imagine facilement qu'avec des nouvelles fonctionnalités ajoutées à JavaScript, de nouvelles failles peuvent facilement voir le jour.
Cette approche me semble intéressante :
https://developer.mozilla.org/en/Security/CSP/Using_Content_Security_Policy
Voir aussi (plus vieux, plus spécifique) :
https://developer.mozilla.org/En/HTTP_access_control
[^] # Re: Désinformation ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Fedora devient une grande fille. Évalué à 2.
Enfin, y a aucun lien vers le wiki avec la liste des fonctionnalités.
Je ne sais pas si ça a été ajouté par la suite, mais le premier lien est :
http://fedoraproject.org/wiki/Releases/16/FeatureList
« Releases/16/FeatureList »
[^] # Re: Le fond
Posté par Victor STINNER (site web personnel) . En réponse au journal EdenWall : la descente aux enfers. Évalué à 4.
L'ancienne version en PHP de NuFace (NuFace 2) est libre et disponible à l'adresse :
http://software.inl.fr/trac/wiki/EdenWall/NuFace
[^] # Re: Le fond
Posté par Victor STINNER (site web personnel) . En réponse au journal EdenWall : la descente aux enfers. Évalué à 4.
Voilà
https://github.com/haypo/nufw_mirror
[^] # Re: Analyse pertinente ?
Posté par Victor STINNER (site web personnel) . En réponse au journal EdenWall : la descente aux enfers. Évalué à 9.
Je ne pense pas que le fait d'être passé par des investisseurs soit la principale raison de la "chute" d'EdenWall.
Je pense plutôt que c'est le fait que la société se soit concentrée uniquement sur un seul produit, son appliance réseau (qui est essentiellement un parefeu), en utilisant NuFW comme fer de lance. Il y a beaucoup de concurrence dans le domaine des parefeux : Netasq et Arkoon en France, Cisco, Juniper, Fortinet, Palo Alto, ... à l'international. Quand un parefeu tombe en panne, le coût pour une entreprise est énorme. Alors remplacer un parefeu fonctionnel par un nouveau parefeu d'une jeune société méconnue (comparée à Cisco ou Juniper par exemple), il faut oser sauter le pas. Pour NuFW : la nécessité d'avoir un agent sur chaque poste client semble trop contraignant pour choisir NuFW plutôt qu'un portail captif, filtrage par adresse MAC, la norme 802.1x ou autre. Quand on contrôle son parc ça passe, mais souvent il y a des ordinateurs portables qui s'ajoutent, puis les terminaux mobiles (smartphones), etc. Autrement dit, bien que NuFW soit un bon parefeu, je doute qu'il réponde à vrai besoin. Les solutions concurrentes sont un compromis sécurité/facilité (de déploiement/administration) suffisant.
Au sujet de l'activité de service : la qualité des services vendus par EdenWall fidélisait les clients. Plusieurs fois, ça a donné confiance aux clients qui osaient alors sauter le pas en achetant une appliance. Alors que chercher des clients en attaquant directement par la vente d'appliance est autrement plus difficile.
Enfin, c'est mon analyse personnelle. Il y a d'autres facteurs, cités dans le journal, et peut-être aussi quelques soucis organisationnels (enfin, ça je pense pas que ça soit une exclusivité EdenWall ;-)).
# Le commit en question
Posté par Victor STINNER (site web personnel) . En réponse au journal La surconsommation électrique de Linux identifiée. Évalué à 10.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2f671e2dbff6eb5ef4e2600adbec550c13b8fe72
PCI: Disable ASPM if BIOS asks us to
author Matthew Garrett mjg@redhat.com
committer Jesse Barnes jbarnes@virtuousgeek.org
We currently refuse to touch the ASPM registers if the BIOS tells us that
ASPM isn't supported. This can cause problems if the BIOS has (for any
reason) enabled ASPM on some devices anyway. Change the code such that we
explicitly clear ASPM if the FADT indicates that ASPM isn't supported,
and make sure we tidy up appropriately on device removal in order to deal
with the hotplug case. If ASPM is disabled because the BIOS doesn't hand
over control then we won't touch the registers.
Donc effectivement, ce n'est pas un bug noyau, mais -encore une fois- un bug du BIOS. Le bon correctif pour ton PC portable consistera donc à patcher ton BIOS.
[^] # Re: Métadonnées
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Gitbuster II. Évalué à 10.
C'est quoi ça, de la modification rétroactive du passé ? Mauvaise idée, ne pas utiliser.
Je dirai que ce n'est une mauvaise idée que pour les commits déjà public. Pour les commits locaux, on peut en faire ce qu'on veut : les fusionner, les diviser, les réorganiser, les éditer, etc. Je fais ça à peu prêt quotidiennement : je profite de la vitesse de Git/Mercurial pour faire des micro-commits, puis je nettoie avant de pousser. D'ailleurs, Mercurial est assez lent pour ce genre d'opération (greffon histedit), alors que c'est super facile et efficace avec git rebase -i.
[^] # Re: Sur Free
Posté par Victor STINNER (site web personnel) . En réponse au journal Comment refuser la fibre optique. Évalué à 2.
Pour bloquer un numéro, il faut avoir le numéro de l'appelant non ? Il semble que le numéro est caché dans son cas...
[^] # Re: Dommage..
Posté par Victor STINNER (site web personnel) . En réponse au journal Comment refuser la fibre optique. Évalué à 7.
Sauf que la fibre revient bien moins chère à l'opérateur que l'adsl: il ne paye pas FT.
Côté support technique, je pense que c'est une qualité de ne pas dépendre de France Telecom. Ca fait 3 mois que j'ai des pertes de synchronisation ADSL sur ma Freebox (plusieurs fois par jour, ça coupe mes appels téléphoniques pour le boulot, et la nuit Internet est souvent inutilisable). J'ai déjà eu 3 interventions (dont deux avec France Telecom) et aucun n'a vraiment résolu le problème (mais j'ai l'impression que c'est moins pire).
Bien que Free prenne assez facilement l'excuse de "France Telecom c'est des méchants, ils ne coopèrent pas" : j'ai vu comment le technicien France Telecom s'est comporté chez moi. Il parlait peu, en a profité pour râler contre Free, a fait un test inutile selon moi (test de continuité, je savais déjà que le signal passait vu que l'ADSL fonctionne une bonne partie de la journée), sans explication, et est parti. Alors que le premier technicien (Free) qui est passé m'a bien expliqué le problème, quelles étaient les étapes suivantes, les raisons probable de mon problème, etc.
Quand je demande une intervention, on me répond que ça prendra 2 semaines car les techniciens France Telecom ne sont pas dispo avant, et pour l'horaire du rdv, c'est souvent assez large (en journée et une plage de 2h ou plus). Bon je bosse à la maison, donc ça ne me pose pas problème d'attendre le technicien, mais j'imagine que d'autres personnes doivent poser un RTT juste parce qu'ils n'arrivent pas à donner un rdv à une date et une heure arrangeante...
Pour les détails :
http://www.haypocalc.com/blog/index.php/2011/05/12/235-incompetences-du-support-du-fai-free
En ce moment, la "nuit" (20h à 8h) j'ai beaucoup moins de coupures. Par contre, en journée, souvent quand un train passe : la Freebox perd la synchronisation ADSL... Ca pourrait être drôle si je n'avais pas besoin d'Internet et du téléphone pour travailler.
Le premier technicien "Free" (sûrement un prestataire) qui est passé a été clair : Free n'offre pas un support de qualité pro car ils sont lents à cause de France Telecom. Pour le téléphone il vaut mieux éviter le dégroupage total si on est pro. Il me semble que d'autres FAI ont des accords avec France Telecom pour avoir un support plus rapide.
[^] # Re: Sinon...
Posté par Victor STINNER (site web personnel) . En réponse au journal Comment refuser la fibre optique. Évalué à 3.
Lundi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons mardi.
Mardi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons mercredi.
Mercredi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons jeudi.
Jeudi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons vendredi.
Vendredi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons samedi.
Samedi matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous reviendrons dimanche.
Dimanche matin,
L'empereur, sa femme, et le p'tit prince
Sont venus chez moi, pour me serrer la pince.
Mais comme j'étais parti,
Le p'tit prince a dit :
Puisque c'est ainsi nous ne reviendrons plus.
Faut tenir bon : la 7e fois est la bonne.
[^] # Re: numéro inconnu !=
Posté par Victor STINNER (site web personnel) . En réponse au journal Comment refuser la fibre optique. Évalué à 9.
Euh, y'a beaucoup plus simple pour ne pas recevoir d'appel pour passer à la fibre : déménagez à la campagne !
[^] # Re: Removed legacy features:
Posté par Victor STINNER (site web personnel) . En réponse au journal PHP 5.4 Alpha 1 est annoncé. Évalué à 5.
J'ai lu http://blog.runpac.com/post/php-point-sur-traits-trunk et je sais maintenant un peu mieux ce qui me dérange.
Un trait peut accéder aux attributs et méthodes de l'objet sans que ces attributs et méthodes soient définis. Il faut donc espérer que la classe qui utilise le trait respecte les contraintes implicites exigées par le trait. Ce problème peut être limité par l'ajout de méthodes abstraites au trait.
Les Abstract Base Class (ABC) de Python, genre d'interfaces, déclarent les méthodes abstraites dont elles ont besoin. Si une classe qui l'utilise n'implémente pas toutes les méthodes abstraites, une exception est levée. La plupart des ABC utilisent uniquement des méthodes, ce qui laisse plus de libertés au développeur qui souhaite l'utiliser (pas d'attributs imposés). Mais si une ABC utilise un attribut, c'est elle qui doit le définir. Par exemple, MappingView a un attribut protégé self._mapping qu'elle définit dans son constructeur. KeysView est basé sur MappingView et peut donc réutiliser self._mapping : l'attribut est défini dans MappingView, on sait d'où vient (c'est explicite).
Documentation des ABC :
http://docs.python.org/dev/library/collections.abc.html
Le code (très clair je trouve) :
http://hg.python.org/cpython/file/default/Lib/collections/abc.py
La PEP associée (Introducing Abstract Base Classes) :
http://www.python.org/dev/peps/pep-3119/
[^] # Re: À quoi servent tous ces flops ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Sortie du Top 500 de juin 2011. Évalué à 2.
certains problèmes sont résolus des millions de fois plus rapidement aujourd'hui qu'il y a 30 ans
Donc si j'ai bien compris, soit certains calculs étaient trop long pour être lancé il y a 30 ans, soit c'était possible mais avec une précision très inférieure à ce qu'on est capable de faire aujourd'hui.
[^] # Re: À quoi servent tous ces flops ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Sortie du Top 500 de juin 2011. Évalué à 2.
Merci beaucoup pour ces précisions.
Evidement, sur de telles machines, on lance beaucoup de calculs en même temps, par beaucoup d'utilisateurs. Donc la machine ne reste ne général pas sans rien faire, il y a toujours des choses qui tournent dessus, voir une file d'attente de jobs à faire ...
Quoi ? Ca arrive qu'un ordinateur valant plusieurs millions d'euros ne fasse rien ?
Comment se passe l'obtention d'un temps de calcul sur un calculateur ? Il faut coucher^Wêtre amis avec l'admin ?
[^] # Re: Removed legacy features:
Posté par Victor STINNER (site web personnel) . En réponse au journal PHP 5.4 Alpha 1 est annoncé. Évalué à 5.
Par contre, PHP 5.4 ajoute les "Traits" ("Horizontal Reuse for PHP"), un truc qui ressemble à de l'héritage multiple (ou un hack pour arriver au même résultat selon moi) :
https://wiki.php.net/rfc/horizontalreuse
Comme pour l'ajout des espaces de nommage avec leur syntaxe surprenante et une utilisation peu aisée, cette nouvelle fonctionnalité (son implémentation, sa syntaxe) me laisse perplexe. Durant l'héritage (bloc "use"), on peut changer le nom des méthodes, leur visibilité (public / private / protected), et gérer manuellement la gestion des conflits (si deux "traits" ont des fonctions (méthodes ?) qui ont le même nom). Exemple extrait de la RFC :
Python a opéré un changement radical dans Python 2.3 pour corriger des bugs tordus liés à l'héritage multiple. Un nouveau type de classe (new-style class) a été introduit pour implémenter une nouvelle méthode de résolution des méthodes (MRO, method resolution order) : C3 Method Resolution Order. Vieille documentation avec de jolis serpents en ASCII Art :
http://www.python.org/download/releases/2.3/mro/
Avec Python 3, les old-style class ont disparu : toutes les classes utilisent l'algorithme C3. Perl 6 et Parrot utilisent également C3, Perl 5.10 peut l'utiliser de manière optionnelle.
http://en.wikipedia.org/wiki/C3_linearization
Guido raconte comment Python est passé de son algo de MRO maison à C3 :
http://python-history.blogspot.com/2010/06/method-resolution-order.html
Les traits PHP me font plus penser aux mixins Ruby (que je ne connais pas).
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_modules.html
Mais bon, l'héritage multiple et les mixins semblent être trop compliqués pour un développeur PHP (extrait de la RFC PHP) :
To circumvent this problems multiple inheritance and Mixins have been invented. But both of them are complex and hard to understand. PHP5 has been explicitly designed with the clean and successful model of Java in mind: single inheritance, but multiple interfaces.
[^] # Re: passage de 5 à 6 => palier maudit ?
Posté par Victor STINNER (site web personnel) . En réponse au journal PHP 5.4 Alpha 1 est annoncé. Évalué à 3.
Il existe un module "six" pour faciliter la compatibilité entre Python 2 et Python 3 : le nom "six" vient de (Python) 2 * (Python) 3. Si son auteur était superstitieux, il aurait du prendre 2^3 (8).
http://pypi.python.org/pypi/six
D'ailleurs sa documentation débute par :
The name, “six”, comes from the fact that 2*3 equals 6. Why not addition? Multiplication is more powerful, and, anyway, “five” has already been snatched away.
# À quoi servent tous ces flops ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Sortie du Top 500 de juin 2011. Évalué à 5.
À quoi ça sert d'avoir des calculateurs sans arrêt plus puissants ? Est-ce que ça permet de lancer plusieurs calculs en même temps ? Que les calculs se terminent plus vite ? Que les calculs soient plus précis ?
Selon la page suivante, le domaine d'application est inconnu dans 30% des cas, 15% sert à la recherche (euh, quel type de recherche ?), 7% à la finance, 5% pour des services logistiques, 5% à Internet, puis beaucoup d'autres choses.
http://www.top500.org/stats/list/37/apparea
Pour la finance par exemple, je suppose que plus le calculateur est gros, plus on peut avoir des prévisions fiables et plus loin dans le temps.
[^] # Re: C'est quoi ce PulseAudio ?
Posté par Victor STINNER (site web personnel) . En réponse au journal usability fail. Évalué à 5.
"mplayer -softvol -softvol-max 1000" m'a déjà sauvé une fois :-)
[^] # Re: Monopole de Linux
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Entretien avec des développeurs francophones d'OpenBSD - Partie 2. Évalué à 4.
Ces clusters echangent des donnees a travers le reseau constamment pour beaucoup --> interuption HW --> code noyau execute a chaque paquet qui arrive
Je ne pense pas qu'une interface réseau émette une interruption pour chaque paquet.
Pour info, Linux et FreeBSD permettent de désactiver les interruptions matérielle d'une carte réseau pour faire du polling à la place. Ceci permet de gagner en performance sur des cartes gigabits.
http://www.linuxfoundation.org/collaborate/workgroups/networking/napi
"Observe that when the NIC receives 890Kpackets/sec only 17 rx interrupts are generated."
http://www.cyberciti.biz/faq/freebsd-device-polling-network-polling-tutorial/
[^] # Re: Comment développe-t-on un nouveau gros logiciel ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Movim, sortie de la version 0.2. Évalué à 1.
Pour le choix de PHP, je crois savoir, si je me souviens bien, que c'est pour faciliter la multiplication de nœuds (je ne suis pas sûr que c'est le bon terme, j'utilise celui de seeks) et donc d'avoir une installation facilement accessible au commun des mortels pour l'hébergement sur serveur mutualise, voire dans un cadre d'autohébergement.
Cela me semble justement être une barrière à l'entrée assez difficile à franchir, avoir un serveur web perso. Chez soit, il faut arriver à donner accès au port tcp/80 depuis l'extérieur, ce n'est pas gagné. Avoir un hébergeur (mutualisé ou pas) coûte des sous. Ce projet me semble donc réservé aux geeks bidouillé, ou bien je me trompe ?
Python par exemple intègre un serveur web (basic) qui évite d'avoir à déployer Apache et PHP par exemple. Enfin, je ne sais pas si c'est plus facile à installer au final.
Rien n'empêche d'utiliser un serveur XMPP ouvert de type APINC et de s'installer son movim maison.
Si tu veux dire qu'il est conseillé d'installer en plus d'installer un serveur XMPP ? Ca me semble hors de porté (j'ai aucune envie d'adminstrer un truc pareil juste pour moi). Bien sûr que j'opterai pour la solution "utiliser un serveur public" (j'utilise actuellement im.apinc.org).
# Autre solution
Posté par Victor STINNER (site web personnel) . En réponse au journal Hare krishna voudrait modifier la RFC2822. Évalué à 6.
http://www.ietf.org/mail-archive/web/dnsext/current/msg10343.html
# Hurd
Posté par Victor STINNER (site web personnel) . En réponse au journal Hare krishna voudrait modifier la RFC2822. Évalué à 10.
Hurd supprime la plupart des limites arbitraires, voir toutes. Un nom d'hôte peut alors faire plusieurs million ou milliard de caractères. Je pense que ce mec devrait utiliser Hurd et patcher un serveur SMTP au besoin. Bon par contre, pour patcher tous les autres serveurs web de la planète, ça va être plus long.
# Quelques exemples (visuels) ne feraient pas de mal
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche La bibliothèque Pink est sortie. Évalué à 5.
"over 200 algorithms for image segmentation and filtering"
Ça serait sympa d'en avoir la liste, même incomplète. Le site web de G'MIC a de nombreux exemples en image :
http://gmic.sourceforge.net/gallery.shtml
[^] # Re: LXTerminal
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Sortie de ValaTerm 0.3. Évalué à 2.
Et euh, xterm c'est léger et rapide non ? Pourquoi ne pas utiliser xterm ?
[^] # Re: Poulsbo
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Sortie du noyau Linux 2.6.39. Évalué à 2.
Mon 1101ha va enfin pouvoir marcher correctement !
Tiens, j'ai aussi ce modèle d'eee pc. Il n'y pas d'accélération vidéo (mplayer) ni 3D, par contre, est-ce que Xorg est un poil accéléré ? Y'a quand même 1366×768 pixels à gérer.
Pour rappel, j'avais écrit un article sur le pilote Intel pour Poulsbo qui n'est plus maintenu :
http://linuxfr.org/news/intel-ne-maintient-plus-le-pilote-linux-poulsbo-depuis-un-an-et