SpaceFox a écrit 1760 commentaires

  • [^] # Re: C'est pas rien

    Posté par  (site web personnel, Mastodon) . En réponse au journal Sortie de raspberry pi 3B+. Évalué à 6. Dernière modification le 15 mars 2018 à 13:56.

    Le PoE nécessite un switch spécial, et à ma connaissance aucune box d'aucun opérateur français ne le propose.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: juste une arnaque

    Posté par  (site web personnel, Mastodon) . En réponse au journal [~Signet] Failles de sécurité dans les CPU : AMD revient dans la course !. Évalué à 3.

    (Je note qu'une personne ici semble trouver inutile de s'excuser quand on a diffusé de la merde. Je trouve ça triste).

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: juste une arnaque

    Posté par  (site web personnel, Mastodon) . En réponse au journal [~Signet] Failles de sécurité dans les CPU : AMD revient dans la course !. Évalué à 9.

    Ha merde. Moi qui avait fait confiance à Next INpact pour éviter de relayer de la merde… toutes mes confuses !

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Orthodromie vs Loxodromie ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal [Énigme] La mouche Zobzob. Évalué à 8.

    Blanc. Noyé, si c'est en été.

    La connaissance libre : https://zestedesavoir.com

  • # Conversion automatique de code

    Posté par  (site web personnel, Mastodon) . En réponse au journal Kotaten : un Tap Tempo en Kotlin. Évalué à 4.

    À noter que Kotlin (enfin, au moins IntelliJ) permet de convertir du code Java en Kotlin. Ça fonctionne, mais nécessite un peu de nettoyage et de « Kotlinisation » du code.

    Par exemple, si je convertis le TapTempo Java directement, j'obtiens (après avoir remis les fonctions directement dans le fichier, sans passer par un objet inutile) :

    package com.i2bp.taptempo
    
    import org.apache.commons.cli.CommandLine
    import org.apache.commons.cli.CommandLineParser
    import org.apache.commons.cli.DefaultParser
    import org.apache.commons.cli.HelpFormatter
    import org.apache.commons.cli.Option
    import org.apache.commons.cli.Options
    import org.apache.commons.cli.ParseException
    
    import java.text.DecimalFormat
    import java.util.Scanner
    import java.util.ArrayDeque
    import java.util.Date
    import java.util.Deque
    
    fun computeBPM(currentTime: Long, lastTime: Long, occurenceCount: Int): Double {
        var occurenceCount = occurenceCount
        if (occurenceCount == 0) {
            occurenceCount = 1
        }
    
        val elapsedTime = (currentTime - lastTime).toDouble()
        val meanTime = elapsedTime / occurenceCount
    
        return 60.0 * 1000 / meanTime
    }
    
    fun main(args: Array<String>) {
    
        var precision = 0
        var resetTime = 5
        var sampleSize = 5
        val options = Options()
        val hitTimePoints = ArrayDeque<Long>()
    
        val optHelp = Option("h", "help", false, "Display this help message.")
        optHelp.isRequired = false
        options.addOption(optHelp)
    
        val optPrecision = Option("p", "precision", true, "Set the decimal precision of the tempo display. Default is 0 digits, max is 5 digits.")
        optPrecision.isRequired = false
        options.addOption(optPrecision)
    
        val optResetTime = Option("r", "reset-time", true, "Set the time in second to reset the computation. Default is 5 seconds.")
        optResetTime.isRequired = false
        options.addOption(optResetTime)
    
        val optSampleSize = Option("s", "sample-size", true, "Set the number of samples needed to compute the tempo. Default is 5 samples.")
        optSampleSize.isRequired = false
        options.addOption(optSampleSize)
    
        val optVersion = Option("v", "version", false, "Display the version.")
        optVersion.isRequired = false
        options.addOption(optVersion)
    
        val parser = DefaultParser()
        val formatter = HelpFormatter()
        var cmd: CommandLine? = null
    
        try {
            cmd = parser.parse(options, args)
            if (cmd!!.hasOption('p')) {
                precision = Integer.parseInt(cmd.getOptionValue('p'))
                if (precision < 0) {
                    precision = 0
                } else if (precision > 5) {
                    precision = 5
                }
            }
            if (cmd.hasOption('r')) {
                resetTime = Integer.parseInt(cmd.getOptionValue('r'))
                if (resetTime < 1) {
                    resetTime = 1
                }
            }
            if (cmd.hasOption('s')) {
                sampleSize = Integer.parseInt(cmd.getOptionValue('s'))
                if (sampleSize < 1) {
                    sampleSize = 1
                }
            }
        } catch (e: ParseException) {
            println(e.javaClass.toString() + ": " + e.message)
            formatter.printHelp("TempoTap", options)
            System.exit(1)
        } catch (e: NumberFormatException) {
            println(e.javaClass.toString() + ": " + e.message)
            formatter.printHelp("TempoTap", options)
            System.exit(1)
        }
    
        if (cmd!!.hasOption('h') || cmd.hasOption('v')) {
            if (cmd.hasOption('h')) {
                formatter.printHelp("TempoTap", options)
            }
            if (cmd.hasOption('v')) {
                println("Version: 1.0")
            }
            System.exit(0)
        }
    
        val df = DecimalFormat()
        df.maximumFractionDigits = precision
        df.minimumFractionDigits = precision
    
        println("Hit enter key for each beat (q to quit).\n")
    
        val keyboard = Scanner(System.`in`)
        keyboard.useDelimiter("")
    
        var shouldContinue = true
        while (shouldContinue) {
    
            var c: Char
            do {
                c = keyboard.next()[0]
                if (c == 'q') {
                    shouldContinue = false
                    println("Bye Bye!\n")
                    break
                }
            } while (c.toInt() != 10)
    
            if (shouldContinue) {
                val currentTime = System.currentTimeMillis()
    
                // Reset if the hit diff is too big.
                if (!hitTimePoints.isEmpty() && currentTime - hitTimePoints.last > resetTime * 1000) {
                    // Clear the history.
                    hitTimePoints.clear()
                }
    
                hitTimePoints.add(currentTime)
                if (hitTimePoints.size > 1) {
                    val bpm = computeBPM(hitTimePoints.last, hitTimePoints.first, hitTimePoints.size - 1)
    
                    val bpmRepresentation = df.format(bpm)
                    println("Tempo: $bpmRepresentation bpm")
                } else {
                    println("[Hit enter key one more time to start bpm computation...]")
                }
    
                while (hitTimePoints.size > sampleSize) {
                    hitTimePoints.pop()
                }
            }
        }
    }

    Bref, c'est surtout utile pour :

    • Avoir une base de code cohérente.
    • Vérifier comment un concept Java est censé se transcrire en Kotlin.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Java ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Kotaten : un Tap Tempo en Kotlin. Évalué à 2.

    groumly a bien résumé. En gros, Kotlin c'est le résultat des développeurs d'IntelliJ qui se sont dit « Il nous faut un langage compatible avec Java sur la JVM, mais plus simple, plus moderne, et avec des améliorations orientées pragmatiquement pour les développeurs ».

    Plus d'infos :

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Rot 13

    Posté par  (site web personnel, Mastodon) . En réponse au journal [Énigme] La mouche Zobzob. Évalué à 6.

    La pièce n'est pas Manhattan, et donc tu n'es pas obligé de suivre des perpendiculaires.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Unités

    Posté par  (site web personnel, Mastodon) . En réponse au journal Green IT. Évalué à 6.

    une quantité d'énergie : le Wh.

    Selon le SI, des joules – à raison de 1 J = 1 W * 1 s, donc 1 Wh = 3,6 kJ. Oui, c'est les mêmes kJ que ceux qu'il y a sur vos boites de céréales (et autres aliments), à côté des calories.

    Pauvre énergie, elle a une unité SI que personne ne semble motivé à utiliser… (on pourrait aussi parler de la capacité des batteries données en mAh).

    La connaissance libre : https://zestedesavoir.com

  • # Et un autre Canon LiDE 220

    Posté par  (site web personnel, Mastodon) . En réponse au journal Base de données de scanners : besoin de contributeurs. Évalué à 4.

    Sous Linux, ça roule : https://openpaper.work/fr/scanner_db/report/62/

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: raspberry pi ?

    Posté par  (site web personnel, Mastodon) . En réponse au sondage Vous auto-hébergez-vous ?. Évalué à 3.

    Personnellement, j'ai un Raspberry Pi 3 monté avec le root en iSCSI (la carte SD ne sert qu'à lancer le truc) sur mon NAS. Ça fonctionne très bien, sauf en cas de coupure réseau ou tu es obligé de rebooter le Raspberry Pi – j'ai pas trouvé d'autre moyen pour récupérer mon disque…

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: C'est quoi encore cette histoire de contenu et de mise en forme ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal 'Markdown presentation processor' (ou de l'intérêt des fichiers texte).. Évalué à 4.

    mais moi je préfère le logiciel qui me permet d'obtenir le résultat désiré sans avoir rien apprendre.

    Parce que tu n'as jamais dû apprendre Markdown, HTML, CSS ou les autres technologies qui t'ont permis de faire ton evol ?

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: C'est quoi "Twitch" ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Twitch et copyleft. Évalué à 2.

    Exact : le JdG met les replays sur Youtube, mais les live eux-mêmes sont sur Twitch.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: C'est quoi "Twitch" ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Twitch et copyleft. Évalué à 4.

    Avec Youtube, il faut « valider sa chaine » (ce qui nécessite à priori un numéro de téléphone) et ça peut mettre 24h. Chez Twitch, tu t'inscrit et tu diffuses, point. C'est ça que j'appelle « restriction ».

    Concernant les autres outils :

    • Dailymotion et Vimeo ont le même problème que Youtube : ils sont plus connus pour les vidéos non-live, on ne pense pas immédiatement à eux pour faire du live – alors que Twitch s'est complètement construit autour de ça. YouTube a aujourd'hui une force de frappe bien plus importante que Dailymotion ou Vimeo, ce qui peut expliquer pourquoi son service live fonctionne mieux.
    • Periscope et Snapshat (et un peu Instagram) sont des applications mobile, là on parle principalement de streamer un écran PC.
    • Il doit y avoir aussi d'autres raisons du côté des producteurs de contenu : par exemple le Joueur du Grenier faisait des live Dailymotion, et est passé sur Youtube. OGaming TV diffusait sur Dailymotion, ils sont passés sur Twitch. Peut-être un problème de rentabilité de la publicité ?

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: C'est quoi "Twitch" ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Twitch et copyleft. Évalué à 2.

    Je vois deux raisons :

    1. Twitch est historiquement présent sur la fonctionnalité depuis plus longtemps que YouTube.
    2. YouTube mets des restrictions à la diffusion en direct, que n'a pas Twitch.

    Il me semble aussi que pendant longtemps, YouTube n'ouvrait pas la diffusion directe à tout le monde, mais là je manque de sources.

    La connaissance libre : https://zestedesavoir.com

  • [^] # IntelliJ (& cie) non open-source mais gratuit pour les projets open-source

    Posté par  (site web personnel, Mastodon) . En réponse au journal Quel IDE pour quel langage. Évalué à 2.

    À noter que si c'est pour développer un projet open-source, Jetbrains fournit des licences gratuites de tous leurs produits. Testé et approuvé lors du développement de Zeste de Savoir. Ça n'en fait pas un produit open-source, mais ça fait déjà sauter le problème du coût.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Sublime ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Quel IDE pour quel langage. Évalué à 4.

    Android Studio, c'est IntelliJ avec des plugins installés par défaut. Il doit donc être comptabilisé comme IntelliJ.

    La connaissance libre : https://zestedesavoir.com

  • # Travailler le « pitch de l'ascenceur » ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Silverpeas 6.0 est (enfin) sorti !. Évalué à 10. Dernière modification le 06 février 2018 à 17:46.

    Hello,

    Je ne sais pas quelle est la proportion de « communication officielle » dans cette dépêche, mais sans connaitre le logiciel, j'ai eu beaucoup de mal à comprendre rapidement à qui il servait.

    Si par exemple on prends le chapeau de cet article, il commence par annoncer la nouvelle version (logique), puis cette présentation :

    Silverpeas est un portail collaboratif et social pour faciliter la collaboration et l'échange d'informations entre les personnes à l'aide d'applications intégrées. Chaque application est construite sur cette idée de collaboration, de partage.

    Je sors de là en ayant l'impression de faire face à… ben concrètement, je ne sais pas en fait. La notion de « portail collaboratif » est très floue, et la suite de la présentation ne précise pas grand-chose.

    S'ensuit une description succincte des changements techniques (logique).

    Le début de l'article commence ainsi :

    Silverpeas est un portail collaboratif et social. Son objectif est de faciliter la collaboration et l'échange d'informations et de connaissances entre les personnes et les équipes

    Ça a déjà été dit dans le chapeau.

    en leur offrant des applications intégrées diverses et variées

    Notez que je n'ai toujours pas la moindre idée de ce que peut être une « application intégrée ».

    comme des GED (Gestion électronique des documents), des forums, des agendas, des blogs, et ainsi de suite.

    Là, c'est clair.

    Chaque application est construite sur cette idée de collaboration, de partage. Ce n'est donc pas un pur CMS, ni un pur GED, ni un pur truc-muche.

    OK, mais concrètement ?


    En résumé, de mon point de vue de quelqu'un qui ne connaît pas du tout le produit ni vraiment ce genre de portail, vous auriez intérêt à soigner les deux points suivants :

    1. Remonter le plus possible l'exemple de ce qu'est « un portail collaboratif et social à applications intégrées ».
    2. Montrer l'intérêt concret de votre solution par rapport à des applications dédiées et/ou par rapport à la « concurrence ».

    À noter que le côté « technique » de la dépêche explique peut-être le choix de cette présentation, je n'en sais trop rien.

    La connaissance libre : https://zestedesavoir.com

  • # PNG corrompu / hors norme ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal LibreOffice, altération d'images intégrées :( ?. Évalué à 7. Dernière modification le 05 février 2018 à 11:59.

    ↑ en fonction du logiciel utilisé, l'image est correctement affichée (Firefox par exemple) ou un rectangle noir (GIMP par exemple).

    Mon GIMP 2.8.16 (sous Linux Mint 18.3 64 bits / noyau 4.13.0-32 / libpng12-0:amd64 1.2.54-1ubuntu1) arrive à l'ouvrir, ce qui n'est pas le cas de divers outils d'optimisation PNG, en ligne ou en CLI :

    $ optipng ftl-bases-oiseau-saved.png
    ** Processing: ftl-bases-oiseau-saved.png
    Warning: Can't read the input file or unexpected end of file
    40x49 pixels, 1 bit/pixel, 2 colors in palette
    Recoverable errors found in input. Rerun OptiPNG with -fix enabled.
    Error: Previous error(s) not fixed
    
    ** Status report
    1 file(s) have been processed.
    1 error(s) have been encountered.

    À noter que si on applique le conseil, on obtient ceci :

    $ optipng ftl-bases-oiseau-saved.png -fix
    ** Processing: ftl-bases-oiseau-saved.png
    Warning: Can't read the input file or unexpected end of file
    40x49 pixels, 1 bit/pixel, 2 colors in palette
    Recoverable errors found in input. Fixing...
    Input IDAT size = 305 bytes
    Input file size = 368 bytes
    
    Trying:
      zc = 9  zm = 8  zs = 0  f = 0     IDAT size = 197
    
    Selecting parameters:
      zc = 9  zm = 8  zs = 0  f = 0     IDAT size = 197
    
    Output IDAT size = 197 bytes (108 bytes decrease)
    Output file size = 272 bytes (96 bytes = 26.09% decrease)
    
    ** Status report
    1 file(s) have been processed.
    1 error(s) have been encountered.

    Et un fichier de 272 octets parfaitement fonctionnel – mais qui du coup ne peut plus servir dans ton cas, puisque compressé.

    Je me demande si le fait d'utiliser un fichier non-compressé, chose inhabituelle en PNG, ne déclenche pas sur les versions de LibreOffice dont tu parles, une optimisation un peu exotique « légale » mais mal comprise par divers lecteurs.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Quelle liseuse conseillez-vous ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 3. Dernière modification le 30 janvier 2018 à 16:20.

    Les mangas passent correctement sur ma Kobo HD. « Correctement » seulement parce que l'affichage n'est pas ultra rapide (à cause de la gestion des niveaux de gris, je suppose) et un peu petit : si le manga a des dessins fins, on y perds pas mal ; s'il a des textes écrits petits, c'est difficilement lisible (ou alors il faut jouer avec le zoom, et là c'est galère, en particulier à cause de la lenteur d'affichage). Pour du « gag manga » c'est très suffisant, mais y lire quelque chose comme « Bonne nuit Punpun ! » serait franchement dommage.

    Le plus gros problème vient des éditeurs eux-mêmes : certains sont (étaient ?) incapables de fournir un fichier utilisable (à base de zoom forcé à 100 %, de chapitres mélangés, etc).

    Par contre la BD, j'ai essayé, j'ai abandonné. Il faudrait une liseuse couleur format BD, ce qui à ma connaissance n'existe pas, ou alors à des tarifs délirants.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: 7switch

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 4.

    Une liseuse digne de ce nom utilise du papier électronique, et se lit donc exactement comme un papier (avec un contraste généralement un peu moins bon, cela dit). C'es infiniment plus agréable en terme de confort de lecture qu'un écran.

    Et en prime, tu as souvent un rétroéclairage intégré désactivable, pour les cas ou c'est utile.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: 7switch

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 1.

    J'ai vu passer des exemples très éloignés de ce qui est réellement prévu dans l'exception pédagogique. C'était même assez fréquent dans mon collège/lycée, mais ça c'était les années 90. Je ne connais pas la situation actuelle.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: 7switch

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 3.

    En fait, le photocopillage désigne justement les cas où l'on sort de la copie à usage privé. Par exemple, photocopier un truc pour le distribuer à toute une classe.

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: 7switch

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 3.

    J'ai pas de détails clairs. Les sources trouvées en analyse rapide m'indiquent que c'est « compatible avec n'importe quel lecteur d'epub » et que c'est « plus compliqué à dégager qu'un DRM classique ».

    Comme les epub sont de simples collections de fichiers HTML avec des métadonnées, je suppose qu'il y a :

    • Des données dans les métadonnées et/ou dans les balises HTML.
    • De la stégano, dans l'image et dans le texte, sinon ce serait bidon à faire sauter.

    La connaissance libre : https://zestedesavoir.com

  • # 7switch

    Posté par  (site web personnel, Mastodon) . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 10.

    Personnellement j'achète mes bouquins électroniques chez 7switch : avec mes lectures je n'ai jamais été déçu par leur catalogue, et je n'ai jamais eu de problème de commande chez eux.
    Normalement c'est les mêmes prix que chez les autres vendeurs – les prix éditeurs donc, qui peuvent être délirants à cause des choix des éditeurs, mais c'est un autre débat. Les livres avec DRM sont très clairement signalés.

    D'ailleurs, leur page d'aide à ce sujet indique :

    Nous avons conscience que ces manipulations sont un peu pénibles, cependant, vous ne devriez avoir à les effectuer qu’une seule fois, le plus dur est derrière vous ! Nous nous efforçons de convaincre les éditeurs de préférer le Watermark aux DRM, qui est une protection numérique beaucoup plus légère. Si vous en avez l’occasion n’hésitez pas écrire aux éditeurs pour les encourager à changer leur politique de protection. Sinon, nous vendons aussi beaucoup de titres déjà protégés par Watermark ou sans protection (https://www.7switch.com/fr/list/drmfree/page/1/date), n’hésitez pas à aller jeter un œil :-)

    La connaissance libre : https://zestedesavoir.com

  • [^] # Re: Nom moche

    Posté par  (site web personnel, Mastodon) . En réponse au journal Areva → New Areva → Orano ? Vérifions ça…. Évalué à 5.

    En vrai, le coup des www est une bataille qui fait encore rage – cf les innombrables posts sur une recherche « use www or not ».

    Pour un petit résumé :

    La connaissance libre : https://zestedesavoir.com