Blackknight a écrit 1234 commentaires

  • [^] # Re: Ada aujourd'hui ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 3.

    Ouf, je suis encore cohérent avec moi-même :)

  • [^] # Re: Ada aujourd'hui ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 4.

    De rien, c'est un plaisir :)

    J'aimerai qu'Ada soit plus apprécié et connu à sa juste valeur, il se trouve qu'Alire est un moyen qui peut faciliter sa découverte et celle de SPARK.

  • [^] # Re: Ada aujourd'hui ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 5. Dernière modification le 05 juin 2022 à 23:59.

    Ça m'a rappelé avec émotion les pré et post conditions. La belle époque.

    Et encore, si les pré et post conditions permettant de générer des assertions automatiques en Ada, elles ne sont qu'un bout de ce que l'on peut utiliser en Spark.
    Il y a notamment toute une série d'aspects (c'est comme ça qu'on dit) spécifiques à Spark permettant entre autre de décrire les dépendances aux variables globales, à la description d'un état au sein d'un package

    C'est complexe et long mais super intéressant :)

    En cadeau, quelques liens :
    - Le user guide
    - Une introduction à Spark
    - Un guide pour passer son code Ada vers du code Spark. Attention, toutes les constructions Ada ne sont pas autorisées en Spark, ce dernier ne travaille que sur un subset sans ambiguïté pour un "prouveur"

    Bonne lecture

  • [^] # Re: Ada aujourd'hui ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 4.

    En fait, en créant la section Ada (qui n'existait pas encore), Benoît a aussi fait un peu de rangement, ce dont je le remercie.

    Oui, merci Benoît.

    Du coup, je me suis demandé sous quelle section avait été publié la news sur Ada 2012 que j'ai écrite il y a 10 ans.
    A l'époque, j'avais passé ça sous la rubrique Technologie :)

    En tout cas, je suis bien content qu'il y ait une section pour la prochaine norme, Ada 2022, pour l'instant nommée Ada 202X.

    Enfin, normalement, c'est pour cette année.

  • [^] # Re: Question bête

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 3.

    Il te faut regarder du côté des external releases.

    Par exemple, pour les Ncurses, il y a ça. Plus généralement, cette partie de l'index contient pas mal d'exemples.

    De toute façon, cela ne te dispense pas de préciser dans ton fichier GPR que tu linkes avec la lib en question.

  • [^] # Re: et les signatures?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Alire, le package manager d'Ada. Évalué à 3.

    Je pense pouvoir dire qu'il n'y a rien de tout ça :)

    La seule chose qu'il y ait est un hash de l'archive du code source récupéré.
    Par exemple, pour aPDF :

    description = "Portable package for producing dynamically PDF documents"
    name = "apdf"
    version = "5.0.3"
    authors = ["Gautier de Montmollin"]
    licenses = "MIT"
    maintainers = ["gdemont@hotmail.com"]
    maintainers-logins = ["zertovitch", "Fabien-Chouteau"]
    project-files = ["pdf_out_gnat_w_gid.gpr"]
    
    [gpr-externals]
    PDF_Build_Mode = ["Debug", "Fast"]
    
    [[depends-on]]
    gid = ">=9.0.0"
    
    [origin]
    url = "https://sourceforge.net/projects/apdf/files/apdf_005_r3.zip"
    hashes = ["sha512:dbe27598986b1744b024803348350e48b9fe14a14b4137796b3bf12fc98e400b45fd16dc3902a5ffbfa407552131bec072c287444889d5984ade6ba6d2d981cf"]

    Après, comment fait-on quand il s'agit de la récupération d'un commit précis dans un dépôt Git ?
    Doit-on vérifier que le commit a bien été signé ?
    Dans le cas d'un dépôt où le nombre de mainteneurs est élevé, doit-on vérifier le commit avec les signatures de chacun des contributeurs ?
    Si on utilise une clé GPG, quid de la date de validité de la clé ?

    Il y a effectivement une réflexion à avoir.

    Pour le typosquatting, il n'y a, à ma connaissance, rien non plus.

  • [^] # Re: Pas mal d'erreurs dans l'article

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Transmission de données de capteurs via internet. Évalué à 6.

    Autre petite boulette

    ProcessOne : https://www.process-one.net/en/ejabberd/ (MQTT + XMPP + SIP).

    ProcessOne n'est pas qu'un prestataire, c'est la société qui développe ejabberd, un serveur XMPP opensource écrit en erlang.
    Personnellement, c'est ce qui fait tourner mon serveur XMPP et qui fournit depuis peu un broker MQTT pour un pote.

    C'est assez simple à installer et pas insurmontable à configurer. Pour la partie MQTT, c'est même très simple si on fait un truc open.

  • [^] # Re: Impact des mails

    Posté par  (site web personnel, Mastodon) . En réponse au journal Les vidéos de Devoxx fr sont disponibles. Évalué à 7.

    Ça veut dire quoi généralisée ? > 50% ?

    D'après l'ARCEP, 70% des locaux sont connectés… Enfin, en mixte fibre, VDSL2 et câble.

    Ça fait quand même 30% de non connectés très-haut-débit.

  • [^] # Re: Pas un journal

    Posté par  (site web personnel, Mastodon) . En réponse au journal Retour sur une année d'apprentissage d'Ada par un dev C++. Évalué à 2.

    Heuuu, y a moyen de corriger ? Le lien, c'est https://alire.ada.dev/

  • [^] # Re: Pas un journal

    Posté par  (site web personnel, Mastodon) . En réponse au journal Retour sur une année d'apprentissage d'Ada par un dev C++. Évalué à 2.

    Bien madame, je m'y attelle dès que possible :)

  • [^] # Re: Et pourtant les spécifications ne sont pas libre

    Posté par  (site web personnel, Mastodon) . En réponse au journal C, un âge remarquable. Évalué à 5.

    Et en dehors du "la plupart", y a Ada… Enfin presque :)

    Le manuel de référence Ada est libre d'accès mais pas libre au sens que l'on entend ici et plusieurs implémentations, libre et non libres coexistent à commencer par GNAT, le frontend Ada pour GCC qui existe en version libre et en version commerciale.

  • [^] # Re: En Prolog

    Posté par  (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 3.

    Il y a aussi des subtilités avec les soustractions : notre résultat sera forcément positif, mais pas forcément certaines opérations intermédiaires… Par exemple : 1-5=-4; 7-4=3; 3*8=24; avec bonCompte(24, [1,5,3,8]) S'il le trouve pas, faudra probablement modifier
    calcul(Res, Op1, Op2, [Op1, '-', Op2, '=', Res]):- Res is Op1 - Op2.

    Alors, il faut aussi modifier choisir2elements qui ordonne les deux opérandes sinon on ne passe pas par les négatifs mais dans ce cas, on se récupère tous les doublons liés à la commutativité des opérateurs +, - et *.

    Et en plus, pour une raison que j'ignore pour l'instant, cela ne ressort pas ta solution…

    On va finir par y arriver à avoir la fédération trouve24 à la TapTempo Federation :D

  • [^] # Re: En Prolog

    Posté par  (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 2. Dernière modification le 01 mars 2022 à 10:51.

    Par contre, je viens de voir, d'après les commentaires plus bas, que cela ne gère pas les fractions.
    Je pense qu'aux chiffres et aux lettres, on travaille toujours sur des entiers.

    Le problème est que je n'ai pas le niveau en Prolog pour corriger cela rapidement.

    Peut-être faut-il regarder du côté de rational/1

  • [^] # Re: En Prolog

    Posté par  (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 5.

    Bon, j'ai eu un peu de temps pour adapter le code trouvé sur l'autre jour et voici la solution en Prolog:

    bonCompte(N, [N],[]):-!.
    bonCompte(N, L,[Detail|Details]):- 
                      choisir2elements(Op1, Op2, Reste, L),
              calcul(Resultat, Op1, Op2, Detail),
              bonCompte(N, [Resultat|Reste],Details).
    
    choisir2elements(Operande1, Operande2, Reste, Liste):-
        select(Operande1, Liste, Reste1),
        select(Operande2, Reste1, Reste),
        Operande1 >= Operande2.
    
    calcul(Res, Op1, Op2, [Op1, '+', Op2, '=', Res]):- Res is Op1 + Op2.
    calcul(Res, Op1, Op2, [Op1, '*', Op2, '=', Res]):- Op2 >= 1, 
                                                       Res is Op1 * Op2.
    calcul(Res, Op1, Op2, [Op1, '-', Op2, '=', Res]):- Res is Op1 - Op2, 
                                                       Res > 0.
    calcul(Res, Op1, Op2, [Op1, '/', Op2, '=', Res]):- Op2 >= 1, 
                                                       Res is Op1 / Op2, 
                                                       integer(Res),
                                                       Res \== Op2.

    Le second paramètre de bonCompte étant une liste contenait en tête le résultat, il suffisait de vérifier que cette liste ne contenait que le résultat. C'est ce que dit la première règle.

    J'ai autorisé le fait que le résultat de la soustraction puisse fournir la même chose que sa opérande (le cas 2-1=1) et autorisé qu'une division et une multiplication par 1 soit faisable.

    Ca s'appelle simplement via bonCompte(24, [7,8,5,1]). par exemple

  • [^] # Re: En Prolog

    Posté par  (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 3.

    Voilà un défi intéressant pour s'y remettre :)
    Je vais essayer de plancher dessus, c'est inutile donc indispensable.

  • # En Prolog

    Posté par  (site web personnel, Mastodon) . En réponse au journal résoudre "trouve 24". Évalué à 6.

    En voyant le type de problème et vu ma tendance à aimer les vieux langages (est-il besoin de le préciser), j'ai tout de suite pensé à Prolog.

    Forcément, il y a déjà quelqu'un qui a codé une solution(Tout en bas de cette page) :)

    Bon, ce n'est pas forcément très simple à comprendre quand on ne connait pas le langage et même quand on connait, il faut se creuser pour tout assimiler mais c'est sympa pour s'ouvrir un peu les chakras.

  • [^] # Re: Une seule vérification

    Posté par  (site web personnel, Mastodon) . En réponse au journal De l'information contenue dans les passes. Évalué à 9.

    ha si, un truc cloche : le texte que tu as cité, il correspond à un truc qui n'est pas la réalité (tu n'as pas un certificat de rétablissement à durée illimitée), sans doute une volonté de simplifier qui en réalité complexifie et te fait faire ce journal/forum…

    Tu joues sur les mots, le questions-réponses du gouvernement, référencé dans le lien fourni d'où est extrait le texte, utilise bien le paragraphe suivant :

    Deux dispositifs permettent d’avoir un certificat de rétablissement avec une validité équivalente à une dose de rappel (c’est-à-dire sans fin de validité) :

    Si votre test a été réalisé avant le 15 février 2022, il vous faut faire alors une manipulation dans l’application TousAntiCovid pour obtenir un nouveau certificat. Pour cela : après avoir importé dans TousAntiCovid votre certificat de rétablissement (issu d’un test RT-PCR ou antigénique positif) et votre dernier certificat de vaccination (1/1 ou 2/2) au format européen, l’outil Pass+, que vous trouverez dans le Carnet de votre application, vous permettra de générer un nouveau certificat de rétablissement sans fin de validité. Une mise à jour de l’application est nécessaire.
    Si votre test est réalisé à partir du 15 février 2022, il vous faut présenter votre preuve de vaccination (1/1 ou 2/2) au professionnel de santé qui, si vous êtes éligible, ajoutera l’information de votre statut vaccinal dans votre certificat de test positif, ce qui permettra de ne pas avoir de fin de validité. Ce dispositif couvre les tests antigéniques effectués en pharmacie ainsi que les tests RT-PCR et antigéniques réalisés dans certains laboratoires.

  • [^] # Re: Utilité ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 3.

    Je ne peux que te conseiller d'aller regarder le type de requêtes que l'on peut faire en SPARQL sur FactForge.

    On peut faire des trucs assez complexes quand même avec des sous-requêtes, des agrégations, des comptages.
    Alors oui, je ne te cache pas que certaines requêtes sont pas faciles à lire mais quand on a compris que, par exemple

    ?loc dbo:country ?country .
    ?country a dbo:Country .
    ?country skos:prefLabel ?country_name .
    

    Ce sont juste trois contraintes sur des triplets, ça devient plus simple.
    Ici, on veut que loc ait country pour pays (le prédicat dbo:country et la classe dbo:Country, a étant un raccourci pour est un objet de la classe) et que country_name soit son label (skos:prefLabel).

  • [^] # Re: Utilité ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 3.

    Les données sémantiques sont destinées (typiquement) à intégrer des dictionnaires.

    En complément, elles permettent aussi d'enrichir certains process comme l'extraction d'entités nommées.
    Par exemple, Gate permet de travailler avec les ontologies directement (cf. ) et d'utiliser un triplestore pour le marquage (cf. ici).

  • [^] # Re: Utilité ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 2.

    :D

    Non, ça fonctionne pas comme ça… :)
    Il n'y a pas trop d'ambiguïtés ici.

  • [^] # Re: Utilité ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 4.

    Le côté « raisonnement » est intéressant dans certain cas genre la maintenance d’ontologie complexes, mais a sûrement peu d’utilisation pour le commun des programmeurs

    Ca dépend du cas d'usage.
    Par exemple, sur l'ontologie FOAF, certaines inférences permettent de déterminer un graphe de relations sans qu'elles ne soient forcément explicites.
    On peut imaginer Facebook s'en servir mais pas que :)

  • [^] # Re: Utilité ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 3.

    est-ce que vous arrivez à imaginer des usages concrets pour cela ?

    Sans trop parler de mon métier d'avant, disons que c'était utilisé dans certains logiciels de collecte et d'analyses d'informations dans le domaine du renseignement.

  • [^] # Re: SPARQL tout rouillé

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 4.

    J'avais oublié les définitions :)

    PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX ddf: <http://data.dictionnairedesfrancophones.org/ontology/ddf#>
    PREFIX lexicog: <http://www.w3.org/ns/lemon/lexicog#>
    PREFIX lexinfo: <http://www.lexinfo.net/ontology/2.0/lexinfo#>
    PREFIX ontolex: <http://www.w3.org/ns/lemon/ontolex#>
    
    SELECT ?mot ?def ?usage
    WHERE {
      ?entry a lexicog:Entry .
      ?entry lexicog:describes ?lentry .
      ?lentry ontolex:canonicalForm ?form.
      ?form ontolex:writtenRep ?mot.
      ?form ddf:formHasLocalisation <https://www.geonames.org/2361809>.
      ?lentry ontolex:sense ?sub.
      ?sub ddf:hasConnotation <http://data.dictionnairedesfrancophones.org/authority/connotation/pejorativeConnotation> .
      ?sub skos:definition ?def.
      ?sub lexicog:usageExample/rdf:value ?usage.
    } LIMIT 100
    
  • # SPARQL tout rouillé

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 4.

    Merci pour ce lien, j'adore.

    Par contre, ça m'a fait voir à quel point mon SPARQL est tout rouillé :D

    Bon, j'arrive quand même à extraire les mots à connotation péjorative du Burkina Faso (oui, je suis un grand gamin) :D

    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX ddf: <http://data.dictionnairedesfrancophones.org/ontology/ddf#>
    PREFIX lexicog: <http://www.w3.org/ns/lemon/lexicog#>
    PREFIX lexinfo: <http://www.lexinfo.net/ontology/2.0/lexinfo#>
    PREFIX ontolex: <http://www.w3.org/ns/lemon/ontolex#>
    
    SELECT ?mot ?usage
    WHERE {
      ?entry a lexicog:Entry .
      ?entry lexicog:describes ?lentry .
      ?lentry ontolex:canonicalForm ?form.
      ?form ontolex:writtenRep ?mot.
      ?form ddf:formHasLocalisation <https://www.geonames.org/2361809>.
      ?lentry ontolex:sense ?sub.
      ?sub ddf:hasConnotation <http://data.dictionnairedesfrancophones.org/authority/connotation/pejorativeConnotation> .
      ?sub lexicog:usageExample/rdf:value ?usage.
    } LIMIT 100
    

    D'ailleurs, au passage, je n'ai rien trouvé pour la France, c'est limité à la Francophonie hors hexagone ou je suis vraiment à la ramasse ?

  • [^] # Re: Intervalles arithmétiques!

    Posté par  (site web personnel, Mastodon) . En réponse au journal Ada au FOSDEM. Évalué à 3.

    Alors, sauf si j'ai mal compris la question, je ne suis pas franchement un spécialiste en analyse numérique, c'est supporté au travers de l'annexe G.

    Il se trouve que cette annexe a le bon goût d'être implémentée dans GNAT :)

    Au passage, je fournis le lien vers la vidéo où tout est expliqué ou presque.