C'est sous l'empire de la boisson que les parents du petit Napoléon Bonaparte lui donnèrent ce prénom ridicule.
Cavanna, Le Saviez-vous?
"I'm Dorothy Gale from Kansas"
taylor price
★

Kiana Khansmith

Product Placement
Jules of Nature

Love Begins
KIROKAZE
I'd rather be in outer space 🛸

❣ Chile in a Photography ❣
🩵 avery cochrane 🩵
2025 on Tumblr: Trends That Defined the Year
Aqua Utopia|海の底で記憶を紡ぐ

if i look back, i am lost

Game Changer & Make Some Noise
Sweet Seals For You, Always
almost home

pixel skylines
🪼
seen from United States
seen from United States
seen from Italy

seen from United States

seen from Belarus
seen from United States

seen from Brazil
seen from Honduras
seen from Hong Kong SAR China

seen from United Kingdom
seen from Türkiye

seen from Bangladesh
seen from United States
seen from United States
seen from Russia
seen from Vietnam
seen from United States
seen from Indonesia
seen from United States

seen from Malaysia
@quelquestrucsenvrac
C'est sous l'empire de la boisson que les parents du petit Napoléon Bonaparte lui donnèrent ce prénom ridicule.
Cavanna, Le Saviez-vous?

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Citation dans un billet
"Le jour de son couronnement, le Prince régnant de Monaco a le pouvoir de guérir les hémorroïdes d'un simple baiser."
Cavanna, Le Saviez-Vous?
Activer un programme sous Windows avec start
Les bizarreries ne manquent pas avec l'interpréteur de commandes Windows. En voici une nouvelle : les arguments de la commande start sont, dans l'ordre : titre, programme, paramètres. Le titre doit être encadré par des caractères ". Il peut être omis mais dans ce cas le nom du programme ne peut pas comporter d'espaces. En effet pour traiter les espaces dans le nom du programme, il faut encadrer ce nom par des caractères ". En l'absence de titre le nom du programme est alors considéré comme le titre ! Donc pour pouvoir utiliser start avec un nom de programme comportant des espaces, il faut absolument définir un titre.
Par exemple pour activer le programme xprog situé dans le répertoire C:\Program Files\Utils avec les arguments args, il faut entrer la commande suivante :
start "xprog" "C:\Program Files\Utils\xprog" args
Insérer des espaces insécables dans les sources Markdown
Un espace insécable est normalement requis en français avant les caractères de ponctuation : ; ? et !. Pour faciliter l'insertion de ces espaces dans le texte des posts rédigés avec Markdown j'ai défini la fonction suivante dans ma configuration de tumblesocks :
(defun qsr:insert-space-before-colons () "Insertion of unbreakable spaces before characters ; : ? and !" (interactive) (goto-char (point-min)) (while (re-search-forward "\\([[:graph:]]\\)\\([:;?!]\\)\\([ \n]+\\)" nil t) (replace-match "\\1 \\2\\3")) (qsr:process-footnotes)) (add-hook 'markdown-before-export-hook 'qsr:insert-space-before-colons)
Insérer une image dans un article Tumblr composé avec tumblesocks
exporter l'image dans un site de partage en ligne, par ex. Flickr ;
récupérer l'adresse de l'image mise en ligne, par ex. dans Flickr : sélectionner l'image dans la galerie, activer le bouton Partager, puis choisir la taille et copier le texte du lien HTML ;
construire la définition de l'image dans le texte Markdown : caractère ! suivi de la valeur de l'attribut alt entre [] et de celle de l'attribut src entre les caractères ().

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Configuration de l'accueil Windows 8.1
L'écran d'accueil Windows 8.1 remplace le traditionnel menu Démarrer. Il existe des solutions pour restaurer un menu Démarrer qui ressemble plus ou moins à celui qui existait dans les versions précédentes de Windows, mais il est également possible de configurer l'écran d'accueil de manière à le rendre plus facile à utiliser. Pour ce faire il faut afficher le dialogue Propriétés de la barre des tâches du bureau Windows, et ouvrir l'onglet Navigation :
Les différentes options de la section intitulée Écran d'accueil permettent de configurer l'écran d'accueil :
Accéder au bureau au lieu de l'écran d'accueil... : lorsque cette option est sélectionnée, le bureau est automatiquement affiché après le login.
Afficher l'arrière-plan de mon bureau... : cette option permet d'afficher des fonds identiques sur le bureau et sur l'écran d’accueil
Afficher l'accueil sur l'écran que j'utilise... : cette option est utilisée pour contrôler l'affichage de l'écran d’accueil lorsqu'on utilise plusieurs moniteurs.
Montrer automatiquement l'affichage Applications... : cette option permet de visualiser directement la liste complètes des applications dans l'écran d'accueil au lieu de la liste des applications épinglées.
Lister les applications de bureau en premier... : lorsque cette option est sélectionnée les applications affichées sur le bureau apparaissent en premier dans la liste des applications de l'écran d'accueil.
J'utilise hunspell en correcteur orthographique
J'ai récupéré la version compilée de hunspell ici.
J'ai installé les fichiers de l'archive sous C:\Program Files (x86)\GNU\hunspell puis j'ai ajouté le sous-répertoire bin dans la variable PATH (pas nécessaire si on utilise hunspell uniquement sous Emacs, étant donné que l'on peut indiquer le chemin complet du programme hunspell dans ispell-program-name).
J'ai configuré la variable DICPATH pour utiliser le dictionnaire français de LibreOffice qui était déjà installé sur mon poste (pour utiliser hunspell uniquement dans Emacs il serait possible de définir la variable d'environnement DICPATH dans le fichier d'initialisation de Emacs).
DICPATH=C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en; C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-es; C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-fr
La liste des dictionnaires utilisés par hunspell peut être obtenue avec la commande hunspell -D:
hunspell -D SEARCH PATH: .;;C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en; C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-es; C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-fr; C:\Hunspell\; C:\Users\quessev\.openoffice.org\3\user\wordbook; C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell; C:\Program files\OpenOffice.org 2.4\share\dict\ooo\; C:\Program files\OpenOffice.org 2.3\share\dict\ooo\; C:\Program files\OpenOffice.org 2.2\share\dict\ooo\; C:\Program files\OpenOffice.org 2.1\share\dict\ooo\; C:\Program files\OpenOffice.org 2.0\share\dict\ooo\ AVAILABLE DICTIONARIES (path is not mandatory for -d option): C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\en_AU C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\en_CA C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\en_GB C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\en_US C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\en_ZA C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\hyph_en_GB C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-en\hyph_en_US C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-es\es_ES C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-fr\fr C:\Program Files (x86)\LibreOffice 3.4\share\extensions\dict-fr\hyph_fr C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell\default C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell\en_GB C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell\en_US LOADED DICTIONARY: C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell\default.aff C:\Program Files (x86)\GNU\hunspell\bin\..\share\hunspell\default.dic
Il est alors possible d'utiliser hunspell pour traiter un fichier texte, par ex. pour lister les mots incorrects du fichier text_french.txt (texte français encodé en UTF-8):
hunspell -l -d fr -i utf-8 text_french.txt
Puis j'ai modifié la configuration Emacs pour utiliser hunspell en correcteur orthographique:
(setq ispell-program-name "C:/Program Files (x86)/GNU/hunspell/bin/hunspell.exe" ispell-extra-args nil ispell-local-dictionary-alist '(("fr" "[[:alpha:]]" "[^[:alpha:]]" "[-'.@]" t nil nil utf-8) ("en_GB" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil utf-8) ("es_ES" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil utf-8)) ispell-local-dictionary "fr")
J'ai été obligé d'ajouter le caractère - dans mon dictionnaire personnel hunspell français (HOME/hunspell_fr): c'est le caractère que j'utilise comme marqueur de liste et il n'est pas reconnu comme tel par hunspell.
Remplacer les caractères dyacritiques par des entités SGML
La fonction iso-iso2sgml peut être appliquée dans un buffer SGML pour transformer les caractères ISO 8859-1 en entités SGML. Il est également possible de positionner la variable sgml-name-8bit-mode à t pour que la transformation soit faite automatiquement lors de la saisie.
Éditer du texte dans un buffer hexl-mode
Les fonctions hexl-goto-address [M-j] et hexl-goto-hex-address [M-g] permettent de se positionner sur une adresse définie en décimal ou en hexa. Il existe aussi des fonctions pour se positionner en début et en fin de paquets de 512b (hexl-beginning-of-512b-page [M-C-a] et hexl-end-of-512b-page [M-C-e]) ou 1k (hexl-beginning-of-1k-page [C-x[] et hexl-end-of-1k-page [C-x]]).
Les caractères ASCII (codes entre 0x20 et 0x7E) peuvent être saisis directement dans le buffer. Des fonctions sont disponibles pour saisir un caractère quelconque: hexl-insert-hex-char [M-C-x] pour saisir un caractère défini par une valeur en hexa, hexl-insert-octal-char [M-C-o] pour une valeur en octal, ... Il existe aussi la fonction hexl-insert-hex-string qui permet de remplacer les données sous le curseur par une chaîne en hexa saisie dans le minibuffer. Les caractères ESPACE, TAB, TIRET et POINT sont filtrés avant l'insertion de la chaîne dans le buffer.
Caractères TAB remplacés par des espaces dans un fichier binaire
Lorsque je sauvegarde un buffer binaire en mode hexl-mode les caractères TAB (0x09) sont remplacés par un nombre variable de caractères espaces (0x20). En fait le hook before-save-hook s'applique lors de la sauvegarde du buffer et j'ai défini dans ce hook une fonction pour remplacer les caractères TAB par des espaces. Il ne faut pas appliquer cette transformation pour des fichiers binaires.
La solution que j'ai mise en place consiste à ne pas appliquer la transformation en fonction du type du fichier (c'est vrai pour les fichiers binaires, mais aussi pour d'autres fichiers, par exemple les fichiers makefile). J'ai défini une liste de modes dans une variable et je n'applique la transformation que si le mode majeur du buffer n'est pas dans cette liste.
(setq qsr:keeptab-modes '(hexl-mode makefile-mode)) (defun untabify-buffer () "Supprime les TABs du buffer courant." (interactive) (unless (or (member major-mode qsr:keeptab-modes) indent-tabs-mode) (untabify (point-min) (point-max))))
Pour vraiment assurer que les caractères TAB ne sont pas modifiés à tort je teste aussi la valeur de la variable indent-tabs-mode.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Rechercher une chaîne dans une chaîne avec Emacs
Il n'existe pas directement de fonction de recherche dans une chaîne de caractères. Les fonctions de recherche dans les chaînes recherchent en fait des expressions régulières, ce qui peut dans certains cas poser des problèmes.
En cas de problème il faut utiliser la fonction regexp-quote qui permet de traiter l'expression régulière de manière textuelle:
(string-match (regexp-quote sub) str)
Notation ?: dans les expressions régulières
La notation ?: en début d'un groupe marqué avec () permet de ne pas prendre en compte le groupe dans la numérotation du résultat. Ex.:
(progn (string-match "\\(?:foo\\|bar\\)\\([0-9]+\\)" "xxxfooxxbar123") (match-string 1 "xxxfooxxbar123")) 123
Si on enlève le ?: la numérotation commence avec le premier groupe, donc on obtient:
bar
Test image (2)
Nouveau test d'insertion avec une image locale
Test image
Test d'insertion d'une image:
Markdown
Markdown est un outil qui permet de convertir du texte en HTML. Des règles simples de mise en forme sont utilisées pour rédiger le texte à convertir. Le mode markdown-mode pour Emacs met à disposition des commandes pour faciliter la rédaction d'un texte Markdown.
Syntaxe
Les paragraphes sont constitués par des lignes consécutives. La séparation entre 2 paragraphes est marquée par l'insertion d'au moins une ligne vide. Pour insérer un saut de ligne (balise br) il faut insérer au moins 2 espaces en fin de ligne avant le passage à la ligne suivante.
Les titres sont marqués avec une suite de caractères # suivis par un espace en début de ligne. Le nombre de caractères # définit le niveau du titre. Un titre peut être terminé en insérant une séquence de caractères identique à celle définissant le titre. Mais cette terminaison est totalement optionnelle.
Les listes sont marquées avec l'un des caractères * + - en début de ligne. Pour indenter la liste il faut insérer 3 espaces avant le marqueur de liste. Les listes numérotées sont désignées avec un nombre suivi par un caractère .. Pour éviter qu'une ligne débutant par un nombre suivi d'un point soit considérée comme un élément de liste numérotée il faut précéder le . par un caractère \.
Le texte non mis en forme est marqué en insérant au moins 4 espaces en début de ligne.
Les liens sont définis de la manière suivante: le texte du lien mis entre les caractères [ ] est suivi par l'adresse définie entre les caractères ( ). De manière optionnelle il est possible de définir un titre par un texte encadré par des caractères quotes ou double quotes à l'intérieur des caractères ( et ) à la suite de la référence.
La syntaxe des images est similaire à celle des liens: le texte entre les caractères [ ] représente l'attribut alt de l'image, et la définition doit être précédée par un caractère !.
Pour mettre en évidence (italique) du texte il faut l'encadrer par des caractères * ou _. Lorsque le caractère est doublé le texte est mis en gras. Le caractère ` permet de définir le texte en style code.
Emacs
[C-c C-t n] définir un titre, n est le niveau du titre: 1, 2, 3, ...
[C-c C-a l] définir un lien
[C-c C-a f] définir une note de pas de page
[C-c C-i i] définir une image
[C-c C-s x] définir un style de mise en forme, x indique le type de mise en forme: e pour italique, s pour gras, c pour code.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Le mode tumblesocks dans Emacs
J’ai enfin réussi à utiliser Emacs pour accéder à Tumblr. Pour ce faire j’utilise le mode tumblesocks.
Installation
tumblesocks
librairie Emacs OAuth.
htmlize.el.
markdown-mode.
La librairie OAuth nécessite d’installer également l’utilitaire curl. Il faut faire attention à bien installer une version compatible SSL. L’exécutable curl doit se trouver dans un répertoire accessible par la recherche des commandes (variable PATH sous Windows).
htmlize requiert l’utilisation de libXml2. Il faut donc installer une version de Emacs supportant cette librairie. Sous Windows le support de libXml2 est obtenu en installant une version de Emacs pouvant utiliser dynamiquement cette librairie et en installant la DLL libXml2 disponible ici.
Le mode Markdown est utilisé pour composer les billets.
Il faut s’assurer que les outils Lisp sont installés dans des répertoires référencés dans la variable load-path.
Configuration
(require 'tumblesocks) (setq tumblesocks-blog "quelquestrucsenvrac.tumblr.com")
Il est nécessaire d’authentifier l’application Tumblesocks pour pouvoir accéder au blog tumblr. Pour ce faire il faut activer la fonction tumblesocks-api-test-auth. Lorsque la configuration est correctement définie cette fonction va générer une requête vers une adresse permettant l’authentification tumblr. Le résultat de la requête est affiché sous la forme d’une page HTML contenant la clé à utiliser pour authentifier Tumblesocks. Puis la fonction demande à l’utilisateur de saisir le code d’activation: il suffit de recopier la clé affichée dans la page HTML dans le prompt Emacs.
Pour ma part je suis resté longtemps bloqué sur cette étape: l’adresse de la page Web est en https, et je n’avais pas installé une version de curl permettant de traiter les requêtes https. J’ai remplacé ma version par une version supportant SSL et tout a fonctionné correctement.
Utilisation
La fonction tumblesocks-view-dashboard affiche le tableau de bord Tumblr dans une fenêtre. Cette fenêtre donne accès à un certain nombre de fonctions:
n et p: Naviguer entre les billets suivant et précédent
q: Quitter
l: Liker le billet sous le curseur. C-u l pour unliker.
f: S’abonner au blog origine du billet sous le curseur. C-u f pour se désabonner.
o: Ouvrir le billet dans le navigateur Internet.
y: Copier l’URL du billet courant dans le presse-papiers Emacs.
s: Rechercher des billets à partir de tags.
b: Visiter un blog: afficher une liste de billets du blog désigné.
Enter: Ouvrir le billet courant dans un page dédiée; les notes sont affichées.
g: Rafraîchir la vue (chargement des nouveaux billets).
r: Rebloguer le billet courant.
c: Composer un nouveau billet; C-c C-c pour publier le billet.
d: Supprimer le billet courant.
e: Éditer le billet courant.