Frequently Asked Questions à propos de certains trucs

"Permuted Index" selon la première lettre d'un mot clé contenu dans le titre:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Liste des Faqs selon leurs titres :

- Base de donnée WEB (woda):
- Comment obtenir la liste des ecrans:
- Comment ouvrir une fenêtre sur un ecran particulier:
- Exception:
- Generation d'une exception:
- Junit pour eclipse:
- Le repository svn universite:
- acces aux applications fink:
- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class):
- appel d'une methode definie dans la classe parente avec un interface:
- appel d'une methode definie dans la classe parente:
- applet de test (hello world):
- assemblage d'images (montage):
- automount d'un directory sous /opt (castor, mount, yp):
- benchmark_de_memcpy.html:
- border:
- bouton (JButton, Listener):
- changement de type (cast):
- chargement d'applications avec fink:
- cle USB sur Sun:
- composer html:
- concatenation de chaînes de caractères:
- conversion string en boolean:
- conversion string en double:
- conversion string en int:
- creer un repository svn:
- creer un tag svn:
- créer une fenêtre independante (toplevel):
- date:
- decoupage de mpeg concaténés:
- definir le shell pour les fenetres terminaux:
- dictionnaire T9 pour telephone portable:
- découpage d'une chaine de caractère à un séparateur (split):
- ecriture de fichier (write):
- enlever un verouillage sur fichiers mac:
- extraction des attachements dans un folder de mail:
- fft sm tentative:
- file chooser:
- formattage:
- ftp pour installation de midas:
- impression recto verso (lpr):
- impression sur STDOUT (print):
- installation d'applications sur les serveurs de l'obs:
- installation d'imprimantes sous windows 2000:
- installation de fink (29/06/2006):
- installation de modules Perl:
- installation de windows 2000:
- installation gaiatools:
- ipod:
- lancement d'une applet dans un previewer (netscape, mozilla):
- lecture de fichier (read):
- lecture formattée (NumberFormat):
- listener : déclaration immédiate ou classe (addChangeListener):
- manuels, url, mode d'emploi:
- mapple:
- merge de pdf en un seul document:
- mettre en fonction le super user ( su , root ):
- programme de test (hello world):
- proxy cvs:
- radio bouton (JRadioButton, ButtonGroup, Listener):
- recrypter son user id sur samba (acces obs depuis pc):
- remplir un panel trop grand:
- repository svn gaia pour gaiatools:
- restart du web à genève:
- retrouver le current directory:
- retrouver le home directory:
- sauvetage sur CD:
- script d'initialisation pour l'environnement beta à La Silla:
- signer un jar (jarsigner, keytool):
- slider (JSlider, Listener):
- slider avec labels personalisé (JSlider, Listener):
- sm supermongo mongo:
- ssh sans password (authorized_keys):
- suppression des spam (tagspam, crontab):
- svn subclipse pour eclipse:
- synchronisation (rsync):
- taille de l'écran:
- trouver les emails pour UNIGE, ISDC et EPFL:
- utilisation des vecteurs (Vector, arrays):
- window manager en remote ( nx ):
-- border
/opt -- automount d'un directory sous /opt (castor, mount, yp)

2 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
29/06/2006 -- installation de fink (29/06/2006)

A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
acces -- acces aux applications fink
recrypter son user id sur samba (acces obs depuis pc)
addchangelistener -- listener : déclaration immédiate ou classe (addChangeListener)
appel -- appel d'une methode definie dans la classe parente
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
appel d'une methode definie dans la classe parente avec un interface
applet -- applet de test (hello world)
lancement d'une applet dans un previewer (netscape, mozilla)
applications -- acces aux applications fink
chargement d'applications avec fink
installation d'applications sur les serveurs de l'obs
arrays -- utilisation des vecteurs (Vector, arrays)
assemblage -- assemblage d'images (montage)
attachements -- extraction des attachements dans un folder de mail
authorized -- ssh sans password (authorized_keys)
automount -- automount d'un directory sous /opt (castor, mount, yp)
avec -- chargement d'applications avec fink
appel d'une methode definie dans la classe parente avec un interface
slider avec labels personalisé (JSlider, Listener)
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)

B A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
base -- Base de donnée WEB (woda)
benchmark -- benchmark_de_memcpy.html
beta -- script d'initialisation pour l'environnement beta à La Silla
boolean -- conversion string en boolean
border -- border
bouton -- radio bouton (JRadioButton, ButtonGroup, Listener)
bouton (JButton, Listener)
buttongroup -- radio bouton (JRadioButton, ButtonGroup, Listener)

C A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
caractère -- découpage d'une chaine de caractère à un séparateur (split)
caractères -- concatenation de chaînes de caractères
cast -- changement de type (cast)
castor -- automount d'un directory sous /opt (castor, mount, yp)
cd -- sauvetage sur CD
chaine -- découpage d'une chaine de caractère à un séparateur (split)
changement -- changement de type (cast)
chargement -- chargement d'applications avec fink
chaînes -- concatenation de chaînes de caractères
chooser -- file chooser
class -- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
classe -- appel d'une methode definie dans la classe parente avec un interface
listener : déclaration immédiate ou classe (addChangeListener)
appel d'une methode definie dans la classe parente
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
cle -- cle USB sur Sun
comment -- Comment obtenir la liste des ecrans
Comment ouvrir une fenêtre sur un ecran particulier
composer -- composer html
concatenation -- concatenation de chaînes de caractères
concaténés -- decoupage de mpeg concaténés
conversion -- conversion string en double
conversion string en boolean
conversion string en int
creer -- creer un repository svn
creer un tag svn
crontab -- suppression des spam (tagspam, crontab)
créer -- créer une fenêtre independante (toplevel)
current -- retrouver le current directory
cvs -- proxy cvs

D A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
date -- date
decoupage -- decoupage de mpeg concaténés
definie -- appel d'une methode definie dans la classe parente avec un interface
appel d'une methode definie dans la classe parente
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
definir -- definir le shell pour les fenetres terminaux
depuis -- recrypter son user id sur samba (acces obs depuis pc)
dictionnaire -- dictionnaire T9 pour telephone portable
directory -- automount d'un directory sous /opt (castor, mount, yp)
retrouver le current directory
retrouver le home directory
document -- merge de pdf en un seul document
donnée -- Base de donnée WEB (woda)
double -- conversion string en double
déclaration -- listener : déclaration immédiate ou classe (addChangeListener)
découpage -- découpage d'une chaine de caractère à un séparateur (split)

E A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
eclipse -- Junit pour eclipse
svn subclipse pour eclipse
ecran -- Comment ouvrir une fenêtre sur un ecran particulier
ecrans -- Comment obtenir la liste des ecrans
ecriture -- ecriture de fichier (write)
emails -- trouver les emails pour UNIGE, ISDC et EPFL
emploi -- manuels, url, mode d'emploi
en -- mettre en fonction le super user ( su , root )
merge de pdf en un seul document
conversion string en int
window manager en remote ( nx )
conversion string en double
conversion string en boolean
enlever -- enlever un verouillage sur fichiers mac
environnement -- script d'initialisation pour l'environnement beta à La Silla
epfl -- trouver les emails pour UNIGE, ISDC et EPFL
exception -- Generation d'une exception
Exception
extraction -- extraction des attachements dans un folder de mail

F A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
fenetres -- definir le shell pour les fenetres terminaux
fenêtre -- Comment ouvrir une fenêtre sur un ecran particulier
créer une fenêtre independante (toplevel)
fft -- fft sm tentative
fichier -- ecriture de fichier (write)
lecture de fichier (read)
fichiers -- enlever un verouillage sur fichiers mac
file -- file chooser
fink -- acces aux applications fink
chargement d'applications avec fink
installation de fink (29/06/2006)
folder -- extraction des attachements dans un folder de mail
fonction -- mettre en fonction le super user ( su , root )
formattage -- formattage
formattée -- lecture formattée (NumberFormat)
ftp -- ftp pour installation de midas

G A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
gaia -- repository svn gaia pour gaiatools
gaiatools -- installation gaiatools
repository svn gaia pour gaiatools
generation -- Generation d'une exception
genève -- restart du web à genève
grand -- remplir un panel trop grand

H A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
hello -- programme de test (hello world)
applet de test (hello world)
home -- retrouver le home directory
html -- composer html

I A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
id -- recrypter son user id sur samba (acces obs depuis pc)
images -- assemblage d'images (montage)
immédiate -- listener : déclaration immédiate ou classe (addChangeListener)
impression -- impression recto verso (lpr)
impression sur STDOUT (print)
imprimantes -- installation d'imprimantes sous windows 2000
independante -- créer une fenêtre independante (toplevel)
initialisation -- script d'initialisation pour l'environnement beta à La Silla
installation -- installation de modules Perl
installation d'imprimantes sous windows 2000
ftp pour installation de midas
installation d'applications sur les serveurs de l'obs
installation de windows 2000
installation gaiatools
installation de fink (29/06/2006)
int -- conversion string en int
interface -- appel d'une methode definie dans la classe parente avec un interface
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
ipod -- ipod
isdc -- trouver les emails pour UNIGE, ISDC et EPFL

J A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
jar -- signer un jar (jarsigner, keytool)
jarsigner -- signer un jar (jarsigner, keytool)
jbutton -- bouton (JButton, Listener)
jradiobutton -- radio bouton (JRadioButton, ButtonGroup, Listener)
jslider -- slider avec labels personalisé (JSlider, Listener)
slider (JSlider, Listener)
junit -- Junit pour eclipse

K A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
keys -- ssh sans password (authorized_keys)
keytool -- signer un jar (jarsigner, keytool)

L A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
l -- installation d'applications sur les serveurs de l'obs
taille de l'écran
script d'initialisation pour l'environnement beta à La Silla
labels -- slider avec labels personalisé (JSlider, Listener)
lancement -- lancement d'une applet dans un previewer (netscape, mozilla)
lecture -- lecture formattée (NumberFormat)
lecture de fichier (read)
liste -- Comment obtenir la liste des ecrans
listener -- bouton (JButton, Listener)
slider (JSlider, Listener)
listener : déclaration immédiate ou classe (addChangeListener)
slider avec labels personalisé (JSlider, Listener)
radio bouton (JRadioButton, ButtonGroup, Listener)
lpr -- impression recto verso (lpr)

M A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
mac -- enlever un verouillage sur fichiers mac
mail -- extraction des attachements dans un folder de mail
manager -- window manager en remote ( nx )
manuels -- manuels, url, mode d'emploi
mapple -- mapple
memcpy -- benchmark_de_memcpy.html
merge -- merge de pdf en un seul document
methode -- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
appel d'une methode definie dans la classe parente
appel d'une methode definie dans la classe parente avec un interface
mettre -- mettre en fonction le super user ( su , root )
midas -- ftp pour installation de midas
mode -- manuels, url, mode d'emploi
modules -- installation de modules Perl
mongo -- sm supermongo mongo
montage -- assemblage d'images (montage)
mount -- automount d'un directory sous /opt (castor, mount, yp)
mozilla -- lancement d'une applet dans un previewer (netscape, mozilla)
mpeg -- decoupage de mpeg concaténés

N A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
nested -- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
netscape -- lancement d'une applet dans un previewer (netscape, mozilla)
numberformat -- lecture formattée (NumberFormat)
nx -- window manager en remote ( nx )

O A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
obs -- recrypter son user id sur samba (acces obs depuis pc)
installation d'applications sur les serveurs de l'obs
obtenir -- Comment obtenir la liste des ecrans
ou -- listener : déclaration immédiate ou classe (addChangeListener)
ouvrir -- Comment ouvrir une fenêtre sur un ecran particulier

P A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
panel -- remplir un panel trop grand
parente -- appel d'une methode definie dans la classe parente avec un interface
appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
appel d'une methode definie dans la classe parente
particulier -- Comment ouvrir une fenêtre sur un ecran particulier
password -- ssh sans password (authorized_keys)
pc -- recrypter son user id sur samba (acces obs depuis pc)
pdf -- merge de pdf en un seul document
perl -- installation de modules Perl
personalisé -- slider avec labels personalisé (JSlider, Listener)
portable -- dictionnaire T9 pour telephone portable
previewer -- lancement d'une applet dans un previewer (netscape, mozilla)
print -- impression sur STDOUT (print)
programme -- programme de test (hello world)
proxy -- proxy cvs

R A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
radio -- radio bouton (JRadioButton, ButtonGroup, Listener)
read -- lecture de fichier (read)
recrypter -- recrypter son user id sur samba (acces obs depuis pc)
recto -- impression recto verso (lpr)
remote -- window manager en remote ( nx )
remplir -- remplir un panel trop grand
repository -- repository svn gaia pour gaiatools
Le repository svn universite
creer un repository svn
restart -- restart du web à genève
retrouver -- retrouver le home directory
retrouver le current directory
root -- mettre en fonction le super user ( su , root )
rsync -- synchronisation (rsync)

S A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
samba -- recrypter son user id sur samba (acces obs depuis pc)
sans -- ssh sans password (authorized_keys)
sauvetage -- sauvetage sur CD
script -- script d'initialisation pour l'environnement beta à La Silla
serveurs -- installation d'applications sur les serveurs de l'obs
seul -- merge de pdf en un seul document
shell -- definir le shell pour les fenetres terminaux
signer -- signer un jar (jarsigner, keytool)
silla -- script d'initialisation pour l'environnement beta à La Silla
slider -- slider avec labels personalisé (JSlider, Listener)
slider (JSlider, Listener)
sm -- sm supermongo mongo
fft sm tentative
son -- recrypter son user id sur samba (acces obs depuis pc)
spam -- suppression des spam (tagspam, crontab)
split -- découpage d'une chaine de caractère à un séparateur (split)
ssh -- ssh sans password (authorized_keys)
stdout -- impression sur STDOUT (print)
string -- conversion string en boolean
conversion string en int
conversion string en double
su -- mettre en fonction le super user ( su , root )
subclipse -- svn subclipse pour eclipse
sun -- cle USB sur Sun
super -- mettre en fonction le super user ( su , root )
supermongo -- sm supermongo mongo
suppression -- suppression des spam (tagspam, crontab)
svn -- svn subclipse pour eclipse
Le repository svn universite
repository svn gaia pour gaiatools
creer un tag svn
creer un repository svn
synchronisation -- synchronisation (rsync)
séparateur -- découpage d'une chaine de caractère à un séparateur (split)

T A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
t9 -- dictionnaire T9 pour telephone portable
tag -- creer un tag svn
tagspam -- suppression des spam (tagspam, crontab)
taille -- taille de l'écran
telephone -- dictionnaire T9 pour telephone portable
tentative -- fft sm tentative
terminaux -- definir le shell pour les fenetres terminaux
test -- programme de test (hello world)
applet de test (hello world)
toplevel -- créer une fenêtre independante (toplevel)
trop -- remplir un panel trop grand
trouver -- trouver les emails pour UNIGE, ISDC et EPFL
type -- changement de type (cast)

U A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
unige -- trouver les emails pour UNIGE, ISDC et EPFL
universite -- Le repository svn universite
url -- manuels, url, mode d'emploi
usage -- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class)
usb -- cle USB sur Sun
user -- recrypter son user id sur samba (acces obs depuis pc)
mettre en fonction le super user ( su , root )
utilisation -- utilisation des vecteurs (Vector, arrays)

V A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
vecteurs -- utilisation des vecteurs (Vector, arrays)
vector -- utilisation des vecteurs (Vector, arrays)
verouillage -- enlever un verouillage sur fichiers mac
verso -- impression recto verso (lpr)

W A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
web -- Base de donnée WEB (woda)
restart du web à genève
window -- window manager en remote ( nx )
windows -- installation d'imprimantes sous windows 2000
installation de windows 2000
woda -- Base de donnée WEB (woda)
world -- applet de test (hello world)
programme de test (hello world)
write -- ecriture de fichier (write)

Y A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
yp -- automount d'un directory sous /opt (castor, mount, yp)
écran -- taille de l'écran




- cle USB sur Sun:
le mount est automatique.
le point de montage se voit avec:
obssf9> /opt/SUNWut/bin/utdiskadm -l Device Partition Mount Path ------ --------- ---------- disk1 disk1s2 /tmp/SUNWut/mnt/weber/swissmemory
umount avec:
/opt/SUNWut/bin/utdiskadm -r disk1


- fft sm tentative:
(cd ~/src/java/Protoapes) load fourier OVERLOAD FFT 1 lines 1 1024 data COURBE_POUR_FFT read {x 1 y 2} set y = 150 - y set y_r = y set y_i = y*0 fft y k set c = x set c = (x>512) ? 0 : 1 #print {c} set kk_r = k_r*c set kk_i = k_r*0 ifft kk z limits x y box connect x y connect x z_r


- recrypter son user id sur samba (acces obs depuis pc):
obssf1:~ 44# /opt/csw/local/samba/scripts/pdbedit -a weber


- automount d'un directory sous /opt (castor, mount, yp):
editer /etc/yp/auto.opt cd /var/yp make mkdir /export/ cd /export chown weber:develop chmod g+w cd


- dictionnaire T9 pour telephone portable:
http://www.sharp-phone.com/faqs/faqs.php?countryid=8&generalfaqcategoryid=8
La procédure pour ajouter un mot dans le dictionnaire T9 est la suivante :
1. Sélectionnez Messages/SMS/Ecrire 2. Appuyez sur la touche # jusqu'à ce que T9 soit désactivé (T9 disparaît de l'angle supérieur gauche de l'écran). Le téléphone est alors en mode de frappe simple de texte. 3. Tapez le mot choisi 4. Resélectionnez T9 en appuyant sur la touche # jusqu'à ce que T9 s'affiche dans l'angle supérieur gauche de l'écran 5. Le mot tapé est maintenant enregistré dans le dictionnaire T9.


- sauvetage sur CD:
Exemple en usage:
sauvetage ~weber (exemple):
mkisofs -l -L -R -a -T -A HOME -o ~/big_disk/CD_sauvetage/home.raw -x ~/scratch -x ~/big_disk ~
sauvetage d'un directory spécifique (exemple):
mkisofs -l -L -R -a -T -A PP -o ~/big_disk/CD_sauvetage/pepees.raw ~/scratch/soft mkisofs -l -L -R -a -T -A archives -o ~/big_disk/CD_sauvetage/archives.raw ~/scratch/archives
pour suivre les links (exemple):
mkisofs -f -l -L -R -a -T -A WEB_LS_LA_PHOTOS -o ~/big_disk/CD_sauvetage/web.raw ~weber/scratch/web_ls_la_photos
/unige/WWW sans les stats du WEB, sous root sur dejanire:
mkisofs -l -L -R -a -T -A WEB_OBS -o ~/big_disk/CD_sauvetage/web.raw -x /unige/WWW/stats /unige/WWW


- suppression des spam (tagspam, crontab):
15 * * * * /home/ccd/simond/bin/tagspam.csh --imapuser t4 15 * * * * /home/ccd/simond/bin/tagspam.csh


- trouver les emails pour UNIGE, ISDC et EPFL:
row 'at ~ /GE/' < /unige/WWW/InfoGenerales/tellist.r | column username | tail +3 | nawk '{if(length($1)>0){printf "%s@obs.unige.ch, ",$1}}' ; echo "" row 'at ~ /EPFL/' < /unige/WWW/InfoGenerales/tellist.r | column username | tail +3 | nawk '{if(length($1)>0){printf "%s@obs.unige.ch, ",$1}}' ; echo "" row 'at ~ /ISDC/' < /unige/WWW/InfoGenerales/tellist.r | column username | tail +3 | nawk '{if(length($1)>0){printf "%s@obs.unige.ch, ",$1}}' ; echo "" nawk '{printf "%s, ",$1}' < ~weber/WWW/mailing/divers_emails ; echo ""


- extraction des attachements dans un folder de mail:
cd ~/Mail mkdir tmp /home/ccd/weber/src/perl/extract_attachement_from_mail_file.pl < <folder> cd tmp rm *.uu mv *.pps *.ppt ~/scratch/pps2imag AAA_rename.csh
fabriquer un directory par pps
cd ~/scratch/pps2imag rm README.bck foreach i (*.*) echo mkdir $i:r mkdir $i:r mv $i $i:r end
ouvrir dans staroffice
trier ....
sauver sous pdf
pour faire tout les directory qui ont un pdf
foreach i ( */*.pdf ) cd $i:h echo pdfimages -j $i:h".pdf" $i:h pdfimages -j $i:h".pdf" $i:h end cd ..
convertion en jpg (dans le directory)
foreach i ( */*.ppm ) echo convert $i:r".ppm" $i:r".jpg" convert $i:r".ppm" $i:r".jpg" end rm */*.ppm
pour faire de l'ordre
ls */*.ppm foreach i (`ls -1 */*.jpg | cut -f1 -d"/" | sort -u`) rm $i/$i.pdf $i/$i.pp? end xv */* mv */*.pp? ../TRUE_PPS rmdir * ls -1 */* | grep -v jpg mv [a-z]* ../EXPAND_PPS/ (attention au README) rm `ls -l *.jpg | grep 1261 | cut -f18- -d" "`


- script d'initialisation pour l'environnement beta à La Silla:
/etc/envv/40t120.csh


- installation d'applications sur les serveurs de l'obs:
sous root sur hippomene puis scp sur crab et hercule


- installation de windows 2000:
- débrancher la connection réseau- boot sur CD (attentif aux messages)
- choisir le formattage du disque - 1 partition type NTFS (117232MB) nom: lucus societe: lucus mot de passe: .... (MAJ)
- charger les drivers de la mainboard + drivers VGA
reboot en laissant le disque
remarque: processes apres le boot:
System smss.exe csrss.exe winlogon services lsass scvhost SPOOLSV.EXE nvsvc32 regsvc mstask taskmgr explorer sstray rundll32 internat IP: 129.194.66.147 255.255.252.0 129.194.64.18 DNS: 129.194.4.8 129.194.65.4
http://lnxweb1.unige.ch:5080/helpdesk/DocGenerales/adaware
executer->CMD->ipconfig /renew


- installation d'imprimantes sous windows 2000:
imprimante locale nouveau port tcp/ip 10.194.64.209 (hp7)


- ipod:
http://www.cnet.com.au/mp3players/0,39028967,40001382,00.htm
Tip 1: Use two different iPods -- and libraries -- on one computer
Let's say you have one computer and two iPods. It's easy enough to synchronise both iPods with just one computer, as long as both iPod users are happy accessing the same music library or the same set of playlists. But that can get hard to manage, especially if you're manually updating the iPod or adding new music that you'd like to keep separate.
In most cases, the easiest way to keep discrete libraries for syncing both iPods is to create a separate user account for each person who uses an iPod with the computer. The Insider Secrets video shows the steps for doing this using Mac OS X; here's how to create a separate user and share music under Windows XP.
First, click Start > Control Panel > User Accounts (Start > Settings > Control Panel if you use the Classic view). Click "Create a new account," and follow the instructions.
Windows XP kindly provides a shared folder that already includes a directory called Shared Music (find it under C:\Documents and Settings\All Users\Documents). The easiest thing to do is to copy all the music on your computer into this folder so that all users can access it. Then the lucky owner of the new iPod can pick and choose what music to include in his or her iTunes Library. From the new account, in iTunes, click File > Add Folder To Library, and copy over whatever music you want (make sure to check the box next to "Copy files to iTunes music folder" when adding to library, under Advanced in the Preferences dialog box, so that iTunes doesn't consolidate the files for the music library).
Now both users can share all or part of the same library, add new music whenever necessary, and automatically update their iPods without the hassle of manually sifting through a large shared library.
Tip 2: Maximise your iPod's battery life
Your iPod's battery is a lithium polymer that's rated for 500 or more charging cycles. (A charging cycle is a full discharge -- that is, when you run the battery all the way down until it has no charge left and follow it with a full charge.) If you recharge your iPod's battery every other day, 500 charges should last you the best part of three years (though some claim you'll get only about 18 months). If you recharge your iPod's battery less frequently, there's a good chance the battery will outlast the hard drive. Here's how to get the longest life possible.
Don't let the battery die completelyTo get the most life out of your battery, don't let it discharge fully -- that is, don't run it until it's dead. However little you use your iPod, recharge it fully at least once every three weeks to prevent the battery from going flat. If you go on vacation for a month, you should take your iPod with you and recharge it during that time. (But you were going to take your iPod with you on vacation anyway, weren't you?)
Reduce demands on the battery
* Play your music by album or by playlist, rather than hopping from one track to another. Remember that your iPod can cache an album or playlist to minimise the time the hard disk is spinning. But when you ask your iPod to produce another track it hasn't cached, it has to spin up the hard disk and access the song.
* Use AAC or MP3 files rather than WAV or AIFF (Mac users only) files. Because WAVs and AIFFs are uncompressed and, therefore, much bigger than compressed files, they prevent your iPod from using its cache effectively, so the hard disk has to work much harder.
* Minimise your use of the backlight or turn it off completely. To control the backlight, go to Settings > Backlight Timer. Here, you can designate the amount of time you want the backlight to remain on (2, 5, 10, or 20 seconds), set it to Always On (not recommended, obviously, for saving your battery), or for maximum conservation, just turn it off.
Tip 3: Sort using the Composers category
You've probably noticed that when you're searching for songs, there's a category in the Browse menu called Composers. This category is primarily useful for classical music because these songs may be tagged with the name of the recording artist rather than that of the composer. For example, an album of the Fargo Philharmonic playing Beethoven's Ninth Symphony might list the Fargo Philharmonic as the artist and Beethoven as the composer. By using the Composers category, you can easily find works by your favourite composer: Bach, Beethoven, Brahms, and so on.
But the Composers category doesn't have to be limited to classical music. For example, you could use the Composers category to quickly access all of your Nick Drake cover versions as well as Drake's own recordings of his songs. The only disadvantage to sorting this way is that the metadata information for many CDs in the CD Database (a.k.a. Gracenote) doesn't include an entry in the Composer field. If you want to use it, you may need to manually edit the songs' tags. Still, if you're a real fan of a particular artist, this effort can pay off -- and note that many songs purchased from stores such as the iTunes Music Store contain the complete tags.
Note: By editing tags manually, you can create almost any sorting criteria you like.


- mapple:
";" en fin de ligne, mais un ":" supprime l'echo
solve(a*x+b=3, x);
SH:=sin(HARadian):
f := x -> 3*x + 5;f(3);


- ftp pour installation de midas:
ftp ftphost.hq.eso.org anonymous


- assemblage d'images (montage):
montage -tile 5x10 -mode Concatenate *.jpg qq1.jpg ~/qq.jpg montage -tile 1x2 -geometry +0+0 dauphins.jpg dauphins2.jpg dau.jpg ; xv dau.jpg


- decoupage de mpeg concaténés:
fichier mpeg on reconnait les séquences suivantes (od -t a):
au debut: nul nul soh : ! nul soh
à la fin: nul soh 9
on peut greper aussi (si passe les lignes):
0 soh 9 nul nul 0 9 nul nul
pour degrouper un fichier mpeg résultat de la concatenation de plusieurs mpeg isolé:
dd bs=1285176 count=1 if=qq.mpg > qq_part_1 dd bs=1285176 count=1 skip=1 if=qq.mpg > qq_part_2 dd bs=1285176 skip=1 if=qq.mpg > qq_part_2_to_end


- installation de modules Perl:
perl -MCPAN -e shell cpan> install Date::Manip


- impression recto verso (lpr):
combine 2 pages sur une et imprime en recto-verso horizontal sur hp0. Avec agraphes sur le coté:
lpr -Php0t -o number-up=2 votre_fichier
combine 2 pages sur une et imprime en recto-verso (double-face) sur hp0. Avec agraphes sur le haut:
lpr -Php0d -o number-up=2 votre_fichier
Il y a un petit utilitaire (psbook) qui permet de mettre les pages dans un ordre tel qu'elles apparaissent dans le bon ordre quand les feuilles sont pliées et aggrafées au milieu. Utilisation:
psbook -s
À imprimer impérativement avec le « t » à la fin du nom del'imprimante (reliure sur le petit côté), sinon, c'est inutilisable !
lpr -Php0t docZ.p


- restart du web à genève:
connect -l root obswww cd /etc/init.d sh apachectl stop ps -ef | grep httpd (pkill httpd s'il traine des apaches) (sh apachectl stop (peut être s'il dit all ready running ou alors attendre?)) sh apachectl start
il y a aussi apache2ctl pour le obswww.8888. Si on parle de obswww uniquement alors c'est apachectl qu'il faut simplement utiliser.


- synchronisation (rsync):
depuis castor_lasilla: ~/src castor_lasilla ==> obssf2_geneve
(option -n pour ne pas exécuter) rsync -avHl --safe-links --exclude "*.o" --exclude "*.a" --include "libmidas.a" --exclude "*SunOS*" --exclude "*Linux_2.6" --exclude "src/pmod_lib*/Makefile" ~/src/ obssf2.unige.ch:src/
depuis castor_*: ~/src obssf2_geneve ==> castor_*
(option -n pour ne pas exécuter) rsync -avHl --safe-links --exclude "*.o" --exclude "*.a" --include "libmidas.a" --exclude "*SunOS_5.?" --exclude "*SunOS_5.??" --exclude "*Linux_2.6" --exclude "src/pmod_lib*/Makefile" obssf2.unige.ch:src/ ~/src/
procédures lasilla->castor_ge
rsync -avHl $THOME/prc 129.194.66.130:/opt/t4/beta
~/src directory sur castor.ls.eso.org
rsync -avHl --rsync-path=/usr/bin/rsync --safe-links --exclude "*.o" --include "libmidas.a" --exclude "*.a" --exclude "*SunOS*" --exclude "*Linux_2.6" --exclude "src/pmod_lib*/Makefile" ~/src castor.ls.eso.org:
~/src directory sur castor
rsync -avHl --rsync-path=/usr/bin/rsync --safe-links --exclude "*.o" --include "libmidas.a" --exclude "*.a" --exclude "*SunOS*" --exclude "*Linux_2.6" --exclude "src/pmod_lib*/Makefile" ~/src castor:
$TROOT depuis castor (lasilla) sur castor (Genève) copie conforme
rsync -avHl --delete /opt/t4/ 129.194.66.130:/opt/t4/
$THOME (uniquement beta) depuis castor (lasilla) sur castor (Genève) pour developpement New C2
rsync -avHl /opt/t4/beta/ 129.194.66.130:/export/opt/t4_new_c2/beta/
recherche d'un directory sun depuis mac
rsync -avHl --rsync-path=/unige/gnu/share/scripts/rsync weber@obssb36.unige.ch: .


- ssh sans password (authorized_keys):
Configuration, mode d'emploi

But: fabriquer la cle privee dans ~/.ssh/id_rsa et la cle publique dans ~/.ssh/authorized_keys et propager ces fichier sur chaques machines où l'on désire se logger sans mot de passe:
1) fabrication des clés:
Taper sur une machine (fabrique: ~/.ssh/id_rsa et ~/.ssh/id_rsa.pub):
ssh-keygen -t rsa
2) fabrication du fichier ~/.ssh/authorized_keys:
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
3) distribution des clés (a copier sur chaque machine):
scp ~/.ssh/id_rsa ~/.ssh/authorized_keys <sdestination_host>:.ssh/


- Base de donnée WEB (woda):
cd /net/dejanire/export/diskA/WWW/Public/La_Silla rm -rf tmp mkdir tmp cd tmp tar xvzf ~simond/woda-uk-4-310-pl.tar.gz /usr/local/bin/perl install
répondre:
/net/dejanire/export/diskA/WWW/Public/La_Silla/woda /net/dejanire/export/diskA/WWW/Public/La_Silla/woda/cgi /net/dejanire/export/diskA/WWW/Public/La_Silla/woda/htdocs
Exemple d'installation
Where to install WODA program library [/usr/local/woda]:/net/dejanire/export/diskA/WWW/Public/La_Silla/woda In which directory should the demo cgi script be installed. This depends on the setup of your Web server. The cgi-bin directory (wherever it is) is a safe bet) [/usr/local/www/cgi]:/net/dejanire/export/diskA/WWW/Public/La_Silla/woda/cgi What is the document root directory of your web server. This is the directory where you put index.html or other html files [/usr/local/www/htdocs]:/net/dejanire/export/diskA/WWW/Public/La_Silla/woda/htdocs What should be the password for the administrators (you). []:t4-support Ready to install: WODA to /net/dejanire/export/diskA/WWW/Public/La_Silla/woda CGI demos to /net/dejanire/export/diskA/WWW/Public/La_Silla/woda/cgi ICONS to /net/dejanire/export/diskA/WWW/Public/La_Silla/woda/htdocs/woda/icons DATA to /net/dejanire/export/diskA/WWW/Public/La_Silla/woda/htdocs/woda/data Press N to abort or ENTER to install: -----------------------------------------------------------------------
dans woda/cgi/demo.cgi:
- modif de: (pourquoi that's the question)
$WBB{'homeURL'} = '/La_Silla/woda/data/demo';
- ajout de (pour trouver les icones)
$WBB{'iconURL'} = '/La_Silla/woda/htdocs/woda/icons/';
Modifier woda-uk.pl
ligne ~2292 commenter: #} elsif ($ENV{SCRIPT_NAME} =~ m|^/[A-Z]|) { !!!!! un htaccess se cree sous ./data/demo/.htaccess qui empêche de lire les documents!!! !!!!!


- benchmark_de_memcpy.html:
<P>temps comparé: (1'000'000 de copie d'une chaine de 10 carcateres)
<P>sprintf<BR>20.080u 0.040s 0:20.25 99.3% 0+89k 0+0io 0pf+0w
<P>bcopy<BR>19.280u 0.030s 0:19.40 99.5% 0+79k 0+0io 0pf+0w
<P>strcpy<BR> 2.760u 0.050s 0:02.85 98.5% 0+81k 0+0io 0pf+0w
<P>memcpy<BR> 2.360u 0.050s 0:02.46 97.9% 0+80k 0+0io 0pf+0w


- manuels, url, mode d'emploi:
http://java.sun.com/docs/books/tutorial/uiswing/components/ http://java.sun.com/j2se/1.4.2/docs/api/ http://java.developpez.com/faq/java


- retrouver le current directory:
String userDir = System.getProperty("user.dir"); System.out.println("CWD = "+userDir);


- retrouver le home directory:
String homeDir = System.getProperty("user.home"); System.out.println("HOME = "+homeDir);


- file chooser:
rem: JFileChooser ne peut s'utiliser qu'avec une applet signée (voir jarsigner). Ceci est du au fait qu'on accède des fichiers locaux.


- signer un jar (jarsigner, keytool):
cd ~ keytool -genkey # fabrique .keystore et alias "mykey" cd jar cvf .jar *.class uk jarsigner .jar mykey


- lancement d'une applet dans un previewer (netscape, mozilla):
<html> <body> <applet archive="Startrack.jar" code="Startrack.class></applet> </body> </html>


- créer une fenêtre independante (toplevel):
... MyTopLevel myTopLevel = new MyTopLevel(); myTopLevel.setMyTopLevelVisible(true); ... public class MyTopLevel extends JFrame{ private JFrame frame; private Component contents; public MyTopLevel(){ frame = new JFrame("MyTopLevel"); JMenuBar menuBar; JMenu menu; menuBar = new JMenuBar(); frame.setJMenuBar(menuBar); JMenuItem dismissButton = new JMenuItem("Dismiss"); menuBar.add(dismissButton); dismissButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { frame.setVisible(false); } }); JPanel pane = createPanelData(); pane.setBorder(BorderFactory.createRaisedBevelBorder()); pane.setBorder( BorderFactory.createCompoundBorder( pane.getBorder(), BorderFactory.createEmptyBorder(5,5,5,5)) ); frame.getContentPane().add(pane, BorderLayout.NORTH); frame.pack(); } public void setMyTopLevelVisible(boolean flag){ frame.setVisible(flag); } private JPanel createPanelData(){ JPanel pane = new JPanel(); pane.add(new JLabel("Hello World")); return(pane); } }


- découpage d'une chaine de caractère à un séparateur (split):
String line = "key=content"; String[] parameters; parameters = line.split("=");


- conversion string en boolean:
boolean flag = (Boolean.valueOf("true")).booleanValue(); // return true boolean flag = (Boolean.valueOf("True")).booleanValue(); // return true boolean flag = (Boolean.valueOf("TRUE")).booleanValue(); // return true boolean flag = (Boolean.valueOf("false")).booleanValue(); // return false boolean flag = (Boolean.valueOf("False")).booleanValue(); // return false boolean flag = (Boolean.valueOf("FALSE")).booleanValue(); // return false boolean flag = (Boolean.valueOf("1")).booleanValue(); // return false boolean flag = (Boolean.valueOf("0")).booleanValue(); // return false boolean flag = (Boolean.valueOf("1.")).booleanValue(); // return false boolean flag = (Boolean.valueOf("0.")).booleanValue(); // return false boolean flag = (Boolean.valueOf("x")).booleanValue(); // return false


- conversion string en double:
double x = Double.valueOf("3.14").doubleValue(); // return 3.14


- conversion string en int:
int x = Integer.valueOf("1602").intValue(); // return 1602


- concatenation de chaînes de caractères:
String string = "Hello"+" world"+" No "+1; // "Hello world No 1"


- impression sur STDOUT (print):
System.out.println("Hello"+" world"+" No "+1); // affiche "Hello world No 1"


- lecture de fichier (read):
String fileName = "my_input_file"; String line; String[] columns; try{ File file = new File(fileName); FileReader fileReader = new FileReader(file); BufferedReader bufferedreader = new BufferedReader(fileReader); while((line = bufferedreader.readLine()) != null){ columns = line.split("\t"); // example } }catch (IOException e){ System.out.println("*--ERREUR--readFile--*:"+e); }


- ecriture de fichier (write):
String fileName = "my_output_file"; String line; try{ File file = new File(fileName); FileWriter fileWriter = new FileWriter(file); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); for(int i=0 ; i<10 ; i++){ line = "Line Number="+i+"\n"; bufferedWriter.write(line, 0, line.length()); } bufferedWriter.close(); }catch (IOException e){ System.out.println("*--ERREUR--writeFile--*:"+e); }


- utilisation des vecteurs (Vector, arrays):
Vector integerVector = new Vector(); int value; integerVector.clear(); integerVector.add(new Integer(10)); integerVector.add(new Integer(20)); integerVector.add(new Integer(30)); for(int i=0 ; i<integerVector.size() ; i++){ value = ((Integer)integerVector.elementAt(i)).intValue(); System.out.println("vecteur position "+i+" contenu: "+value); }


- changement de type (cast):
double doubleValue = 3.14; int intValue = 1602; intValue = (int) doubleValue; doubleValue = (double) intValue; intValue = ((Integer)integerVector.elementAt(i)).intValue();


- programme de test (hello world):
pour cet exemple, le programme doit impérativement s'appeler "Test.java"
import java.util.*; import java.lang.*; public class Test { public Test(){ myFunc(); } public static void main(String[] args) { Test test = new Test(); } public void myFunc(){ System.out.println("hello world"); } }
compilation exécution:
javac Test.java java Test
ou
/unige/j2sdk_1.5.0/bin/javac Test.java /unige/j2sdk_1.5.0/bin/java Test


- applet de test (hello world):
pour cet exemple, le programme doit impérativement s'appeler "TestApplet.java"
// <applet code="TestApplet.class" width="300" height="1"></applet> import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TestApplet extends JApplet{ JFrame frame; public void init() { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { } frame = new JFrame("TestApplet"); JPanel pane = new JPanel(); pane.add(new JLabel("Hello world")); frame.getContentPane().add(pane, BorderLayout.CENTER); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { frame.dispose(); } }); frame.pack(); frame.setVisible(true); } }
compilation exécution:
javac TestApplet.java appletviewer TestApplet.java


- bouton (JButton, Listener):
JButton myButton = new JButton("Validate Data and Make a PAF"); myButton.setBackground(buttonColor); myButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Click on my Button"); // ... } }); JPanel pane = new JPanel(new GridLayout(0,1)); pane.setBorder(BorderFactory.createTitledBorder("My Button")); pane.add(myButton);


- slider (JSlider, Listener):
// <applet code="TestApplet.class" width="300" height="1"></applet> import java.util.*; import java.io.*; import java.lang.*; import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class TestApplet extends JApplet{ JFrame frame; JSlider mySlider; public void init() { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { } frame = new JFrame("TestApplet"); JPanel pane = new JPanel(); mySlider = new JSlider(JSlider.HORIZONTAL, 0, 100, 0); mySlider.setMajorTickSpacing(10); mySlider.setMinorTickSpacing(5); mySlider.setPaintLabels(true); mySlider.setPaintTicks(true); mySlider.setPaintTrack(true); mySlider.addChangeListener(new SliderListener()); pane.add(mySlider); frame.getContentPane().add(pane, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } private class SliderListener implements ChangeListener { public void stateChanged(ChangeEvent e) { JSlider source = (JSlider) e.getSource(); int value = (int) source.getValue(); //if(source.getValueIsAdjusting()){return;} if(source == mySlider){ System.out.println("Slider Value = "+value); } } } }


- slider avec labels personalisé (JSlider, Listener):
// <applet code="TestApplet.class" width="300" height="1"></applet> import java.util.*; import java.io.*; import java.lang.*; import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class TestApplet extends JApplet{ JFrame frame; JSlider mySlider; public void init() { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { } frame = new JFrame("TestApplet"); JPanel pane = new JPanel(); mySlider = new JSlider(JSlider.HORIZONTAL, 15, 30, 20); mySlider.setPreferredSize(new Dimension(500,60)); Hashtable myLabel = new Hashtable(); int i = 15; myLabel.put(new Integer (i), new JLabel("(fifteen)")); i = 20; myLabel.put(new Integer (i), new JLabel("(twenty)")); i = 25; myLabel.put(new Integer (i), new JLabel("(twenty-five)")); i = 30; myLabel.put(new Integer (i), new JLabel("(thirty)")); mySlider.setLabelTable(myLabel); mySlider.setMajorTickSpacing(5); mySlider.setPaintLabels(true); mySlider.setPaintTicks(true); mySlider.setPaintTrack(true); mySlider.setSnapToTicks(true); mySlider.addChangeListener(new SliderListener()); pane.add(mySlider); frame.getContentPane().add(pane, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } private class SliderListener implements ChangeListener { public void stateChanged(ChangeEvent e) { JSlider source = (JSlider) e.getSource(); int value = (int) source.getValue(); if(source.getValueIsAdjusting()){return;} if(source == mySlider){ System.out.println("Slider Value = "+value); } } } }


- radio bouton (JRadioButton, ButtonGroup, Listener):
// <applet code="TestApplet.class" width="300" height="1"></applet> import java.util.*; import java.io.*; import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class TestApplet extends JApplet{ JFrame frame; JRadioButton myRadioA; JRadioButton myRadioB; JRadioButton myRadioC; public void init() { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { } frame = new JFrame("TestApplet"); JPanel pane = new JPanel(); myRadioA = new JRadioButton("A"); myRadioB = new JRadioButton("B"); myRadioC = new JRadioButton("C"); ButtonGroup group = new ButtonGroup(); group.add(myRadioA); group.add(myRadioB); group.add(myRadioC); pane.add(myRadioA); pane.add(myRadioB); pane.add(myRadioC); myRadioA.setSelected(true); RadioListener myRadioListener = new RadioListener(); myRadioA.addItemListener(myRadioListener); myRadioB.addItemListener(myRadioListener); myRadioC.addItemListener(myRadioListener); frame.getContentPane().add(pane, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } class RadioListener implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getItemSelectable(); if(e.getStateChange() != ItemEvent.SELECTED){return;} if (source == myRadioA) { System.out.println("Radio A selected"); } else if (source == myRadioB) { System.out.println("Radio B selected"); } else if (source == myRadioC) { System.out.println("Radio C selected"); } } } }


- listener : déclaration immédiate ou classe (addChangeListener):
remarque: la variable mySlider est déclarée comme 'member variable' car elle est utilisée dans l'objet ChangeListener qui ne voit pas les 'method variables'.
public class TestApplet extends JApplet{ JSlider mySlider; public void init() { ... mySlider = new JSlider(JSlider.HORIZONTAL, 0, 100, 0); mySlider.addChangeListener(new ChangeListener(){ public void stateChanged(ChangeEvent e) { JSlider source = (JSlider) e.getSource(); int value = (int) source.getValue(); //if(source.getValueIsAdjusting()){return;} if(source == mySlider){ System.out.println("Slider Value = "+value); } } }); ... } }
ou
public class TestApplet extends JApplet{ JSlider mySlider; public void init() { ... mySlider = new JSlider(JSlider.HORIZONTAL, 0, 100, 0); mySlider.addChangeListener(new SliderListener()); ... } private class SliderListener implements ChangeListener { public void stateChanged(ChangeEvent e) { JSlider source = (JSlider) e.getSource(); int value = (int) source.getValue(); //if(source.getValueIsAdjusting()){return;} if(source == mySlider){ System.out.println("Slider Value = "+value); } } } }


- lecture formattée (NumberFormat):
import java.util.*; import java.lang.*; import java.text.*; // for number formatting public class Test { public static void main(String[] args) { Number nValue; NumberFormat numberFormat = NumberFormat.getNumberInstance(); try { nValue = numberFormat.parse("12.3456"); System.out.println("Value: "+nValue); } catch (ParseException e){System.out.println("*--ERROR--parse--*:"+e);} try { nValue = numberFormat.parse("12.abcd"); System.out.println("Value: "+nValue); } catch (ParseException e){System.out.println("*--ERROR--parse--*:"+e);} try { nValue = numberFormat.parse("abcd"); System.out.println("Value: "+nValue); } catch (ParseException e){System.out.println("*--ERROR--parse--*:"+e);} } }
affiche:
Value: 12.3456 Value: 12 *--ERROR--parse--*:java.text.ParseException: Unparseable number: "abcd"


- formattage:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html FTFDate = new JFormattedTextField(createFormatter("**/**/****")); FTFDate.setValue(""+day+"/"+month+"/"+year);


- date:
Calendar calendar = Calendar.getInstance(); calendar.set(year, month-1, day, hour, minute, seconde); int dayOfYear = calendar.get(calendar.DAY_OF_YEAR); int unixTime = calendar.getTimeInMillis()/1000; int offsetTime = calendar.get(calendar.ZONE_OFFSET)/3600000; int summerTime = calendar.get(calendar.DST_OFFSET)/3600000; TimeZone tz = TimeZone.getTimeZone("Europe/Paris"); TimeZone tz = TimeZone.getTimeZone("Chile/Continental"); TimeZone tz = TimeZone.getTimeZone("Atlantic/Canary"); TimeZone tz = TimeZone.getTimeZone("US/Arizona"); TimeZone tz = TimeZone.getTimeZone("US/Hawaii"); TimeZone tz = TimeZone.getTimeZone("UTC"); TimeZone tz = TimeZone.getTimeZone("Etc/GMT+1"); TimeZone tz = TimeZone.getTimeZone("Etc/GMT-1"); calendar.setTimeZone(tz); String[] ids = TimeZone.getAvailableIDs();


- border:
JPanel pane = new JPanel(); pane.setBorder(BorderFactory.createTitledBorder("Broder name")); JPanel pane = new JPanel(); pane.setBorder(BorderFactory.createRaisedBevelBorder()); pane.setBorder( BorderFactory.createCompoundBorder( pane.getBorder(), BorderFactory.createEmptyBorder(5,5,5,5)) );


- taille de l'écran:
Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); int height = (int) screenSize.getHeight(); int width = (int) screenSize.getWidth();


- Comment ouvrir une fenêtre sur un ecran particulier:
auteur : adiGuba
Afin d'ouvrir une fenêtre (ou une boite de dialogue) sur un écran particulier, il faut utiliser un des constructeurs comportant un paramètre du type java.awt.GraphicsConfiguration (présent dans les classes Frame et Dialog d'AWT ainsi que JFrame et JDialog pour Swing).
L'instance de GraphicsConfiguration s'obtient depuis le GraphicsDevice associé à l'écran. Ainsi, pour afficher une JFrame sur le second écran (si il est présent), on utilisera le code suivant :
Ouvrir une JFrame sur le second écran
// On récupére la liste des écrans : GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] devices = gEnv.getScreenDevices(); // On récupère la configuration du second écran (s'il existe) : GraphicsConfiguration gConfig = null; if (devices.length>1) { gConfig = devices[1].getDefaultConfiguration(); } // On crée et on affiche la JFrame : JFrame frame = new JFrame(gConfig); frame.setSize(400,400); frame.setVisible(true);
Si le GraphicsConfiguration vaut null, c'est celui de l'écran principal qui sera utilisé...


- Comment obtenir la liste des ecrans:
auteur : adiGuba
Les informations sur les écrans sont disponibles grâce à la classe java.awt.GraphicsEnvironment. Il suffit dès lors d'utiliser la méthode getScreenDevices() pour obtenir un tableau de java.awt.GraphicsDevice représentant les différents écrans du système :
Afficher la liste des écrans :
GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] devices = gEnv.getScreenDevices(); for (int i=0; i
La méthode getDefaultScreenDevice() permettant d'accéder simplement à l'écran principal :
Afficher l'identifiant de l'écran principal :
GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice defaultDevice = gEnv.getDefaultScreenDevice(); System.out.println("Identifiant de l'écran principal : " + defaultDevice.getIDstring() );
La classe GraphicsDevice permet également d'obtenir d'autres informations sur l'écran, tel que la résolution actuelle et la liste des résolutions supportées...


- remplir un panel trop grand:
private JPanel createDefaultsPane(){ JPanel pane = new JPanel(); // <- Le panneau avec 2 colonnes pane.setLayout(new BoxLayout(pane, BoxLayout.X_AXIS)); JPanel labelsPane = new JPanel(new GridLayout(0,1)); JPanel contentsPane = new JPanel(new GridLayout(0,1)); labelsPane.add(new JLabel("Right Ascension")); RATextField = new JFormattedTextField("alpha"); labelsPane.add(new JLabel("Declination")); DECTextField = new JFormattedTextField("delta"); contentsPane.add(RATextField); contentsPane.add(DECTextField); pane.add(labelsPane); pane.add(contentsPane); JPanel verticalPane = new JPanel(); verticalPane.setLayout(new BorderLayout()); verticalPane.add(pane, BorderLayout.NORTH); // <- collé vers le haut return(verticalPane); }


- appel d'une methode definie dans la classe parente:
class Test.java:
public class Test { public Test() { TestLevelOne testLevelOne = new TestLevelOne(this); } public static void main(String[] args) { Test test = new Test(); } public void myInit(){ System.out.println("myInit"); } }
class TestLevelOne.java:
public class TestLevelOne{ public TestLevelOne(Test parent){ System.out.println("TestLevelOne"); parent.myInit(); } }


- appel d'une methode definie dans la classe parente avec un interface:
interface TestInterface.java
public interface TestInterface{ void myMethodForEveryBody(String name); }
class Test.java:
public class Test implements TestInterface{ public Test() { TestLevelOne testLevelOne = new TestLevelOne(this); testLevelOne.callMyMethod(); } public static void main(String[] args) { Test test = new Test(); } public void myMethodForEveryBody(String name){ System.out.println("Test.myMethodForEveryBody() from "+name); } }
class TestLevelOne.java:
public class TestLevelOne{ TestInterface parent; public TestLevelOne(TestInterface parent){ this.parent = parent; System.out.println("constructeur TestLevelOne"); } public void callMyMethod(){ parent.myMethodForEveryBody("TestLevelOne"); } }


- appel d'une methode definie dans la classe parente avec un interface (usage d'une nested class):
interface TestInterface.java
public interface TestInterface{ void myMethodForEveryBody(String name); }
class Test.java:
public class Test implements TestInterface{ public Test() { TestLevelOne testLevelOne = new TestLevelOne(); testLevelOne.callMyMethod(this); } public static void main(String[] args) { Test test = new Test(); } public void myMethodForEveryBody(String name){ System.out.println("Test.myMethodForEveryBody() from "+name); } }
class TestLevelOne.java:
public class TestLevelOne{ TheNestedClass theNestedClass; TestInterface parent; public TestLevelOne(){ System.out.println("constructeur TestLevelOne"); theNestedClass = new TheNestedClass(); } public void callMyMethod(TestInterface parent){ parent.myMethodForEveryBody("TestLevelOne"); theNestedClass.doIt(parent); } public class TheNestedClass{ public TheNestedClass(){ System.out.println("constructeur TheNestedClass"); } public void doIt(TestInterface parent){ parent.myMethodForEveryBody("TheNestedClass"); } } }


- Exception:
Transmission d'une exception
public class MyApplic{ ... ConfigurationFile configurationFile = null; try{ configurationFile = new ConfigurationFile(myFile); configurationFile.writeConfigFile(); }catch (IOException e){ System.out.println("*--ERREUR--manageNewObservingRun--*:"+e); } ... } public class ConfigurationFile{ public ConfigurationFile(String fileName) throws IOException{ configName = fileName; } public void writeConfigFile() throws IOException { try{ File file = new File(configName); FileWriter fileWriter = new FileWriter(file); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.close(); }catch (IOException e){ System.out.println("*--ERREUR--writeConfigFile--*:"+e); throw e; } } }


- Generation d'une exception:
public class ConfigurationFile{ public String getXxx(String key) throws NoSuchKey { ... if(error){ NoSuchKey e = new NoSuchKey(); throw e; } ... } public class NoSuchKey extends Exception{ /** * */ public NoSuchKey(){} public NoSuchKey(String msg){ super(msg); } } }


- mettre en fonction le super user ( su , root ):
Finder->Applications->Utilitaires->gestionnaireNetinfo.app securite->Autentifier securite->Activer l'utilisateur root


- definir le shell pour les fenetres terminaux:
Finder->Applications->Utilitaires->gestionnaireNetinfo.app securite->Autentifier users->XXXXX->shell double click sur le path, mettre /bin/bash ou /bin/tcsh
- travail sous tcsh
Il faut le fichier ~/.tcshrc, contenu mini:
setenv PATH "$PATH":/usr/local/bin setenv DISPLAY :0.0 source /sw/bin/init.csh set prompt="macluc:%C2 %h%# " alias tx nedit alias ls /bin/ls -CF alias h history setenv cdpath ". .."
rem: cdpath, ne fonctionne pas....encore?


- installation de fink (29/06/2006):
google fink sur site fink prendre le paquet d'installation et le paquet de update Fink-0.8.1-Intel-Installer.dmg scripts-10.4-update-0.3.tar.gz


- acces aux applications fink:
. /sw/bin/init.sh (met a jour le PATH)


- chargement d'applications avec fink:
su - . /sw/bin/init.sh apt-cache search xxxxx (info sur les paquets xxxxx Sexistants) apt-get install xxxxx (installation de xxxxx) apt-cache update (mis a jour de tous les paquets existants


- sm supermongo mongo:
obswww.unige.ch/obswiki (info d'installation) rechercher: supermongo/osx installer attention le binaire va sous /usr/local/bin cd /Applications ln -s sm2_4_27 sm cp sm/unix.sm ~/.sm editer ~/.sm changer les /dd/sm en /Applications/sm
deplus ajouter (pas obligatoire):
device X11 -bg white -fg black name Albert macro2 /Users/albert/sm/
pour fonctionner:
setenv DISPLAY :0.0 /usr/local/bin/sm
pour que le rappel des commandes avec les flèches fonctionne, il faut changer le nom du terminal (defaut: xterm-color qui n'est pas reconnu par sm (termcap)) en "xterm" dans:
Terminal->Preferences->Declarer le type...->xterm
graphcap pour les fichier png. Dans ~/.sm:
+graphcap /Users/weber/sm/graphcap graphcap /Applications/sm/graphcap
/Users/weber/sm/graphcap:
# graphcap pour sortie sur fichier png # # (peut être complété pour n'importe quel autre type de fichier # car le boulot est fait par "convert") # # convert est un module de imagemagick qui doit être installé # au préalable. (fink) # # les formats sont ls suivants: # # png : 512x512 # pngor : 824x512 (rapport selon le nombre d'or) # png2or : 1024x316 (rapport double du nombre d'or) # # usage: # device pngor myfile.png # # dans ~/.sm: # # rem: ce graphcap fonctionne si sm est installé dans: # /Applications/sm/ # (rem: sm est un lien sur sm2_4_27) # # +graphcap /Users/weber/sm/graphcap (mettez votre path) # graphcap /Applications/sm/graphcap # ppmor|PPMOR|Portable PixelMap (raw), 824x512:\ :DV=raster:xr#824:yr#512:CL:\ :EP=\001:OW=P6 824 512 255\n:\ :OF=ppm_XXXXXX:SY=${BIN}/rasterise -r $0 $F $1: ppm2or|PPM2OR|Portable PixelMap (raw), 1024x316:\ :DV=raster:xr#1024:yr#316:CL:\ :EP=\001:OW=P6 1024 316 255\n:\ :OF=ppm_XXXXXX:SY=${BIN}/rasterise -r $0 $F $1: png|PNG via PPM (using imagemagick.convert), 512x512:\ :SY=/Applications/sm/rasterise -r $0 $F - | convert - $1:\ :tc=ppm: pngor|PNGOR via PPM (using imagemagick.convert), 824x512:\ :SY=/Applications/sm/rasterise -r $0 $F - | convert - $1:\ :tc=ppmor: png2or|PNG2OR via PPM (using imagemagick.convert), 1024x316:\ :SY=/Applications/sm/rasterise -r $0 $F - | convert - $1:\ :tc=ppm2or:


- window manager en remote ( nx ):
Finder->Applications->NX Client for OSX.app


- proxy cvs:
Permet d'utiliser un repository externe a l'obs dans le reseau 10
Exemple:
:pserver:me@cvs.example.org:2401/cvsroot devient: :pserver:me%cvs.example.org@relay:2401/cvsroot
Pour le repository de APES on a:
host: cvssrv.hq.eso.org repository path: /project5/CVS user: lweber devient: host:obslogin2p repository path: /project5/CVS user: lweber% cvssrv.hq.eso.org


- merge de pdf en un seul document:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=../qq.pdf *.pdf


- enlever un verouillage sur fichiers mac:
sudo chflags -R nouchg


- composer html:
Sur sun seamonkey remplace netscape, mozilla


- repository svn gaia pour gaiatools:
Attention ne fonctionne qu'avec Java6 (il n'y a pas de Java6 32 bit pour mac seulement le 64 bit, donc machines recentes)
https:gaia.esac.esa.int/dpacsvn/DPAC/CU1/software
Il faut utiliser le proxy de l'uni pour l'acces a svn
pour eclipse:
window->preferences->general->networkConnections->Manual HTTP proxy= proxy.unige.ch port 3128
ou pour un acces en command line:dans le fichier ~/.subversion/servers
http-proxy-host = proxy.unige.ch http-proxy-port = 3128


- Le repository svn universite:
Sur cette machine (par ssh) on peut ajouter des repository pour l'observatoire et maintenir la liste d'acces
https:svn.unige.ch/obs/project/ jouvence,pisco,gaia,weber


- svn subclipse pour eclipse:
Le programme se download depuis eclipse. Mode d'emploi sous http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA


- creer un repository svn:
L'exemple d'installation de jouvence est sous:
https://obswww.unige.ch/obswiki/La_Silla/T120/Jouvence/Software
le livre de reference:
http://svnbook.red-bean.com/en/1.5/index.html


- creer un tag svn:
Exemple Gilles pour jouvence
svn mkdir https://svn.unige.ch/obs/project/jouvence/tags/libt120jvc svn copy https://svn.unige.ch/obs/project/jouvence/trunk/libt120jvc/ https://svn.unige.ch/obs/project/jouvence/tags/libt120jvc/obsge-1.0 -m "tagging of CHM departure"


- installation gaiatools:
par defaut le dist/GaiaTools.jar devrait se faire mais il manque le common software (voir GAIA-C1-UG-ESAC-WOM-011.pdf)
svn co http://gaia.esac.esa.int/dpacsvn/DPAC/CU1/software/common/ ~/DPAC/CU1/software/common/
il faut rajouter dans son .tcshrc:
setenv SOFCOMMON $HOME/DPAC/CU1/software/common setenv ANT_HOME $SOFCOMMON/apache-ant-1.7.0
apres (je ne suis pas sur)
ant jar


- Junit pour eclipse:
Ajouter dans le buildpath le junit de GaiaTools_trunk/Junit-4.3.1.jar
Puis selection le fichier source et faire un
New->other->java->junit->JunitTestCase
et selectionner (next-next-next) les methodes dont il faut un test case