Nicolas Boulay a écrit 15823 commentaires

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 3.

    Dans le domaine, dans l'embarqué, c'est quand même du C ou du C++, et la bite et le couteau avec des tests unitaire à taux de couverture MCDC. SCADE est vu souvent comme un canon pour écraser une mouche(sauf DO178 niveau A, évidement).

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 1.

    Ariane 5, c'est surtout un handler d'exception sur dépassement de capacité d'une variable qui ne servait à rien, qui lance un code d'autotest, le problème. J'imagine que c'est pour cela qu'il y a une chasse au code "mort" depuis.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 2.

    L'outil génère un "metafichier" par fichier dans le répertoire ./list/ ce fichier contient la taille et un path vers le fichier réel. Si un fichier meta n'est pas dans ./list/ le binaire va tenter de le replacer par son fichier d'origine et va ajouter son path dans le fichier meta de ./list/.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 3.

    Il faut voir. Les listes sont ridicules dans 99% des cas. Il y a 1 ou 2 éléments. Pour des tailles inférieurs à 100, c'est très rares d'avoir un container qui bas une liste. Les surcouts statiques sont souvent très couteux (la constante derrière, le O(1))

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 5.

    Je ne suis pas sûr.

    Il existe un paradigme que je n'ai quasiment jamais vu utiliser. SCADE s'interdit toute allocation et utilise de gros buffer statique, et cela marche très bien pour 99% du code embarqué.

    Le problème d'absence d'allocation se pose si la taille des entrées n'est pas connu. C'est le cas dans la norme ARINC 661 qui est un serveur graphique dont les widgets sont connu à l'init déclaré dans un fichier de définition.

    Je pense que l'allocation à l'init permet de gérer pas mal de cas, ou au moins, à un temps précis, ce qui permet de gérer l'erreur le plus tôt possible. Un système à gestion automatique de mémoire, pourrait calculer les besoins mémoire au démarrage (selon la taille d'un fichier par exemple) et ensuite ne plus faire d'allocation du tout.

    Une autre vois serait de mieux gérer l'appartenance des objets. Dans un système classique, un objet est créé en vrac et on fait des références dessus. Dans l'ingénierie des modèles, si on définit un diagramme de classe, on a clairement une notion d'appartenance à un arbre, et "des" références. Mais cela veut clairement dire que la destruction de la racine de l'arbre entraine toutes les feuilles. Je ne connais pas non plus de gestion de mémoire automatique qui utilise cette propriété.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 6.

    "Les domaines pour lesquels un GC est inenvisageable à l'heure actuelle ne risque pas de diminuer parce que, pour la plupart, ce sont des domaines où les performances et/ou la latence sont primordiales et donc, on en revient à ce qu'on disait au début."

    Typiquement tout ce qui est "safety critical" ne supporte pas l'allocation mémoire, alors un GC… (le SC, c'est pour les avions, les trains, l'industriel, le ferroviaire, la voiture…)

    Et ce genre de code a tendance à vouloir enfler à très grande vitesse. Il y a une énorme différence entre la taille de code embarqué d'il y a 10 ans, et le code de maintenant.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 2.

    C'est gentil, j'aurais été curieux de voir le résultat. Le logiciel est en version stable, mais n'a pas d'utilisateur :) Le code est plutôt très rapide (optimisation des appels noyaux), il scanne en profondeur les répertoires de façon très efficace.

    J'ai voulu faire un système d'échange simple de la main à la main avec un système de fichier qui en représente de plus gros. L'interface a une seul action, mais peu de monde comprend le fonctionnement (cf la doc). J'avais posté ici, sans grand succès.

    Si un jour, je suis motivé, je couperais le programme en 2, avec un binaire pour générer les petits fichiers, et un binaire pour lancer la copie. Cela pourra être utile si on veut réorganiser une arborescence complète, sans attendre la fin de chaque copie (on fait l'arborescence à la main avec les petits fichiers, puis une seul commande les remplacerait avec les vrais).

    Si je me rappelles bien, j'ai un répertoire demo avec un script qui lance le binaire.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 2.

    Je ne retrouve plus le problème précisément. Le code est là :

    https://github.com/nicolasboulay/index2share/blob/master/src/meta.ml

    La fonction read peut être appelé des dizaines de milliers de fois. Je lis le fichier et je le convertis dans une petite structure de donné.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 2.

    Je vais retrouver le pattern, si tu veux. C'est un code un peu ancien.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 2.

    " et convertir vers string pour passer à ta fonction de parsing."

    Le problème est là, tu alloues plein de mémoire à ce moment-là. Ce ne sont pas des "slices".

    "La première sécurité est la liberté"

  • [^] # Re: Pas d’accord, mais on s’en fout un peu

    Posté par  (site web personnel) . En réponse au journal Pourquoi l'art libre est aussi important que le logiciel libre. Évalué à 3.

    GNU avait une licence spécifique de documentation, qui empêche la modification de morceau de document, l'idée est que l'on doit pouvoir faire modifier la documentation elle-même, mais pas l'explication sur les motivation de la FSF.

    Les licences CC qui arrivent ensuite, démontre que ce genre de précaution n'est pas forcément nécessaire. Très peu de licence CC sont réellement libres, c'est moins gênant pour l'utilisateur que pour un logiciel. C'est sans doute pour cela que c'est moins répandu que le logiciel libre.

    L'idée est de dire qu'un logiciel est un outil qui n'est jamais fini par définition. Une œuvre d'art est terminé, même si elle pourrait servir pour en créer d'autre.

    Cela voudrait dire que l'option "BY" permet de retrouver l'auteur original, mais les créateurs de la GPL ont toujours vu cette clause comment étant très difficile à mettre en œuvre en pratique.

    (raison pour laquelle le logiciel libre qu'est un Firefox modifié ne s'appellait pas Firefox dans Debian)

    C'est surtout parce que "Firefox" est une marque déposée.

    "La première sécurité est la liberté"

  • [^] # Re: "Alors, la smart city est-elle vouée à l'échec ?"

    Posté par  (site web personnel) . En réponse au journal Les chroniques du progrès : à bégayer ou à dégager ?. Évalué à 3.

    Disons qu'un système comme celui de Nice mais en open data, cela permet à google map, waze et autre GPS d'inclure l'information dans leur système. Avoir encore une application pour ça, c'est très peu efficace.

    "La première sécurité est la liberté"

  • [^] # Re: Destructeurs

    Posté par  (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 7.

    Cela me rappelle un pattern tout con, que je n'arrivais pas à faire en ocaml. Je lisais une grande série de petit fichiers. En C, le réflexe est d'utiliser et réutiliser toujours le même buffer de taille "suffisante". Or c'est impossible en Ocaml car les string ne sont pas mutable. Les buffers le sont, mais il n'existe pas vraiment de fonction de parsing utilisant des buffers, à la place des string. Donc, il fallait paramétrer le gc pour ne pas qu'il se lance, résultat : 30% de perf en plus, mais explosion de l'usage de la mémoire.

    "La première sécurité est la liberté"

  • [^] # Re: Classement différent : limiter la taille du code, pour limiter le temps à y consacrer

    Posté par  (site web personnel) . En réponse à la dépêche Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016. Évalué à 3.

    Bon, le gars a du pipoter.

    N’empêche que cela ne change rien à la proposition de faire des catégories de logiciel par leur taille.

    Le plus simple est de jouer sur le même plan que le benchmark suivant : https://benchmarksgame.alioth.debian.org/how-programs-are-measured.html un gzip du code sans les commentaires.

    "La première sécurité est la liberté"

  • [^] # Re: en entreprise

    Posté par  (site web personnel) . En réponse au journal Libre ne veut pas dire gratuit : une présentation. Évalué à 4.

    Souvent les mainteneurs de logiciel disposent de leur propre boite. Et tu peux faire un don sous forme de maintenance. L'état Allemand paye le mainteneur de gpg de cette façon, il me semble.

    "La première sécurité est la liberté"

  • [^] # Re: Classement différent : limiter la taille du code, pour limiter le temps à y consacrer

    Posté par  (site web personnel) . En réponse à la dépêche Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016. Évalué à 2.

    Vu le niveau de l'AI, cela m'étonnerait que cela soit issue d'un simple automate.

    "La première sécurité est la liberté"

  • [^] # Re: Classement différent : limiter la taille du code, pour limiter le temps à y consacrer

    Posté par  (site web personnel) . En réponse à la dépêche Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016. Évalué à 3.

    Je ne comprends pas la question :)

    "La première sécurité est la liberté"

  • # Classement différent : limiter la taille du code, pour limiter le temps à y consacrer

    Posté par  (site web personnel) . En réponse à la dépêche Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016. Évalué à 4.

    Un autre point : les classements. La derniers fois que j'ai joué, le premier avait annoncer un code de 50 000 lignes ! C'est totalement impossible à faire sans bosser dessus plusieurs heures par jour.

    Pourquoi ne pas faire un autre classement sur la taille du code par exemple ? En genre d'ELO par ligne de code. Cela permet de se casser la tête mais sur une taille limitée.

    On peut imaginer aussi des catégories, comme pour les démos. Le meilleurs en moins de 1000 lignes (calculé par l'outil SLOCCount, par exemple, ou une taille de fichier max une fois compressé par gzip)

    "La première sécurité est la liberté"

  • # cool...

    Posté par  (site web personnel) . En réponse à la dépêche Smash The Code, concours d'intelligence artificielle, démarre le 30 avril 2016. Évalué à 3.

    Je sens que cela va prendre du temps :)

    Est-ce que vous avez amélioré le debug ? Lors du dernier tournoi, j'aurais aimé pouvoir ajouter des étiquettes sur les cases de la carte. C'était assez difficile de rassembler autant d'informations de debug uniquement en mode texte.

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 3.

    Cela dépend vraiment de l'école. Mais la mienne allait vraiment de l'analogique, la conception numérique, le traitement du signal, les couches ISO, le réseau, le dev embarqué, du c++, jusqu'au système d'info, bd. J'ai fais une option microelec, donc, je suis moins à l'aise dans le dev d'applicatif "lourd", mais c'est mon boulot actuel.

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 3.

    En France, un ingénieur est généraliste. Dans mon école d'ingé, tu faisais de l'électronique numérique, analogique, du codage C bas niveau, de la base de donné, de l'os, de la conception d'ordinateur, etc…

    J'imagine qu'un BTS n'ayant fait que du dev web, devait être meilleur en dev web, c'est sûr, mais il ne pourra pas sortir de cette formation de base.

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 4.

    Ils sont aussi tier de confiance, avec les actes authentiques. Être sur de qui à vendu sa maison a qui n'est pas un problème si simple.

    Avocat, tier de confiance… lol.

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 3.

    L'état, l'état … On a tous vu ce qu'il savait faire, ou plutôt ne savait pas faire.
    Il n'arrive déjà pas à faire ses fonctions régaliennes standard (contrôler un budget, assurer la sécurité, respecter les valeurs démocratiques ou même sa devise …) et tu voudrais qu'il contrôle nos vies et nos carrières en plus ?

    C'est déjà le cas. Le full privé ne garanti en rien, que cela va mieux. Les avocats n'ont pas de numerus clausus, et un débutant rame au smic en ce moment. Les notaires (qui ont un numerus clausus) sont mort de trouilles, car l'état donne de plus en plus d'actes aux avocats. Mais les avocats se comportent de plus en plus en mercenaires, et leurs réputations tombent…

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 3.

    De développeur à architecte.

    Oula. Les seul personnes non bac+5 doué étaient vraiment exceptionnel. Et cela n'est pas du tout la règle. Certains étaient doué, mais dans un domaine spécifique, où ils s'étaient formé.

    Croire que c'est obligatoire pour tous les postes, ou que c'est la seule façon de l'avoir n'est pas réaliste.

    C'est possible de trouver des personnes douées qui n'ont pas fait d'étude, mais prendre une personne qui a fait des études, est, tout de même, une garantie de son niveau minimum.

    "La première sécurité est la liberté"

  • [^] # Re: au final

    Posté par  (site web personnel) . En réponse au journal Ce logiciel qui choisit ta fac. Évalué à 2.

    que les études nous apprennent un métier/un domaine.

    Dans beaucoup de domaines scientifiques, c'est le cas, tu ne peux devenir médecin sur le tas.

    Qu'un étudiant sait ce qu'il veut faire du début à la fin de sa vie, et qu'il a les compétences pour décider.

    D'où, l’intérêt de la gestion par l’État, non ? Numerus clausus et autre, par exemple.

    Une bonne partie des jobs en "informatique" ne demandent pas 5 ans d'études en informatique… Pas même 2 ou 3 ans …

    Tu penses à quel genre de postes ? Parce que même un testeur doit comprendre ce qu'il fait et le domaine qu'il teste.

    "La première sécurité est la liberté"