Posté par bobert .
En réponse au journal KGuitar.
Évalué à 2.
Si tu nous fais la transition dbm -> sqlite pour rpm, je te roule une énooOOorme pelle !!
Je me dis exactement la même chose à chaque `urpmi --auto-select`, avec sqlite ça déchirerait méchamment :-)
P.S.: Pour la release suivante de Kguitar, je propose "The Extremist" (Satriani)...
Et pour conclure, sachant que sur les deux vendeurs "de confiance" de matériel électronique, il y en a un qui a craché sur les logiciels libres y'a pas longtemps (cf http://linuxfr.org/~temsa/15118.html(...) ), ça nous ramène en gros aux offres suivantes:
Nt, nt, nt, là je comprends vraiment pas ton ironie. Les mecs de Mandrakesoft sont quand même bien connus pour écrire du code lisible, maintenable et bien documenté. Tiens, 'suffit d'éditer le source de n'importe lequel de leurs outils... euh... ahem... ah ben non, désolé, j'ai rien dit non plus.
M'enfin après tout, c'est vrai que documenter du code c'est quand même pas urgent. Et puis merde, c'est quand même pas à l'auteur d'un code de le documenter, un vrai développeur a d'autres choses bien plus importantes à faire.
OK, beaucoup de bonnes idées là-dedans ! Je vois qu'on a une approche très similaire.
C'est un peu dommage de continuer la conversation ici parce qu'elle est hors-sujet; mais de mon côté j'en suis venu à bricoler une distribution Mandrake personnalisée:
- à partir des paquetages cooker
- en modifiant la priorité des paquetages (exemple: je donne à Inkscape la note maximale de 5 pour être sûr qu'il fera partie de la distrib)
- en ajoutant des paquetages supplémentaires
- et en générant les images grâce à mkcd
Parmi les paquetages supplémentaires:
- msttcorefonts pour une compatibilité maximale avec les documents Microsoft Office,
- acroread parce qu'il est encore indispensable pour certains pdf,
- FlashPlayer (dont je ne vois pas l'intérêt personnellement, mais puisque les gens le veulent, ils l'ont, pas de scrupules pour attirer les foules du bon côté de la Force... c'est la guerre mon Colonel ;)
- pilotes de cartes graphiques, eagle-usb
- les divers *Mule, suite au même raisonnement que pour Flash
- divers paquetages plf
- etc...
Tu devrais tester, ça te donne un contrôle encore plus grand de ce que tu veux installer, et plus important, ça te laisse plus de temps lors de l'installation pour faire autre chose, initiation au bureau ou au client de courrier par exemple.
Le plus délicat reste le choix du bon moment pour générer les images de cette distrib "maison": il faut juger de l'état global de la cooker à un instant t et évaluer les avantages des derniers correctifs/nouveautés vs les bugs restants. Pas évident.
Je me tâte aussi sur l'opportunité d'un cd "goodies" contenant fontes, images de fonds d'écran, icônes, thèmes de bureau, etc. Les gens aiment beaucoup ; mais l'effort ne vaut la peine que si ça profite au plus grand nombre, pas simplement au voisin, et ça implique d'éplucher consciencieusement la licence de chaque élément... galère en perspective. Et accessoirement j'ai une thèse à rédiger.
Plus simple peut-être, et potentiellement vendeur, un cd de jeux créé à partir de l'ensemble des paquetages de jeux des sources cooker/contrib.
À voir... un jour...
Tiens, juste par curiosité, qu'est-ce que tu fignoles après l'installation d'une Mandrake ? Ça pourrait me donner des idées, j'en installe pas mal à des particuliers ces derniers temps...
Ben, je voudrais pas raconter de connerie... mais il me semble qu'avec les tubes récents (enfin disons actuels) style trinitron, tu obtiendras de toute façon des pixels carrés.
L'important est de ne pas omettre non plus l'option "nolapic".
Quant à l'option "mem=nopentium", elle était encore nécessaire
avec les premiers noyaux de la série 2.6.7 ; depuis j'ai pas refait l'essai.
Si tu as un peu de temps à tuer, fais d'abord un premier essai sans, et regarde
ce que ça donne.
Je voudrais signaler l'existence de Moodle (http://moodle.org/(...)) que je préfère personnellement.
Pour des url de cours en ligne, voir par exemple la liste des universités/entités ayant mis en oeuvre Moodle (pas mal de cours nécessitent une inscription): http://moodle.org/sites/(...)
Ça ne marche pas, parce que bash utilise par défaut les espaces pour séparer les arguments.
Du coup, dès que tu manipules des fichiers dont le nom possède des espaces, ça fout la caille. Et d'ailleurs, un tel script devrait toujours prévoir ce cas de figure.
On peut changer le comportement du shell en modifiant la valeur de la variable IFS (Input Field Separator)
La ligne de commande shell qui correspond à ce que tu voulais est:
IFS=$'\n' && for dir in `ls -d */`; do cd $dir && du -sh && cd ..; done && unset IFS
Pour des scripts remplissant des tâches administratifs, ça a plus de sens de nos jours (à mon humble avis) de les écrire en python. C'est simple à écrire, lisible, facile à maintenir, et on s'affranchit de beaucoup de côtés obscur du shell, dont celui-ci.
Ensuite, je sais pas trop qu'elle est la "credibilite" scientifique que l'on peut accorder a New Scientist
A priori la même que celle de Nature ou Science. Son comité de lecture fait son boulot ; c'est-à-dire qu'il peuvent faire des erreurs comme n'importe quels autres êtres humains. Reste la tentation du sensationnalisme, mais là-dessus aucune revue scientifique n'est exempte de reproches.
Quand l'annonce sera dans Nature, Science ou the Astronomical Review, ou encore astro-ph
J'espère que tu rigoles. N'importe qui peut balancer n'importe quoi sur astro-ph ; y'a aucun comité de lecture pour faire le tri ; dans la pratique y'a à boire et à manger...
Ils disent eux-mêmes avoir commencé sans un rond, les logiciels libres les ont accompagnés sur la route de leur succès pendant six ans... maintenant qu'ils peuvent se le permettre, ils passent au propriétaire en crachant sur les LL.
Tour ça pue un peu trop pour moi... j'ai une merde sous ma chaussure, et je vais m'en débarrasser vite fait. LDLC était mon fournisseur exclusif de matériel informatique depuis plusieurs années, sans compter les gens autour de moi pour qui je passais commande en ligne. Hop, terminé, à dégager. Je sais vers qui me tourner (http://materiel.net(...) , pour ne pas les nommer)
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#
# Copyright (C) 2004 Nicolas Girard < bobert at dlfp dot org >
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import os,sys,re
from os.path import join
from itertools import ifilter
from sets import Set
class Finder:
"""Parcourt une hiérarchie de répertoires à partir de startDirectory"""
def __init__(self,startDirectory):
self.walker = os.walk(startDirectory)
def walk(self):
while 1:
root, dirs, files = self.walker.next()
for file in files:
yield (root,file)
def phpFiles(self):
isPhp = lambda (r,f):f.endswith('.php') or f.endswith('.php3')
return ifilter(isPhp,self.walk())
def find(dir):
return Finder(dir)
class PhpFile:
include = re.compile(".*include\s*\(['\"](\S+)['\"]\)\s*;")
def __init__(self,dir,name):
(self.dir,self.name)=(dir,name)
def includes(self):
f=open(join(self.dir,self.name),'r')
lines=f.readlines()
f.close()
for line in lines:
if PhpFile.include.match(line):
yield PhpFile.include.match(line).group(1).split('/')[-1]
class Node:
def __init__(self,name,labels=[],children=Set()):
(self.name,self.labels,self.children,self.nodes)=(name,labels,children,None)
def mergeWith(self,node):
self.labels+=node.labels
def label(self):
return "\\n".join(self.labels)
def edges(self):
return "\n".join(map(lambda child,s=self:"%s -> %s"%(s.name,child.name),self.children))
def __eq__(self,other):
return self.name==other.name
def __str__(self):
return "%s [label=\"%s\"]\n%s"%(self.name,self.label(),self.edges())
def rank(self):
"""calcule le nombre de parents du noeud"""
return sum(map(lambda o,s=self,:s in o.children,self.nodes))
def isExcluded(self):
return self.rank()==0 and len(self.children)==0
class Graph:
def __init__(self,ranksep=2,nodesep=0.5,minlen=1.5,concentrate=True,nodes=[]):
self.nodes=nodes
self.head="""
digraph Schema {
node[shape=box];
concentrate=%s;
ranksep=%f;
nodesep=%f;
edge[minlen=%f];\n"""%(concentrate,ranksep,nodesep,minlen)
self.foot="}\n"
def append(self,node):
node.nodes=self.nodes
self.nodes.append(node)
def __getitem__(self,nodeName):
res=filter(lambda node,n=nodeName:node.name==n,self.nodes)
if len(res)==1:
return res[0]
else:
return None
def checkChildren(self):
"""On supprime les fichiers inclus ne correspondant pas à un fichier trouvé
et les doublons"""
for node in self.nodes:
node.children = filter(lambda ch,fath=node:ch and fath!=ch,
map(lambda c,s=self:self[c],node.children))
def removeExcluded(self):
"""supprime les noeuds exclus du graphe"""
for excluded in filter(Node.isExcluded,self.nodes):
self.nodes.remove(excluded)
def clusterize(self):
"""Regroupe les fichers non-inclus par d'autres, et incluant les mêmes fichiers"""
nodes = filter(lambda n:n.rank()==0,self.nodes)
for node in nodes:
(node.clustered,node.removed)=(False,False)
for node in nodes:
ch = node.children[:]
for other in nodes:
if other == node or other.clustered or other.removed:
continue
if ch==other.children:
node.mergeWith(other)
node.clustered=True
other.removed=True
for node in filter(lambda n:n.removed,nodes):
self.nodes.remove(node)
def __str__(self):
for i in range(len(self.nodes)):
self.nodes[i].name="node%d"%i
return self.head+"\n".join(map(str,self.nodes))+self.foot
usage="""
php2dot - Génère un script dot des relations d'inclusion entre fichiers PHP
Syntaxe: php2dot startDir
startDir : répertoire de recherche des fichiers PHP.
La recherche est récursive.
Synopsis:
php2dot startDir > graph.dot
dot -Tpng -ograph.png graph.dot
Limitation:
Les noms des fichiers PHP trouvés doivent être distincts
"""
if __name__=="__main__":
if len(sys.argv)==1:
print usage
sys.exit(0)
startDir=sys.argv[1]
graph = Graph()
for (dir,name) in find(startDir).phpFiles():
phpFile = PhpFile(dir,name)
if not graph[name]:
graph.append(Node(name,[name],phpFile.includes()))
graph.checkChildren()
graph.removeExcluded()
graph.clusterize()
print graph
J'ai trouvé ton problème intéressant et j'ai pondu un petit programme en python (php2dot) qui génère un graphe des relations d'inclusion entre fichiers php d'une hiérarchie de répertoires.
La subtilité, pour éviter de pourrir le graphe, c'est de regrouper en un même noeud les fichiers qui ont les mêmes inclusions.
Sinon une limitation fondamentale du programme c'est qu'il attend des fichiers aux noms distincts ; lever cette limitation demanderait pas mal d'efforts supplémentaires... moi je m'arrête là.
1. Toi lire la documentation de la distribution Mandrakelinux, située dans /usr/share/doc/mandrake/fr une fois le paquetage mandrake-doc-fr installé
2. Toi configurer correctement les sources de paquetages correspondant à ta machine & à ta distribution en suivant les directives affichées ici: http://urpmi.org/easyurpmi/index.php(...)
3. Toi taper en tant que superadministrateur
# urpmi maxima-gui
4. Toi recommencer depuis l'étape 1 jusqu'à ce que ça marche... bons calculs ! (moi j'ai pas trouvé chaussure à mon pied avec Maxima, je tourne avec Mathematica)
[^] # Re: Mozilla, SK, SPIP
Posté par bobert . En réponse au journal Le monde diplomatique sur CD-ROM. Évalué à 1.
Le CD-ROM n'est pas encore disponible... j'espère le voir bientôt !
# J'ai qu'une chose à dire:
Posté par bobert . En réponse au journal KGuitar. Évalué à 2.
Je me dis exactement la même chose à chaque `urpmi --auto-select`, avec sqlite ça déchirerait méchamment :-)
P.S.: Pour la release suivante de Kguitar, je propose "The Extremist" (Satriani)...
[^] # Re: pfff :(
Posté par bobert . En réponse au journal RSS, quel lecteur?. Évalué à -3.
[^] # Re: google ?
Posté par bobert . En réponse au message Qui a mis mon courrier à la poubelle ?!?. Évalué à 2.
[^] # Re: SSII
Posté par bobert . En réponse au journal Kolab. Évalué à 5.
Si les commentaires de pilier de bar de ce genre étaient pertinents, ça se saurait.
[^] # Re: Carte NVidia ?
Posté par bobert . En réponse au message Cherche bonne carte graphique. Évalué à 2.
Rha la la... on se croirait en pleine campagne électorale pour les présidentielles américaines...
[^] # Correction
Posté par bobert . En réponse au message Cherche bonne carte graphique. Évalué à 2.
[^] # Re: Carte NVidia ?
Posté par bobert . En réponse au message Cherche bonne carte graphique. Évalué à 2.
- http://www.materiel.net/details_9200SE-TD128.html(...) à 48,90 ?
- http://www.materiel.net/details_V9520MAGIC128M.html(...) à 65,90 ?
Je suis justement en train d'étudier ça ; ma copine est une joueuse effrénée des Sims 2, et son matériel ne suit plus...
[^] # Re: Doc
Posté par bobert . En réponse au journal mkcd la commande qu'il vous faut ...................... pas. Évalué à 4.
M'enfin après tout, c'est vrai que documenter du code c'est quand même pas urgent. Et puis merde, c'est quand même pas à l'auteur d'un code de le documenter, un vrai développeur a d'autres choses bien plus importantes à faire.
[^] # Re: Fignolons
Posté par bobert . En réponse à la dépêche Portable à 1 euro par jour : aussi sous GNU/LINUX. Évalué à 3.
C'est un peu dommage de continuer la conversation ici parce qu'elle est hors-sujet; mais de mon côté j'en suis venu à bricoler une distribution Mandrake personnalisée:
- à partir des paquetages cooker
- en modifiant la priorité des paquetages (exemple: je donne à Inkscape la note maximale de 5 pour être sûr qu'il fera partie de la distrib)
- en ajoutant des paquetages supplémentaires
- et en générant les images grâce à mkcd
Parmi les paquetages supplémentaires:
- msttcorefonts pour une compatibilité maximale avec les documents Microsoft Office,
- acroread parce qu'il est encore indispensable pour certains pdf,
- FlashPlayer (dont je ne vois pas l'intérêt personnellement, mais puisque les gens le veulent, ils l'ont, pas de scrupules pour attirer les foules du bon côté de la Force... c'est la guerre mon Colonel ;)
- pilotes de cartes graphiques, eagle-usb
- les divers *Mule, suite au même raisonnement que pour Flash
- divers paquetages plf
- etc...
Tu devrais tester, ça te donne un contrôle encore plus grand de ce que tu veux installer, et plus important, ça te laisse plus de temps lors de l'installation pour faire autre chose, initiation au bureau ou au client de courrier par exemple.
Le plus délicat reste le choix du bon moment pour générer les images de cette distrib "maison": il faut juger de l'état global de la cooker à un instant t et évaluer les avantages des derniers correctifs/nouveautés vs les bugs restants. Pas évident.
Je me tâte aussi sur l'opportunité d'un cd "goodies" contenant fontes, images de fonds d'écran, icônes, thèmes de bureau, etc. Les gens aiment beaucoup ; mais l'effort ne vaut la peine que si ça profite au plus grand nombre, pas simplement au voisin, et ça implique d'éplucher consciencieusement la licence de chaque élément... galère en perspective. Et accessoirement j'ai une thèse à rédiger.
Plus simple peut-être, et potentiellement vendeur, un cd de jeux créé à partir de l'ensemble des paquetages de jeux des sources cooker/contrib.
À voir... un jour...
[^] # Fignolons
Posté par bobert . En réponse à la dépêche Portable à 1 euro par jour : aussi sous GNU/LINUX. Évalué à 0.
[^] # Re: Ma nouvelle carte graphique...
Posté par bobert . En réponse au journal ATI et les pilotes vidéo. Évalué à 1.
J'ai pas fait de recherche poussée via google, voilà juste une discussion qui
reprend cette conclusion:
http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&selm(...)
Ceci dit je travaille jamais sous ces résolutions donc je me suis pas intéressé au problème.
[^] # Re: Ma nouvelle carte graphique...
Posté par bobert . En réponse au journal ATI et les pilotes vidéo. Évalué à 1.
Juste une question comme ça: qu'est-ce que ça t'apporte d'avoir exactement du 4:3 ?
# Tu y étais presque...
Posté par bobert . En réponse au message mdk10.1rc1 Freeze. Évalué à 2.
L'important est de ne pas omettre non plus l'option "nolapic".
Quant à l'option "mem=nopentium", elle était encore nécessaire
avec les premiers noyaux de la série 2.6.7 ; depuis j'ai pas refait l'essai.
Si tu as un peu de temps à tuer, fais d'abord un premier essai sans, et regarde
ce que ça donne.
[^] # Moodle, concurrent de Claroline
Posté par bobert . En réponse au journal Claroline 1.5.1 dans les bacs. Évalué à 1.
Pour des url de cours en ligne, voir par exemple la liste des universités/entités ayant mis en oeuvre Moodle (pas mal de cours nécessitent une inscription): http://moodle.org/sites/(...)
# IFS=$'\n'
Posté par bobert . En réponse au message Robot d'exploration de répertoires. Évalué à 2.
Du coup, dès que tu manipules des fichiers dont le nom possède des espaces, ça fout la caille. Et d'ailleurs, un tel script devrait toujours prévoir ce cas de figure.
On peut changer le comportement du shell en modifiant la valeur de la variable IFS (Input Field Separator)
La ligne de commande shell qui correspond à ce que tu voulais est:
IFS=$'\n' && for dir in `ls -d */`; do cd $dir && du -sh && cd ..; done && unset IFS
Pour des scripts remplissant des tâches administratifs, ça a plus de sens de nos jours (à mon humble avis) de les écrire en python. C'est simple à écrire, lisible, facile à maintenir, et on s'affranchit de beaucoup de côtés obscur du shell, dont celui-ci.
[^] # Re: ça marche comment ?
Posté par bobert . En réponse au journal Amarok 1.1 feature freeze. Évalué à 1.
Ah, cool, ça m'intéresse bien ça... comment on fait ?
L'idéal pour moi serait qu'il cherche dans le répertoire correspondant à l'album un fichier 'cover.jpg' par exemple...
[^] # Re: Info relayée
Posté par bobert . En réponse au journal E.T., es-tu là ?. Évalué à 3.
A priori la même que celle de Nature ou Science. Son comité de lecture fait son boulot ; c'est-à-dire qu'il peuvent faire des erreurs comme n'importe quels autres êtres humains. Reste la tentation du sensationnalisme, mais là-dessus aucune revue scientifique n'est exempte de reproches.
Quand l'annonce sera dans Nature, Science ou the Astronomical Review, ou encore astro-ph
J'espère que tu rigoles. N'importe qui peut balancer n'importe quoi sur astro-ph ; y'a aucun comité de lecture pour faire le tri ; dans la pratique y'a à boire et à manger...
# Info relayée
Posté par bobert . En réponse au journal E.T., es-tu là ?. Évalué à 2.
L'url de la news originale du New Scientist est: http://www.newscientist.com/news/news.jsp?id=ns99996341(...)
mais évidemment tout le monde s'est rué dessus et ils se sont fait méchamment slashdotter.
Merci à ma copine pour m'avoir fait passer l'info en avant-première !
# J'ai marché dedans
Posté par bobert . En réponse au journal LDLC un passage a microsoft à tout va, après une longue histoire "opensource". Évalué à 6.
Tour ça pue un peu trop pour moi... j'ai une merde sous ma chaussure, et je vais m'en débarrasser vite fait. LDLC était mon fournisseur exclusif de matériel informatique depuis plusieurs années, sans compter les gens autour de moi pour qui je passais commande en ligne. Hop, terminé, à dégager. Je sais vers qui me tourner (http://materiel.net(...) , pour ne pas les nommer)
[^] # Pareil
Posté par bobert . En réponse au message Synchroniser deux répertoires locaux. Évalué à 1.
Lis le tutoriel pour commencer (http://www.cis.upenn.edu/~bcpierce/unison/download/stable/latest/un(...))
[^] # php2dot
Posté par bobert . En réponse au message graphe des liaisons entre fichiers. Évalué à 2.
# Une solution
Posté par bobert . En réponse au message graphe des liaisons entre fichiers. Évalué à 1.
La subtilité, pour éviter de pourrir le graphe, c'est de regrouper en un même noeud les fichiers qui ont les mêmes inclusions.
Sinon une limitation fondamentale du programme c'est qu'il attend des fichiers aux noms distincts ; lever cette limitation demanderait pas mal d'efforts supplémentaires... moi je m'arrête là.
# Toi reprendre depuis le début
Posté par bobert . En réponse au message installation maxima. Évalué à 2.
2. Toi configurer correctement les sources de paquetages correspondant à ta machine & à ta distribution en suivant les directives affichées ici: http://urpmi.org/easyurpmi/index.php(...)
3. Toi taper en tant que superadministrateur
# urpmi maxima-gui
4. Toi recommencer depuis l'étape 1 jusqu'à ce que ça marche... bons calculs ! (moi j'ai pas trouvé chaussure à mon pied avec Maxima, je tourne avec Mathematica)
[^] # Re: C'est pas que c'est mort
Posté par bobert . En réponse au journal bash 3. Évalué à 2.
$ zsh
[5 secondes plus tard]
zsh: corrupt history file /home/bobert/.bash_history
$
$ echo $SHELL
/bin/bash
$
Ca a l'air vraiment cool, zsh :-(