MSWord Clear formatting with style, like css

Encore un truc que j’utilisais il y a longtemps, et que je retrouve.
Je fais un document word en texte pur, puis je l’organise en passant en mode plan, ctrl-alt-=> etc.. Et c’est là qu’on applique le style depuis un modèle. Simple pour un geek.

Mais apparemment c’est effrayant pour le wordien, et microsoft a peu à peu caché ces fonctions, pour dire allez y modifiez vos caractères un à un, je ne vais pas supprimer vos efforts de fourmis…

C’est surtout quand on reprend un texte, ou qu’on change de charte graphique (et de nom de société..) . Ou plus glorieux quand on a écrit sa doc en MarkDown et qu’on veut la mettre dans word (markdownpad, export html to clipboard…)

Déjà la partie gestion de style s’est cachée ici :
menu accueil / appliquer les styles / icone styles / icone gérer les styles / importer/exporter
c’est là qu’on copie les bon styles dans son document.

Maintenant la touche magique (qui n’est pas dans les menus) et que j’ai trouvé dans http://www.techhive.com/article/260668/10_microsoft_word_style_secrets.html?page=2

Clear formatting and reapply original style : CTRL-SPACE CTRL-Q

sélectionner tout le texte et faire ctrl-espace (clear formatting), ctrl-q (original style) miracle on se croit dans une CSS.

Pocket

ce site ne possède pas de certificat de clé publique

sur Google Chrome on peut voir que le site “ne possède pas de certificat de clé publique”,
le cadenas est gris, avec un petit triangle jaune.
J’ai encore plus fouillé, et encore appris un peu du monde SSL  :
1/ c’est une erreur de traductions coté googlechrome,
(un glissement sémantique ?)
https://productforums.google.com/forum/#!topic/chrome-fr/7ohvzv2WSTg
ce site n’a pas de “public audit record”
2/”public audit record” WTF?
il s’agit du niveau d’authentification du SSL
http://security.stackexchange.com/questions/52834/what-exactly-does-it-mean-when-chrome-reports-a-certificate-does-not-have-publi
ma copine d’il y a dix ans de TBS l’expliquait bien :
http://www.tbs-certificats.com/authentification.html
ici le certificat est validé par Gandi, qui lui-même est validé par un validateur public (comodo)
son authentification (nom de personne, de société) n’est pas validé directement par une autorité publique.
firefox l’indique par “Ce site web ne fournit pas d’informations sur son propriétaire.”
et google par “identité non validée”
les cadenas de ssl (ou cadenas sur fond vert) sont obtenus avec
des certificats extended validation (EV), (gandi-business)
plus long avec envoi de copie de papiers officiels etc (et donc plus cher…)
(j’ai aussi un site avec le même niveau de certificat mais il s’affiche avec un https barré rouge, pas compris)

 

Pocket

demi-cadratin et tiret Word : why copy paste command line from MS-WORD with dashes fail

Word devient de plus en plus évolué, il remplace les tirets par les signes typographiques évolués qu’il faut. Dont les tirets.

http://fr.wikipedia.org/wiki/Tiret

copier coller depuis word génère

# keytool -list –v -keystore tomcat.jks
Unrecognized command: –v

c’est invisible pour qui ne voit pas l’hexadécimal

[root@h0l1ice11t conf]# echo "keytool -list –v ..."|od -cx
0000000 k e y t o o l   - l i s t   342 200 
      656b 7479 6f6f 206c 6c2d 7369 2074 80e2
0000020 223 v  
      7693 

pour cooorriger …..
* dans word, désactiver tout automatisme
menu file / option / verification / option auto-correction ….
uncheck outrageously
* replace – by – [sic]
il y une option pour saisir ‘tiret-demi-cadratin’
the option : “Plus>>” “special” “tiret demi cadratin” (what’s the name in english?)

use MD (markdown)

Pocket

prefix variable

petite bug

 

def gdflib_stinsta(param,action)
execute "actioninstanceparamappli" do
action :run
command "ls"
end

la fonction était un peu plus longue, en réduisant on voit assez vite que la confusion vient de la variable d’entrée action identique à l’élément de langage action.

Le problème qui me chagrine dans ruby, autant que dans java, python C et d’autres c’est que le langage n’a pas imposé un préfique aux variables. Perl et php imposent un $ (un @, un _, un % en perl et un peu en ruby mais pas assez). C’est assez mauvais, je ne comprends pas comment on a pu autoriser à revenir en arrière sur la séparation entre les variables(données) et le langage(programme). Alors qu’on sépare view, model, controller, data, events. Même si tout ça c’est des variables (functions as variables).

Bon ok dans ce cas c’est un mélange de scopes de variables locales et globales (action) qui aurait du générer un warning.

N’empêche.

 

Pocket

Chef.io, j’ai glissé …

Wha le flou artistique de chef.

Apparemment au vu des fichiers, c’est un tas de json, lus par du ruby, et exécuté pour installer des trucs. Il y a des librairies chef pour ça.

Sauf que,
ça n’installe pas. ça crée un script d’installation. nuance.
on s’en aperçoit assez vite quand les prints et les if ne se font pas au même moment que ls actions.

Ces librairies chef ce sont les actions d’installations.
toute la partie qui est faite avant concerne la lecture des jsons (et tous les map select merge qu’on imagine), et les blocks chef (file, command, rubyblock..) sont les morceaux exécutés plus tard, au moment de la phase ‘action’.

Il faut donc repenser le script en deux temps. Anyway.

 

Pocket

LD_LIBRARY_PATH annoyances

Hey, mais on n’a pas besoin de ld_library_path ?

pourtant j’avais codé un élégant script :

#reorder front path items matching ie(PATH,/opt:/usr:/sbin:/bin) R_PATH

reorderpath()
{
A_PATH=$1
P_BEFORES=$2
A_PATH=`echo "$A_PATH"|sed -e 's/::/:/g' -e 's/^://' -e 's/:$//'`
if [ "$A_PATH" = "" ];then return;fi
if [ "$P_BEFORES" = "" ];then return;fi
for P_BEFORE in `echo $P_BEFORES|sed -e 's/:/ /g'`;do
R_PATH=""
for I_PATH in `echo $A_PATH|sed -e 's/:/ /g'`;do
J_PATH=`echo $I_PATH|sed -e "s:^$P_BEFORE::"`
if [ "$I_PATH" = "$J_PATH" ];then
R_PATH="$R_PATH:$I_PATH"
else
R_PATH="$I_PATH:$R_PATH"
fi
done
R_PATH=`echo "$R_PATH"|sed -e 's/::/:/g' -e 's/^://' -e 's/:$//'`
A_PATH=$R_PATH
done
}

mais sur AIX, impossible de concilier chef-solo et rpm

reorderpath $LD_LIBRARY_PATH /usr:/lib:/opt/freeware

ça met rpm en premier, rpm marche, mais pas chef-solo qui prend les libs (zlib) de /lib au lieu de /opt/chef/embedded ;

vice versa, rpm a besoin des libs zlib de /lib ;

et comme rpm est lancé par chef, ils devraient partager le même LD_LIBRARY_PATH.

je croyais ça insolube, eh ben non :

dans les fichiers compilés, il y a en dur la localisation de la lib.

Why LD_LIBRARY_PATH is bad says :

  1. Never ever set LD_LIBRARY_PATH globally.
  2. If you must ship binaries that use shared libraries and want to allow your clients to install the program outside a ‘standard’ location, do one of the following:
    • Ship your binaries as .o files, and as part of the install process relink them with the correct installation library path. (like oracle..)
    • Ship executables with a very long “dummy” run-time library path, and as part of the install process use a binary editor to substitute the correct install library path in the executable. (whaou, hacky!+1!)
  3. If you are forced to set LD_LIBRARY_PATH, do so only as part of a wrapper.

 

so (redhat/solaris/aix):

unset LD_LIBRARY_PATH LD_RUN_PATH LIBPATH

 

Pocket

mysql replication repairing script

mysql replication repairing script

Ah je ne vous ai pas montré le script pour réparer ma réplication mysql  :
à lancer sur le backup qui a foiré.
* copie fichier de la base à froid
* on trouve à quel redo/pos on peut reprendre (c’est là l’astuce)
* après y a plus qu’à refaire la conf de réplication

#####my_repl_bk2rp.sh
 
#!/bin/sh
echo "quand la repl. foire, faire repartir de zero"
echo "copie le bk vers la replication, ok?"
read "ok"
 
/etc/init.d/mysqld stop
 
#merci à www.rsnapshot.org génial
rsync -e ssh -va --delete serveurdesauvegarde:/backup/hourly.0/mysql /home/
#replay, just to be sure...
rsync -e ssh -va --delete serveurdesauvegarde:/backup/hourly.0/mysql /home/
 
/etc/init.d/mysqld start
 
cd /repertoire/mysql
 
lastredo=$(tail -n 1 redo*.index|sed -e 's:^.*/::')
 
lastredopos=$(mysqlbinlog $lastredo|grep end_log_pos|tail -n 1|sed -e 's/^.*end_log_pos *//' -e 's/ .*$//')
 
mysql -pmotdepasseenclair <
CHANGE MASTER TO \
MASTER_HOST='masterserver', \
MASTER_USER='slave', \
MASTER_PASSWORD='passduuserslave', \
MASTER_LOG_FILE='$lastredo', \
MASTER_LOG_POS=$lastredopos;
START SLAVE;
EOT
 
tail /var/log/mysqld.log
sleep 1
echo "my_repl_check.sh"
mysql -u root -pmotdepasse <
 
show slave hosts \G;
show slave status \G;
show master status \G;
EOT

et ça marche !!
quand on perd la réplication, on galère pour retrouver comment on fait pour la rebrancher,
surtout avec le stress, t le risque de perdre encore plus. pff. chouette script, merci moi-même.

Pocket

désaccentuation

désaccentuation

J’oubliais, ce petit script pour “désaccentuer” du texte : utiliser entity_decode,
puisque é s’écrit &+e+acute; on peut récupérer le ‘e’ après le & :
function f_desaccentuation($v_str)

{
//htmlentities pour les accents !: référence devient reference
$str=f_str2utf8($v_str);
$str=f_str2iso(html_entity_decode($str,ENT_NOQUOTES,”UTF-8″));
$str=preg_replace(“/[\xa0-\xbf\xd7\xf7]/”,” “,$str);
$str=htmlentities(f_str2utf8($str),ENT_NOQUOTES,”UTF-8″);
$str=str_replace(” “,” “,$str);
$str=str_replace(“<“,”<“,$str);
$str=str_replace(“>”,”>”,$str);
$str=str_replace(“&”,”&”,$str);
$str=str_replace(“””,'”‘,$str);
$str=str_replace(“‘”,”‘”,$str);
return(preg_replace(“/\&(.)[^\;]*\;/”,”$1″,$str));
}

pas de table de conversion 🙂
Pocket

stty: standard input: Inappropriate ioctl for device

stty: standard input: Inappropriate ioctl for device

“stty: standard input: Inappropriate ioctl for device”
est un message systeme sur les redhat 6,
du (dans mon cas) à des combinaisons de su et &
j’ai réduit le test au minimum :

echo “su  root -c ‘ls &’ ”  >  /tmp/a ; sh /tmp/a

modif : dans /etc/sudoers,
changer
Defaults    requiretty

par
Defaults    !requiretty
(ou par utilisateur..)
Pocket

half-em and dash in Word : why copy paste command line from MS-WORD with dashes fail

half-em and dash in Word : why copy paste command line from MS-WORD with dashes fail

Word evolves , it replaces dash  by typographic characters the picky way. so dashes.
I was copy pasting from word and bang! :
# keytool -list –v -keystore tomcat.jks
Unrecognized command: –v
it is hidden to non hexadecimal reader
[root@h0l1ice11t conf]# echo "keytool -list –v ..."|od -cx
0000000 k e y t o o l   - l i s t   342 200 
      656b 7479 6f6f 206c 6c2d 7369 2074 80e2
0000020 223 v  
      7693 
fiiiix it …..
* in word, deactivate any automatism
menu file / option / verification / option auto-correction ….
uncheck outrageously
* and now replace – by – [sic]there is an option to type “half-em-dash”
the option : “Plus>>” “special” “half-em-dash”
conclusion : use MD (markdown), not MS
Pocket