Pousser un wagon d'une tonne sur un rail, ou un bateau d'une tonne, tu peux le faire avec une main
L'abus de tintin au congo nuit au sens des perceptions, on dirait.
Décoller un objet d'une tonne tu sol, tu n'y arriveras pas.
Donc, comme il est peu probable que le poids augmente en cours de vol (sauf ravitaillement aérien, ça se fait dans l'armée et/ou l'aerospatial, il me semble) l'avion ne décollera pas. Pas de problème de sécurité donc.
Navré, j'ai pas pu résister, vus les fumeux fameux "arguments" :D
Ce qui signifie qu'il faudra mettre des endroits discrets pour ceux voulant réduire leur PTAC sexuel de quelques grammes manuellement, alors?
J'imagine le travail :D
Ca, c'est cool, et quelque chose qui aurait dû être fait depuis des années, par tous les navigateurs. Sûrement plus efficace que le DNT, pour moi.
Très, très […] excellent point!
Le souci, par contre (il faut bien qu'il y en ait un) c'est que certains sites imposent l'usage de cookies tiers, je pense par exemple au webmail microsoft (oui, je sais… mais c'est mon mail historique, et je ne m'en sers plus réellement. Sauf que quand c'est le cas… je suis embêté par mes réglages, justement).
Je parie qu'il va y avoir une flopée d'utilisateurs qui ne vont pas apprécier (ils ne comprendront plus pourquoi ils n'arrivent pas a accéder à leur site. A voir contre qui ils vont râler: pourvu que ce ne soit pas sur FF!)
Le gestionnaire de téléchargement n'est pas non plus un mal.
Enfin, je me pose une dernière question: tous les "navigateurs grand public" intègrent des outils de dev en dur. Je me demande si on peut vraiment considérer ça comme grand public, et quelle influence ça peut avoir sur le binaire (en terme de performances, de stabilité et de coût de maintenance, notamment) car je doute qu'un utilisateur normal s'en serve souvent…
Pour les fonctionnalités du navigateur, elles font surtout doublon avec un tas de trucs qui existent déjà dans ton système d'exploitation. Mais bon, un navigateur c'est moderne, c'est cool et au diable l'esprit unix !!!
Posté par freem .
En réponse à la dépêche Mozilla a 15 ans.
Évalué à 0.
Dernière modification le 04 avril 2013 à 16:21.
Mon ton est devenu de plus en plus dur, c'est vrai, et était effectivement critique dès le début.
Mais si le ton a durci, c'est aussi face aux gens qui nient les problèmes, allant quand même jusqu'a me sortir que le problème que j'ai trouvé "n'existe peut-être pas" (genre je phantasme…).
Après, oui, Mozilla à fait avancer le monde, clairement (cassé le monopole d'IE sur le web).
Microsoft aussi (rendre l'informatique accessible à tant de gens, sans avoir besoin de la moindre compétence technique et pour si peu cher, ça n'a pas dû être évident tous les jours).
Canonical aussi (je connais pas mal de monde qui utilise Ubuntu, et qui n'auraient jamais essayé un OS libre si ce système n'avait pas fait un tel tabac. Ca fait, pour moi, avancer la cause linux sur le bureau, même si je n'aime pas cette distro).
Ils le font encore, et il est important de le reconnaître, chose que je fais.
Mais Microsoft à aussi, entres autres, déclaré une guerre au LL, Canonical à intégré un adware (licence GPL v2 si je me rappelle bien, j'avais été voir si le source était dispo, par curiosité) dans Ubuntu. Mozilla Firefox intègre, lui, un moteur de recherche qui espionne les utilisateurs.
A MS et Canonical, on à le droit de dire leurs 4 vérités, mais pas à Mozilla? Original.
Qu'ils aient besoin d'argent, je le conçois, mais la façon dont ils le font me fait horreur, et n'est pas digne selon moi de défenseurs du Logiciel Libre ou d'un web ouvert. Ouvert sur quoi? Sur l'hégémonie de google? La blague, non? Mais il ne faut surtout pas le dire…
Pour le moinssage, sache quand même que des acharnés m'ont mis (autre sujet) un message ou je répondais à une question sur les design pattern à -1, quand même :D
Ca me fait sourire, et j'avoue m'être laissé tenté à provoqué ceux qui l'on fait. Pire: je n'en éprouve aucun remords :D
Euh…. les firewall sont 1000 fois plus efficaces que n'importe laquelle de ces trucs basés sur des listes…
Sinon, pour MS windows, il existe des outils capables d'empêcher des programmes d'accéder à des fonctions spécifiques (enfin, je n'ai connu qu'un, dont je n'arrive pas à me souvenir du nom, mais au moins ça me permet de savoir que ça existe. Ce superbe outil se disais firewall, mais au final faisait plus que faire la circulation sur mon réseau, et ça m'allais très bien.). En gros, dès lors qu'une appli tentait d'accéder à une fonctionnalité du système (registre, disque dur, systray, chargement de DLL systèmes… je n'exagère pas, je ne fait que décrire assez mal ce dont je me souviens) l'outil nous prévenais si on avait pas encore défini de règle pour cette application et cette action.
Je sais pas si ça existe sous linux, cela dis.
En tout cas, de tout faire dans les navigateurs, avec le peu de contrôle qu'ils nous offrent sur ce qu'ils font réellement, est vraiment un problème pire que les applications natives. Avec les browser, c'est tout ou rien. La possibilité qu'on a de pouvoir filtrer à l'action ne crée bien souvent pas des listes d'actions autorisées, et ça rend donc le navigateur complètement inutilisable.
Disons que je n'apprécie pas la direction dans laquelle ils vont depuis quelques années, pour des défenseurs du libre.
Après, ça, ça dépend des sensibilités de chacun.
Peut-être pas la seule, mais à force de tout cacher, on ne rend pas vraiment les choses plus simples pour celui qui veut s'initier. Je pense que c'est un des problèmes majeurs de l'info moderne, mais ça ne regarde que moi. (et je ne parle pas de l'impact sur les perfs, vu que c'est discutable)
Tu veux un fichier texte pour les options de Firefox ? Très bien. Édite le fichier prefs.js qui est situé dans ton profil.
Ah, oui, merci. Manifestement, par contre, tout "about:config" ne s'y trouve pas. Une recherche dans about:config de "google" me renvoie 11 clés, alors que ce mot ne se trouve qu'une seule fois dans le fichier que tu as cité.
C'est pas parce qu'il y a une interface pour modifier facilement de prefs.js que ça en fait un logiciel pourri.
C'est même le contraire.
Mais acceptes au moins que le about:config de firefox soit une interface de type "bouse immonde", qui contiens des options qui devraient être accessibles au commun des mortels dans la boîte de dialogue de configuration!
J'expose d'ailleurs encore d'autres défauts de ce que tu appelles une bonne interface dans la suite de ce message…
Au passage, opera aussi, à un about:config.
Par contre, il existe une différence monstrueuse: repli des catégories d'options, pas de message flippant (si tu vas dans about:config, c'est que tu sais que ça existe déjà), une interface qui utilise divers contrôles pour éviter autant que faire se peu d'entrer des valeurs aberrantes, et même un lien pour avoir de l'aide!
Note 1: je pense qu'opera on en fait fait une simple page web, en utilisant la technologie super moderne des formulaires, couplée avec du JS. Marrant, je pense que mozilla en serait capable s'ils le voulaient.
Note 2: je n'ai vérifié que opera, firefox et IE (lui, c'est le pire, la page about:config affiche juste "config" xD), je ne sais pas à quoi ça ressemble chez chrome, donc. Entres autres.
Je ne sais pas où tu as vu ça. Ce que tu tapes dans l'URL utilise le moteur de recherche que tu as sélectionné, pas google.
Très bien, alors permets moi de te le dire.
La, j'ai une install de FF dont je me sers de temps en temps (quand mes réglages parano d'opéra m'empêchent d'aller sur certains sites et que j'ai la flemme de les changer pour le site en question).
J'ai supprimé le moteur de google de la liste, donc il n'est plus sélectionné, pas vrai (en l'occurrence, c'est bing qui l'est, je ne compte pas m'amuser à personnaliser FF alors que je m'en sers même pas 30 minutes par semaine)?
Alors, si c'est celui qui est sélectionné qui est utilisé, expliques moi pourquoi, quand je tape "truc à la con" dans la barre d'URL, celle-ci deviens: https://www.google.fr/search?q=truc+%C3%A0+la+con&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a&channel=fflb ??? Je suis curieux… plutôt que de me dire que je me lourde, expliques-moi le résultat concret que j'ai.
Ou c'est peut-être aussi… qu'elle n'existe pas tout simplement :-p
Toutes ces clés ont le mot google dans la valeur chez moi. Pourtant, comme je l'ai dis, j'ai supprimé le moteur de google de la liste des moteurs de recherche. Faudra qu'on m'explique… (D'ailleurs, c'est lourd, on ne peux même pas sélectionner les options pour c/c le texte… vive l'interface super évoluée…)
Notes au passage qu'il y a même une clé qui contient une url du moteur de google, et qu'on ne peux donc même pas éradiquer ce moteur via about:config. Firefox défend l'ouverture à tout prix, et moi, je suis le pape.
Et le plus drôle, c'est que je vais me faire moinsser (en plus du haineux qui me moinsse systématiquement. D'ailleurs, j'ai un message pour lui: je suis heureux de te faire chier à forcer à cliquer sur le bouton "inutile", j'espère te voir sur toutes mes autres interventions, au moins pendant ce temps, tu n'utilises pas tes avis constructifs pour pertinenter ce qui le mérite.) vu que j'ose critiquer le sacro-saint firefox…
Dernier point: tu remarqueras que je ne fais pas que donner des propos en l'air, je détaille ce que j'ai sur une machine réelle, alors cesses, s'il te plaît, d'insinuer que je médit sans fondements ni preuves (tu sais, genre: "Ou c'est peut-être aussi… qu'elle n'existe pas tout simplement :-p").
Tu aimes firefox? C'est ton droit, mais ça ne devrait pas t'empêcher de voir ses défauts.
J'aime opera, mais je reconnait qu'il n'est pas parfait: bugs avec les proxy a mon taf, gestionnaire de DL largement améliorable, par exemple. Firefox lui est d'ailleurs supérieur sur les proxy de mon taf.
Manifestement, c'est depuis le 15 juin 2012. Bizarre, le blob que j'ai installé chez moi il y a 2 mois ne semblait pas le supporter… faudra que j'enquête sur le problème.
le nombre de lignes de code n'est pas une super métrique
Brut, non. Par contre… CCCC (superbe outil pour moi) donne quelques métriques liées au nombre de lignes qui sont très utiles: % de code commenté (bon, ça ne prend pas en compte le fait qu'un nom de fonction ou de variable explicite équivaut à 3 lignes de commentaires, bien sûr), lignes / fonction, lignes / classe…
Tu n'a pas à te dévaloriser
Je ne me dévalorise pas, c'est juste que je suis habitué à ce que mon code ne ressemble pas à celui des autres. Ca a commencé dès que j'ai vu à quoi ressemblait un prof de dev (moi auto-didacte qui avait donc mon propre style, lui qui me sortait des trucs genre "essaie d'avoir les mêmes noms que les autres, d'utiliser des int et pas des short…" et moi qui pensait "plutôt arrêter le dev". Je ne connaissais pas encore l'expression pisser du code… c'est ça qu'il enseignait.)
Pour moi les grosses fonctions qui contiennent tout l'algo sont plus une preuve de code mal pensé qu'autre chose, vu que la taille d'une fonction est fréquemment proportionnelle aux nombre de choses qu'elle fait, alors qu'elle n'est censée en faire qu'une.
D'ailleurs, me suis aperçu qu'a chaque fois que je fais un truc qui dépasse les 50 lignes, en dehors du gros switch des familles (que je hais en plus, mais pas toujours le choix) a terme je chope des bug ou je dois réutiliser une partie du gros bloc ailleurs… donc bon, au final je gagne mon temps.
ta façon de penser est naturelle pour quelqu'un n'ayant pas pratiqué le TDD
En tout cas, la dernière fois que j'ai essayé sur un de mes projets (un éditeur de texte en console), je n'en ai pas perçu les avantages. Il faut dire que ça m'a tellement soulé d'écrire des tests que j'ai arrêté au bout de 3 fonctionnalités.
Je pense qu'il faudrait que je voie un projet réel qui utilise TDD pour me donner le déclic plus vite. Sinon tel que je me connais, je dirais que je finirai par l'avoir, mais dans quelques années :D
Du coup, ça veut aussi dire que "l'écriture" d'applications JS sera moins pénible, non? (De ce que j'entends de nombreux dev web, ce langage est horrible…)
Ce sera peut-être pour moi une occasion de m'y mettre :D (ou de faire semblant pour le coup)
Accessoirement, il existe des toolkit graphique exploitant opengl en C++, donc logiquement, une application les utilisant devrait être "portable" sur un navigateur assez aisément, non?
D'autres questions que je me pose, plus orientées compatibilité entre langages:
Quelle(s) version(s) de C++ seront/sont supportées?
Si le C++ est supporté, c'est bien, mais qu'en est-il du C? J'imagine que Mozilla sait très bien que même si le C++ intègre un grand nombre des fonctionnalités de C, le comportement n'est pas nécessairement le même (exemple: ordre de passage des paramètres non spécifié par la norme en C++, contrairement au C)?!? Du coup, les gens venant du C vers le C++ ne risquent-ils pas de se trouver confrontés à des problèmes venant de leur habitude du C? (parce que bon, combien de développeurs ne font en fait que du C with classes… beaucoup trop!)
Au passage, même si 50% de la vitesse du natif c'est déjà moins pire, c'est encore loin d'être la panacée…
Ca, c'est plutôt une excellente nouvelle, quand on vois à quel point les aliens sont difficiles à jouer…
Va falloir aussi voir ce que donnent les IA, parce que quand j'y joue, je constate que la moitié des bot passe son temps à…. courir contre un mur!
En tout cas, bien content que cet excellent jeu continue de vivre (de toute façon je le vois régulièrement avec aptitude update :D) et je suis curieux de voir cette histoire de ressource d'un peu plus près, parce que n'étant pas un grand joueur de trem, je me suis toujours un peu demandé comment le nombre de points à dépenser dans les structures était comptabilisé.
En plus, ça fait qu'a chaque partie que j'ai eue l'occasion de jouer les dispositions des bases étaient à peu près identiques.
Ce système de ressource va sûrement augmenter le nombre de points stratégiques et risque de changer radicalement le jeu, vers plus de stratégie encore, et ça, c'est bon!
Qui sait, ce jeu va peut-être devenir mon favori à force :D
Note: au sujet de la version alpha, il semble que le projet unvanquished compte rester en alpha tant qu'ils dépendent de ressources provenant de tremulous, ça n'est donc pas vraiment lié à l'état du code. Pour y avoir joué, je peux en tout cas affirmer que le jeu est léger (pas comme nexuiz quoi), stable, et ne manque pas de fonctionnalités, contrairement à l'appellation alpha.
Si le langage en est capable, il peut tester une partie du contrat statiquement:
Dans le cas de C++, langage que je connais le mieux, on peut par exemple utiliser le prototype pour dire que la méthode ne modifieras pas la classe, que tel paramètre est un paramètre d'entrée (passage par valeur ou en spécifiant const), d'entrée/sortie (passage de référence), ou juste de sortie (valeur de retour. Si on en veut plusieurs, on peut utiliser un tuple, mais perso je ne suis pas trop fan des tuple donc je préfère utiliser un paramètre normal avec une référence) et bien entendu, imposer le type.
Mais il est évident que tu ne peux pas vérifier que x>0 à la compilation… (quoique, si x est calculable à la compilation, C++11 nous a offert quelques outils pour ça)
En fait, je ne pense pas qu'il soit logique d'opposer les deux types de programmation: un contrat bien établi permet d'écrire des tests plus facilement, avec en plus la possibilité d'instrumenter le code en interne, ce qui peut rendre les bugs plus simples à reporter pour l'utilisateur.
J'ai encore pas mal de mauvaises pratiques, héritées de mon auto apprentissage et des cours que j'ai eus (il faut dire ce qui est), donc j'avoue avoir beaucoup de mal à écrire de tests unitaires quand je bosse sur mes projets persos. Au boulot, vue la tronche de l'environnement que j'ai eu la "chance" d'utiliser, je n'ai pas vraiment essayé… (Déjà si on pouvait commencer par clarifier le workflow, et utiliser un vrai VCS, ce serait un net progrès… m'en fout, dans 2 mois je me casse)
Après, comme je l'ai dis, je suis loin d'être expert dans le domaine de la prog par contrat, alors ma vision est peut-être très limitée. Le document qui m'a fait découvrir le concept est ici
Posté par freem .
En réponse à la dépêche Terminology 0.3.
Évalué à 0.
Dernière modification le 03 avril 2013 à 15:40.
Désolé, vue l'audience de ce site, j'ai oublié que tout le monde n'est pas obligé de savoir ce que sont les DP.
Il s'agit d'un des modèles de conception (Design Pattern) du GoF (Gang of Four) qui sont en fait une liste des schémas que l'on rencontre pour ainsi dire presque tout le temps en prog.
Je te conseille de jeter un oeil aux articles wikipedia à leur sujet, ne serait-ce que les introductions, histoire d'entrevoir le principe, puis la liste, ça permet d'avoir une vue globale, et quand tu es confronté ensuite à un problème tu vas te dire "tiens, et si…".
Je parie même que tu en as déjà utilisés plusieurs sans le savoir en fait (si tu dev, bien sûr). Dans mon cas, ça a été le cas avec le composite en 1er (pour une lib template de gestionnaire de fenêtre, avec une implémentation SDL 1.2 et un début SFML 1.6, faudra que je m'y remette).
En génie logiciel, un objet composite est un patron de conception (design pattern) structurel. Ce patron permet de concevoir une structure d'arbre, comme un arbre binaire en limitant à 2 le nombre de sous-éléments.
Motivation
En programmation objet, un objet composite est constitué d'un ou de plusieurs objets similaires (ayant des fonctionnalités similaires). L'idée est de manipuler un groupe d'objets de la même façon que s'il s'agissait d'un seul objet. Les objets ainsi regroupés doivent posséder des opérations communes, c'est-à-dire un "dénominateur commun".
Quand l'utiliser
Vous avez l'impression d'utiliser de multiples objets de la même façon, souvent avec des lignes de code identiques ou presque. Par exemple, lorsque la seule et unique différence entre deux méthodes est que l'une manipule un objet de type Carré, et l'autre un objet Cercle. Lorsque, pour le traitement considéré, la différenciation n'a pas besoin d'exister, il serait plus simple de considérer l'ensemble de ces objets comme homogène.
Comme tu peux le voir, on est bien dans le cas du conteneur: un conteneur est une fenêtre spécialisée qui ne fait que contenir d'autres fenêtre (et donc, peut-être, des conteneurs).
J'adore ce DP au point d'avoir fini par coder un conteneur template en C++.
(Je doute que quelqu'un d'autre que moi s'en serve, mais au cas ou, j'ai repiqué la licence de boost. De toute façon, il est encore incomplet: il manque une bonne batterie de tests et de la doc.)
Tu n'as rien raté, sauf qu'en fait la programmation par contrat, à ce que j'ai lu, consiste juste à définir ce que ta fonction attends/crache/ne change pas.
Tu peux ensuite les vérifier avec, effectivement, des assertions, si tu le souhaites.
C'est un peu comme tes tests, je n'ai rien raté si j'affirme qu'il ne s'agit que de petits programmes ;)
L'important n'est pas la technique utilisée, mais la façon de le faire, non?
Ne pas oublier ceux qui nécessitent les cookies de sites tiers, sinon s'pas drôles.
Je plussoie le "fuck you, webmestres de merde" à 200% personnellement. Le pire, c'est qu'après ils se plaignent de devoir supporter les disparités entre navigateur… sic…
Et word serait incapable de supporter le format TXT?
Mon dieu…
Sinon, au pire, il me semble que FF intègre lui-même son propre éditeur de texte, non? Ou, du moins, que ses auteurs savent se servir d'une textbox (sinon, personne ici n'utilise FF?).
N'est-ce pas une belle alternative à word?
Les gens n'iront pas ouvrir un fichier dont ils ignorent la localisation, voire pire, l'existence, et je parie que tu le sais très bien.
Je veux bien que l'on m'explique en quoi c'est mieux qu'un fichier texte, du coup, puisque justement, le fichier texte, lui, il a la possibilité des commentaires.
Et d'ailleurs, je ne dis pas non plus que le fichier texte est la panacée, juste que l'on ne peux pas décemment appeler about:config une interface.
Maintenant, tu me dis que c'est une excellente chose, et que l'utilisateur qui a besoin de modifier l'une de ces clés à les moyens d'aller chercher sur le net.
Soit.
Permets-moi un exemple.
Admettons, tu es un utilisateur de base, mais curieux. Tu sais qu'il existe d'autres browser que google, que, d'ailleurs, tu n'aime pas pour une raison qui t'es propre (j'en vois 3 immédiatement, dont une bidon pour l'user habituel: pas libre) et donc tu veux l'éradiquer.
Tu as réussi à l'enlever de la liste des moteurs de recherche, mais, zut, quand tu veux utiliser la barre d'URL pour ta recherche (plus simple: F6 et voila, et puis elle est plus grande cette barre après tout) voila que ce fichu moteur que tu n'aimes pas rapplique au quart de tour.
Et la, si tu ne connais pas l'existence de "about:config", tu fais comment? Même si tu la connais, tu n'y connais encore rien, tu es juste doté de curiosité et d'un cerveau, et tu as le message suivant qui s'affiche: "Attention, danger! […]". Tu fais quoi? Bah, vu que tu as un cerveau, et que tu sais que tu n'y connais encore rien, tu t'en vas…
Je serai parano et/ou cynique, je dirais que cette option, qui devrait être accessible à tous, est sacrément bien planquée pour des raisons financières.
Ah… zut, je le suis, et je l'affirme, et tant pis pour la chasse aux sorcières: si mozilla a planqué cette option, pourtant pas sensible, dans la page des paramètres internes, c'est parce qu'ils dépendent de google. Pour un projet libre, navré, mais ça crains un max.
A ceux qui vont me dire qu'il faut bien se financer, je rétorquerais: Debian. Wesnoth. LibreOffice. Et j'en ai d'autres, qui ne me semblent pas faire de pub ni dissimuler des choses aux utilisateurs.
C'est vrai, tu as raison, c'est "tout le contraire, about:config, c'est génial d'avoir une abstraction…" mais alors, donnes moi au moins une raison qui fasse que c'est génial, mieux qu'un fichier texte.
Pour le coup, il s'agit uniquement d'une abstraction sur une BDD (sqlite3, dans ce cas précis), mais les BDD sont-elles vraiment des endroits pour stocker des configurations, de toute façon? Non, ce sont des outils pour accéder rapidement à de grandes quantités de données. Pas vraiment le cas d'une config, à mon avis.
Mais bon, les BDD, le XML, tout ça… c'est la mode, et les fichiers de texte, ça pue, c'est vieux, donc faut les abstraire.
Je me souviens de mes 1ers pas en info, à changer autorun.bat et system.ini. Ce n'est qu'après avoir compris la séquence de boot de w95 que j'ai commencé a aller plus loin.
Sans fichiers textes, sans options faciles à découvrir, en cultivant ce culte de l'abstraction, on risque pas d'avoir beaucoup de nouvelles vocations, je le crains.
je te conseille de regarder ce qu'est le Test Driven Development
J'ai déjà jeté un oeil (donc, je n'ai pas creusé énormément) du côté du TDD, justement.
Le principe me semble réellement intéressant, mais la quantité de code de tests à écrire au début de l'application me semble quand même vachement excessive, puisque, selon les documents que j'ai lus à ce sujet il faudrait aller jusqu'a effectuer des tests pour tout, strictement tout…
Sachant que la moyenne de mes méthodes ne dépasse pas les 15 lignes (mes "algorithmes" se situent en fait plus dans le diagramme de classes, chacun s'occupant uniquement de ses affaires. Ca n'évite pas les bugs, mes le code est plus lisible pour moi, et 20 fois plus simple à réutiliser), j'imagine que tu peux comprendre qu'écrire 4 fois plus de code de test par classe que de code réel me semble trop lourd.
Alors que par contrat, j'imagine qu'il faut tester que ton résultat contient tous tes éléments de départ, et uniquement ceux-là, et vérifier qu'ils sont correctement ordonnés. Ça me semble plus pénible à écrire.
En gros, avec la programmation par contrat (de ce que j'en ai lu, je n'ai pas assez d'expérience avec pour me proclamer dev par contrat…) tu indiques au dev ce qu'il doit fournir à ta méthode -préconditions- (les langages à typage fort comme C++ permettent donc une vérification basique des contrats à la compilation, si les prototypes sont bien écrits), les invariants et les post-conditions. Si le contrat n'est pas respecté par l'appelante (mauvaises pré-conditions donc) le comportement est indéfini.
Du coup, il est simple de produire les tests, et si tu utilises pimpl (si je me lourde pas sur le nom), tu peux instrumenter très simplement le code, par exemple:
Personnellement, je préfère garder les vérifications de contrat en dehors de la version de débogage: ça consomme peut-être un peu de ressources, mais tu as la possibilité de faire des messages d'erreur clairs, que l'utilisateur peut te copier/coller (voire ton application t'envoie directement le rapport d'erreur par mail ou sur bugtracker, pourquoi pas, il suffirait d'implémenter un gros try{…}catch(std::exception &e){…} dans le main après tout) et qui t'indiquent quel bloc de code pose problème.
Du coup, pour détecter une merde dans le déploiement c'est assez pratique, je dois l'avouer, alors qu'il ne me semble pas que le TDD permette de vérifier que le problème vienne de l'installation de ton application, puisque les tests ne sont pas inclus dans le binaire (je ne crache pas sur TDD, au contraire, je ne fais que demander ce que tu en penses).
Ca, ça m'a déjà économisé pas mal de temps (et donc plus ça va, et plus j'utilise cette histoire de contrats) quand je balance mon boulot d'une de mes machines à une autre.
Et vu que ton contrat est clair, je me dis que si jamais à un moment… bon, ok, quand tu as une merde, il est simple d'ajouter un test de non régression, qui vérifie uniquement cette merde. Du coup, moins de "perte de temps" (note les guillemets) à écrire et maintenir des tests qui ne serviront potentiellement jamais, mais tu conserves la possibilité d'éviter une régression ou le retour d'un bug.
Je ne sais pas si je suis très clair, mais, je le répète: je ne suis expert ni dans le TDD, ni dans le CDD (en encore moins dans les CDI XD bon ok je sors)
Moi, non.
Molitor, en effet, ce n'est plus possible. De dire que c'est un mal de ne plus pouvoir démonter le mur d'un bâtiment classé puis de le remonter, même proprement, est en revanche quelque chose que je ne me risquerai pas a affirmer.
Les sarkoval, c'est aussi vrai, j'en ai fait un ou deux, et j'ai aussi (avant et après) fait un ou deux tekos, de ceux qui sont illégaux, la différence existe en effet, les sarkoval est bien plus oppressant à mes goûts. (Moi et mes frères avons d'ailleurs réussi à faire venir nos parents dans un teckos, histoire de leur montrer la réalité et pas ce que les médias en disent. Ils ont avoué ne pas du tout avoir imaginé la chose ainsi, et sont bien moins pénibles à ce sujet depuis…)
Pour ce qui est des prods, parmi les gens que je connais, qui eux, on connu la teuf fin 90, et qui posent encore, je pense qu'il ne faut pas se voiler la face: les prods, ça tourne oui, mais le type va dépendre du sound system qui pose.
Il ne faut pas oublier qu'il y a les teufeurs, et les toxico, aussi. Et il y a autant de toxico dans les autres mouvements donc bon…
Mais si je dis que la free n'est pas morte, ce n'est pas sur mes observations perso: je suis bien trop mal placé pour n'utiliser que mes propres observations: déjà, je suis un de ceux qui l'ont connue tard, et surtout je n'y vais que de temps en temps. Je ne me considère personnellement pas comme appartenant à ce milieu, tout au plus comme un sympathisant.
Non, c'est plutôt mes discussions avec ceux que je connais qui sont dans ce milieu depuis 15 ans… qui posent régulièrement depuis 10, organisent des multi-sons de temps en temps et accessoirement, se réjouissent du fait de ne plus voir de touristes (qu'il faut surveiller parce qu'ils font n'imp) en forêt entres autres.
Après, a voir le 1er mai. Je ne pense pas y aller, mais je suis curieux de voir ce qu'il va se passer. Les 20 ans, il me semble… Je pense vraiment que les teufeurs vont se laisser emmerder par le gouvernement.
Pour moi, et d'autres, le mouvement n'est pas mort, il est simplement revenu à "sa place": l'underground.
[^] # Re: Gros navion
Posté par freem . En réponse au journal Un billet d'avion dépendant du poids passager+bagages. Évalué à 1.
Un peu comme la clope quoi :D
[^] # Re: « Juifs-Arabe ? C'est bizarre et j'aime pas les gens bizarre »
Posté par freem . En réponse au journal Un billet d'avion dépendant du poids passager+bagages. Évalué à 1.
L'abus de tintin au congo nuit au sens des perceptions, on dirait.
Donc, comme il est peu probable que le poids augmente en cours de vol (sauf ravitaillement aérien, ça se fait dans l'armée et/ou l'aerospatial, il me semble) l'avion ne décollera pas. Pas de problème de sécurité donc.
Navré, j'ai pas pu résister, vus les
fumeuxfameux "arguments" :D[^] # Re: « Juifs-Arabe ? C'est bizarre et j'aime pas les gens bizarre »
Posté par freem . En réponse au journal Un billet d'avion dépendant du poids passager+bagages. Évalué à -1.
Ce qui signifie qu'il faudra mettre des endroits discrets pour ceux voulant réduire leur PTAC sexuel de quelques grammes manuellement, alors?
J'imagine le travail :D
# cookie
Posté par freem . En réponse à la dépêche Vingt dieux, Firefox 20 est sorti !. Évalué à 2.
Ca, c'est cool, et quelque chose qui aurait dû être fait depuis des années, par tous les navigateurs. Sûrement plus efficace que le DNT, pour moi.
Très, très […] excellent point!
Le souci, par contre (il faut bien qu'il y en ait un) c'est que certains sites imposent l'usage de cookies tiers, je pense par exemple au webmail microsoft (oui, je sais… mais c'est mon mail historique, et je ne m'en sers plus réellement. Sauf que quand c'est le cas… je suis embêté par mes réglages, justement).
Je parie qu'il va y avoir une flopée d'utilisateurs qui ne vont pas apprécier (ils ne comprendront plus pourquoi ils n'arrivent pas a accéder à leur site. A voir contre qui ils vont râler: pourvu que ce ne soit pas sur FF!)
Le gestionnaire de téléchargement n'est pas non plus un mal.
Enfin, je me pose une dernière question: tous les "navigateurs grand public" intègrent des outils de dev en dur. Je me demande si on peut vraiment considérer ça comme grand public, et quelle influence ça peut avoir sur le binaire (en terme de performances, de stabilité et de coût de maintenance, notamment) car je doute qu'un utilisateur normal s'en serve souvent…
[^] # Re: Pas convaincu
Posté par freem . En réponse au journal La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert. Évalué à 1.
uzbl?
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 0. Dernière modification le 04 avril 2013 à 16:21.
Mon ton est devenu de plus en plus dur, c'est vrai, et était effectivement critique dès le début.
Mais si le ton a durci, c'est aussi face aux gens qui nient les problèmes, allant quand même jusqu'a me sortir que le problème que j'ai trouvé "n'existe peut-être pas" (genre je phantasme…).
Après, oui, Mozilla à fait avancer le monde, clairement (cassé le monopole d'IE sur le web).
Microsoft aussi (rendre l'informatique accessible à tant de gens, sans avoir besoin de la moindre compétence technique et pour si peu cher, ça n'a pas dû être évident tous les jours).
Canonical aussi (je connais pas mal de monde qui utilise Ubuntu, et qui n'auraient jamais essayé un OS libre si ce système n'avait pas fait un tel tabac. Ca fait, pour moi, avancer la cause linux sur le bureau, même si je n'aime pas cette distro).
Ils le font encore, et il est important de le reconnaître, chose que je fais.
Mais Microsoft à aussi, entres autres, déclaré une guerre au LL, Canonical à intégré un adware (licence GPL v2 si je me rappelle bien, j'avais été voir si le source était dispo, par curiosité) dans Ubuntu. Mozilla Firefox intègre, lui, un moteur de recherche qui espionne les utilisateurs.
A MS et Canonical, on à le droit de dire leurs 4 vérités, mais pas à Mozilla? Original.
Qu'ils aient besoin d'argent, je le conçois, mais la façon dont ils le font me fait horreur, et n'est pas digne selon moi de défenseurs du Logiciel Libre ou d'un web ouvert. Ouvert sur quoi? Sur l'hégémonie de google? La blague, non? Mais il ne faut surtout pas le dire…
Pour le moinssage, sache quand même que des acharnés m'ont mis (autre sujet) un message ou je répondais à une question sur les design pattern à -1, quand même :D
Ca me fait sourire, et j'avoue m'être laissé tenté à provoqué ceux qui l'on fait. Pire: je n'en éprouve aucun remords :D
[^] # Re: Pas convaincu
Posté par freem . En réponse au journal La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert. Évalué à 3.
Euh…. les firewall sont 1000 fois plus efficaces que n'importe laquelle de ces trucs basés sur des listes…
Sinon, pour MS windows, il existe des outils capables d'empêcher des programmes d'accéder à des fonctions spécifiques (enfin, je n'ai connu qu'un, dont je n'arrive pas à me souvenir du nom, mais au moins ça me permet de savoir que ça existe. Ce superbe outil se disais firewall, mais au final faisait plus que faire la circulation sur mon réseau, et ça m'allais très bien.). En gros, dès lors qu'une appli tentait d'accéder à une fonctionnalité du système (registre, disque dur, systray, chargement de DLL systèmes… je n'exagère pas, je ne fait que décrire assez mal ce dont je me souviens) l'outil nous prévenais si on avait pas encore défini de règle pour cette application et cette action.
Je sais pas si ça existe sous linux, cela dis.
En tout cas, de tout faire dans les navigateurs, avec le peu de contrôle qu'ils nous offrent sur ce qu'ils font réellement, est vraiment un problème pire que les applications natives. Avec les browser, c'est tout ou rien. La possibilité qu'on a de pouvoir filtrer à l'action ne crée bien souvent pas des listes d'actions autorisées, et ça rend donc le navigateur complètement inutilisable.
[^] # Re: Pas convaincu
Posté par freem . En réponse au journal La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert. Évalué à 2.
Java?
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 1.
Attention, tu perds ton sang-froid…
(je suis déjà dehors)
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 0.
Disons que je n'apprécie pas la direction dans laquelle ils vont depuis quelques années, pour des défenseurs du libre.
Après, ça, ça dépend des sensibilités de chacun.
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 3.
Peut-être pas la seule, mais à force de tout cacher, on ne rend pas vraiment les choses plus simples pour celui qui veut s'initier. Je pense que c'est un des problèmes majeurs de l'info moderne, mais ça ne regarde que moi. (et je ne parle pas de l'impact sur les perfs, vu que c'est discutable)
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 2.
Ah, oui, merci. Manifestement, par contre, tout "about:config" ne s'y trouve pas. Une recherche dans about:config de "google" me renvoie 11 clés, alors que ce mot ne se trouve qu'une seule fois dans le fichier que tu as cité.
C'est même le contraire.
Mais acceptes au moins que le about:config de firefox soit une interface de type "bouse immonde", qui contiens des options qui devraient être accessibles au commun des mortels dans la boîte de dialogue de configuration!
J'expose d'ailleurs encore d'autres défauts de ce que tu appelles une bonne interface dans la suite de ce message…
Au passage, opera aussi, à un about:config.
Par contre, il existe une différence monstrueuse: repli des catégories d'options, pas de message flippant (si tu vas dans about:config, c'est que tu sais que ça existe déjà), une interface qui utilise divers contrôles pour éviter autant que faire se peu d'entrer des valeurs aberrantes, et même un lien pour avoir de l'aide!
Note 1: je pense qu'opera on en fait fait une simple page web, en utilisant la technologie super moderne des formulaires, couplée avec du JS. Marrant, je pense que mozilla en serait capable s'ils le voulaient.
Note 2: je n'ai vérifié que opera, firefox et IE (lui, c'est le pire, la page about:config affiche juste "config" xD), je ne sais pas à quoi ça ressemble chez chrome, donc. Entres autres.
Très bien, alors permets moi de te le dire.
La, j'ai une install de FF dont je me sers de temps en temps (quand mes réglages parano d'opéra m'empêchent d'aller sur certains sites et que j'ai la flemme de les changer pour le site en question).
J'ai supprimé le moteur de google de la liste, donc il n'est plus sélectionné, pas vrai (en l'occurrence, c'est bing qui l'est, je ne compte pas m'amuser à personnaliser FF alors que je m'en sers même pas 30 minutes par semaine)?
Alors, si c'est celui qui est sélectionné qui est utilisé, expliques moi pourquoi, quand je tape "truc à la con" dans la barre d'URL, celle-ci deviens: https://www.google.fr/search?q=truc+%C3%A0+la+con&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a&channel=fflb ??? Je suis curieux… plutôt que de me dire que je me lourde, expliques-moi le résultat concret que j'ai.
Et ça, c'est quoi:
Toutes ces clés ont le mot google dans la valeur chez moi. Pourtant, comme je l'ai dis, j'ai supprimé le moteur de google de la liste des moteurs de recherche. Faudra qu'on m'explique… (D'ailleurs, c'est lourd, on ne peux même pas sélectionner les options pour c/c le texte… vive l'interface super évoluée…)
Notes au passage qu'il y a même une clé qui contient une url du moteur de google, et qu'on ne peux donc même pas éradiquer ce moteur via about:config. Firefox défend l'ouverture à tout prix, et moi, je suis le pape.
Et le plus drôle, c'est que je vais me faire moinsser (en plus du haineux qui me moinsse systématiquement. D'ailleurs, j'ai un message pour lui: je suis heureux de te faire chier à forcer à cliquer sur le bouton "inutile", j'espère te voir sur toutes mes autres interventions, au moins pendant ce temps, tu n'utilises pas tes avis constructifs pour pertinenter ce qui le mérite.) vu que j'ose critiquer le sacro-saint firefox…
Dernier point: tu remarqueras que je ne fais pas que donner des propos en l'air, je détaille ce que j'ai sur une machine réelle, alors cesses, s'il te plaît, d'insinuer que je médit sans fondements ni preuves (tu sais, genre: "Ou c'est peut-être aussi… qu'elle n'existe pas tout simplement :-p").
Tu aimes firefox? C'est ton droit, mais ça ne devrait pas t'empêcher de voir ses défauts.
J'aime opera, mais je reconnait qu'il n'est pas parfait: bugs avec les proxy a mon taf, gestionnaire de DL largement améliorable, par exemple. Firefox lui est d'ailleurs supérieur sur les proxy de mon taf.
[^] # Re: Tiling ?
Posté par freem . En réponse à la dépêche Terminology 0.3. Évalué à 1.
Ah oui, merci de l'info: http://www.nvidia.com/object/linux-display-amd64-302.17-driver.html
Manifestement, c'est depuis le 15 juin 2012. Bizarre, le blob que j'ai installé chez moi il y a 2 mois ne semblait pas le supporter… faudra que j'enquête sur le problème.
[^] # Re: Pas de révision d'historique
Posté par freem . En réponse au journal Chiselapp ferme ses portes. Évalué à 0.
Brut, non. Par contre… CCCC (superbe outil pour moi) donne quelques métriques liées au nombre de lignes qui sont très utiles: % de code commenté (bon, ça ne prend pas en compte le fait qu'un nom de fonction ou de variable explicite équivaut à 3 lignes de commentaires, bien sûr), lignes / fonction, lignes / classe…
Je ne me dévalorise pas, c'est juste que je suis habitué à ce que mon code ne ressemble pas à celui des autres. Ca a commencé dès que j'ai vu à quoi ressemblait un prof de dev (moi auto-didacte qui avait donc mon propre style, lui qui me sortait des trucs genre "essaie d'avoir les mêmes noms que les autres, d'utiliser des int et pas des short…" et moi qui pensait "plutôt arrêter le dev". Je ne connaissais pas encore l'expression pisser du code… c'est ça qu'il enseignait.)
Pour moi les grosses fonctions qui contiennent tout l'algo sont plus une preuve de code mal pensé qu'autre chose, vu que la taille d'une fonction est fréquemment proportionnelle aux nombre de choses qu'elle fait, alors qu'elle n'est censée en faire qu'une.
D'ailleurs, me suis aperçu qu'a chaque fois que je fais un truc qui dépasse les 50 lignes, en dehors du gros switch des familles (que je hais en plus, mais pas toujours le choix) a terme je chope des bug ou je dois réutiliser une partie du gros bloc ailleurs… donc bon, au final je gagne mon temps.
En tout cas, la dernière fois que j'ai essayé sur un de mes projets (un éditeur de texte en console), je n'en ai pas perçu les avantages. Il faut dire que ça m'a tellement soulé d'écrire des tests que j'ai arrêté au bout de 3 fonctionnalités.
Je pense qu'il faudrait que je voie un projet réel qui utilise TDD pour me donner le déclic plus vite. Sinon tel que je me connais, je dirais que je finirai par l'avoir, mais dans quelques années :D
[^] # Re: Et ce n'est qu'un début!
Posté par freem . En réponse au journal Un billet d'avion dépendant du poids passager+bagages. Évalué à 3.
Non, les amputés paieront moins cher: qui dit moins de membres, dit moins de poids et de volume :D
# Intéressant, mais...
Posté par freem . En réponse au journal La stratégie de Mozilla pour les jeux vidéo sur le Web ouvert. Évalué à 5. Dernière modification le 03 avril 2013 à 17:14.
Du coup, ça veut aussi dire que "l'écriture" d'applications JS sera moins pénible, non? (De ce que j'entends de nombreux dev web, ce langage est horrible…)
Ce sera peut-être pour moi une occasion de m'y mettre :D (ou de faire semblant pour le coup)
Accessoirement, il existe des toolkit graphique exploitant opengl en C++, donc logiquement, une application les utilisant devrait être "portable" sur un navigateur assez aisément, non?
D'autres questions que je me pose, plus orientées compatibilité entre langages:
Au passage, même si 50% de la vitesse du natif c'est déjà moins pire, c'est encore loin d'être la panacée…
# unvanquished: missions et ressources
Posté par freem . En réponse au journal Quelques actus vidéoludiques. Évalué à 5.
Ca, c'est plutôt une excellente nouvelle, quand on vois à quel point les aliens sont difficiles à jouer…
Va falloir aussi voir ce que donnent les IA, parce que quand j'y joue, je constate que la moitié des bot passe son temps à…. courir contre un mur!
En tout cas, bien content que cet excellent jeu continue de vivre (de toute façon je le vois régulièrement avec aptitude update :D) et je suis curieux de voir cette histoire de ressource d'un peu plus près, parce que n'étant pas un grand joueur de trem, je me suis toujours un peu demandé comment le nombre de points à dépenser dans les structures était comptabilisé.
En plus, ça fait qu'a chaque partie que j'ai eue l'occasion de jouer les dispositions des bases étaient à peu près identiques.
Ce système de ressource va sûrement augmenter le nombre de points stratégiques et risque de changer radicalement le jeu, vers plus de stratégie encore, et ça, c'est bon!
Qui sait, ce jeu va peut-être devenir mon favori à force :D
Note: au sujet de la version alpha, il semble que le projet unvanquished compte rester en alpha tant qu'ils dépendent de ressources provenant de tremulous, ça n'est donc pas vraiment lié à l'état du code. Pour y avoir joué, je peux en tout cas affirmer que le jeu est léger (pas comme nexuiz quoi), stable, et ne manque pas de fonctionnalités, contrairement à l'appellation alpha.
[^] # prog par contrat
Posté par freem . En réponse au journal Chiselapp ferme ses portes. Évalué à 1.
Si le langage en est capable, il peut tester une partie du contrat statiquement:
Dans le cas de C++, langage que je connais le mieux, on peut par exemple utiliser le prototype pour dire que la méthode ne modifieras pas la classe, que tel paramètre est un paramètre d'entrée (passage par valeur ou en spécifiant const), d'entrée/sortie (passage de référence), ou juste de sortie (valeur de retour. Si on en veut plusieurs, on peut utiliser un tuple, mais perso je ne suis pas trop fan des tuple donc je préfère utiliser un paramètre normal avec une référence) et bien entendu, imposer le type.
Mais il est évident que tu ne peux pas vérifier que x>0 à la compilation… (quoique, si x est calculable à la compilation, C++11 nous a offert quelques outils pour ça)
En fait, je ne pense pas qu'il soit logique d'opposer les deux types de programmation: un contrat bien établi permet d'écrire des tests plus facilement, avec en plus la possibilité d'instrumenter le code en interne, ce qui peut rendre les bugs plus simples à reporter pour l'utilisateur.
J'ai encore pas mal de mauvaises pratiques, héritées de mon auto apprentissage et des cours que j'ai eus (il faut dire ce qui est), donc j'avoue avoir beaucoup de mal à écrire de tests unitaires quand je bosse sur mes projets persos. Au boulot, vue la tronche de l'environnement que j'ai eu la "chance" d'utiliser, je n'ai pas vraiment essayé… (Déjà si on pouvait commencer par clarifier le workflow, et utiliser un vrai VCS, ce serait un net progrès… m'en fout, dans 2 mois je me casse)
Après, comme je l'ai dis, je suis loin d'être expert dans le domaine de la prog par contrat, alors ma vision est peut-être très limitée. Le document qui m'a fait découvrir le concept est ici
[^] # Re: Tiling ?
Posté par freem . En réponse à la dépêche Terminology 0.3. Évalué à 0. Dernière modification le 03 avril 2013 à 15:40.
Désolé, vue l'audience de ce site, j'ai oublié que tout le monde n'est pas obligé de savoir ce que sont les DP.
Il s'agit d'un des modèles de conception (Design Pattern) du GoF (Gang of Four) qui sont en fait une liste des schémas que l'on rencontre pour ainsi dire presque tout le temps en prog.
Je te conseille de jeter un oeil aux articles wikipedia à leur sujet, ne serait-ce que les introductions, histoire d'entrevoir le principe, puis la liste, ça permet d'avoir une vue globale, et quand tu es confronté ensuite à un problème tu vas te dire "tiens, et si…".
Je parie même que tu en as déjà utilisés plusieurs sans le savoir en fait (si tu dev, bien sûr). Dans mon cas, ça a été le cas avec le composite en 1er (pour une lib template de gestionnaire de fenêtre, avec une implémentation SDL 1.2 et un début SFML 1.6, faudra que je m'y remette).
(citations de wikipedia: http://fr.wikipedia.org/wiki/Objet_composite)
Comme tu peux le voir, on est bien dans le cas du conteneur: un conteneur est une fenêtre spécialisée qui ne fait que contenir d'autres fenêtre (et donc, peut-être, des conteneurs).
J'adore ce DP au point d'avoir fini par coder un conteneur template en C++.
(Je doute que quelqu'un d'autre que moi s'en serve, mais au cas ou, j'ai repiqué la licence de boost. De toute façon, il est encore incomplet: il manque une bonne batterie de tests et de la doc.)
[^] # Re: Pas de révision d'historique
Posté par freem . En réponse au journal Chiselapp ferme ses portes. Évalué à 1.
Tu n'as rien raté, sauf qu'en fait la programmation par contrat, à ce que j'ai lu, consiste juste à définir ce que ta fonction attends/crache/ne change pas.
Tu peux ensuite les vérifier avec, effectivement, des assertions, si tu le souhaites.
C'est un peu comme tes tests, je n'ai rien raté si j'affirme qu'il ne s'agit que de petits programmes ;)
L'important n'est pas la technique utilisée, mais la façon de le faire, non?
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 5.
Ne pas oublier ceux qui nécessitent les cookies de sites tiers, sinon s'pas drôles.
Je plussoie le "fuck you, webmestres de merde" à 200% personnellement. Le pire, c'est qu'après ils se plaignent de devoir supporter les disparités entre navigateur… sic…
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à -3.
Et word serait incapable de supporter le format TXT?
Mon dieu…
Sinon, au pire, il me semble que FF intègre lui-même son propre éditeur de texte, non? Ou, du moins, que ses auteurs savent se servir d'une textbox (sinon, personne ici n'utilise FF?).
N'est-ce pas une belle alternative à word?
Les gens n'iront pas ouvrir un fichier dont ils ignorent la localisation, voire pire, l'existence, et je parie que tu le sais très bien.
[^] # Re: Internet
Posté par freem . En réponse à la dépêche Mozilla a 15 ans. Évalué à 1.
Je veux bien que l'on m'explique en quoi c'est mieux qu'un fichier texte, du coup, puisque justement, le fichier texte, lui, il a la possibilité des commentaires.
Et d'ailleurs, je ne dis pas non plus que le fichier texte est la panacée, juste que l'on ne peux pas décemment appeler about:config une interface.
Maintenant, tu me dis que c'est une excellente chose, et que l'utilisateur qui a besoin de modifier l'une de ces clés à les moyens d'aller chercher sur le net.
Soit.
Permets-moi un exemple.
Admettons, tu es un utilisateur de base, mais curieux. Tu sais qu'il existe d'autres browser que google, que, d'ailleurs, tu n'aime pas pour une raison qui t'es propre (j'en vois 3 immédiatement, dont une bidon pour l'user habituel: pas libre) et donc tu veux l'éradiquer.
Tu as réussi à l'enlever de la liste des moteurs de recherche, mais, zut, quand tu veux utiliser la barre d'URL pour ta recherche (plus simple: F6 et voila, et puis elle est plus grande cette barre après tout) voila que ce fichu moteur que tu n'aimes pas rapplique au quart de tour.
Et la, si tu ne connais pas l'existence de "about:config", tu fais comment? Même si tu la connais, tu n'y connais encore rien, tu es juste doté de curiosité et d'un cerveau, et tu as le message suivant qui s'affiche: "Attention, danger! […]". Tu fais quoi? Bah, vu que tu as un cerveau, et que tu sais que tu n'y connais encore rien, tu t'en vas…
J'ai testé plusieurs recherches (dont une avec le terme "about:config" quand même!), j'ai pas trouvé:
https://duckduckgo.com/?q=enlever+google+firefox+URL&kl=fr-fr&kp=1
https://duckduckgo.com/?q=enlever+google+firefox+%22about%3Aconfig%22&kl=fr-fr&kp=1
https://duckduckgo.com/?q=enlever+google+firefox&kp=1&kl=fr-fr
Je serai parano et/ou cynique, je dirais que cette option, qui devrait être accessible à tous, est sacrément bien planquée pour des raisons financières.
Ah… zut, je le suis, et je l'affirme, et tant pis pour la chasse aux sorcières: si mozilla a planqué cette option, pourtant pas sensible, dans la page des paramètres internes, c'est parce qu'ils dépendent de google. Pour un projet libre, navré, mais ça crains un max.
A ceux qui vont me dire qu'il faut bien se financer, je rétorquerais: Debian. Wesnoth. LibreOffice. Et j'en ai d'autres, qui ne me semblent pas faire de pub ni dissimuler des choses aux utilisateurs.
C'est vrai, tu as raison, c'est "tout le contraire, about:config, c'est génial d'avoir une abstraction…" mais alors, donnes moi au moins une raison qui fasse que c'est génial, mieux qu'un fichier texte.
Pour le coup, il s'agit uniquement d'une abstraction sur une BDD (sqlite3, dans ce cas précis), mais les BDD sont-elles vraiment des endroits pour stocker des configurations, de toute façon? Non, ce sont des outils pour accéder rapidement à de grandes quantités de données. Pas vraiment le cas d'une config, à mon avis.
Mais bon, les BDD, le XML, tout ça… c'est la mode, et les fichiers de texte, ça pue, c'est vieux, donc faut les abstraire.
Je me souviens de mes 1ers pas en info, à changer autorun.bat et system.ini. Ce n'est qu'après avoir compris la séquence de boot de w95 que j'ai commencé a aller plus loin.
Sans fichiers textes, sans options faciles à découvrir, en cultivant ce culte de l'abstraction, on risque pas d'avoir beaucoup de nouvelles vocations, je le crains.
[^] # Re: Pas de révision d'historique
Posté par freem . En réponse au journal Chiselapp ferme ses portes. Évalué à 0.
J'ai déjà jeté un oeil (donc, je n'ai pas creusé énormément) du côté du TDD, justement.
Le principe me semble réellement intéressant, mais la quantité de code de tests à écrire au début de l'application me semble quand même vachement excessive, puisque, selon les documents que j'ai lus à ce sujet il faudrait aller jusqu'a effectuer des tests pour tout, strictement tout…
Sachant que la moyenne de mes méthodes ne dépasse pas les 15 lignes (mes "algorithmes" se situent en fait plus dans le diagramme de classes, chacun s'occupant uniquement de ses affaires. Ca n'évite pas les bugs, mes le code est plus lisible pour moi, et 20 fois plus simple à réutiliser), j'imagine que tu peux comprendre qu'écrire 4 fois plus de code de test par classe que de code réel me semble trop lourd.
En gros, avec la programmation par contrat (de ce que j'en ai lu, je n'ai pas assez d'expérience avec pour me proclamer dev par contrat…) tu indiques au dev ce qu'il doit fournir à ta méthode -préconditions- (les langages à typage fort comme C++ permettent donc une vérification basique des contrats à la compilation, si les prototypes sont bien écrits), les invariants et les post-conditions. Si le contrat n'est pas respecté par l'appelante (mauvaises pré-conditions donc) le comportement est indéfini.
Du coup, il est simple de produire les tests, et si tu utilises pimpl (si je me lourde pas sur le nom), tu peux instrumenter très simplement le code, par exemple:
Personnellement, je préfère garder les vérifications de contrat en dehors de la version de débogage: ça consomme peut-être un peu de ressources, mais tu as la possibilité de faire des messages d'erreur clairs, que l'utilisateur peut te copier/coller (voire ton application t'envoie directement le rapport d'erreur par mail ou sur bugtracker, pourquoi pas, il suffirait d'implémenter un gros try{…}catch(std::exception &e){…} dans le main après tout) et qui t'indiquent quel bloc de code pose problème.
Du coup, pour détecter une merde dans le déploiement c'est assez pratique, je dois l'avouer, alors qu'il ne me semble pas que le TDD permette de vérifier que le problème vienne de l'installation de ton application, puisque les tests ne sont pas inclus dans le binaire (je ne crache pas sur TDD, au contraire, je ne fais que demander ce que tu en penses).
Ca, ça m'a déjà économisé pas mal de temps (et donc plus ça va, et plus j'utilise cette histoire de contrats) quand je balance mon boulot d'une de mes machines à une autre.
Et vu que ton contrat est clair, je me dis que si jamais à un moment… bon, ok, quand tu as une merde, il est simple d'ajouter un test de non régression, qui vérifie uniquement cette merde. Du coup, moins de "perte de temps" (note les guillemets) à écrire et maintenir des tests qui ne serviront potentiellement jamais, mais tu conserves la possibilité d'éviter une régression ou le retour d'un bug.
Je ne sais pas si je suis très clair, mais, je le répète: je ne suis expert ni dans le TDD, ni dans le CDD (en encore moins dans les CDI XD bon ok je sors)
[^] # Re: catholique
Posté par freem . En réponse au journal Nouvelle planète auto-hébergement. Évalué à 1.
Moi, non.
Molitor, en effet, ce n'est plus possible. De dire que c'est un mal de ne plus pouvoir démonter le mur d'un bâtiment classé puis de le remonter, même proprement, est en revanche quelque chose que je ne me risquerai pas a affirmer.
Les sarkoval, c'est aussi vrai, j'en ai fait un ou deux, et j'ai aussi (avant et après) fait un ou deux tekos, de ceux qui sont illégaux, la différence existe en effet, les sarkoval est bien plus oppressant à mes goûts. (Moi et mes frères avons d'ailleurs réussi à faire venir nos parents dans un teckos, histoire de leur montrer la réalité et pas ce que les médias en disent. Ils ont avoué ne pas du tout avoir imaginé la chose ainsi, et sont bien moins pénibles à ce sujet depuis…)
Pour ce qui est des prods, parmi les gens que je connais, qui eux, on connu la teuf fin 90, et qui posent encore, je pense qu'il ne faut pas se voiler la face: les prods, ça tourne oui, mais le type va dépendre du sound system qui pose.
Il ne faut pas oublier qu'il y a les teufeurs, et les toxico, aussi. Et il y a autant de toxico dans les autres mouvements donc bon…
Mais si je dis que la free n'est pas morte, ce n'est pas sur mes observations perso: je suis bien trop mal placé pour n'utiliser que mes propres observations: déjà, je suis un de ceux qui l'ont connue tard, et surtout je n'y vais que de temps en temps. Je ne me considère personnellement pas comme appartenant à ce milieu, tout au plus comme un sympathisant.
Non, c'est plutôt mes discussions avec ceux que je connais qui sont dans ce milieu depuis 15 ans… qui posent régulièrement depuis 10, organisent des multi-sons de temps en temps et accessoirement, se réjouissent du fait de ne plus voir de touristes (qu'il faut surveiller parce qu'ils font n'imp) en forêt entres autres.
Après, a voir le 1er mai. Je ne pense pas y aller, mais je suis curieux de voir ce qu'il va se passer. Les 20 ans, il me semble… Je pense vraiment que les teufeurs vont se laisser emmerder par le gouvernement.
Pour moi, et d'autres, le mouvement n'est pas mort, il est simplement revenu à "sa place": l'underground.