GAILLARD

Août 122018
 

The scality’s RING product is a distributed storage solution, which manages different replication and erasure coding security. – https://www.scality.com/

1. What is a keyspace in the Scality RING

A RING keyspace is a circle starting at 00, ending at FF.

in reality, the numbers are not just 2 character long but 40 characters.

A keyspace is composed of node keyranges.

A keyrange is a space between a key on the keyspace, and the predecessor key.

Continue reading »

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 »

Fév 202014
 

On m’a demandé comment copier sans écraser la destination si elle existe.

l’environnement est restreint, pas de rsync et doit tenir dans une ligne.

pas le temps de tester si le fichier existe, ce doit être rapide.

la solution est facile:

# yes |sed 's/y/n/' | cp -i source destination 

Continue reading »

Juil 042013
 

Works on Bash only


cidr2dec() {
cidr=$1
totalmask= ; bits=

for ((i=$cidr; $i>0; i--)); do bits="${bits}1" ; done
for ((i=$((32 - $cidr)); $i>0; i--)); do bits="${bits}0" ; done

for i in 1 9 17 25; do
bitmask=$(echo $bits |cut -c${i}-$(($i + 7)))
totalmask=${totalmask}$(echo 'obase=10; ibase=2;' $bitmask |bc).
done

echo ${totalmask%%.}
}

 


$ for i in 16 24 26 27 32 ; do cidr2dec $i ; done
255.255.0.0
255.255.255.0
255.255.255.192
255.255.255.224
255.255.255.255
Sep 302012
 

English is not my natural language, i accept all your corrections and will modify the texts as soon as possible.

1. English version

Update 7th October 2012 : adding the power off function for the remote.

1. Introduction

Xtreamer ultra is an HTPC (mini computer) using GNU/Linux operating system, providing a wonderful media center.

shipped with Ubuntu 10.10 (maverick merkaat code name). this release is no more supported by the development company (Canonical) so we can not have updates anymore.

I’ve seen a lot of users searching how to make Xtreamer work on Ubuntu 12.04, I hope this guide will help some people.

Xtreamer Ultra & Xtreamer Ultra2 are approximatively the same product as you can see at : www.xtreamer.net/ultra/  & www.xtreamer.net/ultra2/

I only have Xtreamer Ultra so I can’t test these configurations on Ultra2

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à.