Juin 182014
 

I have several backups of my old mobile phones, with a lot of pictures taken.

When I wanted to categorize them, it appeared that there was duplicated pictures (really? ;))

so a little script after that, I could found all duplicated files et choose which of them to delete.

This script will not touch your files but displays all duplicated found files both in your terminal and in a csv file.
feel free to open it with your preferred sheet program

FYI: The analysis is based on the size and checksum of the files, not on the date nor filename.

the result is:

$ ./find_dups.sh -dir /data/photos\ -\ images/
find duplicate files size
md5sum duplicated files size
isolate duplicated files found
print the result
53b69ddf18c82f222046e8f616955bc6;;/data/photos - images/photos classées/Annee_2011/miaou/IMAG0462.jpg;/data/photos - images/photos classées/Annee_2012/miaou/IMAG0462.jpg
the result can be found in: '/tmp/find_dups.sh/04-result.csv'

Continue reading »

Juil 052012
 

Un tas de développeurs ne regardent pas plus loin que leur nez et ne pensent pas « dans le temps ».
quand on écrit un programme, il ne faut pas « juste » prendre en compte l’existant mais aussi ce qui pourrait exister, il faut toujours cloisonner les choix d’action possible d’un script ou d’un programme.

j’ai encore eu un cas cette semaine, ou un de nos serveurs de mail va changer, son adresse IP aussi. j’ai donc voulu vérifier par acquis de conscience si son adresse n’était pas référencée/utilisée dans des scripts. un seul mot : effarant!
Continue reading »

Jan 232012
 

résumé des actions:
1/ activer le débogage USB sur le terminal android
2/ créer une règle UDEV pour la connection avec ADB
3/ télécharger le SDK android
4/ identitifez votre device
5/ se connecter au device

détail:
Pour pouvoir se connecter à distance (Via un cable USB par exemple) sur un terminal Android depuis Linux. La première chose à faire est de modifier la règle de chargement du périphérique en modifiant un paramètre UDEV. UDEV est le daemon créant les fichiers spéciaux de périphériques comme /dev/sda, /dev/tty, etc…

tout est dynamique il n’y a donc pas grand chose à faire si ce n’est de créer une règle dans un fichier. Vous trouverez les lignes à mettre depuis http://wiki.cyanogenmod.com/wiki/Udev

$ sudo vi /etc/udev/rules.d/51-android.rules
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ff9", MODE="0666", GROUP="plugdev" # ADB

Le terminal android lui aussi doit être configuré pour pouvoir autoriser les connexions distantes, allez dans paramètres -> applications -> développement -> cocher Débogage USB

télécharger le SDK android : http://developer.android.com/sdk/index.html décompressez-le et allez dans le répertoire tools, lancez le bianaire « android », une fenêtre va s’ouvrir, sélectionner le téléchargement de ADB. Remontez d’un cran dans votre arborescence et allez dans le répertoire platforms-tools.

maintenant branchez votre terminal via la connectique USB.

il ne reste plus qu’à se connecter. identifiez votre terminal avec la commande :

$ ./adb devices
List of devices attached
HT04RG358426    device

lancez un shell sur votre terminal

$ ./adb -s HT04RG358426 shell

si votre terminal android est rooté, une fois dans le shell vous pouvez taper la commande « su », regardez ensuite l’écran du terminal pour autoriser la connection en root et voilà.

Août 112011
 

la commande « sleep x » sous Unix permet de faire une pause de x secondes.

je viens de trouver une commande perl assez satisfaisante permettant de faire des pause de moins d’une seconde.
intéressant par exemple lorsque l’on fork des process.
en effet, s’il n’y a pas de pause dans le script, lorsque les forks se terminent, ils restent en état zombie.
Continue reading »