Patrick Nicolas a écrit 109 commentaires

  • [^] # Re: Wow (et questions)

    Posté par  . En réponse au journal Mes péripéties en VR. Évalué à 2.

    Sur OpenVR/SteamVR/OpenXR c'est toujours un peu compliqué.

    OpenVR est un "vieux" standard poussé par Valve à l'origine, et entre autres le seul backend supporté par Unity pour Linux.
    SteamVR est à la fois l'environnement d'accueil de Steam en VR et une implémentation à la fois d'OpenVR et OpenXR.
    Monado est un peu le mesa d'OpenXR, avec des pilotes pour plusieurs casques.

    OpenVR est en très lié à SteamVR, et le projet OpenComposite qui tente de faire une implémentation de OpenVR sur OpenXR n'est pas capable de faire tourner tous les jeux. Comme OpenVR est considéré comme obsolète y compris par Valve, on aimerait bien qu'il disparaisse tout simplement.

    WiVRn est prévu pour être auto-suffisant dans le cas OpenXR, il gère la vidéo, les positions, les boutons, les vibrations. À part l'installation de l'application sur le casque, et le support OpenVR c'est déjà clé en mains.

  • [^] # Re: une app ?

    Posté par  . En réponse au journal Mes péripéties en VR. Évalué à 2.

    Si une application veut vraiment interagir en VR, elle utilise OpenXR, ce qui permet d'avoir les informations de position du casque, des manettes et envoyer les commandes d'affichage. Blender a déjà un plugin pour afficher en VR, mais pas encore pour éditer je crois.

    Ensuite pour ce qui est en dehors de l'application il n'y a pas grand chose pour le moment : une seule application peut être active à la fois et le lancement d'une application se fait de manière externe. Je ne sais pas si Monado a des projet de gérer une bascule d'application active, ou un lanceur basique pour ne pas avoir juste un écran noir quand on met le casque. Chez SteamVR il y a un "SteamVR Home" qui sert de lanceur et un peu de démo.

  • [^] # Re: une app ?

    Posté par  . En réponse au journal Mes péripéties en VR. Évalué à 5.

    Il y a https://github.com/galister/WlxOverlay (OpenVR) et https://github.com/galister/wlx-overlay-x (OpenXR) pour afficher le bureau en VR.

    https://stardustxr.org/ est un compositeur wayland spécifique pour la VR.

    Je n'ai jamais essayé, et je suppose qu'avec la résolution du Quest 1 le texte sera peu lisible. J'ai des doutes sur l'intérêt de la VR pour autre chose que du jeu/divertissement.

  • [^] # Re: Un daltonien

    Posté par  . En réponse au journal L'avis des daltoniens. Évalué à 6.

    À peu près la même chose pour moi.

    Pour les protanopie 2 / deuteranopie 2 il est difficile de distinguer l'étoile sur fond clair.

    Même si on arrive à différencier les couleurs, il est souvent difficile de les reconnaître quand elles ne sont pas côte à côte: une légende et des courbes par exemple.
    Le meilleur conseil est de toujours avoir 2 méthodes pour reconnaître l'information: couleur et forme par exemple. L'interactivité peut aider aussi, par exemple survoler la légende met en surbrillance les données associées.

    Une autre erreur courante est d'utiliser de la couleur pour mettre en valeur. Un mot en rouge dans du texte noir ne ressortira pas du tout, il faudrait le mettre en gras aussi.

    L'article pointé me semble commettre un certain nombre de fautes, les daltoniens vont naturellement se méfier des couleurs. On ne peut pas savoir si on distingue effectivement les couleurs présentées, ou si il y a des éléments que l'on ne voit tout simplement pas (cyan sur fond blanc est invisible par exemple). Un programme accessible ne doit jamais utiliser la couleur seule pour véhiculer une information.

  • [^] # Re: Comportement indéfini

    Posté par  . En réponse au journal C++, surcharge d'opérateur, ordre d'évaluation. Évalué à 6.

    Indéfini avant C++17.

    À partir de C++17 c'est défini d'après https://en.cppreference.com/w/cpp/language/eval_order

    Règle 16) Every overloaded operator obeys the sequencing rules of the built-in operator it overloads when called using operator notation
    Et 20) In every simple assignment expression E1=E2 and every compound assignment expression E1@=E2, every value computation and side-effect of E2 is sequenced before every value computation and side effect of E1

    m.size() est évalué en premier, puis m[1]. Le bon résultat est celui retourné par gcc 9.

  • # PARTUUID

    Posté par  . En réponse au journal initrd est mort, bon débarras. Évalué à 4.

    Pourquoi ne pas utiliser un UUID pour root ?

    D'après https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183 c'est parfaitement utilisable, avec un PARTUUID.

    Le rootfstype n'est pas nécessaire, le kernel trouve bien ce qu'il faut.

    Et bonus, avec un EFI on peut même se passer de grub.

  • [^] # Re: j'ai du mal à comprendre

    Posté par  . En réponse au journal L'ordinateur qui a effacé cinq voix. Évalué à 5.

    Avec ce système un électeur peut prouver quel est son vote, il est donc possible de vendre sa voix.

    Si le vote en clair n'est pas accessible, on ne peut pas vérifier et recompter.

  • [^] # Re: This is javaaa

    Posté par  . En réponse à la dépêche Fim 1.1.0. Évalué à 1.

    Je n'aime pas les pratiques en java:
    les abstractions qui ne font que compliquer la lecture, les interfaces n'ayant qu'une seule implémentation, les factory pour créer tout type d'objet
    l'utilisation systématique de getters/setters publics, qui exposent l'implémentation d'un objet

    Je n'aime pas les libs java:
    Il faut souvent créer 2 ou 3 objets intermédiaires pour des opérations simples comme la lecture de fichier
    Les interfaces graphiques ne s'intègrent pas facilement dans un environnement donné
    La distribution passe par la copie de .jar

    Je n'aime pas le langage java:
    Le langage ne connaît que les pointeurs, qui peuvent toujours être nuls
    Il n'y a pas de concept de "const" ou de fonctions pures
    La gestion des ressources doit être faite manuellement (sauf la mémoire), et sans destructeurs

  • [^] # Re: À suivre?

    Posté par  . En réponse au journal C++ Core Guidelines. Évalué à 1.

    Les lambdas permettent de définir du code ayant une portée du bloc en cours.
    C'est utile par exemple dans les fonctions asynchrones, si je donne une fonction pour le retour (std::function si possible), un lambda peut contenir le contexte.

    En tant que prédicat c'est aussi très flexible, on peut exprimer ce que l'on veut sans le mettre dans l'interface de l'objet.

  • # entrée standard et arguments

    Posté par  . En réponse au message Python / (linux) shell : interfacer l'un avec l'autre. Évalué à 8. Dernière modification le 22 septembre 2015 à 14:33.

    Que je sache, grep n'ouvre les fichiers que depuis ses arguments en ligne de commande. Ici il va donc chercher un fichier {} et un ;
    La syntaxe que tu essayes d'utiliser est celle de find, c-à-d find commande {} \;, c'est find qui va lancer commande en remplaçant le {} par le fichier en cours.

    Pour des fichiers sans espace, on peut simplement utiliser grep string $(./script.py)
    Avec cette syntaxe le shell va d'abord exécuter ce qui est entre $() et passer la sortie de ce programme comme arguments pour la commande grep.

    Une solution plus générale est d'utiliser xargs (la page de man décrit tout ce qui est possible) pour lancer une commande pour chaque ligne de l'entrée standard.

  • [^] # Re: NVidia ou Intel

    Posté par  . En réponse au message Carte graphique supportée "de base" pour poste de travail Debian Jessie. Évalué à 3.

    Depuis plusieurs années tous les processeurs Intel intègrent une partie graphique (depuis 2011 et les processeurs Sandy Bridge). AMD vend un peu des deux, mais la majorité intègre bien une « carte » graphique.

    Il n'y a que pour les jeux que l'on peut vouloir une carte dédiée maintenant, et les drivers libres AMD ou Intel sont en général très bons.

  • [^] # Re: J'ai pas très bien compris

    Posté par  . En réponse au journal Grsecurity : le patch stable réservé aux sponsors. Évalué à 3.

    En effet le premier lien (atomiccorp) vend directement le logiciel, pas du matériel, les patchs sont téléchargeables sur https://atomicorp.com/downloads/
    Le deuxième (prometheus) vend le produit du premier et les autres sont des hébergeurs.

  • [^] # Re: J'ai pas très bien compris

    Posté par  . En réponse au journal Grsecurity : le patch stable réservé aux sponsors. Évalué à 5.

    Si le sponsor veut vendre du matériel qui utilise ce kernel, il doit fournir les sources.

  • [^] # Re: Remarques

    Posté par  . En réponse au journal Résolution naïve d'un jeu de société. Évalué à 1.

    Effectivement c'est pas aussi direct.
    La taille acceptable du nombre de situations permet de terminer l'exploration si on atteint une situation qui a déjà été atteinte. On peut donc continuer à explorer jusqu'à ce que la solution soit trouvée ou toutes les branches se terminent sur une position déjà parcourue.

  • [^] # Re: Remarques

    Posté par  . En réponse au journal Résolution naïve d'un jeu de société. Évalué à 2.

    Le nombre de situations possibles est égal au nombre de cases puissance le nombre de pions (moins en réalité puisqu'ils ne peuvent pas se superposer).
    On est donc à 4*109, il est donc possible de mémoriser les situations déjà visitées et donc déterminer si une situation est atteignable.

  • [^] # Re: Raciste

    Posté par  . En réponse au journal Peut-on accepter la téléphonie mobile ?. Évalué à 4.

    J'ai cité ces deux exemples parce que ce sont deux des acteurs majeurs dans l'informatique et la téléphonie mobile et qu'ils ont des antécédents d'espionnage.

  • [^] # Re: C++ / Modèle Objet

    Posté par  . En réponse au journal [Bookmark] Qt fête ses vingt ans. Évalué à 7.

    Pour fonctionner, Qt utilise un préprocesseur (moc), qui va générer du code. Si on compile directement le fichier cpp, ça ne marchera pas.

    Il n'existe actuellement pas d'alternative en C++ standard, par exemple pour appeler une fonction par son nom.

  • [^] # Re: YakaFokon : ouvrir le courrier du voisin

    Posté par  . En réponse au journal Adoption du projet de loi relatif au renseignement en première lecture. Évalué à 2.

    Le but est de faire l'un puis l'autre. L'analyse du comportement à partir des métadonnées permet de déterminer des cibles, dans mon exemple aucun des contenus n'est lu. Une fois une cible déterminée tous les moyens sont autorisés, pour la cible et ses contacts.

    La loi dit aussi que ce ne sont pas seulement les terroristes qu'il faut surveiller. La protection des intérêts économiques (espionnage industriel), la défense de la forme républicaine des institutions (tout mouvement politique qui propose autre chose que la Veme république) rentrent dans le cadre.

  • [^] # Re: YakaFokon : ouvrir le courrier du voisin

    Posté par  . En réponse au journal Adoption du projet de loi relatif au renseignement en première lecture. Évalué à 1.

    Quand on parle de surveillance généralisée la priorité est donnée sur les métadonnées.
    Un bot aura du mal à faire la différence entre un commentaire ironique ou un sérieux, à s'adapter aux changements de la structure de la page (par exemple si des parties sont chargées dynamiquement, si des variantes mobiles ou régionales ont une structure différente, faire la différence entre la pub et le contenu, lier le contenu à un utilisateur et j'en passe certainement).

    Avec des métadonnées je sais que les présumés terroristes se connecte à l'IP X, puis chargent une ressource de 1ko sur l'IP Y suivie de 5ko sur cette IP Y. Il n'y a pas besoin de savoir ce que sont les sites ou les contenus sur ces adresses mais ce schéma est associé à un comportement suspect.
    Ensuite la nouvelle loi permet d'établir une surveillance ciblée sur la personne ayant ce comportement, ses proches et ses contacts.

  • [^] # Re: YakaFokon : ouvrir le courrier du voisin

    Posté par  . En réponse au journal Adoption du projet de loi relatif au renseignement en première lecture. Évalué à 2.

    Même en https il y a la taille du paquet, le lien temporel avec les autres paquets http/https et la durée du flux https.
    Rien qu'avec ces métadonnées on peut estimer si tu as juste vu un bouton j'aime sur une page ou si tu as effectivement cliqué dessus.

  • # Réaction ?

    Posté par  . En réponse au journal Adoption du projet de loi relatif au renseignement en première lecture. Évalué à 2.

    Comme beaucoup ici, je trouve ce vote scandaleux.
    Ce qui m'étonne est qu'il y ait si peu de réaction, pourquoi n'y a-t-il pas ou peu de manifestations pour soutenir la liberté, comme après les attentats ?

    Si il y en a de prévues, où sont-elles organisées ?

  • # Intérêt des hautes résolutions

    Posté par  . En réponse au message Recherche config ultraportable bien prise en charge par Linux. Évalué à 2.

    Je n'ai pas de recommandation sur les ultraportables du moment (j'utilise un Samsung 11" mais il n'est plus produit).

    Concernant l'écran, les résolutions très élevées sont utiles pour afficher du texte. C'est courant sur les tablettes et téléphones, la lecture est plus agréable.

  • [^] # Re: Un projet n'est pas que du C++

    Posté par  . En réponse au journal Gestionnaire de dépendances en C++. Évalué à 1.

    gérer le paramétrage de la configuration
    Qu'est-ce que tu entends par là ?

    Le système doit permettre de sélectionner des parties optionnelles, que ce soit pour choisir les fichiers à compiler ou des paramètres supplémentaires au compilateur. Et aussi les chemins à utiliser, pour l'installation et l'exécution.

  • [^] # Re: Un projet n'est pas que du C++

    Posté par  . En réponse au journal Gestionnaire de dépendances en C++. Évalué à 2.

    make permet de tout faire, mais il est difficile de garder un Makefile lisible dès qu'on a plusieurs modules, quelques options de compilation.

    De manière générale le problème est celui de la lisibilité des fichiers et leur apprentissage. J'ai l'impression de perdre beaucoup de temps dès que je dois faire quelque chose de plus.
    Et finalement on a toujours quelque chose à apprendre : générer la documentation, les fichiers de traduction, utiliser des outils pour son toolkit (moc), générer des sources et d'autres seront plus créatifs.

    Ce que je veux, mais je ne sais pas comment y parvenir est un système qui soit aussi générique qu'un Makefile, simple à prendre en main, robuste, facile à lire, capable de gérer les tous les outils de génération (pas seulement les compilateurs).
    En attendant j'utilise cmake ou les autotools.

  • # Un projet n'est pas que du C++

    Posté par  . En réponse au journal Gestionnaire de dépendances en C++. Évalué à 2.

    Je voudrais que le système pour construire mon projet puisse faire beaucoup de choses
    - gérer le paramétrage de la configuration
    - générer des fichiers source à compiler
    - permettre de construire des ressources autres que les exécutables, comme des images générées, de la documentation, des fichiers de configuration
    - s'intégrer à des outils pour faire des paquets pour les distributions

    Et encore dans mon cas je voudrais pouvoir compiler des parties différentes du projet avec des chaînes de compilation différentes (emscripten pour une part, natif pour l'autre).