Je sais pas quelle est la taille de la codebase sur laquelle travaille l'auteur de ce journal, mais perso, le projet sur lequel je bosse, quand je le compile en debug+assert, ça me bouffe 13go de ram lors du link et ça me prends 35-40min+ à compiler (sur 8 coeurs)…
Donc merci, mais si à chaque fois que je modifie un include utilisé par ci par la, je dois attendre 40min derrière mon pc sans rien pouvoir faire d'autre (parce que oui, avec un i5 et 4go de ram, ton pc, il fait plus que la compile, oublie de venir glander un coup ici ;) ).
Une petite liste de tools qui sont chouette :
- cgdb (une interface curse pour gdb)
- hopper (payant, mais vraiment vraiment bien, IDA-like, multiplateformes,…)
- capstone-engine (un projet assez récent, basé sur LLVM)
Si je ne me trompe pas (j'ai plus la source), il a été arrêté dans dans une bibliothèque alors qu'il utilisait son laptop. Ils ont attendu (ceux qui l'ont arrêté), qu'il rentre son mot de passe avant de le stopper (j'imagine que lorsqu'il se log dans sa session, ça "déverrouille" sa partition).
S'ils faisaient les choses de manière intelligente, oui ça irait. Mais ce n'est pas comme ça que ça se passe. Le workflow de l'étudiant feignant, c'est : je tape un mot clef sur Google, je vais sur la première réponse (qui vient souvent du Site du Zéro), je copie colle, je compile, et si ça marche pas, je recommence avec la deuxième réponse, etc.
"... j'ai tout écrit en anglais, qui chez moi n'est pas du Shakespeare."
J'ai pas tout lu, mais je trouve que des fois, écrire dans une langue que l'on ne maîtrise pas complètement nous force à écrire des phrases beaucoup plus simples et beaucoup plus courtes, ce qui tend, surtout pour ce genre de publications, à faciliter la lecture et/ou la compréhension de certaines parties (voire du tout). Que ce soit pour des anglophones (dans ce cas) ou pour des non-anglophones.
Surtout que le service civil, ça peut être sympa dépend ou tu le fais.
Un ami qui venait de finir son master (en info) à fait tout son service civil chez nous (école d'ingénieur, développement logiciel). Donc, il a pu bosser dans son domaine, avoir un petit salaire "correct" et ça fait une première expérience professionnelle à mettre sur son C.V…
Je trouve très intolérant d'accuser les autres d'intolérance (alors qu'il ne faisait qu'accuser d'autres personnes d'intolérance) !
D'ailleurs je suis moi-même intolérant de dire ça…
Alors la aucune idée… Pour moi l'ada ça reste juste le langage très chiant que je me suis tapé pendant presque 2 ans en école d'ingé ;)
Sauf pour la programmation concurrente, la, ça dépote (et qu'on vienne pas me dire que en C ou en Java c'est mieux (de toute façon le Java, c'est pour les bisounours ))!
Pas mal d'application qui nécessite une certaine robustesse (les trucs qui font bio-bip dans les hopitaux, les distributeurs de monnaie (j'ai vu une "raised PROGRAM_ERROR" sur un distributer de la poste (suisse)),…).
J'ai bossé tout seul comme un grand dessus, donc je n'ai pas appris grand chose sur le développement en équipe :( Mais j'ai appris qu'il ne fallait pas déconné avec les licences : https://github.com/c00kiemon5ter/monsterwm/issues/1
Je pense que personne ne l'utilise plus (on était au moins 10 du forum d'archlinux à l'époque a l'utiliser oO), mais je sais que "pas mal" (c-a-d, au moins 3,14 personnes) ont repris mon code pour écrire leur propre WM.
Si tu as autant apprecié la déclaration des nouveaux types je pense que quand tu vas découvrir la gestion de la généricité, la gestion de variable partagée dans les threads (ainsi que les rendez-vous, …) et le reste, tu vas mouiller ton caleçon ;)
Euh oui, en effet, je me suis mal exprimé…
Ce que je voulais dire, c'est quand on fait un fetch and add, par exemple, le pipeline du proc "est à nous", on ne peut pas se faire "préempter" pendant une instruction de ce type, on est donc sûr et certain que cette instruction à été effectuée sans que la valeur que l'on modifie n'ai été modifiée par un autre thread.
En fait, si j'ai bien compris ce que tu fais, tu utilises des instructions atomiques (fetch and add, compare and swap, test and set,… Je crois que j'en ai oublié une ou deux encore).
C'est "normal" que cela aille beaucoup plus vite. Ces instructions nécessitent, comme l'indique le "atomique", qu'un seul coup d'horloge pour être exécutée (et surtout j'imagine que tu fais de l'attente active dans tes algos, alors qu'en général avec des mutex&co on fait de l'attente passive (ce qui n' aucun intérêt lorsque l'on utilise des instructions atomiques)).
Par contre, quand tu dis que t'as version des lecteurs-redacteurs (avec priorité aux lecteurs) est thread-safe depuis que tu utilises ces instructions, j'en doute un peu. Les algorithmes utilisant des instructions atomiques sont relativement très compliqués (et encore plus à débogguer… Je pense à tout ceux qui on ont fait et qui on ont chié avec des ABA un peu partout ;) ). Je te conseille de lire de la docs à leur sujet (d'ailleurs si ça t'intéresse, je peux demander à un de mes profs de l'année passée si il veut bien me filer son cours en pdf à ce sujet).
En plus, généralement, ce genre d'algorithmes sont orientés "lock-free structures", c'est une autre façon de penser que lorsque tu codes avec la librairie pthread…
Je te laisse un peu chercher ;) Une petite piste, regarde du coté des "non blocking algorithm" et des "loch-free structure".
(My 2 cents… J'espère ne pas avoir dit trop de conneries, mes souvenirs à propos de ce types d'algorithmes sont un peu rouillé ;) )
# Què?
Posté par pyknite . En réponse au journal Bac et calculatrices programmables : la fin ?. Évalué à 2.
Attendez, vous avez besoin d'une calculatrice programmable pour passer le bac en France ?
Vous êtes tous des put*** de génies qui résolvent des problèmes de fou dès 15-16 ans ?
J'ai une ti-30x depuis le bac, et j'ai fais mon master (bac+5? +8?) avec (ok, pas en spé maths, mais en ingénierie quand même)…
[^] # Re: En parlant de faille concernant une bibliothèque partagée...
Posté par pyknite . En réponse au journal Faille de sécurité glibc. Évalué à 2.
"Dans le doute, reboot!"
[^] # Re: comprend pas
Posté par pyknite . En réponse au journal Besoin d'arguments pour obtenir une station de travail sous GNU/Linux ?. Évalué à 6.
C'est mignon ;)
Je sais pas quelle est la taille de la codebase sur laquelle travaille l'auteur de ce journal, mais perso, le projet sur lequel je bosse, quand je le compile en debug+assert, ça me bouffe 13go de ram lors du link et ça me prends 35-40min+ à compiler (sur 8 coeurs)…
Donc merci, mais si à chaque fois que je modifie un include utilisé par ci par la, je dois attendre 40min derrière mon pc sans rien pouvoir faire d'autre (parce que oui, avec un i5 et 4go de ram, ton pc, il fait plus que la compile, oublie de venir glander un coup ici ;) ).
[^] # Re: Au secours !!!
Posté par pyknite . En réponse au journal git-webui : une interface web pour vos repos git. Évalué à 8.
En même temps, git, même avec la notice ça reste incompréhensible ;)
# Quelques tools !
Posté par pyknite . En réponse au journal Disséquer du binaire - retour d'expérience. Évalué à 2.
Une petite liste de tools qui sont chouette :
- cgdb (une interface curse pour gdb)
- hopper (payant, mais vraiment vraiment bien, IDA-like, multiplateformes,…)
- capstone-engine (un projet assez récent, basé sur LLVM)
# Linuxfr
Posté par pyknite . En réponse au journal Les icônes du web, vues par nmap. Évalué à 3.
On peut même y trouver notre site web préféré : linuxfr.org ;)
[^] # Re: Bitcoin :)
Posté par pyknite . En réponse au journal Fermeture de Silk Road par le FBI. Évalué à 4.
Si je ne me trompe pas (j'ai plus la source), il a été arrêté dans dans une bibliothèque alors qu'il utilisait son laptop. Ils ont attendu (ceux qui l'ont arrêté), qu'il rentre son mot de passe avant de le stopper (j'imagine que lorsqu'il se log dans sa session, ça "déverrouille" sa partition).
[^] # Re: Une question me taraude
Posté par pyknite . En réponse au journal Mon passage aux 30 ans de GNU au MIT. Évalué à 5.
Fallait regarder dans sa barbe et identifier les différents bouts de nourriture y traînant ;)
[^] # Re: ah, le marketing
Posté par pyknite . En réponse au journal Le Site du Zéro a disparu. Évalué à 5.
J'ai oublié ma calculatrice :(
[^] # Re: Quelle plaie !
Posté par pyknite . En réponse au journal Le Site du Zéro a disparu. Évalué à 6.
Culte du cargo
[^] # Re: Shakespeare
Posté par pyknite . En réponse au journal S'essayer à la production scientifique. Évalué à 0.
Est-ce qu'il faut tenir compte des while du code aussi ? ^
# Shakespeare
Posté par pyknite . En réponse au journal S'essayer à la production scientifique. Évalué à 7.
J'ai pas tout lu, mais je trouve que des fois, écrire dans une langue que l'on ne maîtrise pas complètement nous force à écrire des phrases beaucoup plus simples et beaucoup plus courtes, ce qui tend, surtout pour ce genre de publications, à faciliter la lecture et/ou la compréhension de certaines parties (voire du tout). Que ce soit pour des anglophones (dans ce cas) ou pour des non-anglophones.
[^] # Re: qwant.com mais faut aimer la presentation style "journal"
Posté par pyknite . En réponse au journal DuckDuckSux?. Évalué à 10.
J'ai vomi !
[^] # Re: corrections
Posté par pyknite . En réponse au journal Armée Suisse, modèle ou pas ?. Évalué à 1.
Surtout que le service civil, ça peut être sympa dépend ou tu le fais.
Un ami qui venait de finir son master (en info) à fait tout son service civil chez nous (école d'ingénieur, développement logiciel). Donc, il a pu bosser dans son domaine, avoir un petit salaire "correct" et ça fait une première expérience professionnelle à mettre sur son C.V…
[^] # Re: s/personnes normales/enfants/
Posté par pyknite . En réponse au journal Recette: boulettes de pommes de terre panées. Évalué à 3.
100 PATATES !?!?!!!
[^] # Re: Axiomatique différente = IHM différente
Posté par pyknite . En réponse au journal i18n: la langue la plus concise est le chinois. Évalué à 1.
v P
r a
a s
i
!
[^] # Re: Donc en résumé
Posté par pyknite . En réponse au journal Wikipédia : Siatz nets, parlatz francés !. Évalué à 6.
Je trouve très intolérant d'accuser les autres d'intolérance (alors qu'il ne faisait qu'accuser d'autres personnes d'intolérance) !
D'ailleurs je suis moi-même intolérant de dire ça…
Je vais aller me fouetter tiens !
# Le lien qui va vachement bien !
Posté par pyknite . En réponse au journal Test de la Manjaro Linux. Évalué à 6.
http://manjaro.org
[^] # Re: Que du bonheur (pour toi)
Posté par pyknite . En réponse au journal Ada, langage et ressources. Évalué à 1.
Alors la aucune idée… Pour moi l'ada ça reste juste le langage très chiant que je me suis tapé pendant presque 2 ans en école d'ingé ;)
Sauf pour la programmation concurrente, la, ça dépote (et qu'on vienne pas me dire que en C ou en Java c'est mieux (de toute façon le Java, c'est pour les bisounours ))!
[^] # Re: où faire de l'ada
Posté par pyknite . En réponse au journal Ada, langage et ressources. Évalué à 2.
Pas mal d'application qui nécessite une certaine robustesse (les trucs qui font bio-bip dans les hopitaux, les distributeurs de monnaie (j'ai vu une "raised PROGRAM_ERROR" sur un distributer de la poste (suisse)),…).
# Me and myself
Posté par pyknite . En réponse au journal Une rétrospective sur mes contributions au libre. Évalué à 2.
Une fois, j'ai écrit un Window manager : https://github.com/pyknite/catwm (j'en avais même parlé ici même : http://linuxfr.org/users/pyknite/journaux/catwm-encore-un-tiling-window-manager et http://linuxfr.org/users/pyknite/journaux/catwm-is-back)
J'ai bossé tout seul comme un grand dessus, donc je n'ai pas appris grand chose sur le développement en équipe :( Mais j'ai appris qu'il ne fallait pas déconné avec les licences : https://github.com/c00kiemon5ter/monsterwm/issues/1
Je pense que personne ne l'utilise plus (on était au moins 10 du forum d'archlinux à l'époque a l'utiliser oO), mais je sais que "pas mal" (c-a-d, au moins 3,14 personnes) ont repris mon code pour écrire leur propre WM.
# Que du bonheur (pour toi)
Posté par pyknite . En réponse au journal Ada, langage et ressources. Évalué à 2.
Si tu as autant apprecié la déclaration des nouveaux types je pense que quand tu vas découvrir la gestion de la généricité, la gestion de variable partagée dans les threads (ainsi que les rendez-vous, …) et le reste, tu vas mouiller ton caleçon ;)
[^] # Re: Pas thread safe
Posté par pyknite . En réponse au journal Performances des processeurs Intel et optimisation. Évalué à 1.
Euh oui, en effet, je me suis mal exprimé…
Ce que je voulais dire, c'est quand on fait un fetch and add, par exemple, le pipeline du proc "est à nous", on ne peut pas se faire "préempter" pendant une instruction de ce type, on est donc sûr et certain que cette instruction à été effectuée sans que la valeur que l'on modifie n'ai été modifiée par un autre thread.
# Pas thread safe
Posté par pyknite . En réponse au journal Performances des processeurs Intel et optimisation. Évalué à -1.
En fait, si j'ai bien compris ce que tu fais, tu utilises des instructions atomiques (fetch and add, compare and swap, test and set,… Je crois que j'en ai oublié une ou deux encore).
C'est "normal" que cela aille beaucoup plus vite. Ces instructions nécessitent, comme l'indique le "atomique", qu'un seul coup d'horloge pour être exécutée (et surtout j'imagine que tu fais de l'attente active dans tes algos, alors qu'en général avec des mutex&co on fait de l'attente passive (ce qui n' aucun intérêt lorsque l'on utilise des instructions atomiques)).
Par contre, quand tu dis que t'as version des lecteurs-redacteurs (avec priorité aux lecteurs) est thread-safe depuis que tu utilises ces instructions, j'en doute un peu. Les algorithmes utilisant des instructions atomiques sont
relativementtrès compliqués (et encore plus à débogguer… Je pense à tout ceux qui on ont fait et qui on ont chié avec des ABA un peu partout ;) ). Je te conseille de lire de la docs à leur sujet (d'ailleurs si ça t'intéresse, je peux demander à un de mes profs de l'année passée si il veut bien me filer son cours en pdf à ce sujet).En plus, généralement, ce genre d'algorithmes sont orientés "lock-free structures", c'est une autre façon de penser que lorsque tu codes avec la librairie pthread…
Je te laisse un peu chercher ;) Une petite piste, regarde du coté des "non blocking algorithm" et des "loch-free structure".
(My 2 cents… J'espère ne pas avoir dit trop de conneries, mes souvenirs à propos de ce types d'algorithmes sont un peu rouillé ;) )
# Minecraft
Posté par pyknite . En réponse au journal XKCD - The world is big !. Évalué à 5.