davandg a écrit 162 commentaires

  • # Utilise poetry

    Posté par  . En réponse au journal La cochonnerie en boite que sont les systèmes de dépendances. Évalué à 8.

    Poetry c'est trop bien, ça marche chez moi©. On utilise ça dans ma boite, on a jamais eu de problèmes.

    Enfin si, on a des problèmes liés à ce qui n'est pas géré par poetry: les dépendances binaires. Et là, soit tu dis "démerdez vous nous on gère que la version X", soit tu passes par Nix, mais là la complexité explose.

  • # Compte

    Posté par  . En réponse à la dépêche Soutenir une proposition d'évaluation des dépenses logicielles de l'État. Évalué à 4.

    Pour information, un compte est nécessaire pour soutenir une proposition sur cette plateforme. En revanche, vous pouvez utiliser un pseudo et n'importe quel adresse email (qui sera juste vérifié par l'envoi d'un lien).

  • # Scratch

    Posté par  . En réponse au journal framework de jeu vidéo. Évalué à 5.

    Il y a https://scratch.mit.edu/ aussi. J'avais rencontré quelqu'un qu'il l'utilisait pour faire des jeux vidéos à des collégiens.

  • # Et plus encore

    Posté par  . En réponse au journal L'Écosystème containeurs. Évalué à 3.

    Il y a des projets qui poussent l'isolation encore plus loin, et qui sont plus ou moins compatible avec les dockerfiles, CRI et/ou OCI.

    On peut, par exemple, citer:
    - firecracker, le moteur derrière amazon lambda. Ce sont des micro-VM avec un kernel linux modifié pour redirigé certaines requêtes systèmes vers le host.
    - gVisior: on pourrait dire qu'ils font des container avec du firejail intégré (donc on peut filtrer les appels au kernel)
    - kata container. Dans le même genre que firecracker, mais avec une approche plus orienté "unikernel" (donc les micro-VMs sont plus indépendantes). Ils veulent être le plus compatible possible avec docker.

  • # quand ça a un bec de canard, des pattes de canard et un corps de canard...

    Posté par  . En réponse au journal Le sujet dont tout le monde a envie de parler, mais qu'on n’ose pas.. Évalué à 10.

    Ne pas parler directement d'argent, mais mettre une nouvelle "monnaie" au milieu est une technique d'arnaque utiliser depuis longtemps dans les casinos et leurs équivalents modernes, les jeux vidéos.

    Les avantages pour l'arnaqueur:
    - sous certaines contraintes (plutôt légère), ça permet de stocker de l'argent sans être considéré comme une banque par la loi
    - il est difficile pour l'arnaqué de réfléchir avec une métrique qu'on ne connais pas
    - l'arnaqueur peut choisir, sans aucuns moyens pour la l'arnaqué d'intervenir, la valeur de cette monnaie intermédiaire. Plusieurs exemples:
    -- Il peut donc dire "aujourd'hui je double ton nombre de monnaie intermédiaire" (en omettant de dire qu'il déprécie cette monnaie intermédiaire d'autant plus)
    -- changer ce que cette monnaie intermédiaire peut "acheter" (parfois il suffit d'un renommage), l'arnaqué comprend encore moins la valeur de cette monnaie
    -- jouer sur l'inflation des monnaies "réelles" pour cacher une baisse de la valeur de la monnaie intermédiaire.

    Et ce ne sont que des exemples de chose que j'ai vu dans le monde des jeux vidéos dont je me souviens de tête à l'instant présent. Je suis sure que des dirigeants libéraux d'une démocratie auront plein de super idées !

  • [^] # Re: -

    Posté par  . En réponse au journal Les distributions GNU/Linux, un petit monde en voie d’extinction ?. Évalué à 6.

    Il cite 3 distributions pour son argumentaire, donc oui c'est vraiment pas top. Les distributions naissent et meurent, comme depuis toujours. Peut-etre qu'il ne regarde pas au bonne endroit ?

    Bon, je retourne tester NixOS, Guix, met à jour mon archlinux, construit un énième docker sur Alpine et me demandant si on ne pourrait pas faire une nouvelle distrib utilisant les idées de FireCracker.

  • [^] # Re: Types optionnels

    Posté par  . En réponse au journal Quelques surprises techniques dans Pythran. Évalué à 1.

    Le projet est là, même si il ne décrit pas vers où ils veulent aller : https://github.com/python/mypy/tree/master/mypyc .

    De ce que j'en avais compris, l'idée c'est de pouvoir faire "quelques optimisations supplémentaires" grâce aux annotations:

    def func(a: int) -> int: return a+1
    Comme on est sure que c'est un int, on va pouvoir compiler ça un peu mieux (même si c'est pas forcement le meilleur exemple, un int en python et un int en C, c'est loin d'être pareil, il faudrait faire du formel (ou définir des subtypes) pour pouvoir être sure qu'on peut le réduire en un "int" de C).

    Je ne sais pas si ça explique mieux…

  • # Types optionnels

    Posté par  . En réponse au journal Quelques surprises techniques dans Pythran. Évalué à 1.

    Chez mypy, il y a un sous-projet pour utiliser les types optionnels afin de réaliser des compilations optimisées de code python. Est-ce que cette approche est envisagée dans Pythran ?

  • [^] # Re: Stats

    Posté par  . En réponse au journal J'ai lancé une commande dans mon terminal, découvrez l'incroyable résultat. Évalué à 2.

    Quelqu'un à enfin réussi à montrer que Pi était un nombre Univers ?

  • # Super comme devinette

    Posté par  . En réponse au journal [Énigme] Vœu de silence et épidémie. Évalué à 2.

    Je tente ma chance:
    il n’y a qu’un seul malade avant le 18ᵉ jour et c’est moi.
    La maladie est contagieuse.

    J’ai le point rouge sur le front, et personne ne me le dit. Les autres moines ne disent rien et ne s’inquiète pas trop vu que personne d’autre ne tombe malade. Jusqu’au 18ᵉ jour : un autre moine tombe malade. Tous les moines déguerpissent.

    Autre fin possible : tous les moines tombent malades au 18ᵉ jour.

  • # Suite "logique"

    Posté par  . En réponse au journal Microsoft rachète Github. Évalué à 9.

    Microsoft a annoncé qu'il voulait, avec sa branche "Office", être l'acteur incontournable du monde de l'entreprise.

    Github étant devenu un indispensable du monde de l'entreprise, c'est assez logique qu'il le rachète.

    Cela ne m'étonnerais pas qu'ils achètent un (voir plusieurs) CRM. Peut-être pas SAP (qui coûte trop cher), mais sûrement des concurrents.

    Ensuite, ils vont continuer de tout intégrer, doucement. Ils ont compris qu'intégrer trop rapidement pose des problèmes (rappelez-vous des difficultés lors du rachat de skype). Mais attendez-vous a pouvoir afficher vos "stars" dans votre profil linkedin, a recevoir un mail vous annonçant que votre compte github est devenu un compte microsoft et pouvoir éditer les docx dans github.

  • [^] # Re: Il y a un forum pour ça

    Posté par  . En réponse au journal Points de douleur du Team Chat ?. Évalué à 2.

    Oups, j'ai oublié de changer le "3 gros problèmes" en "3 gros avantages". Maintenant je suis obligé de parler des problèmes:
    1. c'est le bordel. Les discussions font disparaître les messages importants. Un thread peut très vite être trop long pour que les collègues raccrochent.
    2. Le nombre de "threads" grossit trop vite. Et on est vite perdu.
    3. On est alerté d'un nouveau message pour des messages qui ne nous intéresse pas

  • # Il y a un forum pour ça

    Posté par  . En réponse au journal Points de douleur du Team Chat ?. Évalué à 3.

    En tant que membre d'une équipe utilisant du Team Chat, nos trois plus gros problèmes sont :
    1. pouvoir chatter en 1-1 et par groupes.
    2. que l'historique des conversations soit enregistré/si un membre du groupe n'est pas là il a accès à l'historique.
    3. faire 1 et 2 de manière cross-plateform, sans que ce soit compliqué.

  • [^] # Re: Je suis sceptique

    Posté par  . En réponse au journal Le cycle de Qarnot. Évalué à 7.

    C'est ce que fait Stimergy : ils installent des datacentre plongé dans de l'huile pour aidée à chauffer de l'eau. Ils ont déjà installer leurs machines dans une piscine (pour aider au chauffage de l'eau de baignade) et dans plusieurs immeubles (pour préchauffer l'eau du chauffe-eau centrale).

    On peut aussi citer l'un des plus gros supercalculateurs européens SuperMUC qui utilise une partie de sa chaleur générée pour aider le chauffage de ville.

  • # Comment tu la contrôles ?

    Posté par  . En réponse au journal J'ai acheté une imprimante 3D (presque open source) à 150€. Évalué à 4.

    Comment tu contrôles la bête ? Quel(s) logiciel(s) utilises-tu pour passer du modèle 3D aux commandes à envoyer à la machine ? Je suis resté aux fraiseuses numériques, où tu es quasi obligé de passé par windows pour pouvoir contrôler la machine.

  • # Bienvenue !

    Posté par  . En réponse au journal Adaptation d'outils d'éducation à l'environnement en numérique.. Évalué à 6.

    Je trouve que c'est une super idée les journaux. Les chroniques sont toujours intéressantes à lire ! De plus, suivre le point de vue d'un "noob" est très rafraîchissant !

    Donc pour pouvoir le mettre ici, il faut que je "libère" le contenu des éléments non-libres. Un peu de boulot de recherche et d'illustration.

    Pour une première version, tu peux juste remplacer les images posant problème par des dessins très moches faits à la main. Cela pourra permettre de décrire le jeu en détail afin d'aller chercher plus facilement de l'aide.

    Pour les flemmards :
    - Post forum en question
    - PVassal

  • # Prédictions

    Posté par  . En réponse à la dépêche Prédire la note d’un journal sur LinuxFr.org. Évalué à 10.

    Je ne suis pas un pro, mais voici mes 2c.

    Ma petite expérience : ajoute un maximum de features. L'algo d'apprentissage se débrouillera tout seul pour donner de l'importance où non à la feature. Si ça commence à ramer, il existe plusieurs méthodes pour enlever les features inutiles (ou qui donne peu d'information) (va voir la doc de scikit :).
    Sois imaginatif pour les features. Tu peux partir sur des features que tu penses rentrer en compte dans la qualité d'un Troll. Mes idées, à la volée : % du nombre de retours à la ligne par rapport au nombre de mots (aération du texte), nombre d'images, le jour de la semaine de la publication…
    Je suis convaincu que tu pourrais obtenir une assez bonne qualité de classification avec uniquement les métadonnées.

    SGDClassifier est basé sur un classificateur linéaire et un algorithme du gradient stochastique (abréviation SGD). Je vous avoue ne pas encore maîtriser ces subtilités.

    Tu trouveras de super explications un peu partout sur le net, voici la mienne en quelques lignes.
    Comme dans tout algo de Machine Learning, tu part d'un modèle construit à partir des features. Ce modèle est composé de plein de paramètres. Tu utilises ensuite un algorithme d'optimisation pour trouver les paramètres qui colle le mieux aux observations.

    Dans les SVM, le modèle est super simple. Pour chaque feature "A", tu lui attribues un paramètres "a". Ensuite tu les combines linéairement:
    valeur finale = a*A + b*B + c*C + d*D…
    Lorsque tu fais de la classification, la valeur finale te donne un pourcentage : la confiance en l'appartenance à une catégorie donnée. Si tu fais de la régression la valeur finale est la valeur que tu chercheras à prédire (le score du journal pour nous).

    En phase d'apprentissage, l'algo d'optimisation va chercher les valeurs des a,b,c,d… qui vont faire en sorte que les valeurs finales prédites soit la plus proche des valeurs finales observées.
    Une fois l'apprentissage fini, tu connais les a,b,c,d… Pour prédire une valeur il te suffit d’effectuer l'opération et de récupérer le résultat.

    Pour l'optimisation, on utilise une descente de gradient stochastique. Nous avons vu juste avant que l'algo d'optimisation cherche les meilleures valeurs des a,b,c,d… par rapport aux donnés que l'on connaît. Cet algo va donc chercher à minimiser l'erreur de prédiction commise. Elle va donc cherche à diminuer ("descente") l'erreur de prédiction, en faisant varier les paramètres. Ces paramètres, on ne le fait pas changer au hasard, mais en se rapprochant doucement ("gradient") des points les plus bas, en faisant des sauts de temps en temps ("stochastique").

    C'est très souvent ce genre d'algo d'optimisation utilisé, car ils fonctionnent super bien si le modèle à les bonnes propriétés mathématiques. Si tu n'as pas ces propriétés, il faut bourriner avec des variantes de recuit simulés (algo génétique, Monte Carlo…).

  • [^] # Re: Je propose la création d'un langage informatique

    Posté par  . En réponse à la dépêche Questionnaire LinuxFr.org pour la présidentielle française 2017. Évalué à 4.

    Blague à part, ça existe. Le langage juridique étant très formel, on peut utiliser de l'analyse formelle pour l’interpréter et jouer avec.

  • # Nix, trop révolutionnaire pour moi

    Posté par  . En réponse au journal Comment j’ai abandonné Debian.... Évalué à 5.

    J'étais hyper intéressé par Nix, mais j'ai assez vite déchanté à cause du coté "c'est une révolution, alors changeons tout".

    Je n'ai pas essayé NixOS, j'ai utilisé Nix pour pouvoir faire tourner un logiciel sur mon Arch et sur une vielle redhat. D'un point de vue technique c'est tout simplement super. J'ai pu compiler et tester sur ma machine, transférer le logiciel et ses dépendances sur la redhat et tout exécuter !
    Ce qui m'a beaucoup gêné, c'est qu'un paquet ne s'appelle pas un paquet, on n'"install" pas un logiciel, etc. Le comble c'est le tableau de traduction "erreur Nix" vers "erreur compréhensible par un humain". Les développeurs ne voulant pas simplifier les messages d'erreurs car l'outil ferait moins révolutionnaire…

    C'était il y a 6 mois, peut-être que les mentalités ont changées ?

    La technologie est super, mais je ne crois peu dans le projet. Peut-être que le salut viendra de Guix, ou d'une distribution majeure qui embrasserait ce principe ?

  • [^] # Re: Tesseract-ocr

    Posté par  . En réponse à la dépêche GNU/Linux a son OCR de qualité. Évalué à 3.

    Tout à fait, tesseract a été repris par Google.

    En plus compliqué à utiliser, il y a ocropy.
    C'est aussi Google qui le fait et c'est basé sur du machine learning (c'est même du deep learning (utilisez ce terme pour convaincre votre chef que vous pouvez faire joujou avec)).
    Ils ont d'excellents résultats, même si tous les modèles entraînés ne sont pas fournies.

  • # Tu fais tes graphiques avec quoi ?

    Posté par  . En réponse au journal #data et libre : une belle histoire ?. Évalué à 1.

    Avant je faisais principalement du R pour mes analyses de données.

    Pour plus de souplesse je suis passé à python avec, comme toi, numpy/scipy et pandas. En revanche je n'ai pas trouvé de lib pour faire des graphes aussi puissante et simple que ggplot2.

    La version pure python de ggplot2 est trop en béta pour moi, matplotlib est trop bas niveau et les autres libs python sont peu expressive comparé à ggplot2 (et sont limités dans les formats de sorties).
    Pour l'instant, j'utilise ggplot2 de R à travers le "traducteur" rpy2 (qui permet d'utiliser du code R directement en python). C'est une solution assez sale car je cumule les bizarreries de R et de la traduction…

    Bref, tu fais tes graphiques avec quoi ?

    Sinon, c'est cool d'être data scientist ? Comment tu te vends auprès de tes clients ?

  • # Quel logiciel d'OCR ?

    Posté par  . En réponse au journal pgdp.net: Contribuer à des projets libres quand on a pas le temps. Évalué à 2.

    Quel logiciel d'OCR est utilisé ? Je n'ai pas trouvé l'info sur le site…

  • # Intégrer la culture libre dans le gameplay

    Posté par  . En réponse à la dépêche Khaganat, un projet ludique et culturel. Évalué à 1.

    Lors d'une soirée mondaine (ie, on buvait des bières) avec des amis, on avait discuté de comment devrait être un MMO libre. Ce qui en était ressorti est que pour que ça marche il fallait que la culture du libre soit intégrer dans le gameplay. Sans cette intégration, pour le joueur moyen ce n'était qu'un MMO classique, et donc il allait très difficile de concurrencer une boite qui investi des millions dedans.
    Dans les idées pour intégrer le libre dans le MMO on avait :
    - les "prophéties": les joueurs peuvent proposer des prophéties, c'est à dire des histoire qui peuvent arriver dans le jeu. Si l'histoire est suffisamment aimé des autres joueurs (et qu'elle est réalisable) elle arrive. Exemple: "La ville sera attaqué un soir de pleine lune par un monstre gigantesque", "tel guilde va entrer en guerre contre tel guilde", "les personnages vont bientôt tous pouvoir sauter"…
    - des "constructeurs d'objet": les joueurs peuvent proposer de nouveaux modèles 3D avec des caractéristiques. Si elles sont acceptés le joueur peut alors en vendre directement dans son magasin (dans le jeu) et toucher de la monnaie du jeu. Bien sure il faut aussi qu'elles dropent avec certaines probabilités (a définir dans les caractéristiques de l'objet).
    - Avoir un système bac à sable, pas forcement sur toute la map et tous les objets comme dans Minecraft, mais un système qui permet de créer de nouveau bâtiment, univers, ville…

    My 2 cents.

  • # Un peu long

    Posté par  . En réponse au message reconnaissance de pièces de monnaies. Évalué à 2.

    Je dis surement des choses fausses, si quelqu'un de mieux renseigné passe dans le coin, qu'il n’hésite pas à me corriger !

    Pour détecter un objet dans un image, l'approche la plus simple et performante est de créer un modèle mathématique de l'objet et ensuite de chercher ce modèle dans l'image. Par exemple, la reconnaissance de cercle citée plus haut c'est surement fait avec une transformée de Hough. Pour appliquer cette méthode il faut que tes objets recherchés soient très ressemblant (ce qui est le cas pour un cercle, un carré, un visage…). Les pièces et surtout leurs détails qui permettrait de les différencier sont trop différents pour utiliser ce genre de méthode selon moi.

    Une autre méthode simple et de faire de la comparaison "pixel à pixel" pour retrouver où l'objet recherché se trouve par rapport à une image de référence. Le problème est qu'il faut que l'objet recherché soit dans le même sens et de la même taille que l'image de référence. Tu peux toujours exécuter plein de fois la recherche en tournant et redimensionnant a chaque fois l'image de référence. Mais cela fait très vite beaucoup trop d'opérations.

    La dernière méthode est de passer par des algorithmes d'apprentissage automatique, comme le deep learning. Souvent ces algos coutent chères à entrainer, mais après c'est quasiment instantané. Pour les entrainer il te faut plein d'images dans lesquelles tu connais le résultat attendu. Si tu veux que l'algo soit capable de trouver des objets tournés et redimensionnés, il faut bien sure fournir des exemples de différentes tailles et orientations.
    Google Research est TRES fort la dessus. Google publie énormément de choses, cherche "google object detection" dans Google ou Google Scholar. Regarde aussi des exemples de Caffe qui semble être un framework utilisé par pas mal de papiers.

    Pour te donner un peu un ordre d'idée de comment faire, je vais te décrire comment Ocropy fonctionnait (à l'époque où j'ai regardé, depuis ça a peut-être changé). Ocropy permet de transformer des scans de livre en texte (c'est de la reconnaissance de caractère).
    1) l'image est d'abord nettoyée avec plusieurs algos (une qui enlève les poussières, une qui enlève les pliures, une qui transforment l'image en "noir ou blanc" de façon intelligente…)
    2) l'image est tournée et découpée grace à un algo d'analyse de ligne
    3) les lignes sont redimensionnées grâce à un algo de détection de taille moyenne de caractères
    4) Les lignes sont injectées dans un algo de deep learning spécialisé dans la détection de caractère

    L'étape 1, ce sont que des filtres d'images (comme ceux qu'il y a dans Gimp=>filtres). Les étapes 2 et 3 utilise une approche par modèle (mon premier paragraphe). Jusqu'à maintenant les images n'ont étaient que homogénéisées.
    La dernière étape utilise un algo d'apprentissage automatique. Cela fonctionne extrêmement bien si l'algo de learning a appris sur des lignes de la même langue et de la même police que le texte à lire par l'algo.

    Les algos de deep learning sont un peu magique (le choix des types de neurones et leurs nombres sont complètement faites au feeling) et c'est la grande critique qui leur sont faites. Mais elles peuvent donner des résultats extraordinaires!

    Toutefois tu ne seras peut-être pas obligé d'aller jusque là. Si tu arrives a suffisamment homogénéiser ton entré, une simple comparaison "pixel à pixel" peut suffire. Tu auras en sortie quelque chose comme : "cette image contient 1 pièce ressemblant a 80% à 5cent italien de 2004, 75% à 5cent polonais de 2003…". Et ensuite le choix final se fait à la main.

    TL;DR: Détecte les pièces avec OpenCV. Filtre tes pièces pour que quelque soit la photo les pièces aient toutes la même luminosité et couleurs. Trouve un moyen de les tourner toutes dans le même sens. Fait une copie "pixel à pixel" qui te donne une probabilité de ressemblance avec ta base de donnée de pièce. Profit.

  • # Network over ssh

    Posté par  . En réponse au journal Vacances & Réseaux hostiles. Évalué à 2.

    J'utilise sshutle[1]. Si tu peux te connecter à un serveur SSH, c'est bon, ça marche®.

    [1] https://github.com/apenwarr/sshuttle