Sur un de mes projets, un flux a été interrompu... en attendant sa réouverture j'utilise un proxy qui sert de passe plat
depuis une machine où le flux en question est ouvert...
J'entrepose ici mes découvertes linux, bash, python et java que je souhaite partager et mettre de côté...
jeudi 26 décembre 2013
samedi 7 décembre 2013
bash, renverser un flux ligne à ligne
Voici une commande que je ne connaissais pas avant le petit déjeuner...
Fallait la découvrir celle-là ;) tac, la soeur de cat à l'envers...
Fallait la découvrir celle-là ;) tac, la soeur de cat à l'envers...
bash, la fonction qui tue...
Voici une fonction qui tue... et simplifie la vie en ligne de commandes !
Les commentaires parlent d'eux-mêmes pour dire ce que fait la fonction ..
A vos .bashrc !!!
Les commentaires parlent d'eux-mêmes pour dire ce que fait la fonction ..
A vos .bashrc !!!
bash, éviter l'interprétation en octal en utilisant printf
J'ai eu un petit soucis dans un script de renommage qui tentait d'interprêter les valeurs commençant par 08 et 09 en octal lors d'un printf.
La solution consiste à spécifier que la valeur est en base 10 comme dans l'exemple ci-dessous :
La solution consiste à spécifier que la valeur est en base 10 comme dans l'exemple ci-dessous :
vendredi 6 décembre 2013
mysql, supprimer une base/table même lorsque des clés étrangères sont positionnées
Pour ignorer la vérification de la présence de clés étrangères lors de la suppression d'une table ou base, on peut utiliser "SET foreign_key_checks = 0" avec mysql comme dans l'exemple ci-dessous :
vendredi 15 novembre 2013
bash, expansion de paramètres et indirection
Aujourd'hui, je viens de découvrir l'indirection de paramètres en bash.
La syntaxe est la suivante : ${!PARAMETER}
L'expansion ne donne pas la valeur du paramètre lui même mais la valeur du paramètre dont le nom est contenu dans PARAMETER.
Cela permet de faire de jolies choses comme ceci en s'abstrayant d'eval...
Ci-dessous une documentation bien claire sur l'expansion des paramètres en bash
http://wiki.bash-hackers.org/syntax/pe
La syntaxe est la suivante : ${!PARAMETER}
L'expansion ne donne pas la valeur du paramètre lui même mais la valeur du paramètre dont le nom est contenu dans PARAMETER.
Cela permet de faire de jolies choses comme ceci en s'abstrayant d'eval...
Ci-dessous une documentation bien claire sur l'expansion des paramètres en bash
http://wiki.bash-hackers.org/syntax/pe
mardi 12 novembre 2013
bash, initialisation de variables depuis une chaine de caractères
Il est possible d'initialiser des variables depuis une chaine de caractères
et en redéfinissant le séparateur si nécessaire (ici la redéfinition est locale au read)
et en redéfinissant le séparateur si nécessaire (ici la redéfinition est locale au read)
samedi 28 septembre 2013
bash, fonction de filtre et d'extraction de données d'un csv en bash
J'ai mis à disposition sur mon repository git un utilitaire csv-functions.sh pour filtrer et extraire des données d'un fichier csv en bash.
Voici un exemple d'utilisation :
avec son résultat :
Voici un exemple d'utilisation :
avec son résultat :
mardi 27 août 2013
bash, chemin et nom de fichier sans dirname/basename (et sans sous-processus)
Voici une astuce pour récupérer le chemin et le nom d'un fichier sans utiliser les commandes dirname/basename (et sans la création de sous-processus lors de l'appel à ces commandes)
Cela permet d'optimiser la récupération de ces informations lors de traitements sur un grand nombre de fichiers par exemple.
Cela permet d'optimiser la récupération de ces informations lors de traitements sur un grand nombre de fichiers par exemple.
vendredi 16 août 2013
Algorithme pour afficher un arbre
Voici un algorithme pour afficher un joli arbre à la manière de la commande tree.
Ce qui donne :
Ce qui donne :
jeudi 15 août 2013
ranger, un file manager
Il y a quelques mois, j'avais commencé à utiliser vifm comme file manager en ligne de commande.
J'avais vite abandonné car il fallait retenir tous les raccourcis clavier.
Ce matin, je suis "tombé" sur ranger et la "découverte" se passe mieux.
En effet, vous commencez à taper un raccourcis et le programme propose les options possibles
Par exemple gh vous place dans votre homedir.
Voici le lien du projet http://ranger.nongnu.org/
Et un blog présentant ranger : http://bloerg.net/2012/10/17/ranger-file-manager.html
J'avais vite abandonné car il fallait retenir tous les raccourcis clavier.
Ce matin, je suis "tombé" sur ranger et la "découverte" se passe mieux.
En effet, vous commencez à taper un raccourcis et le programme propose les options possibles
Par exemple gh vous place dans votre homedir.
Voici le lien du projet http://ranger.nongnu.org/
Et un blog présentant ranger : http://bloerg.net/2012/10/17/ranger-file-manager.html
mercredi 29 mai 2013
word, tirets
Pour insérer un tiret demi-cadratin (tiret moyen), tapez le raccouri Ctrl + – (touche – du pavé numérique).
Pour insérer un tiret cadratin (tiret long), tapez le raccourci Ctrl + Alt + – (touche – du pavé numérique).
Pour insérer un tiret cadratin (tiret long), tapez le raccourci Ctrl + Alt + – (touche – du pavé numérique).
vendredi 3 mai 2013
mardi 23 avril 2013
dimanche 21 avril 2013
Archlinux, imprimante samung ML-1865
Tout d'abord, il faut installer yaourt (cf http://archlinux.fr/yaourt)
Ensuite, utiliser yaourt pour installer les drivers :
yaourt -S samsung-ml1860
Dans cups (cf install de cups) sur 127.0.0.1, installer ensuite l'imprimante avec le fichier PPD suivant (connexion en USB)
http://pastebin.com/KeZFgAG1
Imprimez ensuite votre page de test :)
N'oubliez pas :
systemctl start cups
systemctl enable cups
Ensuite, utiliser yaourt pour installer les drivers :
yaourt -S samsung-ml1860
Dans cups (cf install de cups) sur 127.0.0.1, installer ensuite l'imprimante avec le fichier PPD suivant (connexion en USB)
http://pastebin.com/KeZFgAG1
Imprimez ensuite votre page de test :)
N'oubliez pas :
systemctl start cups
systemctl enable cups
samedi 20 avril 2013
Archlinux, problèmes aléatoires de chargement de pages internet
En installant archlinux il y a quelques temps, j'avais constaté que j'avais des problèmes de connexion internet de manière aléatoire. Un rafraichissement de la page la faisait apparaître :) mais j'ai galéré à comprendre que cela venait des DNS déclarés.
La machine utilisait le DNS de ma livebox et comme par hasard, celui-ci résout aléatoirement les adresses :/
J'ai alors configuré de la manière suivante en spécifiant les DNS à utiliser et en forçant DHCP à ne pas écraser le fichier /etc/resolv.conf
Depuis, que du bonheur !
La machine utilisait le DNS de ma livebox et comme par hasard, celui-ci résout aléatoirement les adresses :/
J'ai alors configuré de la manière suivante en spécifiant les DNS à utiliser et en forçant DHCP à ne pas écraser le fichier /etc/resolv.conf
nameserver etc resolv.conf
Depuis, que du bonheur !
Archlinux, slim en qwerty
En installant archlinux, mon terminal en mode console était bien en mode azerty.
Cependant, dans le login manager SLIM, le texte frappé était en qwerty :/
La ligne suivante insérée insérée dans le .xsession ou .xinitrc n'a d'effet qu'une fois identifié.
Pour que X passe en azerty, j'ai ajouté le fichier suivant :
Dès lors, X se retrouve en azerty :)
Cependant, dans le login manager SLIM, le texte frappé était en qwerty :/
La ligne suivante insérée insérée dans le .xsession ou .xinitrc n'a d'effet qu'une fois identifié.
Pour que X passe en azerty, j'ai ajouté le fichier suivant :
Dès lors, X se retrouve en azerty :)
Section "InputClass"
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
EndSection
setxkbmap fr
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
EndSection
setxkbmap fr
vendredi 19 avril 2013
Jetty, démarrer sur un port déterminé
Cela se passe dans le build.xml
port jetty ant webapp connector
jeudi 21 mars 2013
xterm, copier/coller simplement
Par défaut, la sélection avec xterm se fait de la manière suivante
Dès lors le double clic améliore le confort d'utilisation :)
- Passage: sélectionner le début du texte en maintenant le bouton gauche de la souris enfoncé et déplacer la souris jusqu'à la fin du texte. Relachez
- Mot: double cliquez sur le mot
- Ligne: triple cliquez sur la ligne
Dès lors le double clic améliore le confort d'utilisation :)
vendredi 15 mars 2013
Changement d'heure
Le changement d'heure se passe le dernier week-end de Mars et d'Octobre, quand les samedi et dimanche sont tous les deux en Mars et Octobre...
Ainsi, en 2013, le passage à l'heure d'été se fera le WE du 30/31 Mars et le passage à l'heure d'hiver le WE du 26/27 Octobre.
Pour rappel :
Ainsi, en 2013, le passage à l'heure d'été se fera le WE du 30/31 Mars et le passage à l'heure d'hiver le WE du 26/27 Octobre.
Pour rappel :
- le passage à l'heure d'été : +1h (à 2h, il est 3h) (cad qu'on dort une heure de moins)
- le passage à l'heure d'hiver : -1h (à 3h, il est 2h) (cad qu'on dort une heure de plus)
jeudi 14 mars 2013
mysql, dumper seulement les données
mysqldump -u root dbname --no-create-info --skip-triggers --compact --complete-insert --skip-extended-insert
lundi 11 mars 2013
Linux, optimiser le poids des enregistrements MP3 en ligne de commande
Voici comment optimiser le poids de vos enregistrements en ligne de commande.
Pour cela vous pouvez utiliser le logiciel lame
Pour cela vous pouvez utiliser le logiciel lame
lame 128 encodage mp3 poids réduire réduction
dimanche 10 mars 2013
Linux, réduire le poids des photos jpg
Je viens de découvrir un petit logiciel sympa réduire le poids des photos jpg et ce, en ligne de commandes.
Il s'agit du logiciel jpegoptim.
C'est très pratique pour réduire le poids de scans afin de les envoyer par emails :)
Il s'agit du logiciel jpegoptim.
C'est très pratique pour réduire le poids de scans afin de les envoyer par emails :)
mercredi 6 mars 2013
SVN, ignorer des fichiers
Pour ignorer plusieurs fichiers lors des commits SVN
Une page qui explique bien http://www.math-linux.com/spip.php?article111
Une page qui explique bien http://www.math-linux.com/spip.php?article111
svn propset svn:ignore -F mktemp temp fichier temporaire
mercredi 27 février 2013
Git, fichier .netrc
Il y a plusieurs mois, j'ai découvert l'existence du fichier .netrc et l'utilisation que l'on peut en faire.
Dans le cadre de l'un de mes projets, j'y ai stocké les informations de connexion vers le wiki de l'entreprise à des fins de scripting.
En python, la lecture se fait simplement en utilisant le module netrc.
Aujourd'hui, je viens de découvrir que git peut l'utiliser afin d'éviter d'avoir à retaper son login et mot de passe à chaque push...
Ce fichier me plaît bien : centralisation et simplicité :)
Dans le cadre de l'un de mes projets, j'y ai stocké les informations de connexion vers le wiki de l'entreprise à des fins de scripting.
En python, la lecture se fait simplement en utilisant le module netrc.
Aujourd'hui, je viens de découvrir que git peut l'utiliser afin d'éviter d'avoir à retaper son login et mot de passe à chaque push...
Ce fichier me plaît bien : centralisation et simplicité :)
Linux Mint et lettres ligaturées
J'ai eu un petit souci pour utiliser les lettres ligaturées sous linux.
Sur bien des documentations, AltGr+o est censé donner œ, cependant, sur ma configuration cela donnait ø...
Pour accéder à ces lettres, j'ai procédé comme suit :
Ainsi, la touche "Pause" suivi de o et e donne œ ! "Pause" suivi de a et e donne æ !
Merveilleux maintenant ! Je vais pouvoir écrire œuf normalement dans mon blog de recettes :)
http://mezalor.blogspot.com
Sur bien des documentations, AltGr+o est censé donner œ, cependant, sur ma configuration cela donnait ø...
Pour accéder à ces lettres, j'ai procédé comme suit :
Ainsi, la touche "Pause" suivi de o et e donne œ ! "Pause" suivi de a et e donne æ !
Merveilleux maintenant ! Je vais pouvoir écrire œuf normalement dans mon blog de recettes :)
http://mezalor.blogspot.com
mardi 19 février 2013
mardi 12 février 2013
Linux, déterminer la police utilisée par xterm
On peut utiliser appres qui affiche la liste des ressources utilisées par xterm.
Dans mon cas :
Donc, si je veux utiliser la même police dans un autre terminal, je n'ai plus qu'à utiliser : -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
Dans mon cas :
Donc, si je veux utiliser la même police dans un autre terminal, je n'ai plus qu'à utiliser : -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
appres pacman xterm
samedi 2 février 2013
Linux, alternatives
A chaque fois, on fait des bidouilles pour utiliser une version d'un exécutable (par exemple java) plutôt qu'une autre...
Pourtant il existe les alternatives sous linux qui permettent de basculer vers une version particulière...
Pourtant il existe les alternatives sous linux qui permettent de basculer vers une version particulière...
update-alternatives config java install
vendredi 1 février 2013
Casio SL-300.... et pourcentages
Voici ma vieille casio que mes parents m'ont offerte à Noël en 1984...
Et ci-dessous, le fonctionnement des pourcentages sur celle-ci...
Et ci-dessous, le fonctionnement des pourcentages sur celle-ci...
jeudi 31 janvier 2013
stat, différence entre modify et change
Quelle est la différence entre modify et change dans le retour de la commande stat ?
- Modify - indique quand le fichier a été modifié la dernière fois (le contenu a été modifié)
- Change - indique la dernière fois que les meta données du fichier ont été changées (exemple permissions)
mardi 8 janvier 2013
Java, renvoyer un fichier binaire via une servlet
java, setContentType, addHeader, HttpServletRequest req, HttpServletResponse resp,Pragma,msword, getServletContext, getRealPath, FileInputStream, ServletOutputStream, IOUtils, copy
Inscription à :
Articles (Atom)