1950

grin
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

1951

genre ca va te gêner de changer brutalement de sujet embarrassed

1952

Fait gaffe ou je troll sur java pour smartcard embarrassed
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

1953

si tu savais ce que j'en pense déja tu trouverais que ton potentiel troll fait grise mine embarrassed

1954

1955

C'te troll grin

1956

C'est rigolo, mais faudrait le normaliser embarrassed

1957

Folco: Spas du troll, c'est de la donnée brute embarrassed

1958

MÉÉÉÉÉÉÉÉÉÉÉÉ EUH !
Capture-d%E2%80%99%C3%A9cran-2013-09-16-%C3%A0-18.47.46.png
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

1959

Kevin Kofler (./1946) :
Il y a aussi des commentaires formulés différemment, par exemple:
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
On va dire une dizaine.
CMake est en C++, pas en Python.
Je sais grin

sma()
                Done
gni
Déjà, comme il n'y a pas de macro standard pour trouver les kdelibs avec les autotools (normal, les autotools sont dépréciés dans KDE depuis des années, il faut utiliser CMake), les projets ont tous leurs propres bidouilles, et la plupart ne prend aucune option. Et ensuite, passer une telle option à chaque configure nécessiterait quand-même de modifier tous les specfiles; avec CMake, c'est un seul (le paquetage qui contient FindKDE4Internal.cmake, installé dans le système).
Donc si on a installé un autre ensemble de libs KDE4 dans le système, et qu'on veut les utiliser, çà à l'air bien sympa de les utiliser avec CMake. smile
(Sinon y'avait la solution de fournir un pkg_config à KDE4)
Certains paquetages utilisent effectivement ça (c'est la solution la plus propre), mais ça a d'autres inconvénients (par exemple, le risque de se taper une incompatibilité entre versions), et donc certains packagers préfèrent utiliser des workarounds beaucoup plus sales dans leurs paquetages.
Le risque est normalement mineur.
Et puis, à quoi bon livrer les fichiers prégénérés si on doit de toute façon les regénérer?
C'est dans le cas où le libtool livré est trop vieux... et pour les packageurs... roll
Le bordel infâme que génère automake n'est pas mieux.
J'arrive à les comprendre et à les hacker pour faire ce que je veux, au moins.
Sauf s'il doit regénérer les fichiers, soit pour corriger un bogue des générateurs (ou des fichiers copiés tels quels) (comme le cas de libtool ci-dessus), soit parce qu'il veut exercer son droit de modification sur le logiciel libre.
Et bien il le fait. Cela ne pose en général vraiment pas de problème sauf si on a pas installé les autotools.
Tu peux redéfinir pratiquement tous les chemins détectés par Find*.cmake si ceux qu'il te trouve ne te conviennent pas.
Sûrement.

1960

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

1961

C'est dingue d'avoir des programmes comme ça. A plusieurs niveaux je trouve, fiabilité, maintenabilité, réutilisabilité, mais même au niveau des contributions dans un projet, trois lignes à la con qqpart et tout part en vrille. M'enfin, si "c'est bien", c'est que je dois pas comprendre les choses...

1962

Dans le cas de l'exemple en Java, c'est étonnant que ce truc "marche" (autrement dit, que ces valeurs ne soient pas read-only), mais il faut quand même le faire exprès : ce n'est pas quelque chose qui peut se produire par accident, apparemment.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

1963

Déjà je ne comprends pas pourquoi java fournit un cache pour les entiers ?

1964

c'est comme des singletons. python fait pareil.

1965

Un singleton sur les entiers ?

1966

Uniquement pour les premiers entiers, non ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

1967

(ceux de -128 à +127, d'après les commentaires)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

1968

Folco (./1961) :
C'est dingue d'avoir des programmes comme ça. A plusieurs niveaux je trouve, fiabilité, maintenabilité, réutilisabilité, mais même au niveau des contributions dans un projet, trois lignes à la con qqpart et tout part en vrille. M'enfin, si "c'est bien", c'est que je dois pas comprendre les choses...
Il est évident que modifier des champs techniques comme cela, c'est pas une bonne idée et ça n'a pas le moindre intérêt pratique. Persone n'utiliserait ça dans un vrai programme.
Mais heureusement, là il s'agit de champs techniques qu'on est pas près d'utiliser sans faire exprès : il faut déjà savoir comment trouver le cache d'entiers car son accès n'est pas documenté. Ensuite il s'agit d'un champs privé dont on force son l'accès via setAccessible(true) : c'est le genre de manœuvre dont on sait que ça peut conduire a n'importe quoi sur un objet que l'on ne maîtrise pas. D'ailleurs cette manœuvre peut être interdite suivant les réglages de sécurité de la JVM.
En C ou au C++ ou il est très facile de faire des trucs incorrects avec la mémoire qui vont provoquer des comportements complètement inattendus sans s'en rendre compte.
PpHd (./1963) :
Déjà je ne comprends pas pourquoi java fournit un cache pour les entiers ?
C'est un des fâcheuses conséquences de l'auto-boxing qui permet de convertir automatiquement les types primitif (byte,short, int, ...) dans leur représentation équivalente sous forme d'objet (Byte,Short, Integer, ...). Pour éviter de ré-allouer systématiquement un objet pour chaque nombre, les objets correspondant aux nombres de -128 à 127 sont mis en cache.
avatar

1969

joe@nuc:~$ python
Python 2.7.5+ (default, Sep 17 2013, 15:31:50)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>>
>>> def deref(addr, typ):
...     return ctypes.cast(addr, ctypes.POINTER(typ))
...
>>> deref(id(4), ctypes.c_int)[4] = 5
>>> 2+2
5
>>> exit()

bon, hein, pouet-pouet...

et on peut écrire bien d'autres horreurs...
https://www.reddit.com/r/Python/comments/2441cv/can_you_change_the_value_of_1/

1970

Uther (./1968) :
PpHd (./1963) :
Déjà je ne comprends pas pourquoi java fournit un cache pour les entiers ?
C'est un des faucheuses conséquences de l'auto-boxing qui permet de convertir automatiquement les types primitif (byte,short, int, ...) dans leur représentation équivalente sous forme d'objet (Byte,Short, Integer, ...). Pour éviter de ré-allouer systématiquement un objet pour chaque nombre, les objets correspondant aux nombres de -128 à 127 sont mis en cache.
Le tout parce que le Java n'a pas de vrai type Variant (genre QVariant, mais même le vieux VB avec tous ses défauts avait un type Variant!) et abuse du type Object pour tout. Le tout encore empiré par l'absence de génériques type-safe (ce qui fait qu'on se trimballe des Object de partout en interne au lieu d'avoir du code automatiquement optimisé pour les types primitifs).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

1971

squalyl (./1969) :
joe@nuc:~$ python
Python 2.7.5+ (default, Sep 17 2013, 15:31:50)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>>
>>> def deref(addr, typ):
...     return ctypes.cast(addr, ctypes.POINTER(typ))
...
>>> deref(id(4), ctypes.c_int)[4] = 5
>>> 2+2
5
>>> exit()

bon, hein, pouet-pouet...

et on peut écrire bien d'autres horreurs...
https://www.reddit.com/r/Python/comments/2441cv/can_you_change_the_value_of_1/
bang

1972

C'est quand-même assez collector comme topic grin J'aime beaucoup l'addition de décibels grin
avatar

1973

Kevin Kofler (./1970) :
Le tout parce que le Java n'a pas de vrai type Variant (genre QVariant, mais même le vieux VB avec tous ses défauts avait un type Variant!) et abuse du type Object pour tout. Le tout encore empiré par l'absence de génériques type-safe (ce qui fait qu'on se trimballe des Object de partout en interne au lieu d'avoir du code automatiquement optimisé pour les types primitifs).
Alors autant le fait qu'il n'y ait pas de génériques forts est un soucis, autant je suis très content que Java n'ait pas de Variant à la VB, c'est une saloperie dont je me passe très bien.
avatar

1974

Un Variant, c'est en général un void*, et le type exact est même vérifiable à la compilation, du moins avec Qt. Je ne vois pas ce qu'il y a de si dégueulasse là-dedans

1975

[post obsolète suite à l'edit d'Uther supprimé]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

1976

Folco > void* c'est bien moisi, stout embarrassed

1977

Folco (./1974) :
Un Variant, c'est en général un void*, et le type exact est même vérifiable à la compilation, du moins avec Qt. Je ne vois pas ce qu'il y a de si dégueulasse là-dedans
Le problème du VB est surtout que, pour permettre aux programmeurs paresseux de ne pas déclarer leurs variables, tout est Variant par défaut, ce qui donne du code qui marche, mais rame à fond.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

1978

Pen² -> ça dépend à quel niveau tu travailles, mais une libc en C ne peut pas faire mieux pour des callbacks, par exemple. Le fait d'avoir des Variant au type contrôlable est un net progrès je trouve.

1979

Folco (./1974) :
Un Variant, c'est en général un void*, et le type exact est même vérifiable à la compilation, du moins avec Qt. Je ne vois pas ce qu'il y a de si dégueulasse là-dedans
Je parlais du variant VB.
Je n'avais jamais utilisé QVariant en Qt, je viens de regarder la doc, ça m'a l'air d'un vilain hack spécifique aux classes Qt, dont je n'ai pas vraiment compris l’intérêt. Je ne vois pas en quoi ça vérifie le type a la compilation, ce serait de toute façon bizarre puisque pour moi tout l’intérêt du principe de variant est justement d’échapper à ça.
avatar

1980

Ce que fait QVariant est de stocker un numéro de type, contrairement aux unions où on peut mettre un entier et le lire comme un flottant (avec les mêmes bits). (Si tu mets un entier dans un QVariant et récupères un flottant, le nombre sera automatiquement converti correctement.) De plus, ça permet de mettre des types non-triviaux et garantir que le bon destructeur sera appelé. En interne, c'est un champ pour le numéro de type et une union, les types complexes sont évidemment mis dans l'union sous forme de pointeurs.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité