rewind a écrit 3429 commentaires

  • [^] # Re: Intérêt ?

    Posté par  (Mastodon) . En réponse au journal Deux ans après, Charlie Hebdo de cette semaine. Évalué à 10.

    En 2009 le gouvernement vénézuélien a fait fermer 34 chaînes de radio et de télévision.

    Pourquoi ? Pour punir les méchantes chaînes privées ? Non, pour faire de la place sur les ondes pour des médias associatifs. Et ces 34 chaînes soit émettaient sans autorisation soit avaient un droit d'émettre qui avait expiré.

    Je trouve quand même qu'on a beaucoup plus de compassion pour un capitaliste qui ferme des dizaines de magasins ou d'usines pour augmenter son taux de profit.

    Je ne mentionne que pour mémoire l'omniprésence de Chavez à la radio et la télévision, immensément plus que Les experts sur TF1, si ça peut aider à situer.

    Quasiment toutes les chaînes privées étaient anti-chavistes, et même violemment anti-chavistes (parce que quand on soutient un coup d'état, on n'est plus à ça près). Le fait de passer une seule émission par semaine avec Chavez, houlala, quelle entorse à la liberté d'expression ! Quand le président s'exprime en France, il me semble qu'il passe sur beaucoup de chaînes aussi non ? Certes ce n'est pas toutes les semaines mais quand même.

  • [^] # Re: Intérêt ?

    Posté par  (Mastodon) . En réponse au journal Deux ans après, Charlie Hebdo de cette semaine. Évalué à 10.

    C'est cependant un régime autoritaire, soutenant entre autres l'Iran, la Libye du colonel Kadhafi

    Il me semble qu'en ce moment, la France soutient l'Iran aussi (et je ne rentre pas dans le détail des soutiens dans le conflit syrien parce que ça ferait désordre). Et qui a posé sa tente dans les jardins de l'Élysée à l'époque où Sarkozy était président ? Ha oui, c'est bien le colonel Kadhafi. Bref, tout ça pour dire que la diplomatie, c'est parfois très casse gueule. Chavez soutenait tout ce qui s'opposait aux États-Unis, peu importe sa nature. On peut lui reprocher mais faudrait pas oublier les alliances malsaines de la France, surtout en ce moment.

    pratiquant une politique de répression sur les media d'information n'ayant pas le bon goût d'être de son bord

    À l'époque où il était en poste, 90% des télés et radios étaient privés et anti-chaviste. Quelle répression ! Il avait juste une dent contre des médias qui avaient soutenu le coup d'état de 2002 (mais peut-être qu'un coup d'état, ce n'est pas autoritaire). Et la seule «répression» a été de ne pas renouveler la concession hertzienne de RCTV qui continue d'émettre sur le câble et le satellite. Je trouve franchement ça très light pour être qualifié d'autoritaire. En France, Renault a été nationalisé après la 2è guerre mondiale pour avoir pactisé avec les nazis, donc bon.

  • [^] # Re: autre lien

    Posté par  (Mastodon) . En réponse au journal [HS] Des disruptifs à la pointe... Dans le mélange des genres. Évalué à 3.

    Cela me rappelle Kerviel soudain repeint en figure christique par certain(s) responsable(s) politique(s) de la « gauche de gauche ».

    Heu, ça n'a à peu près rien à voir. Kerviel était un salarié d'une banque, pas un gérant. Il faisait ce qu'on lui disait. On lui a tout foutu sur le dos en faisant croire que la banque n'y était pour rien, ce qui s'appelle prendre les gens pour des cons. Il a sans doute sa part de responsabilité mais la banque est bien plus coupable parce que c'est elle qui a mis en place les procédures et les objectifs. Bref, rien à voir avec la choucroute de Morning.

  • # atlas textuel

    Posté par  (Mastodon) . En réponse à la dépêche LibreOffice : de 5.0 à 5.2, un an après. Évalué à 10.

    Concernant l'«atlas textuel», je vais tenter une explication (même si je ne connais pas le code de LibO). Quand on rend du texte, on doit d'abord avoir à disposition le rendu de la fonte utilisée, dans la taille utilisée, et avec divers autres paramètres (la graisse par exemple). C'est le rôle de bibliothèque comme Freetype. Elles prennent en entrée des descriptions vectorielles (TrueType par exemple) et font le rendu de chaque lettre à la demande. Freetype se contente de renvoyer un tableau à deux dimensions de niveaux d'opacité (parce qu'il y a de l'anti-aliasing évidemment), après on l'utilise comme on veut.

    Or, pour pouvoir minimiser les appels OpenGL, il faut avoir un minimum de textures. Donc, pour rendre un texte, on va rendre toutes les lettres dans la même texture et ensuite, rendre le texte grâce à cette texture. Généralement, on utilise le terme d'«atlas de texture» pour décrire ce genre de texture (ça peut aussi être utilisé avec autre chose que des lettres). Peut-être que «text atlas» (dans la VO) est un atlas de texture spécialisé dans le texte (ce qui ne change fondamentalement pas grand chose).

    Pour aller un peu plus loin, créer une telle texture est intéressant, c'est un problème d'optimisation NP-complet: le 2D bin-packing. Il faut donc trouver des heuristiques de manière à maximiser la place utilisée (ou minimiser la place perdue). Si on dispose de toutes les lettres au départ, c'est la version offline. Mais si on a les lettres au fur et à mesure, c'est la version online, beaucoup plus difficile. Il existe des résultats intéressants sur toutes ces versions et des algorithmes d'approximation (pas forcément simple à comprendre).

  • [^] # Re: Jeux video libres

    Posté par  (Mastodon) . En réponse à la dépêche Capitole du Libre 2016 : Le programme. Évalué à 3.

    Oui, j'y serai pour parler de Gamedev Framework (gf) !

  • [^] # Re: Merci pour vos réponses.

    Posté par  (Mastodon) . En réponse à la dépêche Sortie de battle‐rage: un jeu de combat, dans le genre Street Fighter.. Évalué à 3.

  • [^] # Re: Remplacer gecko par webkit?

    Posté par  (Mastodon) . En réponse au journal Mozilla: l'enjeu de 2017 est-il au niveau du navigateur web ?. Évalué à 10.

    J'ai hâte de voir un moteur de rendu web simple et KISS.

  • [^] # Re: Le Flash, c'est aussi les jeux

    Posté par  (Mastodon) . En réponse à la dépêche Flash d’Adobe à l’agonie. Évalué à 8.

    Houla, ce n'était pas une mise en cause de ton travail. Dans l'ensemble, la dépêche est très bien. J'ai juste dit «cette section» c'est-à-dire grosso modo 5 lignes sur tout l'ensemble. Ça va, c'est raisonnable.

    Et puis, je n'avais pas vu cette dépêche dans la liste des dépêches en rédaction collaborative. Je ne regarde pas tout le temps et je dois dire que si je l'avais vu, je n'y aurais pas participé parce que je me sens complètement nul sur ce sujet (j'ai appris plein de choses en la lisant).

  • [^] # Re: Le Flash, c'est aussi les jeux

    Posté par  (Mastodon) . En réponse à la dépêche Flash d’Adobe à l’agonie. Évalué à 10.

    Justement, j'ai trouvé cette section très pauvre et mal documentée. Certains jeux flash sur le web sont très populaires (par exemple, Forge of Empires, 14 millions de joueurs selon Wikipedia) mais il n'en est pas du tout fait mention dans la news.

  • [^] # Re: Moteur physique?

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 3.

    Du coup, j'ai regardé hier soir. Pour un moteur simple, le moteur physique Arcade de Phaser est quand même assez complexe, je trouve. 1214 + 355 + 1788 sloc (donc sans les commentaires), ça fait quand même pas mal. Les seules simplifications par rapport à Box2D, c'est qu'il n'y a pas de joints. Je crois que tout le reste y est.

  • [^] # Re: Moteur physique?

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 2.

    Je préfère tout intégrer qu'avoir des greffons. C'est un framework, c'est le principe d'avoir plein de briques de base. Je vais voir ce que je peux faire, je vais jeter un œil du côté de Phaser pour savoir comment ils modélisent leur truc. Mais ça me semble faisable sans que ça devienne un vrai moteur physique complet.

  • [^] # Re: Moteur physique?

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 3.

    Haaa ! En fait, je ne mettrais pas tous ces cas là dans le même panier.

    Par exemple, pour les jeux à gravité nulle (en vue de 3/4 ou vue de dessus typiquement : ARPG, Shoot Them Up, etc), une simple détection de collision suffit. Pour Huaca, j'ai uniquement utilisé la détection de collision déjà présente dans gf en modélisant les murs, le héros et les objets avec des rectangles alignés sur les axes. Par exemple, pour les murs, si le héros entre dans un mur, je déplace le héros hors du mur. Je n'appelle pas ça de la physique vraiment, et ça suffit amplement. Il peut y avoir des cas un peu plus complexes où tu dois avoir des rectangles non-alignés sur les axes. J'avais fait un jeu où il y avait une voiture qui se baladait dans un décor, il m'aurait fallu une collision entre forme convexe quelconque, je ne l'avais pas donc j'ai pris Box2D. Mais pareil, ça peut se régler uniquement avec de la détection de collision en première approximation.

    Pour les jeux à gravité non-nulle (typiquement les plateformers), il y a un peu plus de boulot mais guère plus. Si tu veux un truc ultra-simple, tu dois juste appliquer les lois de Newton (huhu) à ton héros et faire le calcul à chaque tour de boucle, c'est à peu près 3 lignes à ajouter, pas vraiment besoin d'un moteur physique, je suis d'accord. Tu peux même faire que ton héros traverse les plateformes en montant en vérifiant juste la direction de la normale qui est renvoyée par ta collision. Je peux éventuellement faire un tutoriel là dessus, ça peut être une bonne idée tiens.

  • [^] # Re: Moteur physique?

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 5.

    Non, pas directement.

    En revanche, je vais essayer d'intégrer des algorithmes de détection de collisions. Il y a déjà les plus basiques (cercle/cercle, rectangle/rectangle, cercle/rectangle), j'aimerais ajouter la collision entre deux polygones convexes quelconques (l'algorithme GJK). Je pense que ça peut permettre de faire pas mal de choses déjà. Mais pour toute la partie simulation physique, je ne me sens pas compétent. Et à titre personnel, je préfère utiliser Box2D si j'ai une simulation complexe à faire. D'ailleurs, je ne vois pas bien ce que peut être un moteur physique arcade.

  • [^] # Re: Ça semble bien

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 7.

    Oui, il y a une raison, je l'avais expliqué un peu dans la dépêche. La raison principale, c'est le conservatisme du principal mainteneur sur les évolutions possibles (y compris des évolutions triviales) et le fait qu'il refuse d'accepter que SFML est utilisée à 99% pour des jeux (et donc il refuse tout ce qui est lié à la programmation des jeux).

  • # Mode boulet

    Posté par  (Mastodon) . En réponse au journal Gamedev Framework 0.2.0. Évalué à 10.

    J'ai oublié le principal : mettre quelques liens vers le projet !

  • [^] # Re: .

    Posté par  (Mastodon) . En réponse à la dépêche Les clients officiels de Ryzom migrent de la version 2.1 à la version 3.0. Évalué à 3.

    Du coup, j'ai voulu faire un tour pour voir à quoi ça pouvait ressembler le code de Ryzom et notamment ce bout de code pour les mots de passe. J'ai été incapable de trouver le dépôt, s'il existe. J'ai fouillé pendant 10 minutes sur tous les sites Ryzom sans trouver quoi que ce soit. Y a-t-il un dépôt public ou c'est moi qui suis trop mauvais ?

  • [^] # Re: Wikileaks n'est plus, évitez d'aller lire c'est du voyeurisme peu honnête

    Posté par  (Mastodon) . En réponse au journal Wikileaks a retrouvé une partie des mails de Hillary Clinton. Évalué à 6.

    préférez l'ICIJ

    Le partenaire de l'ICIJ en France, c'est Le Monde, qui est tenu, comme quasiment tous les autres journaux, par des millionnaires. Tu crois vraiment que tu reçois une information honnête et impartiale de la part du Monde ? Je prends le dernier exemple en date, les Panama Papers : aucun américain cité dans les articles du Monde. Pourtant, je pense qu'il y en avait des américains dans cette liste (et dans d'autres pays, comme l'Allemagne, ils ont été cités). Beaucoup de gens ont demandé à ce que la liste complète soit rendue publique (et ça a été fait) parce qu'il y a un gros déficit de confiance envers les journalistes, d'où qu'ils viennent. Et d'ailleurs dans ce cas de figure, ça me semble impossible de ne pas donner d'informations nominatives.

    Bref, je ne me prononcerai pas sur Wikileaks, je pense qu'il y a à dire sur leurs méthodes, mais dire qu'il faut préférer des journalistes aux ordres de leurs patrons millionaires, et qui divulguent les informations quand ça les chante, et au fur et à mesure pour amener des clics sur leurs sites, non merci. Les méthodes des uns n'ont pas l'air de valoir mieux que celles des autres.

  • [^] # Re: .

    Posté par  (Mastodon) . En réponse à la dépêche Les clients officiels de Ryzom migrent de la version 2.1 à la version 3.0. Évalué à 10.

    En fait, il dit que, de nos jours, les fonctions de hachages cryptographiques dédiées au hachage des mot de passe ne sont plus les mêmes que celles utilisées pour, entre autre, l'intégrité des données (comme SHA), notamment parce que les secondes ont pour but d'être le plus rapide possible tandis que les premières peuvent (et même doivent) être suffisamment lente pour gêner une recherche exhaustive. Et donc, une recherche sérieuse de 5 minutes sur Wikipédia aurait donné une liste de fonctions adéquates (genre bcrypt ou Scrypt), prenant en compte nativement un sel suffisamment long (qui empêche les attaques de type table arc-en-ciel) et des paramètres comme un nombre d'itération qui vont allonger le temps de calcul de la fonction (qui empêche donc des attaques par force brute, y compris sur des petits dictionnaires). Voilà (j'ai eu la flemme de wikipediser ce paragraphe mais ça aurait été cool) !

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 5.

    on demande d'avoir dans la bibliotheque standard, une operation vector::erase_at(size_t idx)

    Je vais me répéter mais cette opération ne sert à rien ! Toute la bibliothèque standard fonctionne avec des itérateurs et donc il est logique d'avoir un erase à base d'itérateurs et pas à base d'indice. Autre avantage, ça permet d'avoir une API unifiée pour tous les conteneurs (dont la plupart n'ont pas le concept d'indice, ou alors pas avec un accès aléatoire). Je veux bien que tu me cites un cas pratique de l'utilisation d'une telle fonction avec un exemple suffisamment long pour être pertinent.

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 7.

    Au passage, la règle pourrait bien être que les destructeurs d'une classe qui a au moins une méthode virtuelle sont virtuels. Ou de définir un mot clé "nonvirtual" pour les 0.01% des cas où on veut explicitement éviter la création d'une vtable.

    Ce n'est pas 0.01% mais bien plus puisqu'en C++, les struct et les class, c'est la même chose (à la différence que dans une struct, la visibilité par défaut est publique tandis que dans une class, la visibilité par défaut est privée). Donc, toutes les structures issues de bibliothèques C (donc utilisables en C++) sont concernées. Or, en C, pas de vtable. Il est donc parfaitement impensable d'avoir comme comportement par défaut que tout est virtuel et qu'on dit ce qui ne l'est pas puisque ça briserait complètement la compatibilité avec le C.

    Et pour les cas où il faut un destructeur virtuel, -Wdelete-non-virtual-dtor est là pour émettre un message d'erreur si on a oublié.

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 1.

    De renvoyer un bool et d'avoir un std::vector<std::string>const& en entrée?

    Je pense que dans ce cas là, on utiliserait plutôt des std::string_view (qui ont juste un pointeur et une taille, donc pas d'allocation) plutôt que des std::string. Malheureusement, il n'y a pas d'équivalent pour les tableaux.

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 1.

    Du coup, tu peux les corriger avec des faits? C'est plutôt ça qui serait utile.

    Comme ici par exemple, où je t'ai donné une réponse technique qu'on peut retrouver ou encore . Bref, je n'ai pas donné mon opinion, j'ai juste relaté le pourquoi du comment en relayant l'explication quasi-officielle. Et pourtant, cette réponse est à (+1/-2). Tu crois vraiment que je vais continuer pour me prendre des (+1/-2) et au passage m'entendre dire dans la suite des commentaires qu'en fait, ça devrait être simple. Ben non, j'arrête là et tant pis.

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 3.

    Pourquoi es-tu si sensible ?

    Parce que je deviens vieux et irascible beaucoup plus facilement.

    Que les commentaires de cette dépêche ne te plaise pas, c'est pas grave. Il y a toute une série de dépêche et c'est le langage qui a le plus de journaux. Tu aura pleins d'occasion de discuter de sujets qui te plaisent plus en restant autour de ton langage.

    Parce que tu crois vraiment que le fait de voir débouler sur un journal ou une news qui parle de C++ tout un tas de gens qui viennent t'expliquer que Rust/Go/whatever c'est vachement mieux et que t'as rien compris si tu utilises encore C++, ça incite à faire des journaux ou des news sur C++ ? Et bien non, je me dis que j'ai mieux à faire ailleurs, que ça serait une perte de temps.

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 1.

    Maintenant, que tu n'aime pas Rust, c'est ton droit le plus complet.

    Ce n'est pas que j'aime ou que je n'aime pas, je m'en fous.

    Par contre, sortir des attaques ad hominem comme dans tes autres commentaires et pré-supposer que tes interlocuteurs sont des billes en C++, c'est un manque de courtoisie des plus élémentaires.

    Je ne suppose rien, je lis des choses qui sont inexactes et qui servent de base à des dénigrements contre C++. J'en corrige certaines mais je n'ai malheureusement pas le temps pour faire une passe complète. Et quand je lis autant d'approximations, je me dis que les auteurs ne doivent pas être de fin connaisseurs de C++ et qu'ils feraient mieux de ne rien dire. Est-ce qu'exiger qu'on se renseigne un minimum avant de sortir des âneries, c'est devenu un prérequis trop important, même sur linuxfr ?

  • [^] # Re: Donc pour résumer…

    Posté par  (Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 1.

    Je suis peut-être exigeant là-dessus, mais entre vec.erase(vec.begin() + 32); et vec.delete_at(32), je trouve le second bien plus lisible. Et je trouve d'autant plus dommage que le second ne soit pas dans la stdlib au vu de sa facilité d'implémentation.

    Sauf que c'est complètement inutile parce que, par exemple, tout un tas d'algorithme générique renvoie des itérateurs (ou des couples d'itérateurs pour marquer le début et la fin d'un intervalle) genre std::find et donc, si tu veux effacer ces éléments, tu es bien content d'avoir erase et ton delete_at serait parfaitement inutile.

    De ce que je vois, c'est une “optional technical specification”.

    Tu vois mal, c'est marqué en haut dans un cadre avec un gros I devant: «Merged into ISO C++. The functionality described on this page was merged into the mainline ISO C++ standard as of 3/2016; see the filesystem library (since C++17)» avec un lien direct vers la bibliothèque de C++17.