barmic a écrit 10455 commentaires

  • [^] # Re: Hum ?

    Posté par  . En réponse au journal Mon Backup de backup. Évalué à 6.

    C'est pourquoi j'envisage une sorte de « pruning » light qui consiste à ne sauvegarder que les fichiers les moins anciens (idées : https://coolaj86.com/articles/how-to-rsync-files-by-date-or-by-size.html) sur le disque externe (c'est la solution que je présente dans le journal)…

    C'est bizarre. Pourquoi passer par des étapes chelous plutôt que directement utiliser les pratiques éprouvées en réfléchissant de manière posé à la rétention de tes données ?

    Personnellement je traite de manière différentes :

    • des données dont je veux tout garder (historique complet) : git
    • des données que je ne veux pas perdre là tout de suite mais dont la durée de vie est faible : synchronisation sur plusieurs machines
    • des données du genre immuables dont la durée de vie est « infinie » (les photos par exemple) : archivage très simple sur 2 autres disques durs externe sur les quels je ne fais que des ajouts

    Pour mon besoin, je n'ai pas besoin de plus.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Hum ?

    Posté par  . En réponse au journal Mon Backup de backup. Évalué à 5.

    C'est juste la déduplication de ses backups.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: méthode brute ?

    Posté par  . En réponse au journal Mon Backup de backup. Évalué à 4.

    par contre pas le nombre de hardlinks !

    Et c'est juste l'une des causes de ton problème !

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Hum ?

    Posté par  . En réponse au journal Mon Backup de backup. Évalué à 7.

    Le problème ne vient pas des liens symboliques, mais des hardlinks.

    C'était un lapsus.

    Le problème ne vient pas des liens symboliques, mais des hardlinks.

    Oui, je veux garder mes vieilles infos, c’est pour ça que j’en fais la sauvegarde. Le « pruning » ne me ferait pas gagner tant de place que ça, seulement diminuer le nombre de hardlinks.

    Ça me paraît donc déjà pas mal diminuer leur nombre.

    Oui, je veux garder mes vieilles infos, c’est pour ça que j’en fais la sauvegarde.

    La question c'est as-tu besoin d'une granularité à la journée ? Est-ce que tu pense sincèrement avoir besoin d'un fichier que tu a créé le 3 avril 2011 et supprimé le 5 ? La gestion de la données ce n'est pas tout garder pour tout garder, c'est de savoir discriminer ce qui est important de ce qui ne l'est pas (car plus on réduit le nombre de fichiers, leur volume, le nombre de lien, etc plus les actions seront facile - c'est justement ton problème -).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Hum ?

    Posté par  . En réponse au journal Mon Backup de backup. Évalué à 7. Dernière modification le 25 juillet 2016 à 14:45.

    Tes problèmes de liens symboliques me donnent l'impression que tu ne fais que du backup incrémentale (ou décrémental). C'est vraiment le cas ? Tu as vraiment besoin de garder 6 ans d'historique quotidiens ? Généralement la fréquences des archives diminue avec l'age (quotidien sur la dernière semaine, hebdomadaire sur l'année, mensuel ensuite par exemple avec des durée de rétention limité) ce qui permet de gagner BEAUCOUP de place.

    Ton backup pourrait du coup être la copie tel quel d'une archive complète (pas d'un incrément). Du coup du n'a pas de lien à gérer (enfin pas plus que ce qu'il y a actuellement sur ta machine). Le processus complet serait alors :

    • tu fais un backup incrémental/décrémental quotidien sur ton NAS
    • (si tu fais de l'incrémental) tu fais un backup complet hebdomadaire et on supprime les incréments d'il y a quelques semaines/mois
    • tu fais une copie de ce backup sur ton second NAS

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: De l’utilité des exceptions.

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 7.

    J'aime beaucoup l'un des arguments :

    Exceptions are, in essence, sophisticated GOTO statements

    C'est le cas de toutes les structures de contrôle.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Le Persona de Jabber ?

    Posté par  . En réponse à la dépêche Authentifiez-vous sans mot de passe grâce à XMPP !. Évalué à 4.

    La notion de site sensible d'une part est liée à l'utilisation que tu en fais, d'autres part elle est très subtile. Cette fonctionnalité apporte surtout des risques.

    Soit on considère que c'est une authentification sûre soit non.

    Le client peut très bien définir un mot de passe globale qu'il faut entrer pour valider ces requêtes (mot de passe, dessin ou ce que tu veux) et si l'utilisateur décide de désactiver ces vérification tant pis pour lui

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Email ?

    Posté par  . En réponse à la dépêche Authentifiez-vous sans mot de passe grâce à XMPP !. Évalué à 4.

    XMPP a le même problème au sujet du chiffrement. Est-ce que les clients montrent clairement quelles garanties on a sur un message donné ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 7.

    Et bien, on est obligé de gérer l'erreur là où elle s'est produite, ou dans une couche très proche.

    Pas du tout, il y a pleins de programmes qui propagent les codes d'erreur jusqu'à la fonction main.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 4.

    […] si le circuit de catch est spécifique.

    Ça petit arriver mais c'est très rare. Tu n'est pas sensé avoir une classe d'exception par erreur possible.

    Pour le reste c'est une spécificité de C++. Je ne saurais pas trop quoi en dire.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 7.

    Il faut identifier quelles valeurs seront nécessaires à la correction, où elles ont encore un sens, faire attention à leur durée de vie, …
    Des problèmes supplémentaires à résoudre, qui peuvent pousser à modifier l'architecture du programme pour la plier autour des erreurs. Faire de la "programmation orientée erreur".

    C'est purement théorique. Faut arrêter d'avoir la tête dans le guidon et de faire des grandes affirmations sur les malheurs d'une solution tout ça parce qu'on ne l'aime pas ou la maitrise pas ou la connaît pas.

    Quand tu écris une fonction, tu défini tes paramètres, ta (ou tes) sorties et la manière dont tu sort une erreur s'il est possible que tu plante. La réflexion est la même que tu envoie un code d'erreur, que tu utilise un bidule fonctionnel Option/Either ou que tu lève une exception. Rien de plus rien de moins. Si tu arrive à renvoyer une erreur via un code d'erreur tu devrait réussir à le faire avec une exception ne t'en fais pas trop ;)

    La difficulté n'est pas dans le fait d'envoyer une erreur, mais dans la manière dont on la gère. Oui il peut paraître compliqué de gérer les exceptions (sans utiliser une solution moche comme beaucoup le font avec un traitement à tous les étages et un rethrow), mais tu as précisément la même problématique avec toutes les façons de gérer les erreurs. Oui il faut réfléchir à où c'est pertinent de récupérer ton erreur,. Oui ça peut donner l'impression de passer son temps à gérer des erreurs, mais un problème aussi complexe ne se gère pas en un coup de cuillère à pot.


    Un point très pratique en C++, c'est que les exceptions normalisent tes erreurs. Si tu as une méthode qui retourne un entier et dont l'ensemble des entiers est une valeur acceptable, retourner une erreur va te demander soit d'enrober ton retour (avec un Optional par exemple) soit d'utiliser une variable globale (à la errno). Devoir jongler entre tester -1, 0, NULL, un objet encapsulant, ne rend pas pas les choses plus simples.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 9.

    Au lieu de vérifier avant, on tente en espérant que ça passe […]

    Oui ! Oui ! Oui ! 1 000 fois oui !

    Tenter de toi-même vérifier une précondition avant de faire l'appel d'une méthode, c'est vraiment casse gueule. Ça veut dire que si la précondition change, il faut la modifier partout où la méthode est appelée, ça veut dire que tu dois toi bien maitriser quels sont les préconditions et comment les vérifier, etc. Tenter de vérifier si la création d'un fichier va fonctionner avant de le créer c'est plus subtile que ça en a l'air (vérifier le dossier, vérifier, les droits (SELinux ? AppArmor ? fs en lecture seule ?…)).

    donc le système d'exceptions n'apporte rien à part un vocabulaire supplémentaire et des algorithmes qui se déroulent de haut en bas mais aussi en travers.

    N'importe quoi… Quand tu traite un cas d'erreur, tu va avoir un branchement dans ton code pour passer de l'état « normal » à l'état « c'est la galère ». C'est pas une question de langage ou d'expressivité de celui-ci.

    Il est rare de pouvoir tout gérer dans ton bloc de gestion d'erreur pour ensuite pouvoir continuer le flow d'exécution.
    Quand tu vois ça : https://github.com/torvalds/linux/blob/c05c2ec96bb8b7310da1055c7b9d786a3ec6dc0c/drivers/media/tuners/m88rs6000t.c#L108
    Je me dis surtout qu'ils aimeraient bien avoir la sémantique du try/catch.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Le Persona de Jabber ?

    Posté par  . En réponse à la dépêche Authentifiez-vous sans mot de passe grâce à XMPP !. Évalué à 6.

    mais même sur un site optimal pour lui comme linuxfr, je soupçonne que cette authentification serait adoptée par une minorité d'utilisateurs.

    Sur linuxfr, je ne me connecte presque jamais. Je suis perpétuellement connecté.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Petites questions

    Posté par  . En réponse à la dépêche Authentifiez-vous sans mot de passe grâce à XMPP !. Évalué à 6.

    Je n'ai pas pris le temps de regarder dans les détails, mais ton composant est un client XMPP ? On peut lui faire utiliser un serveur xmpp de notre choix (comme un qu'on installe pas nous) ou bien ?

    D'un point de vu sécurité de XMPP, est-ce que ton composant accepte les communications non chiffrées ? Est-ce que la requête passe par le serveur XMPP ou est-ce qu'elle est envoyée directement au client ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: un navigateur web de référence

    Posté par  . En réponse au journal La déception skype. Évalué à 3.

    Il y a nacl aussi mais je sous-entendais quelque chose d'utilisé par quelqu'un d'autre que Google.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: un navigateur web de référence

    Posté par  . En réponse au journal La déception skype. Évalué à 2.

    Je ne suis pas sûr de comprendre, mais, tant qu'il ne s'appuie pas à du spécifique Chrome (feu-NaCL par exemple), ils ont juste une application qui tourne sur un runtime standard (HTML5 by W3C) et qui possède plusieurs implémentations (Blink, Webkit, Gecko, Servo, EdgeHTML,…) et disponible sur presque tous les OS existants. En terme de portabilité c'est plutôt correct, non ?

    Bien sûr ce n'est pas aussi beau et tu peu avoir des problèmes. Mais globalement Office365 ça fonctionne sur Firefox/Chrome/Edge (je n'ai pas essayé les konqueror et autre gnome browser) et sur n'importe quel OS au quel j'ai eu accès (hors android que j'ai pas essayé) tel quel.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 1.

    Si les gars qui font boost s'y connaissaient en C++, ça se saurait !

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: un navigateur web de référence

    Posté par  . En réponse au journal La déception skype. Évalué à 3.

    Bof Firefox ou Chrome arrivent avec une contenairisation que je m'étais beaucoup de temps à reproduire pour une application native. Comme Skype a une très très mauvaise réputation, je préfère qu'il arrive dans un contenaire web plutôt que directement sur l'OS.

    Donc tant que des bidules comme xdg-app ou le concurrent d'ubuntu ne sont pas démocratisés et dont bien leur boulot autant faire du web. C'est la manière la plus efficace d'être agnostique de l'OS et donc de ne pas enfermer ses utilisateurs sur Windows

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Bizarre le cadeau d'EDF...

    Posté par  . En réponse à la dépêche Le Top 500 des supercalculateurs de juin 2016. Évalué à 3.

    Il parlait je pense d'une idée veille comme le monde, et surtout les années 2000, de voler du cycle cpu inutilisés chez les gens ou stations de travail pour faire tourner les calculs. Il suffit d'aller voir tout les trucs qui ont foirés ou vivotes pour comprendre les limites du truc.

    C'est pour ça que je parlais de BOINC

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: un navigateur web de référence

    Posté par  . En réponse au journal La déception skype. Évalué à 3.

    Le rapport de force de firefox est maintenant trop faible pour véritablement faire plier qui que ce soit. Après chrome (de la vision que j'en ai) ne fait pas trop de choses hors standard et tout ce qui marche sur l'un marche sur l'autre.

    Tu peux ne pas en être content c'est un fait.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: JITSI

    Posté par  . En réponse au journal La déception skype. Évalué à 6. Dernière modification le 20 juillet 2016 à 09:58.

    il n'y a pas de loi

    Il y a des règles dans un paquet d'entreprises. Il y a aussi que si tu prend l'outil que tout le monde utilise s'il y a un problème c'est la faute de l'outil, si tu choisi un autre outil et qu'il y a un problème c'est de ta faute. Donc même à fonctionnalité égale, je ne conseillerais pas d'utiliser la super solution libre. Ce n'est pas parce que tu es sous linux que tu maitrise la VoIP et que tu peux te permettre d'aider tout le monde à maitriser ton outil, hein ?

    De plus la multiplication des outils dans une entreprise est un véritable problème pour son efficacité, il faut savoir mettre le curseur entre s'enliser avec des outils pas adapté et utiliser le dernier outil à la mode parce que le logo est plus joli (libre ou pas).

    Et tout ça c'est sans compter qu'un GoToMeeting ou un skype for entreprise écrasent allègrement n'importe quelle autre solution libre ou pas. Le premier permet le partage d'écran, d'avoir des gens qui sont présent par téléphone, de transférer l'administration d'une réunion, en tant qu'administrateur de gérer le son pour tout le monde, d'enregistrer la réunion,… et skype for entreprise rien que le fait qu'il soit synchroniser avec les comptes de l'entreprise c'est déjà suffisant.

    Ça n'empêche pas de proposer, mais ça ne se fait pas si bien que ça.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 5.

    Les exceptions en C++ n'ont à peu près rien à voir avec les exceptions en Java, hormis le principe général.

    Oui mais comme ta question fait partie du principe générale, je me permet d'y répondre.

    Déjà, le fait qu'en C++, elles ne soient pas déclarées dans le prototype de la fonction rend leur utilisation très pénible, contrairement à Java.

    J'étais persuadé que l'on pouvait le faire sans que ce soit obligatoire (les exceptions ne sont pas vérifiées) et je viens de découvrir que c'est déprécié. C'est bien dommage au moins pour pouvoir s'en servir dans des analyse statique de code.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 4.

    En OCaml, on utilise le type polymorphe 'a option = None | Some of 'a (c'est l'équivalent de : un pointeur null ou un pointeur sur un objet de type 'a) pour faire cela. Je préfère également cette approche à celle par gestion des exceptions. La bibliothèque standard à tendance à utiliser des exceptions, là où la version de jane street fournit les fonctions en deux exemplaires : avec exception ou avec un type 'a option en retour.

    La subtilité c'est que ce n'est pas le même langage. Tu ne peux pas utiliser un option en OCaml sans vérifier la présence d'une valeur, alors qu'avec un null… c'est transparent. C'est bien pour ça qu'il y a des langages qui intègrent maintenant des types non nullable.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Conteneurs

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 4.

    Un pointeur ou un itérateur ?

    Un pointeur. Plus pratique pour échanger avec du C. Et un pointeur est un itérateur (mais l'inverse est faux).

    Le pointeur donne un accès direct à ton implémentation. Si pour une raison ou une autre tu as besoin que tes données ne soient pas continues, tu aura des soucis.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Je n'aime pas la SFML

    Posté par  . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 10.

    De mon expérience de développeur java. Ton exception contient les informations pertinentes. Tu attrape l'exception là où c'est pertinent. C'est ton abstraction qui rend logique le lieux où tu récupère l'exception. Tu la laisse traverser toutes les couches qui ne peuvent plus fonctionner et tu la récupère là où :

    • tu sais comment réagir à l'erreur (changer un paramètre et réessayer, passer ton application en mode offline, stocker tes données sur disque,…) ;
    • tu peux informer l'utilisateur du problème. Il n'est pas pensable dans un jeu un chouia grand publique d'avoir une application qui s'arrête à la limite de générer un coredump sans la moindre info.

    Donc non il n'y a pas de réponse toute faite du genre « tu la catch ligne 25 du fichier toto.cpp ».

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)