Tu supposes que l'utilisateur lit soigneusement le contenu des dialogues et des popups. Or souvent ils ne prennent pas le temps de les lire. Surtout pour ceux qui viennent de Windows. Ils ont l'habitude de se débarrasser des popups le plus vite possible, sans vraiment se demander de quoi il s'agit.
Ce n'est pas vraiment une question d'abrutir les gens. C'est une question de leur rendre la vie plus agréable en leur évitant de devoir enchainer des choix compliqués dont ils tiennent rarement tout les tenants et aboutissants.
Conduire une Renault ou une Peugeot ne fait sensiblement aucune différence pour moi. Acheter un mixeur Moulinex ou Philips ne changera non plus rien à ma vie.
Concernant les options toujours plus limitées dans Gnome, la logique est aussi de permettre à l'utilisateur de trouver l'option qu'il veut sans perdre de temps à nager parmi 237 options qui ne l’intéressent pas et ne l' intéresseront pas. Ça implique de virer les options qui ne sont utilisée que par <= 5% des utilisateurs. Forcément, ça frustre ses utilisateurs.
Corrigez moi si je me trompe, mais je crois que c'est MacOSX qui a lancé cette idée en premier (je pense par exemple au programme "Carnet d'adresse" et "Mail"). En fait, du point de vue de l'utilisateur lambda, ce n'est pas si bête: Il s'en fiche de savoir si il utilise Firefox, Iceweasel, Chromium, IE, ou je-ne-sais-quoi-d'autre. Il veut juste accéder au web, point.
Après, si cette habitude se répand, ça risque de prêter à confusion. Il faudra sûrement régulièrement demander aux personnes cherchant de l'aide d'aller dans "Aide -> À propos" pour savoir de quel programme elles parlent, ou bien encore leur demander quelle suite logicielle elles utilisent.
If the value of n is zero on a call to snprintf(), nothing shall be written, the number of bytes that would have been written had n been sufficiently large excluding the terminating null shall be returned, and s may be a null pointer.
C'est conforme au standard C99 et SUSv2 ne contredit pas C99. SUSv2 dit juste qu'il n'offre pas de garantie dans ce cas, mais C99, lui, en offre.
(Pour ceux qui auraient raté épisode précédent, vu que c'est dans un autre thread, on parle de l'appel à snprintf(NULL, 0, …))
1) Pour ma défense, la dernière fois que j'ai lu la page man de snprintf(), c'était au boulot, sous FreeBSD. Et le man FreeBSD ne mentionne pas SUSv2.
2) On a la norme SUSv2 qui dit "comportement indéterminé" (autrement, la libc fait ce qu'elle veut), et C99 dit "comportement déterminé" --> Quel est le problème avec supposer que la libc respecte la norme C99 ?
3) Pour ne pas être souvent dans "les cas spéciaux", il faut choisir un DEFAULT_SIZE assez, voir trop, large. Avec mon implémentation, la question ne se pose pas.
Ton code d'exemple me chiffonne un peu: Pourquoi faire un malloc() puis un realloc() ?
Ça peut être fait avec 2 appels à snprintf() et un seul malloc(). En effet, si tu spécifie une taille de buffer de 0 au 1er snprintf(), logiquement, il ne devrait pas chercher à remplir le buffer passé en argument. Par contre tu devrais quand même récupérer la taille finale de la chaine. Ça me semble plus court, plus lisible, et plus optimisé.
Au final, ça donne un truc dans ce genre là:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
static const char *format = "ceci est un test, %d";
static const int value = 42;
int str_length;
char *buffer;
str_length = snprintf(NULL, 0, format, value);
str_length++; /* '\0' */
buffer = malloc(str_length);
if (buffer == NULL)
{
fprintf(stderr, "Out of memory\n");
return EXIT_FAILURE;
}
snprintf(buffer, str_length, format, value);
printf("Out: %s\n", buffer);
free(buffer);
return EXIT_SUCCESS;
}
Le contenu des autres fichiers d'exemple est dans ce style:
// Se remet sur le WebBrowser
Screen.Positions #ItemIndex("0") #PageControl("PageControl_General")
Screen.Caption #Text("www.google.be") #ComboBox("ComboBox1")
Screen.Click #Button("Button24")
Je décline toute responsabilité des systemes basés sur le
principe de l'intelligence artificielle. L'ordinateur
pourrait en effet avoir des réponses non appropriées et pourrait
soit vous insulter directement, soit tenter de vous blesser
ou de vous tuer si cette dernière (A.I.) venait à être
connectée directement à de la domotique. C'est pour ces
raisons que MultiDeskOS a été remplacé par LivingOS avec son
coeur système indépendant et permettant d'éteindre le PC et ce,
même si ce dernier ne veut pas être éteint ou pique sa crise.
Pour ceux qui n'aurait pas la chance (que dis-je, le bonheur) d'avoir un Windows installé et opérationnel, je me suis permis de faire quelques captures d'écrans : http://jflesch.kwain.net/~jflesch/multideskos/
Mon petit doigt me dit que Jayce va vendre ça comme des petits pains … :)
NB: Pour les captures intitulées "wtf", c'est quand je n'ai pas compris à quoi ça servait.
Hm, exact, cette comparaison est foireuse aussi. Je pourrais tenter de proposer une autre, mais je pense avoir suffisamment saoulé les gens ici.
Je vais donc conclure. À défaut d'avoir su convaincre, j'espère juste avoir réussi à expliquer ici ce qui amène, selon moi, les motards à manifester aujourd'hui contre le gilet jaune ainsi que pour bien d'autres choses.
Hm, bien vu, l'un est un délit et l'autre est un crime.
Je propose donc une autre comparaison:
Chaque matin, un gamin se fait voler sur le chemin de l'école, toujours par les mêmes personnes. En bon citoyen, il va au commissariat pour signaler ses voleurs. Là, est-ce qu'il vous semblerait acceptable qu'un policier lui réponde "on a pas le budget, par contre, maintenant on s'assurera que tu prennes un autre chemin chaque matin" ?
Je précise ma comparaison:
- "se faire faire voler" --> "risquer ses miches à cause d'une mauvaise infrastructure routière ou d'inattention de la part d'autres conducteurs"
- "signaler ses voleurs" --> les antennes FFMC locales travaillent régulièrement avec les autorités locales pour signaler et faire rectifier les zones dangereuses (carrefour sans visibilité, poteaux courts idéal pour empaler les gens, zones de travaux mal signalées, etc). La FFMC demande aussi régulièrement au niveau national à ce que les barrières de sécurité soit enfin doublées. La FFMC demande aussi une meilleure formation, aussi bien des automobilistes que des 2 roues.
- "on a pas le budget" --> l'explication (non-officielle) qu'on peut parfois entendre pour justifier que les barrières ne soient pas doublées mais que des radars soient installés partout.
- "on s'assurera que tu prennes un autre chemin" --> "paf gilet jaune"
Alors que le fait de porter une jupe n'est pas la cause d'un viol.
Et qu'est-ce que tu en sais ? Tu sais ce qu'il y a dans la tête d'un violeur ?
Pour le reste, je ne vois pas en quoi ça serait aux victimes de changer leurs habitudes. Corrigez moi si je me trompe, mais ce n'est pas comme ça que la justice est sensée fonctionner.
merci de garder tes comparaisons de merde pour toi.
Je pense être resté courtois jusqu'à présent, j'apprécierais que tu en fasses de même.
Tu vois pas la différence entre "metez un gilet jaune, on vous verra mieux et vous aurez moins de risque d'être renversé" et "si on vous renverse, c'est de votre faute, vous avez qu'a être plus visible" ? Je ne peux plus rien pour toi !
La différence te semble évidente. Pas à moi. Que ce soit dans la 1ère formulation ou la 2ième, on impose à la victime de s'arranger pour ne plus en être une. Du coup, dans les 2 cas, on sous-entend que c'est de sa faute.
Je serais curieux que tu m'expliques la différence que toi tu vois si clairement.
Tout les motards que je connais ont déjà été au moins une fois victime d'un accident avec une voiture (sauf un, mais je le soupçonne de bluffer :). Pourtant ces mêmes victimes manifestent aujourd'hui contre le port obligatoire du gilet jaune (et par rapport à bien d'autres points, comme le doublement des barrières de sécurité, l'amélioration de la formation des automobilistes et des 2 roues, etc).
Après ils restent ceux qui sont morts, mais ça va être plus compliqué de leur demander leur avis.
Qu'il y ait des lois pour empêcher les abus en tout genre, je le comprend très bien. À partir de là, la question me semble être "est-ce que ne pas porter un gilet jaune quand on est en moto est un abus ?".
[^] # Re: Extinction... ah ouais mais
Posté par Jérôme Flesch (site web personnel) . En réponse à la dépêche GNOME 3.6 : en route vers GNOME 4.0 !. Évalué à 4.
Tu supposes que l'utilisateur lit soigneusement le contenu des dialogues et des popups. Or souvent ils ne prennent pas le temps de les lire. Surtout pour ceux qui viennent de Windows. Ils ont l'habitude de se débarrasser des popups le plus vite possible, sans vraiment se demander de quoi il s'agit.
[^] # Re: nom des applications
Posté par Jérôme Flesch (site web personnel) . En réponse à la dépêche GNOME 3.6 : en route vers GNOME 4.0 !. Évalué à 2.
Ce n'est pas vraiment une question d'abrutir les gens. C'est une question de leur rendre la vie plus agréable en leur évitant de devoir enchainer des choix compliqués dont ils tiennent rarement tout les tenants et aboutissants.
Conduire une Renault ou une Peugeot ne fait sensiblement aucune différence pour moi. Acheter un mixeur Moulinex ou Philips ne changera non plus rien à ma vie.
Suggestion de lecture
Concernant les options toujours plus limitées dans Gnome, la logique est aussi de permettre à l'utilisateur de trouver l'option qu'il veut sans perdre de temps à nager parmi 237 options qui ne l’intéressent pas et ne l' intéresseront pas. Ça implique de virer les options qui ne sont utilisée que par <= 5% des utilisateurs. Forcément, ça frustre ses utilisateurs.
[^] # Re: nom des applications
Posté par Jérôme Flesch (site web personnel) . En réponse à la dépêche GNOME 3.6 : en route vers GNOME 4.0 !. Évalué à 3.
Corrigez moi si je me trompe, mais je crois que c'est MacOSX qui a lancé cette idée en premier (je pense par exemple au programme "Carnet d'adresse" et "Mail"). En fait, du point de vue de l'utilisateur lambda, ce n'est pas si bête: Il s'en fiche de savoir si il utilise Firefox, Iceweasel, Chromium, IE, ou je-ne-sais-quoi-d'autre. Il veut juste accéder au web, point.
Après, si cette habitude se répand, ça risque de prêter à confusion. Il faudra sûrement régulièrement demander aux personnes cherchant de l'aide d'aller dans "Aide -> À propos" pour savoir de quel programme elles parlent, ou bien encore leur demander quelle suite logicielle elles utilisent.
[^] # Re: Pourquoi malloc() puis realloc() ?
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 3.
Retournement de situation:
Le man parle de SUSv2 alors que SUSv3 (aka POSIX.1-2001) et SUSv4 (aka POSIX.1-2008) existent. Et il semblerait que SUSv3 corrige le comportement de snprintf() pour le rendre C99-compliant:
[^] # Re: Pourquoi malloc() puis realloc() ?
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 1.
Arh, effectivement, je retire ce que j'ai dit au point 2. Il faut vraiment que je prenne le temps de lire plus soigneusement le man …
[^] # Re: Simplification
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 0. Dernière modification le 09 septembre 2012 à 23:41.
Hm, ok, je note, ne plus lire le man et poster après 23h … les 2 standards se contredisent bel et bien …
hmbref, +1 pour ta solution donc :)
[^] # Re: Simplification
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 0.
C'est conforme au standard C99 et SUSv2 ne contredit pas C99. SUSv2 dit juste qu'il n'offre pas de garantie dans ce cas, mais C99, lui, en offre.
(Pour ceux qui auraient raté épisode précédent, vu que c'est dans un autre thread, on parle de l'appel à snprintf(NULL, 0, …))
[^] # Re: Pourquoi malloc() puis realloc() ?
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 3. Dernière modification le 09 septembre 2012 à 13:36.
1) Pour ma défense, la dernière fois que j'ai lu la page man de snprintf(), c'était au boulot, sous FreeBSD. Et le man FreeBSD ne mentionne pas SUSv2.
2) On a la norme SUSv2 qui dit "comportement indéterminé" (autrement, la libc fait ce qu'elle veut), et C99 dit "comportement déterminé" --> Quel est le problème avec supposer que la libc respecte la norme C99 ?
3) Pour ne pas être souvent dans "les cas spéciaux", il faut choisir un DEFAULT_SIZE assez, voir trop, large. Avec mon implémentation, la question ne se pose pas.
# Pourquoi malloc() puis realloc() ?
Posté par Jérôme Flesch (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 3. Dernière modification le 09 septembre 2012 à 13:10.
Ton code d'exemple me chiffonne un peu: Pourquoi faire un malloc() puis un realloc() ?
Ça peut être fait avec 2 appels à snprintf() et un seul malloc(). En effet, si tu spécifie une taille de buffer de 0 au 1er snprintf(), logiquement, il ne devrait pas chercher à remplir le buffer passé en argument. Par contre tu devrais quand même récupérer la taille finale de la chaine. Ça me semble plus court, plus lisible, et plus optimisé.
Au final, ça donne un truc dans ce genre là:
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 2.
Euh non, Siri comprend parfois ce que tu dis, lui …
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 1.
Aucune de ces commandes ne renvoi de résultat apparemment.
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 1.
Effectivement, c'était ma faute, j'ai lu la doc en biais. J'ai mis à jour la dernière capture d'écran en conséquence.
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 1.
C'est une VM VirtualBox qui tourne sur un ordinateur fixe.
Tu noteras qu'il n'y a pas d'icone pour la batterie dans la barre des tâches. Par contre une batterie apparait dans le gestionnaire de périphériques.
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 1.
J'oubliais:
Le contenu des autres fichiers d'exemple est dans ce style:
Ça fait vachement moins IA pour le coup :)
[^] # Re: Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 2. Dernière modification le 15 août 2012 à 16:11.
Bonne question, essayons …
Étape 1: Lire la doc
Dans le aide.txt:
Hm, j'ai confiance là …
Étape 2: Essayer
On charge les commandes
Depuis un fichier
Et on lance la 1ère
Tada
Étape 3: Expérimenter
Single command
Mon essai
et floup.
Étape 4: Conclure
Je ne suis pas impressionné.
# Capture d'écrans
Posté par Jérôme Flesch (site web personnel) . En réponse au journal MultiDesk OS en version 2.0. Évalué à 10.
Pour ceux qui n'aurait pas la chance (que dis-je, le bonheur) d'avoir un Windows installé et opérationnel, je me suis permis de faire quelques captures d'écrans : http://jflesch.kwain.net/~jflesch/multideskos/
Mon petit doigt me dit que Jayce va vendre ça comme des petits pains … :)
NB: Pour les captures intitulées "wtf", c'est quand je n'ai pas compris à quoi ça servait.
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 1.
Hm, exact, cette comparaison est foireuse aussi. Je pourrais tenter de proposer une autre, mais je pense avoir suffisamment saoulé les gens ici.
Je vais donc conclure. À défaut d'avoir su convaincre, j'espère juste avoir réussi à expliquer ici ce qui amène, selon moi, les motards à manifester aujourd'hui contre le gilet jaune ainsi que pour bien d'autres choses.
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 1. Dernière modification le 19 avril 2012 à 17:04.
Hm, bien vu, l'un est un délit et l'autre est un crime.
Je propose donc une autre comparaison:
Chaque matin, un gamin se fait voler sur le chemin de l'école, toujours par les mêmes personnes. En bon citoyen, il va au commissariat pour signaler ses voleurs. Là, est-ce qu'il vous semblerait acceptable qu'un policier lui réponde "on a pas le budget, par contre, maintenant on s'assurera que tu prennes un autre chemin chaque matin" ?
Je précise ma comparaison:
- "se faire faire voler" --> "risquer ses miches à cause d'une mauvaise infrastructure routière ou d'inattention de la part d'autres conducteurs"
- "signaler ses voleurs" --> les antennes FFMC locales travaillent régulièrement avec les autorités locales pour signaler et faire rectifier les zones dangereuses (carrefour sans visibilité, poteaux courts idéal pour empaler les gens, zones de travaux mal signalées, etc). La FFMC demande aussi régulièrement au niveau national à ce que les barrières de sécurité soit enfin doublées. La FFMC demande aussi une meilleure formation, aussi bien des automobilistes que des 2 roues.
- "on a pas le budget" --> l'explication (non-officielle) qu'on peut parfois entendre pour justifier que les barrières ne soient pas doublées mais que des radars soient installés partout.
- "on s'assurera que tu prennes un autre chemin" --> "paf gilet jaune"
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 0. Dernière modification le 19 avril 2012 à 15:59.
Et qu'est-ce que tu en sais ? Tu sais ce qu'il y a dans la tête d'un violeur ?
Pour le reste, je ne vois pas en quoi ça serait aux victimes de changer leurs habitudes. Corrigez moi si je me trompe, mais ce n'est pas comme ça que la justice est sensée fonctionner.
Je pense être resté courtois jusqu'à présent, j'apprécierais que tu en fasses de même.
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à -2.
Donc en suivant cette logique, on devrait interdire aux femmes de s'habiller en mini-jupes, pour ne pas provoquer inutilement les violeurs ?
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 1.
Si ils se souciaient effectivement de notre sécurité:
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 0.
La différence te semble évidente. Pas à moi. Que ce soit dans la 1ère formulation ou la 2ième, on impose à la victime de s'arranger pour ne plus en être une. Du coup, dans les 2 cas, on sous-entend que c'est de sa faute.
Je serais curieux que tu m'expliques la différence que toi tu vois si clairement.
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 1.
Tout les motards que je connais ont déjà été au moins une fois victime d'un accident avec une voiture (sauf un, mais je le soupçonne de bluffer :). Pourtant ces mêmes victimes manifestent aujourd'hui contre le port obligatoire du gilet jaune (et par rapport à bien d'autres points, comme le doublement des barrières de sécurité, l'amélioration de la formation des automobilistes et des 2 roues, etc).
Après ils restent ceux qui sont morts, mais ça va être plus compliqué de leur demander leur avis.
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 1.
Qu'il y ait des lois pour empêcher les abus en tout genre, je le comprend très bien. À partir de là, la question me semble être "est-ce que ne pas porter un gilet jaune quand on est en moto est un abus ?".
[^] # Re: Votez pour moi!
Posté par Jérôme Flesch (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 2. Dernière modification le 19 avril 2012 à 10:25.
Et est-ce que cette nouvelle distinction te semble pertinente dans la discussion en cours ?
Parce-qu'on peut pousser le vice plus loin: