Et que tu as si bien expliqué tout le long de tes posts précédents. Si le nouveau système de MS était si bien, le service marketting et son kolossal Budget s’en serait emparé pour arroser la planète IT toute entière. Pour l’instant nous n’avons que des communications de recherche plutôt confuses.
Ben oui parce qu’un OS ça se bricole et ça se commercialise entre 12h et 13h lors du repas. Encore que ça dépend si les sandwichs sont au thon ou au saumon, le second contient plus de DHA.
Le
10/01/2014 à
08h
49
CaptainDangeax a écrit :
le problème des communications inter process ne connait que 2 solutions : le monolithique et sa soit-disant perte de sécurité, et le micro-noyau et son corrolaire, la perte de performances.
Ou la troisième sur laquelle tu refuses de te documenter.
CaptainDangeax a écrit :
dotNet tellement bien que MS l’a massivement utilisé pour le développement de son produit phare, j’ai nommé Office
S’ils n’ont pas jeté aux orties vingt années de boulot pour tout refaire sous dotnet c’est bien sûr parce que dotnet est mauvais.
Le
09/01/2014 à
07h
43
Cela dit j’argumente avec toi mais je suis d’accord sur le fond : un tel projet n’est pas gratuit en termes de performances. Même s’il restera à mon avis acceptable et présentera aussi des gains.
Le
09/01/2014 à
07h
19
En plus, ça n’est pas très compliqué : il suffit de combiner des structures nombreuses et disséminées et un accès aléatoire.
Tu peux toujours sortir quelques structures de données où l’on accède à un seul élément d’un tableau (ex : un dico dont l’index du tableau racine est donné par les premiers bits du hash code). Mais ça reste l’exception plutôt que la règle : en général quand on accède à un tableau c’est pour en lire de nombreux éléments et la taille reste en cache (rien à voir avec le prefetch).
Le
09/01/2014 à
07h
10
sr17 a écrit :
Et pour certains logiciels dont les performances sont basées sur une petite boucle et des opérations spécifiques, cela peut parfois s’avérer très rentable.
On peut toujours trouver quelques cas mais c’est beaucoup moins fréquent qu’avant : avant les performances d’un jeu dépendaient avant tout de telle petite partie du code, aujourd’hui c’est beaucoup plus souvent l’ensemble parce que les programmes ont grandi.
Et de toute façon quand l’assembleur permet d’obtenir des gains significatifs c’est soit grâce à un micro-management de la synchronisation (barrières mémoires, atomiques, etc) soit grâce à la vectorisation. Or les deux peuvent être exposés. Par exemple d’après ce qu’a écrit Duffy dans un ancien post de blog, je m’attends à ce que la plus fine granularité soit exposée concernant les barrières mémoires, en partant du principe que 1% des dévs en auront besoin et que ceux-là peuvent gérer la complexité correspondante.
Le
08/01/2014 à
16h
15
Sebdraluorg a écrit :
Pourquoi attendrait-il le dernier moment pour aller voir dans la table des méthodes et la créer si elle n’existe pas encore ? Il pourrait très bien parser tout le script, créer toutes les méthodes nécessaires avant de commencer l’exécution…
Je crois qu’il y a un quiproquo : tu peux tout parser en avance et créer des arbres syntaxiques représentant tes méthodes, puis les compiler en utilisant des dictionnaires pour toutes tes variables.
Sauf que ce n’est pas du tout performant. Si tu veux connaître les vrais types des variables, ce n’est pas possible à la compilation pour toutes les variables puisque certaines d’entre elles se verront ajouter de nouvelles clés inconnues à la compilation, créant de facto de nouveaux types. Donc il faut exécuter pour connaître le type de certaines variables et compiler des méthodes utilisant des types précis plutôt que des dictionnaires.
Il serait donc impossible en M# de déclarer un dico du style Dictionnary myDico; et de le remplir dynamiquement ?
Mais si et j’ai du mal à comprendre le fil de ta pensée. M# n’est pas un langage dynamique et de toute façon créer un dictionnaire ne nécessite pas de générer dynamiquement du code.
Le
08/01/2014 à
15h
31
CaptainDangeax a écrit :
Managed code -> Bytecode dans une machine virtuelle. Ce n’est pas du langage machine, c’est donc de l’interprété. Donc perte de performances.
Perdu : dotnet est depuis le début compilé à la volée. Et dans le cas de Midori il serait pré-compilé.
Juste parce qu’on ne peut pas tout paralléliser
En effet mais pourquoi faudrait-il se concentrer sur ces scénarios en sacrifiant les autres ?
Bah non, je trouve le sujet assez fumeux comme ça : beaucoup d’affirmations et de promesses, peu de preuves…
Tu trouves fumeux un sujet dont tu ne sais rien et que tu comprends de travers d’un bout à l’autre, donc pourquoi se renseigner ? On trolle d’autant mieux qu’on demeure ignorant.
Ah bon ? La performance n’est plus importante en 2014 ? J’ai un P4HT à vendre si tu veux
D’accord mais tu me donnes tes mots de passe, tes clés et tes codes bancaires puisque la sécurité et la fiabilité ne sont pas importantes. Sans parler de la productivité plus élevée avec le code managé mais à quoi bon avoir plus de fonctionnalités à prix constant ? Et enfin question performances tu iras faire un tour du côté des serveurs faisant tourner des cohortes de VM parce que c’est le seul moyen de sécuriser.
Alors tu affirmes, c’est bien, mais maintenant tu expliques comment faire pour aller plus vite qu’un mov adresse,donnée suivi d’un mov donnée, adresse en ASM, et en code managé s’il te plaît.
En faisant exactement de la même façon, grâce aux contrats de communication vérifiables au lancement et qui permettent de lever les barrières.
Tiens, lis la page sur l’effet tunnel. Même avec des atomes plus petits (carbone dans le graphène), il y a toujours des limites physiques.
Je connais parfaitement l’effet tunnel et mon post ne prétendait pas qu’on pourrait continuer à miniaturiser à l’infini. Au contraire il faisait remarquer qu’à finesse de gravure constante on pouvait travailler sur d’autres facteurs pour accroître le nombre de transistors.
Evidemment, le multi coeur ne fait pas tout (voir ci-dessus)
C’est surtout que les piles logicielles existantes n’étaient pas scalables ou pas suffisamment.
Le
08/01/2014 à
14h
37
CaptainDangeax a écrit :
Perdu, ce n’est pas de la mémoire virtuelle, c’est un registre physique dans un chip. J’ai pourtant prévenu que j’étais un vieux de la vieille, tu aurais dû vérifier d’où vient cette instruction avant de parler de mémoire virtuelle.
Poke était aussi utilisé en basic.
De toute façon c’est du code managé, ce sera toujours moins rapide que de l’ASM et même du C correctement compilé, puisque code managé implique une certaine dose d’interprétation.
Le code managé n’implique à aucun moment d’interpréter le code. Le seul surcoût du code managé c’est celui à payer pour la sécurité : vérifications aux bornes etcétéra.
Si c’est pour attendre des E/S en mémoire…
Si tu te réfères à la latence du bus PCI je parlais de coeurs intégrés au CPU. Si tu parles du fait que plus de coeurs signifie plus de cache et de bande passante avec la mémoire, oui, et alors ? Pourquoi cela introduirait-il plus de latence ?
Si, j’ai lu les articles de PCI et tout ceci me semble très fumeux, pour ne pas dire plus.
Va lire les papiers de recherche si tu veux en savoir plus. Mais manifestement tu n’avais rien compris. Les articles de PCI sont destinés à une audience large.
Donc l’UAC ne sert à rien, merci de nous le confirmer.
L’important quand on trolle, c’est d’en rajouter.
CaptainDangeax a écrit :
La seule question qui compte c’est :
est-ce que ce sera plus rapide ou moins rapide qu’en monolithique ?
Sur la communication IPC, oui, ce sera plus rapide. Beaucoup plus.
Mais ce n’est évidemment pas la seule chose qui compte, très loin de là. Pas en 2014.
arno53 a écrit :
La loi de moore est lieé a la finesse de gravure qui va certes arrivé a un blocage. Ca va justement pousser les fondeurs a faire du many-core … Ca fait des années qu’on stagne a 4⁄6 coeurs, là on passera a du 12⁄24 coeurs etc … Et midori est pensé dans cette optique.
Ca fait des décennies qu’on arrive à un blocage et qu’on le repousse donc… Et, non, la loi de Moore est indépendante de la finesse de gravure : quand on ne pourra plus miniaturiser on travaillera sur la dissipation et on empilera, et finalement on se rabattra sur un autre matériau. A mon avis on en a encore pour un moment vu ce qui est dans les labos.
Par ailleurs si la loi de Moore arrivait à un obstacle il ne serait pas possible d’ajouter plus de coeurs puisque, par définition, ceux-ci nécessitent des transistors.
Enfin si le nombre de coeurs a “stagné” (je trouve le terme fort), c’est que la demande n’allait pas dans ce sens.
Le
08/01/2014 à
13h
26
CaptainDangeax a écrit :
Donc, dans un driver écrit en mode managé, on mettra POKE 53281,0 pour le traduire en mov 0xd020, #0 après un décodage de l’adresse, de la donnée, et une vérification qu’on ne déborde pas dans le SIP d’à coté.
Perdu, tu as mal compris.
La mémoire virtuelle n’est plus nécessaire.
La vérification de la plage du SIP n’est pas nécessaire.
Donc non seulement une assignation dans une application managé produira exactement les mêmes instructions qu’un code natif mais en plus il n’y a pas de table des pages à consulter !
Tout simplement parce que le comportement du code managé est vé-ri-fiable dans le sens où on peut s’assurer en avance qu’il ne débordera jamais chez le voisin. Plus besoin de flic.
Certes, les architectures sont de plus en plus performantes, mais où sont les CPU à 5GHz qu’Intel nous avait promis à la sortie des P4-Netburst ?
En revanche nos GPU ont des milliers de coeurs chacun et demains nos CPU auront des dizaines de coeur. Tu ne crois pas qu’il faudrait les utiliser et que ça nécessite un modèle de conurrence flexible et vérifiable ?
Ensuite le micro noyau. Sur le papier c’est très bien, plus sécurisé, etc, etc… Sauf que la communication inter processus écroule les performances
Sauf qu’encore une fois tu n’as rien lu sur Singularity, sinon tu saurais que la communication inter-processus y est plus rapide puisque celle-ci obéit à un dialogue contractualisé par les deux parties et vérifiable qui leur permet de partager des buffers et d’envoyer des messages très rapidement.
A nouveau tout découle du fait qu’avec des langages vérifiables et des processus vérifiés on peut supprimer les barrières. Sans qu’en plus, ici, dans le cas de communication IPC, on vérifie jusqu’au fait que toutes les étapes du flux de dialogue sont contractualisées et qu’il n’y aura pas de deadlock.
L’UAC n’a rien fait vu que le vers n’était ni dans C:\PROGRA~1 ni dans C:\WINDOWS
Si UAC n’a pas réagi c’est que le vers n’a jamais rien fait nécessitant l’intervention de l’UAC ou qu’il a trouvé un moyen d’empêcher son déclenchement.
Dans Win8 les permissions pour les applis ModernUI sont par défaut très restreintes, donc impossible de faire quoi que ce soit de nuisible en douce sans alerter l’utilisateur. Or c’est le modèle retenu par Singularity.
Le
08/01/2014 à
11h
06
charon.G a écrit :
Il y en a une sur la quelle j’ai débattu sur twitter qui semblerait être aussi utilisée dans project N. C’est letree shaking:
J’avais vu que tu avais déjà mentionné ça, oui. Cela dit en termes de performances ça me semble plutôt insignifiant :
* Ça réduit la taille de l’empreinte mémoire du code d’un ou deux Mo et c’est cool sur les smartphones en 2014 mais c’est très vite anecdotique. A tous les coups ça n’accélère même pas le chargement (je parie qu’ils revérifient le code à chaque lancement par sécurité)
* Ça rend les accès au code plus souvent séquentiels mais ça restera anecdotique et le code gourmand tend déjà à rester en mémoire de toute façon.
* Théoriquement des champs en moins ça pourrait vraiment être intéressant mais en pratique 99% des types n’auront aucun champ à supprimer.
* Reste l’amincissement des tables virtuelles qui laissera quelques ko de cache en plus pour les données, et le scellage de méthodes aujourd’hui virtuelles (mais les méthodes gourmandes sont déjà scellées).
Bref, à mon avis c’est peu significatif. D’ailleurs si ça l’était on utiliserait déjà abondamment cette technique pour le code natif vu que les applications sont scellées. Pourtant personne ne le fait (même si le compilateur le fait en partie). Par exemple les dll livrées avec les jeux sont les dll d’origine plutôt que des version élaguées sur mesure pour le jeu ou fusionnées dans l’exe. En revanche ça aurait tout son sens pour JS afin de gagner de la bande passante et ainsi accélérer le chargement des sites.
charon.G a écrit :
Une DLL sur les systèmes actuels se chargent dans l’espace mémoire du processus et de façon dynamique pour certaines.Avec Singularity une dll devrait tourner dans son propre sip ou être fusionné au code du programme.
Non, s’ils faisaient ça il leur faudrait complètement réécrire les dll pour y ajouter des contrats et communiquer par message avec l’appli, ce qui serait désastreux pour les performances. On ne peut pas facilement séparer une dll pour la mettre dans son SIP.
En fait chaque application déclare à l’avance les dll qu’elle va consommer. Quand Midori charge l’application, il charge en même toutes les dll et c’est cette base de code unifiée qui est ensuite certifiée et fait l’objet d’un élagage (tree shaking / pruning).
Le
08/01/2014 à
07h
16
Sebdraluorg a écrit :
Euh bin la simple analyse du code devrait permettre de déterminer tous les types qui vont être utilisés, il ne sont pas typés explicitement, mais c’est determinable sinon ce ne serait même pas executable….
C’est tout à fait exécutable sans inférence de types, c’est même ce qui est fait à la base pour les langages à typage dynamique : chaque objet est un bête dictionnaire et pour exécuter la méthode “bidule” on recherche à chaque appel l’existence d’une clé “bidule” dans le dictionnaire de l’instance.
Maintenant pour optimiser les navigateurs cherchent à effectivement à inférer des types. Mais que se passe t-il quand un algo assigne des paires clé/valeur à un objet dont les clés sont produites dynamiquement ? Impossible de connaître ces clés à l’avance. Donc impossible de connaître à l’avance les champs de l’objet.
C’est un des nombreux problèmes de compilation à la volée de javascript. Certains types ne peuvent connus qu’à l’exécution. Et pour d’autres le coût de l’inférence statique serait tout simplement trop élevé.
sr17 a écrit :
Quelques objections qu’on ne peut pas malheureusement pas balayer d’un revers de main parce qu’un tel système restreindra de fait l’usage de certains optimisations
Oui, je suis le premier à dire qu’il y aura une perte.
Cela dit :
* La valeur de ces micro-optimisations est souvent surévaluée, de moins en moins significative, surtout par à la parallélisation, et les humains font aujourd’hui rarement mieux que les compilateurs (la vectorisation automatique devient aujourd’hui monnaie courante).
* Il y aura des gains par ailleurs : la suppression de la mémoire virtuelle c’est un gros cadeau pour les performances.
Le système aura l’avantage d’éliminer les “context switch”, donc de permettre un gain de performance sur du code “managé”.
Pourquoi seulement sur le code managé ?
Mais il y a un revers de la médaille : un simple accès à un élément d’un tableau peut se traduire par deux “cache miss” au lieu d’un à cause du bornage. Or, les accès mémoires sont l’un des facteurs limitant des processeurs modernes, bien plus que le coût des “context switch”.
Ca ne me semble pas significatif : on accède rarement à un élément de façon isolé. En général c’est toujours suivi par l’accès à davantage d’éléments (que ce soit aléatoire ou séquentiel), donc le cache miss ne sera que sur le premier élément.
Quant aux scénarios où ce n’est pas le cas, quels sont-ils ? Ceux où le tableau n’a qu’un élément, mais dans ce cas la ligne de cache contient à la fois l’élément et la taille. Et ceux où l’accès à l’élément est suivi de traitements lourds, si bien que cet accès est rare et donc peu significatif.
Zimt a écrit :
C’est histoire de proposer un langage rapide avec un développement qui requiert moins de temps.
Ca ne me semble pas tellement significatif par rapport au impératifs de sécurité et aux évolutions matérielles (many-core notamment).
Le
07/01/2014 à
16h
36
Sebdraluorg a écrit :
Ah bon ? Certain de ça ?
S’il est exécuté c’est qu’il a été interpreté et même compilé dans le cas d’IE si je ne m’abuse…
Au moment où le code JS essaie d’appeler la fonction Bidule avec un argument du type Truc, la VM cherche le code compilé pour la fonction Bidule avec ce type précis d’argument. Si ce code compilé n’est pas disponible, alors elle le génère puis ellle l’exécute.
C’est au moment de l’exécuter qu’on sait avec quels types une fonction est appelée et qu’on peut la compiler, puis l’exécuter. Ou, si elle a déjà été compilée pour ce type précis d’argument, l’exécuter directement.
Et, non, Truc n’est jamais déclaré en Javascript. C’est un type inféré à l’exécution par la VM. Et si tu trouves que tout ça est compliqué, ça l’est : la compilation d’un code dynamique est un des trucs les plus tordus que je connaisse. Et pourtant j’en connais.
Le
07/01/2014 à
16h
06
Ksass`Peuk a écrit :
Cela dit si on a du très bas niveau, on veut avoir une déalloc parfaitement déterministe. C’est quoi derrière ? Du comptage de référence ? Ce serait quand même plus correct d’être plus précis niveau responsabilité si on veut très efficace, non ? (comprendre shared_ptr/unique_ptr en C++11).
Midori n’impose rien de ce genre : comme tu l’as dit on retire l’arithmétique de pointeurs et on garde de simples références typées à la place. Mais à aucun moment il n’est nécessaire de vérifier que la mémoire sera correctement libérée. Donc GC, ARC, ou autres. C’est un choix propre au langage.
Grosse interrogation pour ma part également : quid des modèles mémoire faibles ?
D’abord on sort à nouveau du cadre de ce que Midori doit vérifier (cf post #151) et a priori il n’y a aucune raison pour eux d’avoir à définir un modèle mémoire. Sauf pour une chose très convenue : l’atomicité des assignations de références. Mais je ne pense pas qu’il y ait une seule architecture moderne sur laquelle ce ne soit pas le cas.
Maintenant concernant M# son chef de projet, Duffy, est avant tout un spécialiste des problèmes de concurrence. Et il avait publié un billet très intéressant sur le sujet : ]Sayonara volatile
Sa position est que 99% des développeurs ne devraient pas avoir du tout à se préoccuper de ces problèmes et que les 1% restants devraient avoir un contrôle total sur celui-ci. Pas de niveau intermédiaire. Il propose une révision en conséquence de volatile, qui disparaîtrait en tant que mot-clé.
charon.G a écrit :
Je sais déjà que WinRT a son propre système de type, qu’il lie à celui des langages dotnet. Ce que tu me dis me fait penser à un vieux brevet je suis en train de chercher mais pour le moment je ne retrouve pas le lien.
Ma foi si quelque chose te revient en mémoire à ce sujet, c’est le genre de choses que je serais curieux de lire.
EDIT : merci je regarde ça.
Le
07/01/2014 à
15h
21
Par contre le TAL m’inquiète un peu. Aujourd’hui le bytecode dotnet contraint tous les langages dotnet à se taper le même système rigide de types. Impossible de l’enrichir sans implémenter une infrastructure complète au-dessus de l’infrastructure, avec les performances que tu imagines (il suffit de voir F#). Je trouverais dommage que Midori nous enferme ainsi dans un système de typage trop cloisonné. Pour moi c’est le gros point noir.
Le
07/01/2014 à
15h
14
charon.G a écrit :
Tu ne penses pas que cette méthode pourrait être utilisée pour gérer la compilation JIT pour les navigateurs web par exemple? Le problème c’est qu’à la base c’est interdit par singularity et Midori. Mais j’imagine bien que Microsoft avait prévu un truc pour ce problème.
Midori interdit la modification de l’espace de code par le processus lui-même parce que le processus ne serait plus vérifiable. Mais il y a une solution très simple : soumettre un flux TAL, vérifiable, au noyau. En effet l’ajout d’un code certifié ne peut logiquement pas compromettre la certification du code existant. Le noyau pourrait alors se charger de patcher un SIP existant ou de créer un SIP à la volée, puisque le coût de ces derniers est quasi-nul. Ce type de scénario est parfaitement envisageable.
A vrai dire les deux variantes seraient nécessaires pour un navigateur : un processus par page pour cloisonner les données des pages (superflu à vrai dire puisque le code est forcément honnête), puis un patch à la volée parce qu’il n’est pas possible de compiler entièrement le javascript faute d’informations sur le typage, celui-ci n’étant entièrement connu qu’à l’exécution. Et comme il faut partager les données mieux vaut avoir un seul SIP par page plutôt qu’un SIP par fonction !
Le
07/01/2014 à
14h
36
moi1392 a écrit :
Ça me parait pas si évident.
Comme je l’ai dit dans un précédent message, par “certifier” ou “vérifier” on entend uniquement que :
* Le processus n’accède qu’à sa propre mémoire et n’écrit que dans sa propre zone de données.
* Le processus n’exécute aucune des instructions interdites.
Si je ne m’abuse ces deux conditions sont suffisantes et nécessaires pour une exécution en ring 0 sans compromettre la sécurité. Or on peut mettre au point des règles (un bytecode) qui rendent toujours vérifiables ces hypothèses. Et de là créer / adapter plusieurs langages pour les rendre vérifiables.
Quant à certifier le résultat, ça n’a pas d’intérêt pour le problème posé et ce serait effectivement équivalent au problème indécidable de l’arrêt.
tu n’as pas la possibilité d’écrire du code qui va monitorer/manager un autre programme, car il sera invalide et te sera refusé à la compilation (quid d’un débogeur tiens, comment cela marche sur un tel système ?)
Mais si c’est possible. ;)
La communication inter-processus est régulée par quelques contrats que les applications peuvent déclarer et souscrire. Ceux-ci sont définis de façon rigide en définissant toutes les étapes de la conversation et les données échangées à chaque étape, et le système peut vérifier que chacun implémente correctement sa part de la communication.
Le système est même, cadeau bonus non-nécessaire, capable de détecter les deadlocks dans la conversation, les cas non-couverts où l’interférence entre plusieurs applications afin de pouvoir signaler à l’utilisateur que telle application compromettra le fonctionnement de telle autre.
Concernant le débogueur, concrètement celui-ci exposera donc un contrat lui donnant accès à toute la mémoire du souscripteur et le compilateur insèrera en mode debug une souscription à ce contrat dans l’application générée.
Tant que c’est entre adultes consentants, tout est permis. Où pour reprendre une analogie foireuse, nos gens honnêtes ont été priés de déclarer avec qui et comment ils comptaient fricoter dans la maison sans flics où tout le monde est nu. Pas très spontané mais très consentant et sans ambiguïté.
Le
07/01/2014 à
14h
21
arno53 a écrit :
Je sais pas si tu as vu cette video ? Ca explique un peu le fonctionnement … Pour tout le reste voir avec Charon ^^
Je te remercie mais à vrai dire je préfère de loin le papier de recherche, plus rapide à lire. ^^
Le
07/01/2014 à
14h
04
charon.G a écrit :
Je pense que ce brevet de galen hunt devrait plus répondre à ta question:
Je te remercie, ça correspond effectivement à ce que j’avais rapporté dans mon précédent message à propos de Drawbridge : un domaine-processus en mode noyau contenant tous les processus vérifiables et un ou plusieurs domaine-processus en mode utilisateur isolés matériellement et contenant les processus invérifiables.
Par contre Drawbridge laissait aussi entendre, et c’était le point sur lequel je me posais le plus de questions, qu’ils ne réimplanteraient pas un noyau NT en mode noyau mais seulement en user-mode (fragile mais peu importe puisque le noyau est unique à un processus). Or l’annonce parle justement d’un micro-noyau. Ils semblent donc bien partis là-dessus.
charon.G a écrit :
Mais j’ai pas toutes les informations en effet la dessus. Par contre tu ne penses pas que si Microsoft sort une nouvelle plateforme de dev alors que win32 a duré plus de 20 ans, il ne va pas la jeter 3 ou 5 ans après?
Comme je disais, l’API WinRT correspond sans aucun doute à ce qui est exposé par le noyau Midori. On est d’accord là-dessus, pas de souci.
Par contre C++ CX, non, c’est seulement un moyen d’offrir aux développeurs C++ de pouvoir consommer leurs API. Pour rendre ce langage vérifiable il faudrait peu ou prou en supprimer les pointeurs (y compris dans C++ CLI), ce qui est impensable. Il faudra le faire pour C# d’ailleurs mais c’est peu problématique pour ce langage vu la place anecdotique des pointeurs.
La seule façon de maintenir les pointeurs (en C# ou C++) serait d’insérer à la compilation des vérifications de plage à chaque accès. Cela rendrait certes le processus vérifiable et utilisable dans un SIP mais au prix de performances plus faibles que dans un HIP. Aucun intérêt donc. Tant pis : C++ ne sera jamais vérifiable, il restera cantonné aux HIP et paiera une légère taxe sur les performances et la mémoire.
Ca ne veut pas dire que C++ CX sera obsolète dans cinq ans : dans cinq ans il y aura toujours des gens pour bosser en C++ et qui auront besoin de consommer les nouvelles API.
Kurian a écrit :
Que viens faire Roslyn dans l’histoire ? Juste un projet annexe ou c’est lié ?
A priori il n’y a pas de lien et il y avait de bonnes raisons pour créer Roslyn qui n’ont rien à voir avec tout ça.
Cela dit, dans la mesure où Midori interdira la réflexion il faudra ré-implémenter certaines fonctionnalités via de la génération de code à la compilation. Autant dit qu’un compilateur instrumentable et extensible sera des plus utiles.
moi1392 a écrit :
Ça a déjà beaucoup plus de sens ! Donc en clair, il n’y a PAS d’isolation.
Tout à fait : on vérifie en amont que tout le monde est honnête et du coup plus besoin de flics. Dit comme ça ça n’a pas l’air très sûr mais en fait ça l’est beaucoup plus que le système actuel.
Maintenant la question qui fache… qui maitrise le compilateur ?
Le certificateur, pas le compilateur. Le certificateur vérifie le code en bout de chaîne alors que les compilateurs ne seront pas dans l’OS et pourront être indépendants de MS, comme aujourd’hui.
Et la réponse est : les mêmes que ceux qui aujourd’hui maîtrisent la pose de clôture au sein de l’OS. Pas plus de problème qu’aujourd’hui, donc. Et puis le certificateur est lui-même simple à vérifier car très petit.
Le
07/01/2014 à
12h
19
charon.G a écrit :
Les api de WinRT sont safe pour prévoir une portabilité future sur Midori.
Les API, oui. C++ CX, non. Il n’est pas vérifiable. Il n’y a absolument aucune restriction sur les pointeurs ou les instructions utilisées, tu ne peux pas le faire tourner en ring0 car tu ne peux pas avoir la certitude que telle variable ne pointera pas vers une adresse du noyau au moment où elle sera écrite.
Tu as lu le tweet d’aleks bromfield. Il est assez clair non?
Aussi clair que la lecture des lignes de la main. Je suis (j’étais) à la recherche de détails technique, pas de promesses commerciales en 140 caractères.
tu es en train de nous expliquer que Midori ne sera pas capable de sandboxer des applications, c’est çà? " />
Il est impossible de le faire tel que c’était fait jusqu’à aujourd’hui. Je n’ai jamais dit que c’était impossible autrement, il y a plusieurs façons et j’en avais présenté une dans le même post.
mais vu que les appels au système le sont et que l’“appli tourne dans une sandbox ca ne posera aucun problème.
Non puisqu’il n’y a plus de sandbox avec Midori : tout tourne en ring0. La seule “sandbox” restante c’est la vérification des autorisations lors des appels aux API.
Donc il faut en recréer une pour les applis non-vérifiables puisqu’on ne peut pas les faire tourner ainsi en ring0 : elles pourraient écrire dans la zone mémoire du noyau ou d’une autre appli. La question est donc : comme refaire cette sandbox ? C’était le sens de ma question au départ.
Mais ce n’est pas grave : j’ai été revoir le projet Sandbridge et j’ai vu la réponse à ma question. Pour ces applis ils créent donc des processus en ring3 mais au lieu de ré-implémenter tout un noyau NT aux côtés de Midori ils le créent en user-mode dans le processus lui-même. Ce noyau NT est donc hautement vulnérable mais puisqu’il est spécifique à un processus et une application ce n’est pas un problème. Le coût est avant tout en mémoire et un peu en temps CPU.
charon.G a écrit :
Quelle mauvaise foi!! On en a débattu plein de fois sur plusieurs news.Tu me décois " />
Mais arrête de m’insulter enfin !
Je me rappelle avoir discuté de nombreuses fois avec toi de ces sujets mais je ne me rappelle pas s’ils avaient été révélés par toi ni à quel moment par rapport aux autres, c’est aussi simple que ça et il n’est pas du tout étonnant que la chronologie exacte m’échappe des années plus tard.
Et j’ai été très surpris et choqué par tes réactions tout au long de ce sujet. Je suis venu pour une discussion technique sur un sujet qui m’intéresse et je me retrouve avec des approximations et un problème d’égo sorti de nulle part.
charon.G a écrit :
Ca explique bien ce que je disais plus haut, les pointeurs peuvent être utilisés uniquement en interne dans l’application.
Mais comment sais-tu que c’est interne à l’application ? Comment sais-tu que l’adresse est bien la plage de l’appli et pas celle du noyau ? Tu ne peux pas. Aujourd’hui c’est la mémoire virtuelle qui gère ça, en levant une interruption si l’appli viole ses autorisations. Mais dans Midori, en ring 0, pas de mémoire virtuelle ! Si je fais void* x = 0 j’ai l’adresse physique 0, sans doute utilisée par le noyau, et personne n’empêche d’y écrire. Il n’y a plus aucune sécurité, c’est pour ça que le code doit être vérifiable.
Le
07/01/2014 à
11h
34
charon.G a écrit :
d’ailleurs j”ai été un des premiers à parler de ce langage avant tout le monde. si harmattanblow est un minimum honnête intellectuellement il le confirmera.
Je n’apprécie guère l’insinuation et je n’ai de toute façon jamais prétendu avoir révélé quelque exclusivité que ce soit ou avoir fait partie d’une sorte d’avant-garde. Je n’ai aucune source chez MS, je ne mène aucune investigation sur leurs projets, je n’ai jamais prétendu quoi que ce soit dans ce sens et ça ne m’intéresse absolument pas. Et si tu étais sans doute parmi les premiers à en parler, je n’en ai aucun souvenir. Mais pour ma part je te laisse bien volontiers le titre d’expert des arcanes de Microsoft.
En revanche les langages, architectures OS et matérielles, et les technos de développement m’intéressent et j’apporte souvent une lecture critique et un déchiffrage sur ces aspects précis.
Le
07/01/2014 à
11h
26
charon.G a écrit :
Les applications C++ WinRT tournent dans une sandbox. La sécurité et la fiabilité est donc assurée. Les api de WinRT sont déjà type safes.
Oui mais sandbox est un terme vague. A mon avis c’est quelque chose du type Wine avec en plus une émulation logicielle de certaines fonctionnalités du CPU (comme le MMU). Ou de la virtualisation.
Désolé mais ça n’a rien à voir. Pour commencer le commentaire montre simplement que ne peuvent être exportées de C++ vers C# que les API satisfaisant au dénominateur commun. C’est une simple question d’interopérabilité sans lien avec la sécurité.
Ensuite les applis WinRT sont des processus comme les autres, enveloppés dans la même sandbox que n’importe quel autre processus Windows. Simplement elles ont un peu moins de privilèges par défaut (et à cela se superpose un jeu de permissions spécifiques à WinRT gérées en mode utilisateur). Mais cette sandbox est assurée par le noyau de Windows depuis les années 90 via les mécanismes dont Midori devrait justement être débarrassé (mémoire virtuelle et anneaux de protection).
charon.G a écrit :
j’ai oublié de mentionner quelque chose il semble que harmattanblow n’a pas saisi ce point.
Quand on code en C++ sur WinRT ,le code qui appelle les api doit être en C++/CX qui est un safe langage. C’est ce que j’ai expliqué au dessus les appels aux api WinRT sont type et memory safe. Ce point et la sandbox sont suffisantes pour faire marcher une application C++ au dessus de Midori. pas besoin de VM.
Non il ne l’est pas. C++ CX ne fait qu’ajouter au C++ des mécanismes pour consommer les API WinRT. Il ne retire rien de ce qui fait l’invérifiabilité du C++. Notamment les pointeurs pseudonymes sont toujours possibles.
Le
07/01/2014 à
10h
47
Ksass`Peuk a écrit :
Dans un monde (vraiment) multi-threadé, il n’y a pas grand chose de vérifiable actuellement.
Il faut entendre “vérifiable” de façon contextuelle. Ici on appelle en substance vérifiable un code dont on est sûr qu’il ne pourra pas écrire ailleurs que dans ses propres pages mémoire de données et qu’il n’exécutera pas certaines instructions CPU. Quand ces conditions sont garanties on peut le faire tourner en ring 0 sans risques de le voir compromettre un autre processus ou le noyau, ou de violer ses privilèges d’accès.
Le processus est libre de se deadlocker et d’oublier de nettoyer sa mémoire, peu importe, ça ne fait pas partie du contrat à vérifier puisque le système sait de toute façon faire face à ces événements s’ils devaient survenir.
Une telle vérification est liée au langage. Le C++ ne peut pas être vérifié à cause de des pointeurs pseudonymes, de l’asm et peut-être d’une ou deux autres choses. Le C#, lui, peut être vérifié.
charon.G a écrit :
Au début je pensais aussi la même chose qu’harmattanblow :que le c++ ne marcherait plus sur Midori. Mais j’ai pu lire des brevets et certaines lectures qui m’ont fait changé d’avis.
Je n’ai jamais dit que le C++ ne fonctionnerait plus et je regrette mais je n’ai pas le temps de regarder des vidéos promotionnelles d’une heure ou de consulter des centaines de brevets. Je t’invite à me dire en une phrase ce dont il s’agit. Mais trouver un moyen pour faire tourner les applis traditionnelles n’a rien de sorcier, le problème c’est que ce n’est pas gratuit, qu’il s’agisse de virtualisation ou de maintien d’une archi traditionnelle avec ring3 pour ces vieilles applis.
youtpout978 a écrit :
Il existe bien le c++ CLI, ça sera peut être la même chose sur Midori.
Il peut y avoir un C++ dédié pour crées des applis Midori, comme le C++ CLI. Mais à part ça il y a aussi la question de savoir si oui ou non ils cherchent à maintenir la compatibilité avec les applis existantes. Ce qui encore une fois ne serait pas gratuit.
Le
07/01/2014 à
09h
17
charon.G a écrit :
Par contre au niveau applicatif rien ne changera on devrait pouvoir toujours coder e C++ avec WinRT
Pas avec Midori. Ou alors avec du C++ modifié ou emballé dans une VM. Mais par définition Midori ne peut exécuter que du code vérifiable, ce qui n’est pas le cas du C++.
Le
07/01/2014 à
08h
42
cendrev3 a écrit :
Je me pose une question qui peut paraitre con, pourquoi creer un nouveau language au lieu de se focaliser sur un compilateur natif C# qui aura du-coup grosso modo les memes perfs ?
D’abord Duffy n’a jamais parlé d’un langage, il a mentionné “des technologies”. Et justement MS travaille sur un compilateur ahead-of-time poussé pour C#, déjà bien abouti. Ces technologies sont donc utilisées de façon transversale et C# bénéficiera des fruits de ce travail.
Cela étant dit un nouveau langage était quand même nécessaire pour pouvoir supporter certaines constructions qui n’ont pas forcément d’intérêt en C#. Notamment tout ce qui relève de la gestion de la mémoire, dans le cas où M# utiliserait un comptage de références plutôt que le GC. Ou peut-être quelque chose de fin concernant la spécification des barrières-mémoires. Bref, tout le bas niveau.
Enfin il y a aussi des annotations dédiées au parallélisme de masse avec un support natif de l’immutabilité. Pour faire court c’est un modèle qui ressemble aux tâches de C# mais en plus léger, plus scalable et vérifiable, encourageant l’immutabilité mais sans la forcer. Mais toute cette partie-là pourrait bien se retrouver in fine dans C#.
Le
07/01/2014 à
07h
39
Nyco87 a écrit :
Après la catastrophe Longhorn (souvenez vous de la communication sur WinFS…), vu que des infos précisent sortent, vu que les briques commence à s’assembler, je pense que cela arrivera bien plus tôt que ça.
Ils n’ont pas fini d’écrire le langage avec lequel ils comptent le programmer ! Je pense que ça en dit long… Qui plus est WP9 est sans doute déjà en développement depuis un bail et WP10 aussi, en quelque sorte.
Pour l’instant je n’y vois que la confirmation que MS a validé toutes les recherches menées et amorce la réalisation de produits finis et la transition vers ceux-ci. Et puis d’abord je ne sais pas si Windows phone est le premier concerné par ces technos, même s’il le sera à terme.
Le
07/01/2014 à
01h
52
charon.G a écrit :
Le M# est un langage derivé de c# qui est type et memory safe mais qui obtient les mêmes performances que le C++.
La formulation me paraît trop audacieuse, à moins que l’on ne parle de C++ avec boost/STL (avec bounds checking dans les structures de données, smart pointers, etc). Sauf que ce n’est pas formidable et déjà loin du C.
Je ne vais pas m’avancer mais aucune magie ne permettra de s’affranchir de toutes les sources de ralentissement imposées par un code sécurisé. En revanche il est possible d’en supprimer beaucoup et de faire des gains par ailleurs avec l’architecture de Singularity. Au final je m’attends à de bonnes performances, suffisantes même pour le noyau et les pilotes, mais plutôt en recul par rapport au C.
charon.G a écrit :
un autre aspect qui n’a pas encore été abordé par joe duffy pour le moment ,ce langage a été conçu pour la programmation many core.
Il y a un peu fait allusion et son dernier papier de recherche jetait un éclairage sur ce qu’ils sont en train de faire.
francois-battail a écrit :
" /> code système sous un langage managé le tout avec un garbage collector ! Le C n’est pas prêt de prendre sa retraite.
M c’est pour marronnier ? Le super langage qui va tout révolutionner c’est un peu lassant à force surtout quand ça prétend être en mesure de faire du système.
Je comprends ton scepticisme mais il faut bien comprendre que ce langage et cet OS vont de pair. Si tout est vérifiable alors tout peut tourner en SIP0, et toutes les restrictions qui rendaient impossible l’usage du C++ en SIP0 disparaissent, ainsi sans doute que la mémoire virtuelle. C’est cette synergie entre le langage et l’OS qui fait la véritable ingéniosité du système. Et sans doute demain une synergie avec des CPU plus simples, débarrassés de certains mécanismes devenus inutiles.
Ça et le fait que l’écart entre C++ moderne et C# n’est pas si grand qu’on le pense et est surtout le fait du compilateur (très bon pour C++, médiocre pour C#).
brazomyna a écrit :
Le M# s’arrête forcément quelque part pour laisser la place à du code machine. La limite est encore floue.
Quelques centaines de ligne d’assembleur suffisaient dans le projet de recherche initial. Tout le reste était codé dans leur langage managé de l’époque.
charon.G a écrit :
Pour le gc tu devrais lire le billet de joe duffy ils ont fait un gc deterministe.
Non. D’abord un GC ne peut pas être déterministe par définition.
Leur compilateur est simplement capable dans certains cas de détecter qu’une instance a une portée locale afin de l’allouer sur la pile et de la libérer de façon déterministe.
Mais ça ne concerne qu’une part des allocations et ne remplace pas le GC pour les autres. Et le GC était déjà extrêmement optimisé donc on ne peut guère faire mieux. Toute la question est donc de savoir ce qui est possible dans les cas restants : resteront-ils sur un GC ou non ? Offriront-ils un autre mécanisme ? Celui-ci pourrait-il créer des fuites mémoire (type ARC) ? Mais s’ils restent sur le GC les performances de celui-ci ne peuvent sans doute pas être améliorées, à part en réduisant sa charge de travail en amont (précédent paragraphe).
John Shaft a écrit :
Ça ressemble quand même pas mal à du bla-bla pour vendre le bouzin
Ce n’est pas du blabla et c’est même une définition claire du domaine de ce langage. L’asm ne sera pas autorisé dans cet OS donc ce sera bien pour les dévs Windows le plus bas langage dont ils auront besoin, celui conçu pour écrire jusqu’aux pilotes de périphériques et pour écrire tous les pilotes. C’est la contrainte sur laquelle ils travaillent, par opposition à C# qui restera dédié à des applications de plus haut niveau.
Goldust a écrit :
1- Il y a encore des gens qui doutent de l’utilité de l’assembleur pour écrire un OS ? Ton Pipalo-Pentium tu le passes comment en mopde protégé ? " />
Comme dit plus haut, l’assembleur est utilisé pour créer le coeur du système lui-même, à hauteur de quelques centaines de lignes.
Y’a encore des crétins qui utilisent autre chose en C++ que des vecteurs ou des liste, pour aller se plaindre que les structures n’ont pas de bound checking ?
Au vu des bulletins de sécurité, oui, il y en a même beaucoup.
metaphore54 a écrit :
A vous lire, ça va vouloir dire changement de terminale de windows phone 8 à 9. " />
Ouhlà, on est sur du bien plus long terme. WP11 peut-être.
Cela dit j’aurais aimé voir aussi la même ferveur et le même tapage médiatique sur les propos d’Eric Zemmour ouvertement racistes ( sur Taubira par exemple ) ou islamophobes ( comparaison femmes blanches qui couchent avec des musulmans avec l’allemagne des années 40 etc..)
Tout à fait d’accord avec toi.
knos a écrit :
Je vois pas ou il dit qu’il est antisémite
Mais il ne le dit nulle part et il ne le dira jamais, ça lui ferait trop de tort. Mais le type qui lui pose la question lui tourne mollement autour pour essayer de lui faire dire si oui ou non il pense que les chambres à gaz ont existé et il répond évasivement.
Dans un entretien politique ce que le questionné refuse de dire est au moins aussi important que ce qu’il dit.
gavroche69 a écrit :
Juste un petit message pour te souhaiter bien du courage, tu es parti pour te faire pourrir sur des centaines de posts, je parle par expérience… " />
Merci mais j’ai déjà une certaine habitude, j’aime bien mettre les pieds dans le plat.
" />
amikuns a écrit :
Bon avec toute ces conneries je n’ait pas la définition exact de la quenelle , c’est antisémite ou çà
De nombreux antisémites y voient un symbole de leur antisémitisme.
Le
10/01/2014 à
09h
08
knos a écrit :
Ca j’aimerai voir un extrait ou il dit lui même que les chambres a gaz n’ont pas existé. Car jusqu’à présent pour moi c’est juste le fait qu’il a invité robert forisson pour lui remettre le prix de infréquentable. Si tu as je suis preneur.
Il n’est pas assez idiot pour le dire de but en blanc mais voici un bon exemple de la façon dont il louvoie sur le sujet. Il prend le masque du naturalisme, de l’humble naïf qui ne sait pas. Il est comme Le Pen, qui ne sait pas non plus. C’est d’autant plus bizarre que ces gens sont généralement beaucoup catégoriques.
Il invite le pape du négationnisme sur scène, le lâche des “blagues” sur les chambres à gaz que son public comprend comme une négation de leur existence, il louvoie quand on lui pose la question mais, bien sûr, il n’est ni négationniste ni antisémite. Ben tiens !
Le
10/01/2014 à
08h
45
knos a écrit :
Donc ils va falloir interdire tous geste de ralliement antisémite passé et futur?
Les gestes en vigueur suffirait et ils n’ont jamais été très nombreux.
Les juifs lui tapent dessus pas les musulmants. Donc il réplique.
On ne se met pas à nier l’existence des chambres à gaz sous prétexte qu’on a eu des déboires judiciaire avec une association.
Le
10/01/2014 à
08h
34
knos a écrit :
Déjà faudrai verifié que tous ceux qui le font devant une synagogue sont réellement antisémite mais bref pourquoi pas. Donc parce que les antisémite font un geste le geste le devient? Je vais arrêté de suite d’aller au toilette…
Ils font ce geste devant une synagogue ou un cimetière juif parce que à leurs yeux ce geste exprime l’antisémitisme, c’est l’objet de leur geste et de la photo. C’est ça qui rend le geste antisémite : non pas le fait que des antisémites le fassent, mais que des antisémites y voient l’expression de leur antisémitisme.
Merci je vais aller me laver les yeux. En même temps plus je cherche moins je trouve… c’est juste de l’humour très noir et il tape sur tout le monde.
Sur tout le monde, vraiment ? Tu peux me trouver son dernier sketch sur les musulmans ? Parce que, curieusement, sur les juifs ont en trouve à la tonne. Ensuite lit ses entretiens : il nie l’existence de la Shoah, il bifurque chaque fois que la question lui est posée. Et colporter des stéréotypes racistes à longueur de temps et toujours contre les mêmes ce n’est pas de l’humour, c’est du racisme.
Encore une fois quand invitera t-il le KKK sur scène ? Et s’il acclame un tyran comme Ahmadinejad, alors quand acclamera t-il un membre de l’extrême-droite Israëlienne ? Jamais bien sûr. Sa cible, c’est les juifs, il les hait.
macmc a écrit :
Je pense que les gens comme toi sont bien pire, car aveuglé par la connerie et raconte n’importe quoi par ignorance total du sujet. UN suiveur idiots d’une pensé unique qui ce permet de penser à la place des autres.
Alors que toi, avec ton idole antisémite, vous êtes de grands penseurs d’avant-garde.
Le
10/01/2014 à
08h
09
kade a écrit :
Je viens d’entendre sur Europe 1 que, suite à sa déclaration récente (MLP), et après vérification des journalistes, la France est le 3eme pays attaqué par la cours européenne des droits de l’homme pour atteinte à la liberté d’expression. 28 condamnations. Devant la Turquie et la Russie.
Le nombre de condamnations est lié au nombre de plaintes, pas au nombre de violations. En entendant que la France était “pire que la Russie” tu aurais dû deviner qu’il y avait anguille sous roche.
Mme Le Pen comprend très bien cela. Mme Le Pen se garde bien de l’expliquer et n’hésite jamais à exploiter l’ignorance.
Il y a un gros problème de restriction des libertés en France et en Occident mais ce n’est certainement pas l’extrême-droite qui le règlera. Ils légaliseront tous les propos racistes mais, sur tous les autres sujets, ils feront reculer significativement la liberté, comme toujours avec l’extrême-droite. Les entendre parler de liberté c’est vraiment du foutage de gueule à vomir.
knos a écrit :
Il parait même qu’un journaliste de iTV à dit que dieudonné faisais un salut nazi quand il a saluer ses fan (je l’ai lu mais pas vu par contre j’ai vu le salut qui n’était pas nazi). On frôle le ridicule.
Il ne faudrait pas non plus prendre les gens pour des cons : Dieudonné est parfaitement conscient du double sens de son geste, qu’il ait été intentionnel ou qu’il lui ait été attribué par d’autres, et de la récupération par des mecs qui se prennent en photo devant des synagogues ou des cimetières juifs.
Et il l’exploite d’autant plus et ce n’est pas simplement par goût de la provocation : tu ne t’associes pas avec des néo-nazis et des négationnistes par goût de la provoc. D’ailleurs sa “provocation” ne le conduit jamais à inviter des mecs du KKK ou des islamophobes primaires sur scène. Seulement des antisémites.
Faut vraiment avoir un sacré paquet de merde dans les yeux pour ne pas voir que ce type est évidemment antisémite, et sans aucune ambiguïté. Ou beaucoup de mauvaise foi. En faire un symbole de liberté et un martyr c’est carrément gerbant.
De la même façon dont elle n’aura rien a foutre de ton agenda en ligne ….
Au contraire c’est typiquement une des données qu’elle analyse pour évaluer ton profil afin de déterminer si oui ou non elle doit enquêter sur toi. Et, dans le cadre de l’espionnage industriel, c’est une info très précieuse et si elle est déjà disponible, tant mieux puisque cela ne fait courir aucun risque d’être détecté, contrairement à une intrusion.
Maintenant il faudrait peut-être arrêter la mauvaise foi. Tu te retrouves en train de nous expliquer que filer toutes ses données persos à des serveurs US ne pose aucun pb.
Le
06/01/2014 à
07h
08
Torlik a écrit :
Alors n’imagine pas que tes données sont bien au chaud chez toi ….
ff9098 a écrit :
" />
Encore une fois l’existence de failles et la transmission systématique de données confidentielles sont deux choses très différentes. La NSA ne passe pas son temps à infiltrer un par un tous les ordinateurs, elles se contente de ramasser tout ce qu’ils envoient. les failles concernent le risque d’espionnage, ce qui n’a rien à avoir avec la surveillance systématique.
Le
04/01/2014 à
09h
45
Torlik a écrit :
tu n’as ni mac ni windows, ni android/iphone/windowsphone ?
SI, Windows, mais je ne vois pas le rapport puisque cet OS ne communique aucune donnée.
Et non pas de smartphone.
tu n’utilises pas google ? tu as un serveur mail à domicile ? tu n’utilises ni skype ni anciennement msn ? tu n’es pas sur les réseaux sociaux ?
Sans rentrer dans les détails, c’est tout à fait ça. Pas de Google, etc.
Cela dit je ne vois pas le rapport : si un individu laisse fuiter des données, ça rend pas pour autant inutile le colmatage des autres sources.
Le
02/01/2014 à
23h
35
Emralegna a écrit :
Tu crois que t’es protégé par le fait de stocker localement ?
J’affirme avec certitude que ce faisant Google/Microsoft/Apple n’aura pas connaissance de ton agenda.
En revanche je ne prétends évidemment pas que ça transformera ton PC/smartphone en un fort Knoxx numérique. Mais le risque pour monsieur tout le monde est la surveillance de masse, contre laquelle nous pouvons en grande partie nous prémunir, pas l’espionnage ciblé contre lequel il faut des mesures radicales.
Donc, oui, s’abstenir de filer toutes tes infos personnelles à MS/Google/Apple est significatif en termes de vie privée, même si ton smartphone est une passoire que la NSA pourrait visiter s’il lui en prenait l’envie.
Pour l’instant, je pense que bitcoin a valeur de monnaie surtout pour des grosses transactions rapides, gratuites et discrètes ou encore pour éviter la chyprisation.
Si je ne m’abuse les techniques de traçage des échanges sont facilitées quand la taille de l’échange augmente.
Le
06/01/2014 à
17h
09
kikoo25 a écrit :
Pour moi 2 grosses faiblesses
Pour moi LA grosse faiblesse c’est l’hypothèse que la communauté aura toujours plus de puissance de calcul qu’un tiers mal-intentionné. Car c’est là-dessus que repose toute la sécurité de bitcoin. Or en pratique avec seulement 10% de la puissance de calcul du réseau tu peux le manipuler.
A part ça je m’attends à quelques chutes brutales de la valeur (division par plus de deux) quand on découvrira des failles cryptographiques liés aux motifs répétés spécifiques à bitcoin mais rien de fatal.
Et à terme bien sûr le calcul quantique et le nombre limité de bitcoins.
Le
06/01/2014 à
16h
44
Alucard63 a écrit :
Je me méfierai du bitcoin comme vraie valeur refuge.
Il ne s’agit pas d’en faire une monnaie de réserve mais bel et bien une monnaie utilisée pour les transactions au quotidien afin de dissimuler celles-ci à l’espionnage des uns et des autres.
Le
06/01/2014 à
16h
30
Tim-timmy a écrit :
yep, donc le pire du pire du pire, du vent adossé à rien, sans aucune régulation, et assumé. Mais plutôt bien vendu comme alter-bidule, donc contre-les-méchants, donc hype
C’est bien davantage soutenu par les libéraux et les mafieux que par les altermondialistes ! Même si à la lueur des révélations de Prism des gens sans aucun lien avec ces courants et plutôt étatistes d’ordinaire se sont mis à se demander qui de Charybe et de Scylla était le plus enviable.
Puisque la civilisation panoptique, et avec elle la tyrannie, sont inévitables, peut-être est-il enviable de permettre aux flux financiers d’échapper à la surveillance de l’état, même si cela doit se traduire par des mégacorporations encore plus grandes et puissantes et donc davantage d’acteurs panoptiques et tyranniques.
Le
06/01/2014 à
15h
58
Tim-timmy a écrit :
en fait .. ouais :p mais ça me sidère la pub qui se fait autour du bc sous pretexte que c’est sur le web donc trop trop bien forcément :p
Sa singularité n’est pas “qu’elle soit sur le web”, c’est le fait qu’elle n’est contrôlable par personne (création monétaire distribuée et pas de banque centrale), que les transactions sont distribuées (pas de banques, pas de cartes de crédit et pas de bases de données) et difficilement traçables, au point que tu trouves sur Freenet à la vue et au su de tous des sites de crowdfunding d’assassinats et de vente par correspondance de drogue.
Quant à savoir si ça se cassera la tronche… Le fondement théorique me semble trop fragile mais on promettait déjà sa chute à ses débuts et, depuis, sa valeur a été multipliée par mille. Alors si ça se trouve l’euro aura disparu avant le bitcoin.
Maintenant on peut imaginer que si steam devait ferme run jour, ils auraient quand même l’amabilité de fournir un patch pour rendre le dernier client steam 100% offline…
Ils n’en n’auraient sans doute pas le droit : il est très probable que les contrats qui les lient aux éditeurs stipulent que Steam contrôle l’usage qui est fait des licences, notamment pour s’assurer qu’une copie n’est utilisée que par le compte auquel elle est associée.
Et puis, bon, quand tu es tellement dedans que tu fermes les portes tu n’as parfois plus les moyens de payer tes employés et ceux-ci sont alors rarement désireux de coder un patch. Sans parler des cas où les locaux, les ordinateurs et le code source sont saisis, si bien que tu n’y as plus accès. Certaines fermetures sont un vrai capharnaüm et génèrent beaucoup de colère et de ressentiment parmi les employés.
Non, vraiment, la seule consolation raisonnable c’est de se dire que les types de piratebay, eux, ne te feront peut-être pas défaut. Bon, par contre ils n’auront sans doute plus de nom de domaine d’ici là.
Le
06/01/2014 à
16h
39
Lafisk a écrit :
non car avec steam, tu as toujours la cle du produit, donc en theorie tu peux récupérer tes jeux autrement.
Le plupart des jeux achetés sous Steam ne fournissent aucune clé et de toute façon de moins en moins de jeux peuvent être débloqués avec une clé.
Non, le jour où Steam ferme ses portes tu perds la quasi-totalité de tes achats. Pire : Steam (et par extension les jeux Steam) refuse de démarrer en mode de compatibilité Windows, si bien que certains jeux Steam sont dores et déjà injouables sous Vista ou ultérieur. La seule solution est d’avoir recours au piratage ou de les racheter ailleurs.
Jiraiya-08 a écrit :
Non non, je parle bien de l’intégralité des jeux Steam. Il fait juste avoir fait la copie après l’avoir mis Une seule fois en mode hors ligne.
A mon avis ta copie est liée au matériel et Steam refusera de se lancer. Donc impossible de lancer ton jeu après avoir changé de machine. Pour preuve les jeux Steam ont longtemps été réputés difficiles à pirater, preuve que ce n’est pas aussi simple qu’un backup en mode hors-ligne.
Désolé monsieur mais comme vous avez rooté votre voiture la garantie n’est plus valable.
Lafisk a écrit :
l’electronique pose toujours beaucoup de soucis dans une voiture, au contraire.
Tu as des dépanneuses qui passent leurs journées autour de la Tour Eiffel parce qu’un certain modèle de voiture plante systématiquement à cet endroit. Ils n’ont qu’à faire cent mètres pour encaisser la facture.
Je trouve leurs designs intéressants (pas formidables mais l’informatique est souvent naze en la matière) mais la mise en avant des marques (LaCie, designers, partenaires, etc) gâche tout. No logo ou rien.
Je dis que le problème n’est pas les OGM mais la dépendance à Monsanto, ce qui n’est pas spécifique avec la technologie OGM. La nuance est pourtant simple à comprendre. Osef des OGM, c’est la dépendance.
Et il ne faut pas non plus tout mélanger : Monsanto offre un produit contre une rente annuelle. Chacun est libre de refuser (et si ce n’est pas le cas c’est encore un autre problème). Dans beaucoup de cas le bénéfice apporté n’en vaut pas la peine, mais pour d’autres produits ça vaut le coup. Tout comme il est rentable de mettre des engrais et des pesticides même si ceux-ci ne sont pas gratuits (si, si, je te promets, la quasi-totalité des agriculteurs depuis un siècle ne sont pas des abrutis ni des esclaves)
Le problème c’est que toi tu as une opposition de principe : dès que tu entends Monsanto ou OGM tu éteins le cerveau, tu allumes les flammes et c’est parti pour une volée contre le grand Satan. Monsanto y est intégralement mauvais et n’a jamais rien produit d’utile et tous ses anciens membres sont les fils cachés de Hitler et Mussolini aux dents longues voulant tuer l’Afrique. Tu as beau parler de dépendance, ton vrai problème est que chaque fois que tu entends, “engrais”, “pesticide” ou “OGM” tu réagis comme un religieux et éradique toute nuance et raison.
Mais bon t’as l’air de penser que c’est au bon riches capitalistes de décider à la places des gouvernements africains corrompus et impuissants
Mais qu’est-ce que c’est que ce discours à la noix ?! Rien n’empêche ces gouvernements de décider aujourd’hui. Chaque fois qu’un mec prend une initiative privée dans le monde il ne prend pas la décision à la place du peuple. Si demain je vends un truc à mon voisin, ne viens pas m’accuser de décider à la place du peuple de ce qui est bon pour mon voisin sous prétexte que le gouvernement ne l’a pas interdit.
Et ce qui gagne Bill gates ? La même chose que tout les milliardaires, sa société ( car les fondations américaines fonctionnent comme des sociétés) s’étend petit à petit et devient une des plus importantes aux mondes ( tu crois vraiment que carlos slim travaille pour l’argent ?
Justement, Gates a laissé son empire. Tu ne développes pas un portefeuille d’actions, ça n’a pas grand intérêt. Gates n’est pas au service de Monsanto, il a autre chose à faire, surtout au crépuscule de sa vie, et sa fondation ne dépend pas de Monsanto (les 500k actions sont insignifiantes sur ces 65 milliards).
Bref ça n’a aucun sens.
Le
03/01/2014 à
20h
19
aureus a écrit :
Mosanto c’est pas juste une histoire de “ho mon dieu, les OGM c’est pas bon”
* Et d’une les graines stériles ça n’est pas unique aux OGM.
* Et de deux, depuis Sarko, la loi française t’oblige de toute façon à racheter tes graines même si elles sont fertiles ! Oui c’est un scandale. Et le même genre de choses existe ailleurs.
* Et de trois on n’en serait pas là si tout le monde n’avait pas gueulé comme des veaux contres le gène terminator qui permettait des graines fertiles mais perdant leurs traits modifiés après une génération. Ce qui était accessoirement une protection pour la biodiversité et la santé.
* Et de quatre le vrai problème c’est surtout la loi aux Etats-Unis qui fait que les producteurs dont les champs ont été contaminés sont forcés de payer Monsanto.
Bref ils tuent la biodiversité africaine pour implanter les OGM mosanto pour qu’année après année les africains soit obligé de racheter du Monsanto.
Et quel est l’intérêt de Gates dans ce complot mondial ? Il veut tuer l’Afrique ? Devebir plus riche durant les dix années qui lui restent à vivre avant que toute sa fortune ne soit dilapidée ? Instaurer la dictature Monsanto ?
Et il s’en cache pas un des 4 décideurs de la fondation et un ancien de monsanto.
Donc un être démoniquae qui n’a en tête que de placer le monde sous la coupe de Monsanto ? Certainement pas un mec qui en a eu marre de bosser pour Monsanto mais pense que les OGM peuvent être utiles à l’humanité (par exemple) ?
Ancien de Monsanto = mélange entre Satan et Hitler ?
hurd a écrit :
Trouve tu normal que ce soit le secteur privée qui décide de cette question pourtant cruciale dans le dévellopement de leur pays.
Mais qui va décider ? Ces gouvernement sont corrompus et impuissants. Tu proposes d’interdire toute initiative privée ? Ou de les envahir pour les gouverner ?
Bien sûr que non. Si ces acteurs privés ont tant de pouvoir c’est parce que que ces pays sont si pauvres. C’est ça le vrai problème.
Le
03/01/2014 à
19h
21
hurd a écrit :
La fondation investi un peu partout, même dans l’armement, le pétrole et autres truc très bien pour résoudre les problèmes du monde.
Ensuite, elle n’investis pour sa tâche que les dividendes reçu par ses actions.
Imagine que tu aies 50 milliards à donner, qu’en fais-tu ?
…
Ouais, t’es bien dans la m… Donne-les à médecins du monde et tu verras qu’ils les placeront parce qu’ils n’ont pas besoin de 50 milliards aujourd’hui mais de deux milliards par an.
50 milliards c’est beaucoup et très peu. Tu peux facilement les gaspiller et ne rien changer. Financer des actions sur plusieurs années et décennies est la façon la plus efficace de faire.
Alors déjà pour les OGM arrêtons le délire : qu’un organisme soit génétiquement modifié ne pose en soi aucun problème à moins d’être un religieux de la nature. Les techniques actuelles utilisées pour les OGM, en revanche, engendrent des chaînes instables qui sont peut-être cancérigènes. Sauf que presque tout est cancérigène (y compris des produits naturels) et que concernant les OGM c’est à un niveau trop faible pour être significativement détecté. Je rappelle quand même que depuis plus de dix ans des centaines de millions d’américains bouffent des OGM par paquet de douze sans qu’on ne voit aucun problème. Même s’il y a obstruction à la réalisation d’études indépendantes c’est un constat probant.
Autant dire que les pays pauvres dans lesquels l’espérance de vie est de vingt ans ont d’autres problèmes et qu’après tout certains OGM pourraient leur être utiles. Je ne dis pas qu’ils le sont, je ne sais pas ce qu’on leur file, quelles sont les conditions, etc, mais il n’y a aucune raison d’avoir une opposition de principe à ça.
Quant à l’essai clinique dissimulé et douteux contre le HPV, je ne sais pas ce qu’il en est exactement mais enfin je doute que le but des Gates dans leur vieil âge soit d’abuser des familles et de tuer des enfants. Donc soit ils ont été abusés, soit l’histoire est plus compliqué que ça, soit ils pensent suivre une voie conforme à l’intérêt du plus grand nombre en prenant des raccourcis. Enfin et surtout si l’Inde a pointé la dissimulation, l’intention et la méthodologie, elle n’a rien dit concernant un éventuel défaut de précaution. Autrement dit même si cet essai s’était déroulé dans les conditions normalement exigées, ces morts seraient tout de même survenues.
Entendons-nous bien je ne suis pas un fan de leur fondation, j’y vois une manière de ne pas payer d’impôts et je suis convaincu que cet argent pourrait être dépensé plus rapidement et plus efficacement. Mais leur faire un procès d’intention parce qu’ils ont placé l’argent ou qu’ils s’intéressent aux OGM franchement…
jrbleboss a écrit :
Là, je suis entièrement d’accord. Il faut arrêter avec les mythes des self-made men.
La moitié des milliardaires ne sont pas fils de milliardaires.
Bon, par contre il sont sans doute presque tous fils de millionnaires mais ça montre tout de même un mérite relatif (au sens de l’effort, non pas à celui où pourrait mériter d’être plus riche qu’un pays pauvre).
5048 commentaires
Le système Midori de Microsoft se rapproche de sa phase commerciale
06/01/2014
Le 10/01/2014 à 09h 29
Le 10/01/2014 à 08h 49
Le 09/01/2014 à 07h 43
Cela dit j’argumente avec toi mais je suis d’accord sur le fond : un tel projet n’est pas gratuit en termes de performances. Même s’il restera à mon avis acceptable et présentera aussi des gains.
Le 09/01/2014 à 07h 19
En plus, ça n’est pas très compliqué : il suffit de combiner des structures nombreuses et disséminées et un accès aléatoire.
Tu peux toujours sortir quelques structures de données où l’on accède à un seul élément d’un tableau (ex : un dico dont l’index du tableau racine est donné par les premiers bits du hash code). Mais ça reste l’exception plutôt que la règle : en général quand on accède à un tableau c’est pour en lire de nombreux éléments et la taille reste en cache (rien à voir avec le prefetch).
Le 09/01/2014 à 07h 10
Le 08/01/2014 à 16h 15
Le 08/01/2014 à 15h 31
Le 08/01/2014 à 14h 37
Le 08/01/2014 à 13h 26
Le 08/01/2014 à 11h 06
Le 08/01/2014 à 07h 16
Le 07/01/2014 à 16h 36
Le 07/01/2014 à 16h 06
Le 07/01/2014 à 15h 21
Par contre le TAL m’inquiète un peu. Aujourd’hui le bytecode dotnet contraint tous les langages dotnet à se taper le même système rigide de types. Impossible de l’enrichir sans implémenter une infrastructure complète au-dessus de l’infrastructure, avec les performances que tu imagines (il suffit de voir F#). Je trouverais dommage que Midori nous enferme ainsi dans un système de typage trop cloisonné. Pour moi c’est le gros point noir.
Le 07/01/2014 à 15h 14
Le 07/01/2014 à 14h 36
Le 07/01/2014 à 14h 21
Le 07/01/2014 à 14h 04
Le 07/01/2014 à 12h 19
Le 07/01/2014 à 11h 34
Le 07/01/2014 à 11h 26
Le 07/01/2014 à 10h 47
Le 07/01/2014 à 09h 17
Le 07/01/2014 à 08h 42
Le 07/01/2014 à 07h 39
Le 07/01/2014 à 01h 52
François Hollande : sur le Net, « l’anonymat ne doit pas être une protection »
10/01/2014
Le 10/01/2014 à 09h 23
Le 10/01/2014 à 09h 08
Le 10/01/2014 à 08h 45
Le 10/01/2014 à 08h 34
Le 10/01/2014 à 08h 09
Le filtre anti-porno britannique multiplie les dommages collatéraux
09/01/2014
Le 09/01/2014 à 17h 52
Ces dernières années l’Occident semble prendre modèle sur la Chine.
OneNote pour Android : les intégrations de documents simplifiées
02/01/2014
Le 07/01/2014 à 00h 07
Le 06/01/2014 à 07h 08
Le 04/01/2014 à 09h 45
Le 02/01/2014 à 23h 35
Zynga accepte désormais les paiements en Bitcoin sur certains jeux
06/01/2014
Le 06/01/2014 à 17h 14
Le 06/01/2014 à 17h 09
Le 06/01/2014 à 16h 44
Le 06/01/2014 à 16h 30
Le 06/01/2014 à 15h 58
Sony fermera les serveurs de sept jeux, dont Gran Turismo 5 cette année
06/01/2014
Le 06/01/2014 à 16h 57
Le 06/01/2014 à 16h 39
Google : les premières voitures sous Android dès la fin de l’année
06/01/2014
Le 06/01/2014 à 13h 15
Désolé monsieur mais comme vous avez rooté votre voiture la garantie n’est plus valable.
LaCie repense ses périphériques de stockage du Fuel à sa Sphère
06/01/2014
Le 06/01/2014 à 13h 10
Je trouve leurs designs intéressants (pas formidables mais l’informatique est souvent naze en la matière) mais la mise en avant des marques (LaCie, designers, partenaires, etc) gâche tout. No logo ou rien.
PrioVR : une combinaison de motion capture dédiée aux joueurs
06/01/2014
Le 06/01/2014 à 13h 08
Vaporware. " />
Milliardaires : Bill Gates n°1 au monde, la high-tech bien représentée
03/01/2014
Le 03/01/2014 à 21h 20
Le 03/01/2014 à 20h 19
Le 03/01/2014 à 19h 21
Recherches dans le monde : le Chinois Baidu progresse, Google régresse
02/01/2014
Le 02/01/2014 à 23h 32