Piezo a écrit 13 commentaires

  • # ChibiOS/Nil

    Posté par  . En réponse à la dépêche Écrire son système d'exploitation - Partie 1 : préparer le terrain. Évalué à 1. Dernière modification le 20/02/15 à 14:36.

    ChibiOS dans sa version 3, introduit NilRTOS, un OS avec des spécifications minimales. Le code (nil.h, nil.c, nilcore_v7m.h, nilcore_v7m.c) est plutôt simple et donc assez pédagogique.

  • # Ctrl+L

    Posté par  . En réponse au journal GNOME Web, alias Epiphany : le navigateur idéal (le jour de Pâques). Évalué à 2.

    Est-ce que le raccourcis clavier standard affiche le champ d'édition ?

  • [^] # Re: cat troll.hs

    Posté par  . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 2.

    Une valeur de type IO a n'est pas une valeur «marquée impure», mais une action non pure produisant une valeur de type a. En théorie, IO n'est pas un conteneur contenant une valeur de type a. La notion de foncteur, et par extension de monade, est plus générale que celle de conteneur.

    C'est seulement lorsque cette action est exécutée dans le main ou l'invite de ghci que la valeur aléatoire est générée. Dans le reste du programme, il n'y a que des fonctions pures qui combinent des actions monadiques avec >>= pour assembler l'action non pure IO () du main.

    En pratique, (mais cela importe peu) cela est implémentée avec un passage de bâton RealWorld, comme l'a montré Sylvain Henry. Il est également possible d’altérer cette mécanique cachée avec des fonctions comme unsafePerformIO :: IO a -> a. Mais comme son nom l'indique, elle peut potentiellement supprimer les garanties de la transparence référentielle.

  • [^] # Re: nooooooon !...

    Posté par  . En réponse au journal Et toi, t'en penses quoi du flat design?. Évalué à 5.

    Vu ce que j'ai déclenché, j'aurais mieux fait de réfléchir à deux fois avant de choisir mon screenshot…
    Le but était simplement de montrer un exemple de widget avec reliefs, uniquement en rapport au thème graphique, et non l'organisation l'interface.

    Au passage je trouve la notion de skeumorphisme mal adapté pour décrire ce que défend. Il ne s'agit pas de s'inspirer de références du monde physique mais simplement de refléter l'organisation des widget en terme de reliefs et de lignes séparatrices.
    Remarquez aussi les arrondis et les lignes érodées : pas de détails dans les hautes fréquences là ou ce n'est pas nécessaire.

  • [^] # Re: nooooooon !...

    Posté par  . En réponse au journal Et toi, t'en penses quoi du flat design?. Évalué à 2.

    J'avoue avoir pris l'exemple le plus extrême à ma disposition pour illustrer mon propos.

    Indépendamment du thème ta capture montre bien ce que les ergonomes cherchent à éviter au maximum, on ne jette plus à la gueule des brouettes d'information comme ça. C'est tout à fait rédhibitoire (même si ça plaît aux power user).

    C'est le nerf de la guerre KDE vs. Gnome, il faut de tout pour faire un monde. Je reconnais que KDE en fait trop, mais Gnome est aussi extrémiste dans la direction opposé. Le desktop linux pour tous c'est bien, mais il ne faut pas non plus faire fuir les utilisateurs qui, initialement, ont fait la transition justement pour avoir plus de contrôle (et je ne me définis par pour autant comme power user). J'imagine que KDE5 a sans doute comme objectif de nettoyer un peu tout ça.

    Ici dans ton interface il y a plus d'un quart de l'interface qui sert à la navigation, c'est énorme. Ça sert surtout parce que l'utilisateur va devoir sauter d'un item à l'autre pour essayer de retrouver l'élément de configuration qui l'intéresse. La solution, ce n'est pas de lui permettre de sauter comme ça n'importe où, mais plutôt de mieux regrouper.

    Le contenu est très dense, et regroupé en de nombreux modules indépendants (109 modules kcm sur mon installation), c'est donc difficile de les regrouper sans utiliser une forme d'arbre. Quand le nœud de l'arbre sélectionné n'est pas une feuille, la vue de droite affiche une liste des modules fils avec une description.
    Par défaut la navigation est différente et plus user firendly : seul le premier niveau est affiché comme une liste d'icônes, qui ouvrent une fenêtre avec une liste d'icone de second niveau à gauche et le module kcm sélectionné à droite.

    (au fait elle fait quoi la croix rouge à part faire peur ?).

    À quitter. (oui c'est inutile et obscur, d'autant plus que je n'affiche pas le texte des icônes, ce qui n'est pas une configuration par défaut)
    En règle générale je n'utilise pas les barres d'outils que je cache dans la plupart des applications KDE.

    Au passage, le scrolling horizontal ça fait longtemps qu'on sait que c'est comme écrire son code en malbolge.

    J'ai redimensionnée la fenêtre au minimum pour ne pas trop flooder l'espace visuel. Dans ce cas Qt essaye de faire mieux que imposer une taille minimale pour supporter les petits écrans.

  • [^] # nooooooon !...

    Posté par  . En réponse au journal Et toi, t'en penses quoi du flat design?. Évalué à 1.

    Dommage, c'était la raison qui me faisais apprécier Oxygen, il a le juste milieu entre relief et surfaces planes.

    Le problème du flat design c'est justement le plat, la hiérarchie de l'interface disparaît visuellement (cf l'immonde interface de MSWord…).
    En général le flat design ajoute aussi malgré lui des détails distrayants : tout ces coins carrées et lignes non érodées produisent trop de «hautes fréquences».

    Un exemple (certes, extrême) d'hiérarchie visuelle :
    Oxygen@imgur

    J'aime bien le nouveau thème de petites icônes de KDE, l'ombrage et les gradients des grandes icônes sont bien trop distrayant à petite échelle.

    Après niveau esthétique, Google (et peut être Apple) s'en sort assez bien, j'en dirais pas autant de microsoft… Je regrette quand même quelque gradients et ombrage discrets.

  • [^] # Re: Vieux de la vieille

    Posté par  . En réponse au journal POVray 3.7 est dehors. Évalué à 1.

    Blender remonte à 1998, si l'on peut appeler ça ancien.
    Son histoire est aussi une success story du libre.

  • [^] # Re: Intéressant

    Posté par  . En réponse au journal Petit tour d’horizon de la haute performance et du parallélisme. Évalué à 2.

    Bien que je ne connaisse pas grand chose en HPC (j'ai seulement fait un peu de CUDA, pas mal d'OpenMP, et un peu de vectorisation manuelle), je me permet de donner mon point de vue personnel.
    C'est tout de même intéressant de tracer des parallèles entre les monde du HPC, GPGPU, multithreading et SIMD puisque les technologies semblent converger.

    Des clusters HPC utilisent des cartes Tesla et les processeurs génériques embarquent des unités de calcul SIMD génériques contrôlées par du microcode. Dans le futur, on peut imaginer une fusion des concepts SIMD CPU et GPU. L'avantage par rapport au GPGPU est d'éviter le goulot d'étranglement entre les mémoires séparées. Le multithreading CPU, avec cœur de calcul et caches séparés, montre ses limites (bien que des progrès sont toujours d'actualité). Actuellement le hardware se démène pour "simuler" l'ancien modèle d'exécution en terme de cohérence du cache, etc.
    Le chargement de noyau de calcul sur le CPU s'exécutant simultanément sur plusieurs unités permettrai d'éviter la duplication du pipeline d'instruction et les problèmes de localité et cohérence des données.

    Les vieux (et vénérables) langages de programmations système comme le C s'adaptent mal à ces problèmes : il y a trop d'effets de bord et d'aliasings possible. Les concepts d'immutabilité, de portée des effets de bord et de compossibilité sont des atouts pour le programmeurs mais aussi pour la vectorisation/parallélisation par compilateur. Cela permet une analyse plus poussée des flux de donnés (dataflow analysis) et ainsi de découper automatiquement le calcul pour la parallélisation sur plusieurs niveaux. En production je ne vois que les cadriciels Map/Reduce qui vont dans ce sens, et à un niveau qui ne descend pas en dessous du nœud de calcul.

    Bref, on peut espérer des progrès au niveau de la formalisation et résolution automatique de la distribution du calcul et de la localité des données sur plusieurs échelles :

    Unité de calcul parallèle < cœur / cache < nœud / RAM

    Historiquement, cette problématique a toujours existé. Lors de la conception de ses superordinateur, Seymour Cray a dû adapter la conception mécanique pour la communication entre les unités tout combattant les soucis thermiques (d'où la géométrie en C). C'est le sort inévitable de l'entropie…

    Sinon, petite typo :

    un langage au niveau

  • [^] # Re: le truc d'ovh ?

    Posté par  . En réponse au journal Backups pas dans le cloud. Évalué à 5.

    EncFs chiffre les fichiers individuellement. La hiérarchie du répertoire chiffré est similaire à celle du répertoire virtuel, mais avec des noms également chiffrés.

  • [^] # Re: «Une fois, j'en ai même attrapé un gros comme ça !»

    Posté par  . En réponse au journal Comment les gens perçoivent la gratuité dans l'informatique ?. Évalué à 0.

    Pas si vieux, puisque Marc Eric Gervais n'est toujours pas enterré : http://www.ices4d.com/company

  • [^] # Re: les drogues DUR.

    Posté par  . En réponse au journal Dépénalisation du cannabis. Qu'en pensez-vous ?. Évalué à 3. Dernière modification le 16/10/12 à 19:34.

    L'un des composés actif du Cannabis, le Cannabidiol est un antipsychotique (plus présent dans les variétés indica). On a passé plus d'une décennie a bidouiller la dopaminergie pour inventer des antipsychotiques pas trop lobotomisants (et c'est du gros bricolage), alors que la nature en proposait un sans trop d'effets secondaires.

    Par contre le Tetrahydrocannabinol est un psychodysleptique et a donc une action supposé dans l'évolution des psychoses latentes. Il est aussi connu pour amplifier les bouffés délirantes chez les schizophrènes (sachant que souvent ils arrêtent leur médicaments pour en ressentir les effets).

  • # Langages dédiés fonctionnels

    Posté par  . En réponse au journal Un langage de description de diagramme/figure. Évalué à 9.

    Les fonctions d'ordre supérieur des langages fonctionnels sont utiles pour exprimer la composition géométrique.

    En Haskell il existe Diagrams qui fait ses rendus en formats vectoriels, et Functional MetaPost qui produit du code MetaPost.

    La sémantique intéressante peut être une source d'inspiration, sans forcement se baser sur un langage fonctionnel pur.

  • # Pas toujours la carte son

    Posté par  . En réponse au journal Avec un bon Dell on peut.... Évalué à 1.

    J'ai remarqué le phénomène tard le soir quand il n'y a plus un bruit. Au début j'étais persuadé que c'était mon cerveau qui fatiguait…

    Sur mon EeePC quand je travaille sur des très grosses matrices NumPy, j'ai un bruit aigu avec une fréquence qui suit une rampe. Ce qui est étrange c'est que l'on ne l'entend pas dans la sortie casque. Ça doit être les bobines du convertisseur de tension 3.3V. (Pourtant le hacheur fonctionne à fréquence constante…)