small_duck a écrit 139 commentaires

  • [^] # Re: Drivers libres pour faire tourner des logiciels fermés ?

    Posté par  (site web personnel) . En réponse au journal Ma vie de joueur : mes retrouvailles avec AMD après 10 ans d'absence.. Évalué à 5.

    J'ai sauté le pas et déplacé Steam dans son propre compte quand j'ai commencé à installer des plugins X-Plane. Avec ces binaires venus d'on ne sait où, je commençais à avoir un peu les foies… Un petit script avec xhost + sudo plus tard, et je peux démarrer l'app Steam dans mon bureau sans qu'elle puisse accéder à mes fichiers.

    Malheureusement, cette approche ne fonctionne plus pour certains jeux passés à Vulkan, qui n'aime pas le xhost. Pour ceux là (War Thunder, Desperados III), je me logge directement en tant que Steam, ce qui est moins pratique.

  • [^] # Re: Donc, toujours pas de support pour Blender ?

    Posté par  (site web personnel) . En réponse au journal Ma vie de joueur : mes retrouvailles avec AMD après 10 ans d'absence.. Évalué à 3.

    Ce sera l'un ou l'autre :)

    J'installe le driver proprio AMD, qui est, si je comprends bien, le driver libre + OpenCL proprio, et Blender tourne très, très bien. Mais c'est le driver proprio.

  • [^] # Re: [HS] et comment héberges-tu tes mails ?

    Posté par  (site web personnel) . En réponse au journal Les adresses mail personnelles et les comptes en lignes. Évalué à 2.

    Espace Web chez OVH, qui vient avec un nom de domaine et les e-mails associés. J'ai une adresse "perso" qui me sert principalement à communiquer avec mes proches, et une adresse générique qui me sert pour tous les comptes en ligne. Et je garde un e-mail chez Google quand je dois épeler au téléphone. Dire "mon prénom point mon nom at googlemail.com", ça passe toujours.

  • [^] # Re: VM

    Posté par  (site web personnel) . En réponse au journal Ivre, il tente de réinstaller Windows, ça tourne mal. Évalué à 5.

    Je pertinente, Windows est tout à fait tolérable en machine virtuelle. Après, configurer KVM + Windows aux petits oignons tient de la magie noire, mais pour une utilisation basique, je trouve que ça marche bien. J'avais réussi à faire tourner un "Skype for business" pour un entretien d'embauche.

    Pour les jeux, il semble qu'il soit possible de dédier une carte graphique à la machine virtuelle et d'avoir des performances proches du natif, mais là, ça devient très complexe.

  • [^] # Re: Certains éléments sont imprécis !

    Posté par  (site web personnel) . En réponse au journal Ivre, il tente de réinstaller Windows, ça tourne mal. Évalué à 5.

    J'ai dû balancer quelques clés USB ainsi que mon téléphone :)

    Pour le temps passé, je dirais, allez, quelque chose comme une grosse demie-journée. Au bout d'un moment, j'ai fini par comprendre que je n'allais jamais y arriver, et qu'il fallait passer à autre chose. Mais je pense avoir compris la leçon, et on ne m'y reprendra pas de tenter d'installer Windows sur une machine physique !

  • # Firefox était il condamné ?

    Posté par  (site web personnel) . En réponse au journal Hégémonie et navigateurs. Évalué à 10. Dernière modification le 29 septembre 2020 à 23:37.

    Merci à tous pour ce débat très enrichissant.

    La question qui continue à me turlupiner est: était-il possible pour Firefox de faire mieux ?

    J'ai l'impression que tant que Firefox était le navigateur soutenu par Google (financièrement, via les standards, contre IE…), il prenait des parts de marché. Mais une fois que Google a décidé que le navigateur était stratégique et qu'il leur fallait le leur, et qu'ils ont mis leur énorme machine en route pour tout rafler, Firefox n'a pas pu lutter.

    Google a l'avantage de l'installation par défaut sur Android, et de contrôler une part suffisante du Web pour pouvoir inciter fortement l'utilisateur à changer, voire carrément à le faire à son insu, en mode "sur un malentendu, ça peut marcher", comme décrit dans certains commentaires plus haut.

    Est-ce qu'une MoFo idéale, irréprochable, avec une stratégie claire et pour seul but de conserver sa part de marché des navigateurs, aurait pu résister seule à l'envahisseur, sur mobile et sur le bureau ?

  • [^] # Re: Quelle type de machine pour faire tourner ce type de soft ?

    Posté par  (site web personnel) . En réponse au journal X-plane et la simulation de vol sous Linux. Évalué à 6.

    Coucou !

    X-Plane fonctionne bien avec un PC de gamer de milieu de gamme.

    Pour les disques, prévoir un bon SSD, sinon les temps de chargement sont vraiment galère (les ortho photos supplémentaires peuvent s'installer sur un disque dur, avec les liens symboliques qui vont bien). Viser au moins, juste pour X-Plane, 100GB de SSD et 200 GB de HD.

    Pour la mémoire, 8GB minimum, 16GB pour être confortable.

    Le CPU n'est probablement pas le plus important, un bon i5 fera le turbin.

    La carte graphique, évidemment quelque chose de solide, mais là encore, pas besoin de viser la lune. Avec mon AMD RX480 d'il y a 3 ans, je tourne largement au dessus des 30 images par secondes (depuis la mise à jour Vulkan). Si tu veux te faire plaisir, alors assure toi de prendre une carte avec plein de VRAM (plutôt 8GB que 4GB), pour pouvoir charger les textures du monde en haute définition.

    Pour la distribution, éviter quelque chose de trop ésotérique, une Ubuntu vanille pour faire tourner Steam sans se bourrer le mou est une bonne option, mais X-Plane est aussi censé fonctionner sur Suse et Fedora.

    Et surtout, pour s'amuser, assure toi d'avoir un joystick, même premier prix (avec si possible une molette des gaz, voire un axe de torsion pour simuler le palonnier).

    Bons vols, et n'hésite pas à faire un tour sur les forums de x-plane.fr. C'est bourré d'infos utiles, et de nombreux membres mettent leur config hardware en signature de leurs posts sur le forum.

    X-Plane 11.50 Beta, A319 Toliss, A321 Toliss, A350 FF, Aerobask DA-62, Aerobask Eclispe 550NG
    Ubuntu 20.04, i5-6400 2.7GHz, Radeon RX 480 4Go, 24 Go RAM, SSD 500 GB
    Warthog HOTAS, palonnier TFRP
    
  • [^] # Re: Tutoriel

    Posté par  (site web personnel) . En réponse au journal X-plane et la simulation de vol sous Linux. Évalué à 6.

    Alors, il y a des tutoriels intégrés, jusqu'à un certain point ! Ça ne va pas excessivement loin, mais c'est un début:

    Page de tutoriels X-Plane

    Rapidement, il faut s'orienter vers Internet, où pléthore d'amateurs éclairés ou de pilotes professionnels, dont de nombreux francophones, partagent leur passion. Pour des tutos un peu plus pointus, je recommande la chaine Youtube de FalconEye.

  • [^] # Re: Gestionnaire de paquet

    Posté par  (site web personnel) . En réponse au journal X-plane et la simulation de vol sous Linux. Évalué à 3. Dernière modification le 21 août 2020 à 11:33.

    J'approuve ! Je me limite pas mal en terme d'extensions, mais déjà, c'est la galère. Entre les avions qui utilisent principalement un étrange client Java (mais pas tous), les scènes qu'il faut mettre à jour manuellement, les nombreuses dépendances de bibliothèques chacune avec ses instructions d'installation, c'est le bazar, et il faut aimer tripatouiller la chose.

    Est-ce que l'ouverture est à ce prix ?

  • # Motivation et changement de boulot

    Posté par  (site web personnel) . En réponse au journal Quelles sont vos motivations au travail ?. Évalué à 4.

    J'ai changé de boulot il y a 3 mois après 10 ans de boite. Ça fait tout drôle, et ça permet de remettre un peu les pendules à l'heure. L'effet "Tribu", en particulier, joue à fond. J'étais dans une très bonne équipe, très sympa, composée en partie de gens que j'avais moi-même recrutés, et là je dois tout reconstruire. Étant donné la différence d'âge et de centres d'intérêt (la plupart sont frais sortis de l'université, alors que je suis en milieu de carrière avec famille et enfants), ça va pas être aussi évident !

    Du point de vue boulot, je dois également reconstruire la confiance. Avant, mon avis avait un certain poids, et c'est un bel exercice de modestie de découvrir qu'ici, je vais devoir repartir de plus bas pour convaincre mes chefs et mes collègues de la pertinence de mon approche.

    Au final, c'est un peu démotivant de devoir se justifier, d'être un peu pressé par le temps pour "sortir quelque chose maintenant pour montrer au grand chef qu'on se bouge".

    En revanche, écrire un nouveau module qui va changer en profondeur l'architecture et les possibilités métier de l'appli, en se basant sur son expérience passée pour créer quelque chose de mieux, se retrouver confronté à de nouvelles technologies (même si certains choix techniques me font hurler), ou accueillir des "encore plus nouveaux que moi" (mais généralement bien plus jeunes !), voilà ce que je trouve motivant.

  • [^] # Re: Sympa

    Posté par  (site web personnel) . En réponse au journal Ces quelques modèles de CV. Évalué à 7.

    Euh, ça sert à quoi d'anonymiser un CV ? Et comment ils le font ?

    Les chasseurs de tête aiment bien ajouter leur logo en haut des CV, et peut-être bidouiller quelques trucs (recruteurs : demandez au candidat de vérifier si le CV que vous avez est bien l'original - candidats : amenez votre CV original lors de l'entretien).

    Et surtout, les chasseurs de tête font une anonymisation "partielle". Ils gardent le nom, mais enlèvent le téléphone ou l'e-mail, pour s'assurer que l'entreprise cliente passe bien par eux. Bien sûr, en cherchant un peu, il doit être possible de retrouver le candidat, mais les recruteurs ont rarement le temps et l'envie de jouer les Sherlock Holmes (et il y a probablement des clauses dans les contrats avec les jivaros, yada yada).

    À noter que mon CV en Latex (document class "article" et tableaux longtable à la rache©) n'a pas causé de problèmes la dernière fois que je suis sorti du bois. Je me demande si les cabinets de recrutement ont investi dans des éditeurs de PDFs ?

  • [^] # Re: Quelques erreurs !

    Posté par  (site web personnel) . En réponse au journal Postgresql, un retour d'expérience. Évalué à 2.

    En effet, je ne connaissais pas cette limite sur la taille des index. J'en prends note.

    Pour les changements de schéma transactionnels, je maintiens, mais je précise afin d'éviter les malentendus: par transactionnel, je veux dire qu'il est possible d'effectuer dans une seule transaction plusieurs changements de schéma et de données, et d'avoir un rollback propre en cas d'erreur, ce qui est fort pratique pour faire des mises à jour complexes en toute sérénité.

    Par exemple, Sybase force un commit avant et après un "drop table":

    http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00170.1540/doc/html/san1283555530313.html

    Ça semble encore pire chez Oracle:

    "Oracle Database implicitly commits the current transaction before and after every DDL statement."

    https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_1001.htm#SQLRF30041

    DB2 me semblait mieux doté sur ce point, mais je me souviens d'avoir du régulièrement séparer mes mises à jour en plusieurs paquets, car certaines opérations devaient se faire en dehors d'une transaction. Je ne retrouve cependant pas de références, et je serai heureux d'en apprendre plus.

  • [^] # Re: 0AD, excellent jeu !

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de 0 A.D. Alpha 23 « Ken Wood » (annonce tardive). Évalué à 10.

    Surtout pas, non ! À deux contre deux IA. On gagne ou on perd ensemble, esprit d'équipe !

  • # 0AD, excellent jeu !

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de 0 A.D. Alpha 23 « Ken Wood » (annonce tardive). Évalué à 7.

    0AD est d'une qualité incroyable, j'y joue régulièrement en coopératif avec ma fille, et j'y ai converti quelques collègues. C'est fun, c'est beau…

    Je n'ai ceci dit jamais trouvé d'utilité à l'élevage, trouvant les champs et la pêche bien plus pratiques. Est-ce que quelqu'un les utilise ?

  • # Merci !

    Posté par  (site web personnel) . En réponse à la dépêche Meilleures contributions LinuxFr.org : les primées de mai 2020. Évalué à 7.

    Yay, merci à toute l'équipe !

    Cela faisait longtemps que j'avais l'idée de parler un peu de PostgreSQL, et ayant changé de boulot le mois dernier, je me suis dit que c'était l'occasion ou jamais tant que c'était encore frais dans ma mémoire, mon nouvel employeur n'utilisant pas mon SGBDR préféré (mais j'y travaille…).

    Je vais dévorer mon bouquin sur Blender !

  • [^] # Re: Participation

    Posté par  (site web personnel) . En réponse au journal Postgresql, un retour d'expérience. Évalué à 8. Dernière modification le 18 mai 2020 à 01:04.

    Malheureusement, c'est une question que nous ne nous sommes pas du tout posés, avec des développeurs Postgres moyen chauds quand ça commence à parler format binaire dans les mailing lists, et la difficulté de convaincre le n+3 de faire sortir de la boite quoi que ce soit.

    Pour la documentation interne, nous avons les commentaires dans le code, et des tests unitaires (le Test Driven Developement dit que les tests sont la spec, non?).

    Pour la participation au produit, nous avons pris un contrat support auprès d'une entreprise qui emploie de nombreux développeurs Postgres. Vu la solidité du produit, et nos DBAs plutôt dégourdis, on ne les a pas noyés sous les questions ou les problèmes, et j'ai donc espoir qu'une large partie de la facture soit partie dans l'amélioration de Postgres pour tout le monde.

  • [^] # Re: Mysql a(vait) du retard. Est-ce toujours le cas ?

    Posté par  (site web personnel) . En réponse au journal Postgresql, un retour d'expérience. Évalué à 10.

    Les restrictions au niveau des sous-requêtes semblent encore d'actualité. Il me semble avoir été mordu soit par le problème des sous-requêtes référençant une table en écriture, soit par la restriction sur les requêtes corrélées (avant la version 8.0.14).

    La taille maximum d'une ligne est de 64Ko, et donc un varchar ne pourra pas aller au delà. Pour y mettre du texte plus gros, il est possible d'utiliser les types BLOB et TEXT, qui ont certaines restrictions, et qui se chargent différemment d'un varchar dans l'API ODBC.

    MySQL ne connait pas le "CREATE SEQUENCE". L'on peut avoir des colonnes auto-incrémentées, mais on perd le côté universel de la séquence.

    J'ai également cru comprendre que le planificateur de requêtes de MySQL s’essouffle bien plus rapidement lorsque le nombre de jointures et la complexité des requêtes augmentent, mais je n'ai pas de benchmark sous la main.

    Aucune de ces restrictions n'est complètement bloquante et l'on peut toujours émuler quelque chose, mais le schéma que je migrais était complexe, et Postgres était simplement un outil plus adapté à mon problème.

  • [^] # Re: Actif Actif, multimaster, bi site?

    Posté par  (site web personnel) . En réponse au journal Postgresql, un retour d'expérience. Évalué à 7.

    Était-ce pour maintenir la haute disponibilité de la base ?

    Notre système a été construit de façon à ne jamais avoir la base sur le chemin critique. Si le primaire tombe, les données à persister s'accumulent en mémoire jusqu'à ce que le secondaire reprenne la main, et nous changeons suffisamment en cache le matin pour pouvoir survivre quelques minutes le temps que les DBAs fassent la bascule.

    Mais d'autres systèmes n'auront pas la même tolérance aux pannes…

  • [^] # Re: Petite liste

    Posté par  (site web personnel) . En réponse au journal recherche jeu et chat pour préados. Évalué à 2.

    Je recommande également Stardew Valley, que ma fille de 7 ans adore. C'est très mignon, pas bien difficile, et c'est vraiment sympa de s'occuper de sa ferme, mais aussi de rencontrer les autres villageois et de s'en faire des amis.

    Dans un style un peu similaire, Farm Together est pour le coup un pur jeu de gestion de ferme, très facile et très mignon aussi (mais 3D, donc il faudra une machine un poil plus puissante). Bien que beaucoup moins roleplay que Stardew Valley, Farm Together se rattrape avec un mode multijoueurs en écrans partagés, ce qui en augmente grandement l'intérêt. De plus, comme les plantes et les animaux se récoltent au bout d'un certain temps, que l'on soit en train de jouer ou pas, les parties ne durent pas trop car au bout d'un moment, tout a été récolté, et il faudra attendre quelques heures ou quelques jours avant d'avoir besoin de revenir au jeu.

    Ces 2 jeux tournent sous Linux avec Steam, et peuvent fonctionner avec un pad.

  • [^] # Re: Wt <3

    Posté par  (site web personnel) . En réponse à la dépêche Déployer une application Web C++ sur Heroku avec Docker et Nix. Évalué à 6. Dernière modification le 19 novembre 2018 à 09:39.

    J'aime bien Wt, que nous utilisons au boulot pour fournir tout un tas d'applications clientes au dessus de notre grosse base de code C++. Nous avons par exemple écrit un petit logiciel de gestion de droits utilisateurs, un logiciel d'analyse de trafic réseau (façon Wireshark, mais pour des messages métier), et plusieurs applications plutôt orientées formulaire, mais avec des interfaces riches et réactives.

    L'avantage principal que je trouve à Wt est de pouvoir s'interfacer directement avec notre base de code, et donc de pouvoir réutiliser au maximum nos algorithmes et nos structures.

    C'est également un cadriciel moderne, avec une bonne gestion de la mémoire (utilisation judicieuse des unique_ptr), et une simplicité biblique pour écrire des applications réactives très performantes, avec des dizaines de mise à jour à la seconde sur une page sans difficulté, laissant au cadriciel le soin de choisir Ajax, WebSockets ou autre.

    Un inconvénient, cependant, est la difficulté à obtenir la mise en page souhaitée. Je me suis arraché les cheveux pour, par exemple, obtenir qu'une table affiche correctement sa barre de défilement quand elle est dans un onglet. Toute seule sur la page, ça marche impeccable, mais dans l'onglet, il faut sacrifier à Cthulhu. Et puisqu'on en parle, cette semaine, je dois corriger un autre souci de mise en page qui m'a écrasé tous mes panneaux au lieu de les garder à taille normale et de me donner une barre de défilement. Il faut s'armer de courage, jouer avec les outils développeur du navigateur, et trouver si un changement CSS ou un forçage de hauteur d'élément va déclencher un bout de Javascript magique qui va tout corriger.

  • [^] # Re: Partitionnement

    Posté par  (site web personnel) . En réponse à la dépêche PostgreSQL 11.0. Évalué à 6.

    ps: Je n'ai pas compris pourquoi tu veux lyncher les nouvelles fonctionnalités du partitionnement…

    Au contraire, je les révère, et leur donne un satisfecit :)

    Mon commentaire s'adresse plutôt à la situation courante, et je vois donc avec joie que beaucoup de soucis ne seront plus qu'un mauvais souvenir. En particulier, si je comprends bien, il y a maintenant 2 phases d'élimination de partitions, à la planification et à l’exécution, ce qui permet d'éliminer les problèmes avec now() et current_date que j'évoquais.

    J'ai donc hâte de mettre à jour mes bases, même si c'est pas pour tout de suite.

  • # Partitionnement

    Posté par  (site web personnel) . En réponse à la dépêche PostgreSQL 11.0. Évalué à 10.

    Ces nouvelles fonctionnalités autour du partitionnement sont toujours bonnes à pendre !

    Le partitionnement avec Postgresql est en fait un corollaire de la fonctionnalité des tables héritées. Cela a l'avantage que c'est plus générique et donc (comme toujours avec PG) très cohérent, mais le désavantage qu'il faut beaucoup de travail pour obtenir une solution de partitionnement complète: gérer l'insertion dans la table appropriée, gérer la création de nouvelles tables au fur et à mesure du temps dans le cas de partitions historiques, création d'index, maintenance (vacuum) des tables…

    À noter d'autres avantages du partitionnement : les routines un peu lourdes, comme une modification de la table, un ajout d'index ou le vacuum, peuvent être faites partition par partition, parfois même en parallèle, ce qui transforme une opération de maintenance de 48 heures en une opération de 2 heures, et permet de profiter de son week-end.

    Les requêtes bénéficient également du partitionnement, en sélectionnant dès la phase de planification les sous-tables appropriées. Attention cependant ! Dans le cas du partitionnement historique, utiliser "now()" ou "current_date" n'éliminera pas les partitions non pertinentes. En effet, au moment de la planification, la requête ne connaît pas la date (ou l'heure) courante, puisque le plan pourrait être réutilisé ultérieurement, et donc inclut toutes les partitions. Il faut donc bien coder ses conditions de dates en dur, par exemple via le script qui lance la requête.

  • [^] # Re: arg! du c++ !

    Posté par  (site web personnel) . En réponse au journal Le quiz c++ de l'été. Évalué à 8.

    Il y a du mieux. Autant pendant un temps, les compilateurs étaient vraiment derrière le standard, autant depuis C++11, on a un standard beaucoup plus clair, et des implémentations qui ont vraiment convergé.

    Par exemple, le standard exclut clairement maintenant l'optimisation COW (copie sur écriture) pour std::string, et tous les compilos sont passés à l'optimisation SSO (optimisation de chaînes courtes. Je n'ai pas trouvé d'article Wikipedia, mais j'avais écrit quelque chose sur le sujet).

    La question porte sur le standard, et sauf grosse surprise je m'attends à ce que tous les compilos fassent la même chose (mais je prends tous les benchmarks que vous avez pour confirmer !).

  • [^] # Re: Ça compile pas

    Posté par  (site web personnel) . En réponse au journal Le quiz c++ de l'été. Évalué à 3.

    Coucou ! Alors en effet, je n'ai pas mis le code complet afin de ne mettre que les morceaux importants. Voici un exemple compilable. Attention cependant, avec certains niveaux d'optimisations, les appels à f et g pourraient se retrouver inlinés. Pour être sûr que ce n'est pas le cas, il faut les définir dans une unité de compilation séparée (un autre .cpp).

    #include <memory>
    
    class A {};
    class B : public A {};
    
    void f(A*)
    {
    }
    
    void g(const std::shared_ptr<A> &)
    {
    }
    
    int main()
    {
      auto ptr_a = new A;
      auto ptr_b = new B;
    
      auto shr_a = std::make_shared<A>();
      auto shr_b = std::make_shared<B>();
    
      f(ptr_a);
      f(ptr_b);
      g(shr_a);
      g(shr_b);
    
      return 0;
    }
  • [^] # Re: Le métier ?

    Posté par  (site web personnel) . En réponse au journal Tirez-vous une bûche, qu'on cause C++ et singletons. Évalué à 6. Dernière modification le 16 août 2018 à 08:56.

    Eh oui! Chez nous, le métier, ce sont, entre autres, les matheux qui utilisent mes API pour faire de l'analyse de données, et qui codent leurs outils soit directement en C++, soit via des langages de script. Ce genre de demande est donc assez fréquent.