Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#926 Le 25/03/2013, à 20:01

Elzen

Re : /* Topic des codeurs [8] */

Oups pour le nom ^^" Corrigé.

Pour la note, corrigé la faute de frappe, mais je préfère la laisser dans cet état-là pour le moment ; j'vais y réfléchir.
Edit : bon, si, j'ai remanié quand même. C'est mieux ?

Merci, en tout cas wink

Dernière modification par Elzen (Le 25/03/2013, à 20:06)

Hors ligne

#927 Le 25/03/2013, à 20:35

Kanor

Re : /* Topic des codeurs [8] */

Les domaines de second niveau sont à réserver auprès d'un registrar, un organisme mandaté par l'ICANN pour gérer ce genre de choses

je pense que l'icann ne gère seulement ces  domaine de premier niveau par exemple pour le .fr il faut étre mandaté par l'AFNIC.
https://www.icann.org/registrar-reports … -list.html
on peux obtenir ces information avec dig

$dig fr

; <<>> DiG 9.8.1-P1 <<>> fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45993
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;fr.				IN	A

;; AUTHORITY SECTION:
fr.			4426	IN	SOA	nsmaster.nic.fr. hostmaster.nic.fr. 2222271966 3600 1800 3600000 5400

;; Query time: 25 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Mar 25 19:58:45 2013
;; MSG SIZE  rcvd: 80

avec pour autorité des domaines de l'afnic

et donc corriger aussi ce paragraphe

(Il existe un « serveur DNS primaire », géré par l'ICANN, qui connaît les serveurs DNS gérant les domaines de premier niveau,

et attention il peux avoir plus de deux niveau géré par un organisme
voir la par exemple
http://www.bortzmeyer.org/trouver-domai … sable.html
avec le cas du lg.jp

qui contredit ce paragraphe

Le reste du nom, qu'il y ait ou non encore quelques points dedans, constitue le domaine de troisième niveau, et c'est à la personne qui a réservé le domaine de deuxième niveau de le gérer.

qui voit passer quelques requêtes par jour,

quelques, j'aurais pas utilisé le terme pour plus d'un millions de requête par jour tongue

L'information est ensuite « mise en cache » (c'est-à-dire, mémorisée) par les intermédiaires, qui espèrent par là avoir l'air moins ignares la prochaine fois qu'on leur demandera. Ce qui fait que la liaison est toujours un peu plus rapide les fois suivantes.

/!\ la durée du cache est en fonction de la configuration au niveau du dns, spécifié par Time to live (ttl)


A la fin peut être indiquer une notion de la méthode HTTP utilisé par défaut GET, et après réflexion peut étre faire deux article différent entre DNS et l'organisation d'une URL


Ah aussi, peut être indiquer en note qui va bientôt avoir plein de nouveau domaine de premier niveau des .book .music …
http://www.lemondeinformatique.fr/actua … 47368.html

Dernière modification par Kanor (Le 25/03/2013, à 20:59)

Hors ligne

#928 Le 25/03/2013, à 22:34

caracolito

Re : /* Topic des codeurs [8] */

grim7reaper a écrit :

Tu veux émuler ça (le CAE-130) ?

Le CAE 130 c'est l'ancien...


La mente es igual que un Paracaidas, Solo sirve si se abre . A.Eistein

Hors ligne

#929 Le 25/03/2013, à 23:48

grim7reaper

Re : /* Topic des codeurs [8] */

@The Uploader (et aux autres qui voulaient jeter un œil) : INIConfig est en ligne (merci Rolinh smile).
J’attends vos remarques sur mon premier code Ruby ^^ (et aussi sur mon anglais si vous voulez, ça doit pas être très glorieux de ce côté-là non plus hmm (surtout écrit en coup de vent entre deux portes…))

La bidouille avec ALSA devrait arriver demain, mais comme c’est plus une PoC qu’un truc que je veux vraiment maintenir il y aura juste une tarball, pas de dépôt.

Hors ligne

#930 Le 26/03/2013, à 00:16

Rolinh

Re : /* Topic des codeurs [8] */

@grim: ça passe très bien avec Ruby 2.0. A première vue, ça m'a l'air super propre et très bien documenté. smile
J'ai vu quelques typos et fautes d'anglais effectivement. Je peux te faire un patch (enfin, peut-être pas ce soir, mon lit m'appelle) si tu le souhaites.

Hors ligne

#931 Le 26/03/2013, à 00:20

The Uploader

Re : /* Topic des codeurs [8] */

Style :
100% Rubyesque seal of approval !

DRY :
peut-être réduire la méthode INIConfig#parse (y'a du code similaire autour de 'match') mais je vois pas trop comment. Et ce sera peut-être au prix de la lisibilité

Anglais :
README.md :

It is used.
It is used to store configuration data, it is less complex and more readable

INIConfig.rb :

It allows read existing file as well creating new.

serait plutôt :

It allows to read existing files as well as creating new ones
#   - +INIError+ -> if the section already exist.

serait plutôt :

#   - +INIError+ -> if the section already exists.
#   - +section+ -> name of the section inside which to delete the option.

serait plutôt :

#   - +section+ -> name of the section containing the option to be deleted
(instead of change the encoding of each lines)

serait plutôt :

(instead of changing the encoding of each lines)
# If we arrive here that means the current line is not a comment, not
# a section declaration, not an option declaration and not an "empty"
# line.

serait plutôt :

# If we arrive here that means the current line is neither a comment, nor
# a section declaration, nor an option declaration, nor an "empty"
# line.

(ni...ni en français = neither...nor en anglais)

# Writes a configuration object into a file.
#   - +encoding+ -> the encoding to be used on the file.

C'est pas plutôt 'in' que 'or' si tu écris dans un fichier ?

(je crois que c'est tout même si j'ai lu un peu vite)

J'ai plus de catégorie :
Aussi ces deux lignes :

quoted_value << value[0 ... match.end(0) - 1]
value = value.strip()[0 ... -1]

Ont un "three doted Range" :
http://www.tutorialspoint.com/ruby/ruby_ranges.htm

The first and perhaps most natural use of ranges is to express a sequence. Sequences have a start point, an end point, and a way to produce successive values in the sequence.

Ruby creates these sequences using the ''..'' and ''...'' range operators. The two-dot form creates an inclusive range, while the three-dot form creates a range that excludes the specified high value.

Rien à redire, sauf que je trouve qu'il se confond trop facilement avec le Range à deux points. Mais je sais plus s'il y a une méthode plus explicite pour avoir un équivalent.

Dernière modification par The Uploader (Le 26/03/2013, à 00:45)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#932 Le 26/03/2013, à 00:33

Elzen

Re : /* Topic des codeurs [8] */

Kanor a écrit :

quelques, j'aurais pas utilisé le terme pour plus d'un millions de requête par jour tongue

J'ai lu trop rapidement le message de bbayart dans l'article cité en note :

Benjamin Bayart a écrit :

Donc, le serveur racine, il verra passer quelques requêtes par jour lui parlant de fr, pas plus

Et j'ai naïvement négligé les autres domaines de premier niveau.

Remanié pour plusieurs des points sus-cités.

Kanor a écrit :

A la fin peut être indiquer une notion de la méthode HTTP utilisé par défaut GET, et après réflexion peut étre faire deux article différent entre DNS et l'organisation d'une URL

Bah, j'pense que tout peut tenir dans un seul, sauf à rentrer beaucoup plus dans le détail. Je verrai en fonction des questions que j'aurai, vu que pour le moment, personne n'a répondu là-bas (:P)

Pour la première partie de la quote, t'peux repréciser ce que tu veux dire ? :s

Hors ligne

#933 Le 26/03/2013, à 06:42

grim7reaper

Re : /* Topic des codeurs [8] */

Rolinh a écrit :

@grim: ça passe très bien avec Ruby 2.0.

Cool smile
Je vise pas spécialement la compat’ Ruby 1.8, mais 1.9 et supérieure oui.

Rolinh a écrit :

A première vue, ça m'a l'air super propre et très bien documenté. smile

Meric smile

Rolinh a écrit :

J'ai vu quelques typos et fautes d'anglais effectivement. Je peux te faire un patch (enfin, peut-être pas ce soir, mon lit m'appelle) si tu le souhaites.

Ok, j’ai déjà pris en compte celles de The Uploader, si tu en vois d’autres tu peux bien sûr smile



The Uploader a écrit :

Style :
100% Rubyesque seal of approval !

Merci smile

The Uploader a écrit :

DRY :
peut-être réduire la méthode INIConfig#parse (y'a du code similaire autour de 'match') mais je vois pas trop comment. Et ce sera peut-être au prix de la lisibilité

Idem, je ne vois pas trop comment changer, si ce n’est au prix de la lisibilité hmm

The Uploader a écrit :

Anglais :
[…]

Done wink

The Uploader a écrit :
# Writes a configuration object into a file.
#   - +encoding+ -> the encoding to be used on the file.

C'est pas plutôt 'in' que 'or' si tu écris dans un fichier ?

J’ai un doute aussi, je laisse comme ça en attendant un autre avis pour départager ^^

The Uploader a écrit :

J'ai plus de catégorie :
Aussi ces deux lignes :

quoted_value << value[0 ... match.end(0) - 1]
value = value.strip()[0 ... -1]

Ont un "three doted Range" :
http://www.tutorialspoint.com/ruby/ruby_ranges.htm

The first and perhaps most natural use of ranges is to express a sequence. Sequences have a start point, an end point, and a way to produce successive values in the sequence.

Ruby creates these sequences using the ''..'' and ''...'' range operators. The two-dot form creates an inclusive range, while the three-dot form creates a range that excludes the specified high value.

Rien à redire, sauf que je trouve qu'il se confond trop facilement avec le Range à deux points. Mais je sais plus s'il y a une méthode plus explicite pour avoir un équivalent.

Bah après, il faut passer par le constructeur de la classe Range et mettre explicitement exclude_end à true ou false, mais je trouve que ça commence à faire un peu verbeux quoi hmm



Merci de vos retours smile
Bon, pour un premier jet en Ruby ça semble plutôt bon (meilleur que mon anglais en tout cas tongue)

Dernière modification par grim7reaper (Le 26/03/2013, à 06:42)

Hors ligne

#934 Le 26/03/2013, à 09:59

Rolinh

Re : /* Topic des codeurs [8] */

@grim: mini patches envoyés wink
Pour le ruby, je ne suis de toute façon pas un expert mais un ami qui maîtrise bien Ruby y a aussi jeté un oeil et n'a rien trouvé à redire (et complimenté le niveau de documentation et le côté "très clean" du code (le contraire m'eu étonné de ta part en même temps...)).

EDIT: dites, les férus de git, j'ai une question. Pour dfc j'ai deux branches dans mon dépôt: master, dans laquelle je fais les derniers développement et stable dans laquelle je ne compte merger que des bugfix pour la dernière version stable sortie. Je souhaite corriger quelques bugs (2 en fait) mais je ne sais pas qu'elle serait la bonne façon de faire. Un commit dans la branche master puis cherry-pick de ce commit dans la branche stable? Ou bien commit dans la branche stable et on rapatrie ça dans la branche master (cette dernière façon me semble moins logique). Une meilleure suggestion?

Dernière modification par Rolinh (Le 26/03/2013, à 10:39)

Hors ligne

#935 Le 26/03/2013, à 13:56

sweetly

Re : /* Topic des codeurs [8] */

Un cherry-pick me paraît très bien.

Hors ligne

#936 Le 26/03/2013, à 14:43

The Uploader

Re : /* Topic des codeurs [8] */

Cas classique pour le cherry pick, AMHA.


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#937 Le 26/03/2013, à 19:04

grim7reaper

Re : /* Topic des codeurs [8] */

Rolinh a écrit :

@grim: mini patches envoyés wink

Appliqué smile

Rolinh a écrit :

Pour le ruby, je ne suis de toute façon pas un expert mais un ami qui maîtrise bien Ruby y a aussi jeté un oeil et n'a rien trouvé à redire (et complimenté le niveau de documentation et le côté "très clean" du code (le contraire m'eu étonné de ta part en même temps...)).

Ok, bah c’est cool alors.
Et ça fait plaisir ^^

Rolinh a écrit :

EDIT: dites, les férus de git, j'ai une question. Pour dfc j'ai deux branches dans mon dépôt: master, dans laquelle je fais les derniers développement et stable dans laquelle je ne compte merger que des bugfix pour la dernière version stable sortie. Je souhaite corriger quelques bugs (2 en fait) mais je ne sais pas qu'elle serait la bonne façon de faire. Un commit dans la branche master puis cherry-pick de ce commit dans la branche stable? Ou bien commit dans la branche stable et on rapatrie ça dans la branche master (cette dernière façon me semble moins logique). Une meilleure suggestion?

Je ne suis pas un gourou de git, mais comme les autres je pencherai pour la première solution.

Hors ligne

#938 Le 26/03/2013, à 20:53

Elzen

Re : /* Topic des codeurs [8] */

Tiens, dans le genre trucs bizarres, pour le papier qu'on est en train de boucler, j'ai un simulateur en Java qui nous sort divers résultats, dont notamment le nombre de comparaisons requises pour trouver la communauté d'un utilisateur donné (en gros, on a un ensemble de communautés, vide au départ ; des utilisateurs qui se pointent un par un, et on doit soit insérer l'utilisateur dans une communauté déjà existante, soit créer une nouvelle communauté juste pour lui ; on veut regarder comment évolue ce coût d'insertion en fonction du nombre d'utilisateurs déjà présents).

On a plusieurs algos en fonction du modèle utilisé ; l'un d'entre eux est assez simple :

public int insert(User user) {
	int nbchecks = 0;
	for (Community com: this.communities) {
		nbchecks++;
		if (com.accept(user)) {
			com.add(user);
			return nbchecks;
		}
	}
	this.communities.add(new Community(user));
	return nbchecks;
}

On génère cent jeux de simus avec chacun vingt mille utilisateurs dedans, tirés aléatoirement, on lance, et on fait la moyenne (parce que bon, sur une seule courbe, surtout pour cette métrique-là, ça fait des courbes assez moches et pas trop représentatives, vu que ça peut potentiellement faire une seule comparaison pour un utilisateur et autant qu'il y a de communautés sur la suivante).

Donc, une fois les simus faites, on regarde les courbes… tout à l'air normal… sauf pour l'algo sus-mentionné, sur lequel on voit apparaître une « cuvette » qu'on n'arrive pas à expliquer. En gros, ça monte jusqu'à 3000 utilisateurs, puis ça redescend un peu, ça recommence à monter, mais moins vite, et vers 11000 utilisateurs, grosse remontée, puis ça reprend un rythme à peu près normal. Wait, what? yikes

Première hypothèse : il y a peut-être une simu qui était foireuse et qui a tout cassé. Je fais la moyenne sur les cinquante premières : le truc apparaît aussi. Je fais la moyenne sur les cinquante dernières : idem. Donc non, ou alors il y a au moins deux simus qui ont foiré, une de chaque côté. Bof…

J'me décide à aller voir dans le détail, une courbe pour chaque simu réalisée. Et là, je constate un truc assez bizarre : si, pour toutes les courbes, la limite haute a bien l'air correcte (elle correspond exactement à la courbe du nombre de communautés pour cette simu, vu qu'il ne crée une communauté que quand il a vérifié toutes les autres), c'est la limite basse qui change pas mal. En fait, il y a 70 simus sur les 100 qui font minimum une comparaison jusqu'à 11000 utilisateurs, et au delà, qui en font minimum une centaine. Et les 30 autres pour lesquelles c'est exactement l'inverse : à partir de 11000 utilisateurs, une comparaison minimum, mais avant, le minimum est beaucoup plus haut.
L'ensemble tend effectivement à provoquer cette cuvette sur la moyenne, logique. La question, c'est pourquoi ce comportement ?

Je me dis que ça peut venir de l'ordre de tirage aléatoire des utilisateurs ; alors je vérifie : tout a l'air normal, ils sont bien lus dans l'ordre dans lequel ils ont été tirés, la génération a l'air correcte… fausse piste.

Et puis je tilte : dans la classe dont je vous ai donné le code ci-dessus, les communautés sont stockées dans un HashSet. Je le remplace par une LinkedList, je relance, et ce coup-ci, ça marche correctement, sans cuvette-mystère. Sur les courbes détaillées, ça a bien un minimum de zéro à chaque fois.

Saleté d'ensembles à ordre de parcours bizarre…

Dernière modification par Elzen (Le 26/03/2013, à 20:58)

Hors ligne

#939 Le 26/03/2013, à 21:57

Rolinh

Re : /* Topic des codeurs [8] */

sweetly a écrit :

Un cherry-pick me paraît très bien.

The Uploader a écrit :

Cas classique pour le cherry pick, AMHA.

grim7reaper a écrit :

Je ne suis pas un gourou de git, mais comme les autres je pencherai pour la première solution.

Bon ben... il n'y a plus qu'à alors. Merci pour vos avis. smile

EDIT: Ruby alsacap par grim7reaper est en ligne. wink

Dernière modification par Rolinh (Le 26/03/2013, à 22:20)

Hors ligne

#940 Le 26/03/2013, à 22:24

grim7reaper

Re : /* Topic des codeurs [8] */

Elzen a écrit :

Saleté d'ensembles à ordre de parcours bizarre…

Heu, sur ce coup c’est toi le fautif, tu as mal choisi ton conteneur.
La structure de donnée n’est pas bizarre, elle réagit normalement (au vu de la définition d’un HashSet, c’est un comportement normal). De plus, c’est pas faute d’être mentionné dans la documentation :

http://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html a écrit :

It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time.

Les structures de données c’est ce qui joue le rôle le plus important, avec l’algorithme, quand tu programmes un truc. Faut se renseigner dessus, sur ce qui est disponible, savoir comment ça fonctionne et à partir de là faire un choix avisé.
Bon au moins tu retiendras la leçon tongue
Sinon, si tu veux rester sur un Set, il y a peut-être une implémentation qui correspond à tes contraintes, regarde .


@The Uploader : la bidouille Ruby FFI/ALSA est maintenant dispo’ (merci Rolinh encore une fois smile), si tu veux jeter un œil wink

Édit : ha, grillé par Rolinh ^^

Édit du 2013/09/15 : rb-alsacap est maintenant dispo’ ici

Dernière modification par grim7reaper (Le 15/09/2013, à 15:07)

Hors ligne

#941 Le 26/03/2013, à 22:38

Elzen

Re : /* Topic des codeurs [8] */

Je connais les différentes sortes de collections en Java, hein tongue

Seulement, en l'occurrence, j'avais choisi un HashSet comme conteneur précisément parce que l'ordre de parcours des différentes communautés n'était pas censé importer (ou en tout cas, pas avoir ce genre d'influence).

Ce qui provoque la réaction bizarre, ce n'est pas qu'il change l'ordre de parcours pendant la simu, ce qui est parfaitement normal et ne devrait, en théorie, pas impacter la moyenne (ou pas autant) ; non, le truc bizarre, c'est que son ordre de parcours donne 70 configurations quasi-identiques d'un côté et 30 configurations quasi-identiques de l'autre, avec un pivot commun. J'me demande ce qui se passe en mémoire, du coup, et comment il arrange ça, quoi.

Dernière modification par Elzen (Le 26/03/2013, à 22:38)

Hors ligne

#942 Le 26/03/2013, à 22:48

grim7reaper

Re : /* Topic des codeurs [8] */

Ok.

C’est bien User que tu insères dans le hash ?
Dans ce cas ton implémentation de la méthode hashCode pour User est peut-être en cause. Sinon, l’OpenJDK, comme sont nom l’indique, a son code ouvert donc il y a moyen de vérifier wink

Dernière modification par grim7reaper (Le 26/03/2013, à 22:50)

Hors ligne

#943 Le 26/03/2013, à 22:57

Elzen

Re : /* Topic des codeurs [8] */

Ce sont des Community, dans le Set.

Chaque communauté étant définie par une requête particulière (en l'occurrence, un ensemble de mots-clefs, mais ça c'est spécifique à ce jeu de simu-là, on prévoit d'autres sortes de requêtes qui n'ont rien à voir avec), j'utilise comme hashCode pour la communauté le hashCode de la requête correspondante (donc, en l'occurrence, le hashCode d'un Set<String>).

Et oui, j'irai lire le code du HashSet, quand on aura bouclé le papier (deadline vendredi).

Hors ligne

#944 Le 26/03/2013, à 23:30

tshirtman

Re : /* Topic des codeurs [8] */

Rolinh a écrit :

EDIT: dites, les férus de git, j'ai une question. Pour dfc j'ai deux branches dans mon dépôt: master, dans laquelle je fais les derniers développement et stable dans laquelle je ne compte merger que des bugfix pour la dernière version stable sortie. Je souhaite corriger quelques bugs (2 en fait) mais je ne sais pas qu'elle serait la bonne façon de faire. Un commit dans la branche master puis cherry-pick de ce commit dans la branche stable? Ou bien commit dans la branche stable et on rapatrie ça dans la branche master (cette dernière façon me semble moins logique). Une meilleure suggestion?

Oui, cherry-pick, c'est bien, si tu voulais le faire dans l'autre sens, (commit sur stable d'abords), la logique serait plus de faire un rebase de master sur stable (pour conserver un ordre logique), mais c'est pas terrible de faire un rebase d'une branche publique, donc je dirais cherry-pick oui smile (a noter, si tu veux faire des comparaison plus tard, que "git cherry" te permet de voir les commits différents entre deux branches).

grim7reaper a écrit :

Au fait, je ne sais pas si vous aviez entendu parler de ça.
J’avais vu la news sur developpez, enfin dans mon flux RSS (il y a 4 jours, dans l’après-midi). Car impossible d’avoir l’article sur le site (j’ai voulu allez voir le soir-même), le lien renvoie sur la page d’accueil (même les liens sur la news que j’ai trouvé via les moteurs de recherche font ça, c’est bizarre hmm).
Enfin, j‘avais finalement pu mettre la main sur l’article original.

C’est un « hack » simple mais avec des conséquences assez importantes, bizarre que ça ai pas fait plus de bruit que ça.

Édit : ha ça y est, je peux avoir accès à l’article sur developpez via le cache google, mais ça reste bizarre que l’article soit pas accessible facilement.

En effet, quand on ouvre dans le même onglet, son lien n'envoie pas vers l'adresse qu'il indique, c'est un soucis de sécurité un peu sérieux, je dirais, je conseil aux gens de taper eux même le site sur lequel ils veulent aller s'ils recoivent un mail de paypal/autre et qu'ils veulent contrôler sur le site, plutôt que de suivre les liens, mais quand même, cette technique est bien piégeuse (a tester pour voir si elle marche dans un webmail genre gmail, quand même, je suppose que le JS doit être bien bien surveillé par là).

sinon, c'est pas pour dire mais https://groups.google.com/d/msg/kivy-de … Pios7IPXsJ :]

Hors ligne

#945 Le 27/03/2013, à 03:14

Kanor

Re : /* Topic des codeurs [8] */

tshirtman a écrit :

la classe, c'est sympa de voir un projet ou on participe prendre une certaine ampleur.

Hors ligne

#946 Le 27/03/2013, à 07:57

grim7reaper

Re : /* Topic des codeurs [8] */

tshirtman a écrit :

Le BDFL en personne qui veut vous parler, la grande classe.



Bon sinon pour ceux qui était intéressé par mon truc sur Valgrind, j’ai fini de l’adapter. Il me reste plus qu’à relire et je pourrai le rendre dispo’.

Hors ligne

#947 Le 27/03/2013, à 08:14

Mindiell

Re : /* Topic des codeurs [8] */

tshirtman a écrit :

Joli, en effet !
Je n'ai que peu participé, mais je suis fier quand même wink

@grim7reaper: rajoute moi pour Valgrind wink

Hors ligne

#948 Le 28/03/2013, à 00:20

:!pakman

Re : /* Topic des codeurs [8] */

C'est quoi Kivi ?

Sinon, p'tit truc marrant, sur soundcloud (console js) :
http://pix.toile-libre.org/upload/origi … 422460.jpg

Original comme manière de recruter tongue

Dernière modification par :!pakman (Le 28/03/2013, à 00:21)


...

Hors ligne

#949 Le 28/03/2013, à 01:06

The Uploader

Re : /* Topic des codeurs [8] */

@t'man : bien joué. ^^

Petit journal d'un mainteneur novice (suite) :

mail aur-notify@archlinux.org a écrit :

from https://aur.archlinux.org/packages/nvidia-96xx-all/
Gooberslot wrote:

This doesn't seem to be building anything for me. I wind up with a
.02MB package.

mail aur-notify@archlinux.org a écrit :

from https://aur.archlinux.org/packages/nvidia-96xx-all/
ninian wrote:

I'm afraid that the latest upgrade to the 'file' package (5.11-2 ->
5.14-1) doesn't return the kernel version - all it returns for me now
is 'x86 boot sector' for vmlinuz-linux. So the build doesn't generate
any driver modules at all!

( yikes je suis pas le seul à utiliser ce package ! )
( yikes ni à utiliser Archlinux sur un ordi qui a une carte graphique qui a 11 ans voire plus !)
( yikes mais c'est mon tout premier commentaire reçu en tant que mainteneur ! Et j'en reçois pas UN mais ... DEUX !)


La surprise passé, le truc est simple en fait. Eh oui avant

file /boot/*

Donnait la version des kernels listés. Mais maintenant ça donne ça :

 file /boot/*
/boot/grub:                            directory 
/boot/initramfs-linux-ck-fallback.img: ASCII cpio archive (SVR4 with no CRC)
/boot/initramfs-linux-ck.img:          ASCII cpio archive (SVR4 with no CRC)
/boot/initramfs-linux-fallback.img:    ASCII cpio archive (SVR4 with no CRC)
/boot/initramfs-linux.img:             ASCII cpio archive (SVR4 with no CRC)
/boot/vmlinuz-linux:                   x86 boot sector
/boot/vmlinuz-linux-ck:                x86 boot sector

Ce qui est moins utile... et empêche le package de se construire...

Solution :
- utiliser le dossier /lib/modules/ qui contient par exemple :

3.8.4-1-ARCH  extramodules-3.8-ARCH
3.8.4-1-ck    extramodules-3.8-ck

Ce qui donne dans le PKGBUILD :

for _kernver in `ls /lib/modules -w 1 | grep ^3`; 

Pour avoir quelque chose comme ceci à la fin :

3.8.4-1-ARCH
3.8.4-1-ck

(heureusement que c'est ultra simple vu mes compétences en bash tongue )

Plutôt que cette ligne (du précédent mainteneur - que je n'aurais jamais pu écrire yikes ) :

 for _kernver in `file /boot/* | grep 'Linux kernel.*boot executable' | grep 'vmlinuz' | sed 's/.*version \([^ ]\+\).*/\1/'`;

Aussi quand j'ai vérifié le package avec namcap :

nvidia-96xx-utils included as a dependency but not needed

Donc acte. C'est maintenant une dépendance optionnelle.

Voilà un PKGBUILD de plus en plus propre. smile

Résultat :

commentaire a écrit :

@xcomcmdr: Many thanks for fixing this problem so quickly - 'file' is guilty as charged!

smile

(bon sinon j'ai essayé nouveau sur le kernel 3.8 et la GeForce 4 Ti4200 (NV25), c'est toujours aussi inutilisable que lorsque j'avais testé avec linux 3.6 et la GeForce 2 MX/MX440. Alors que cette dernière se tapait nouveau_vieux qui est abandonné... Étrange et décevant.)

(bon et aussi dans l'histoire je sais pas pourquoi 'file' a changé. Ou plutôt régressé. hmm )

----

Sinon j'ai un autre problème de code. Mais j'ai d'abord pas mal de données à compiler avant de le présenter. J'ferais sûrement ça demain (si je le résous pas avant mais j'en doute).

Dernière modification par The Uploader (Le 28/03/2013, à 01:14)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#950 Le 28/03/2013, à 05:51

grim7reaper

Re : /* Topic des codeurs [8] */

Mindiell a écrit :

@grim7reaper: rajoute moi pour Valgrind wink

T’en fait pas, grâce à Rolinh ça sera en ligne et je posterai le lien ici wink



The Uploader a écrit :

Solution :
- utiliser le dossier /lib/modules/ qui contient par exemple :

3.8.4-1-ARCH  extramodules-3.8-ARCH
3.8.4-1-ck    extramodules-3.8-ck

Ce qui donne dans le PKGBUILD :

for _kernver in `ls /lib/modules -w 1 | grep ^3`; 

Pour avoir quelque chose comme ceci à la fin :

3.8.4-1-ARCH
3.8.4-1-ck

(heureusement que c'est ultra simple vu mes compétences en bash tongue )

Heu, si tu veux juste la version pourquoi ne pas passer par uname -r ou cat /proc/version ?

Hors ligne