Création d’un nouveau billet depuis emacs

Rédigé par Fred - - 7 commentaires

J’écris toujours mes billets sous emacs. Mais depuis que je suis passé à PluXml et jusqu’à il n’y a pas si longtemps, je devais exporter l’article (le fichier ou la sous-arborescence) en html (où plutôt dans ma version), puis copier et coller le contenu dans la partie administration du blog, en renseignant date, catégorie et mots clés (je ne me sers pas vraiment des autres options pour le moment), qui étaient ensuite transformés en fichier xml.

Quand on a eu l’habitude d’utiliser org-publish, c’est fastidieux… J’ai donc écrit quelques lignes d’elisp pour pouvoir créer directement ce fichier xml. Comme d’habitude, c’est disponible sur bitbucket.

Avec le passage à PluXml, j’en ai profité pour revoir un peu ma façon d’écrire des articles :

  • Soit je trouve quelque chose sur le net, et dans ce cas là je récupère le lien via org-protocol ;
  • Soit je veux faire un article plus conséquent, ou qui ne vient pas d’un lien, et je crée un nouveau fichier .org dans un dossier /chemin/qui/va/bien/année/mois/jour/ (avant, tous mes articles étaient sous cette forme).

J’ai maintenant un fichier dans lequel je me note plusieurs choses concernant ce site, et en particulier, j’ai l’arborescence suivante en ce qui concerne les articles que je pense faire pour ce blog :

#+TODO: TODO(t) WAITING(w) | DONE(d) CANCELED(c)
#+TODO: À_ÉCRIRE(à) COMMENCÉ(o) EN_ATTENTE(e@) FINI(f) | ANNULÉ(a) PUBLIÉ(p)

* Ce fichier…
* TODO [#A] Blog
** Catégories
*** diatribes
*** paremboles…
*** guides…
*** snippet…
*** lab…
*** blog…
*** projets…
*** raccourcis…
*** trouvailles…
*** memos
**** PUBLIÉ Encoder avec mencoder                             :mettre_à_jour:
**** PUBLIÉ Quelques notes SoapUI                             :mettre_à_jour:
**** PUBLIÉ Python Module of the Week                           :python:info:
Note pour moi-même.

Les modules des « module python de la semaine » : https://pymotw.com/2/contents.html

Par ordre alphabétique : https://pymotw.com/2/py-modindex.html

Pour info, pymotw est/était la présentation par Doug Hellmann d’un
module python avec des exemples de codes. Les sources sont disponibles
sur bitbucket.

Pour python 3 : https://pymotw.com/3/
**** PUBLIÉ Besoin de se dégourdir les doigts ?               :mettre_à_jour:
**** COMMENCÉ org-protocol                                    :emacs:orgmode:
*** non classé…
*** Snippets…
** Statiques…
*** Cheatsheet…
*** lab…

* TODO Site…

Sous le header Blog puis Catégories, j’ai toutes les catégories de mon blog. Et dans chaque catégorie, j’ai ensuite mes articles :

  • Soit en clair dans le fichier (ce qui est par exemple le cas pour l’article pymotw)
  • Soit un lien dans le dossier année/mois/jour (comme pour l’article Encoder avec mencoder).

Création d’un nouvel article

Pour créer un nouvel article, j’utilise un raccourci qui me demande un titre, puis crée le nom de fichier à partir de ce titre et de la date 1, le met dans le bon dossier (/chemin/qui/va/bien/aaaa/mm/jj/), et renseigne l’entête (avec quelques valeurs par défaut, configurables).

Pour cet article, voilà l’entête qui a été créé :

#+TITLE: Création d’un nouveau billet depuis emacs
#+DATE: <2016-04-10 11:09:42>
#+AUTHOR: Fred 
#+PLX_CAT: 
#+PLX_DRAFT: t
#+PLX_WAITING_VALIDATION: 
#+PLX_ALLOW_COM: 1
#+PLX_TEMPLATE: article.php
#+PLX_TAGS: 
#+PLX_META_DESCR: 
#+PLX_META_KEYWORDS: 
#+PLX_ARTICLE_ID: 0053

Je peux ainsi renseigner la catégorie, des mots clés, le passer en brouillon ou non, etc.

Les catégories sont à renseigner telles qu’elles ont été définies dans le fichier categories.xml au niveau de l’=url= et pas du CDATA (ici par exemple, j’ai renseigné directement blog et non Blog ou 001).

Lorsque j’exporte, ça crée le fichier avec le bon nom (merci à Stéphane), puis ça remplit le fichier xml (avec encore un merci à Stéphane) en renseignant les balises correctement à partir de l’entête de mon fichier, et ça le met dans le bon dossier. Si un fichier avec le même id existe déjà, il demande si on veut l’écraser.

Création d’un billet light

Si j’ai utilisé org-protocol, j’ai une nouvelle section dans une des catégories du blog dans le fichier principal. Dans ce cas, le titre correspondra au header de la section et la catégorie, à la section parente et j’utilise C-c C-c pour ajouter des tags. Un raccourci plus tard, le fichier est correctement nommé, rempli (avec les mêmes valeurs par défaut) et déposé dans le bon dossier.

Enfin, dans les deux cas, le fichier tags.xml est mis à jour correctement (l’ancienne ligne est supprimée si l’article est mis à jour).

Par défaut je dépose/modifie les fichiers sur une copie locale du blog, mais il est possible d’utiliser tramp pour passer via ssh sur le serveur directement.

Reste à faire

Même si mon processus est maintenant plus fluide, il reste dans l’idéal des améliorations à apporter :

  • créer la catégorie dans le fichier si elle n’existe pas
  • créer un lien dans l’arborescence Blog/catégorie du fichier principal lors de la création d’un nouveau billet
  • utiliser un drawer dans les articles créés dans le fichier pour pouvoir réutiliser le même id
  • utiliser le processus d’=org-export-dispatch= pour pouvoir exporter et publier

Rien de bien méchant, mais l’utilisation n’en serait que plus agréable.

Liens vers les autres articles

Petit aparté pour finir. Si je souhaite faire un lien vers un autre article, j’utilise les abréviations d’org-mode. Sous l’entête je rajoute

#+LINK: article http://fredtantini.free.fr/blog/index.php?article%s

(Ne pas oublier de C-c C-c si on veut pouvoir cliquer dessus de suite.)

Ensuite, dans le texte, un lien de la forme

[[article:42][blabla]]

remplacera le %s par 42, et la réécriture d’url de pluxml prend ensuite le relais !

Footnotes:

1

Le titre est un peu mieux transformé qu’avant. Les signes diacritiques et les caractères non-ascii/alphanum sont supprimés (en adaptant et simplifiant http://ergoemacs.org/emacs/emacs_zap_gremlins.html), le nom de fichier est préfixé avec la date, puis mis dans le bon dossier YEAR/MONTH/YearMonthDay_title_with_underscore.org

org-protocol

Rédigé par Fred - - Aucun commentaire

J’avais déjà vu passer l’info, sur irreal.org puis chez Sacha Chua, et ailleurs encore, et à chaque fois, je m’étais dit, faut que je m’y mette. C'est chose faite depuis quelques temps. org-protocol permet d’utiliser org-capture depuis firefox, chrome, acrobat reader, etc.

Ce qui m’intéresse, c’est d’utiliser les bookmarklets de firefox, et plus particulièrement les mots-clés des marque-pages : je tape dans la barre d’adresse ot, or ou on, et ça me rajoute une note au bon endroit dans le bon fichier org-mode.

Je note ici comment j’ai fait. Selon que vous utilisiez windows, ou GNU/Linux, c’est légèrement différent.

Pour windows :

Dans le dossier bin d’emacs, j'ai ajouté le fichier em.cmd contenant :

@echo off
"%~dp0emacsclientw.exe" -na "%~dp0runemacs.exe" -c "%1"

Dans le fichier d’initialisation, init.el, il faut :

;; pour emacs client
(server-start) 

;;; où se situe org-protocol
(add-to-list 'load-path "c:/Users/ftantini/AppData/Roaming/.emacs.d/elpa/org-20150622/")
(require 'org-protocol)

;;; un template
(setq org-protocol-default-template-key "l")
(setq org-capture-templates
 '(("l" "Link" entry (file+olp "C:\\Users\\ftantini\\Documents\\Divers\\orgnotes.org" "Web Links")
        "* %a\n %?\n %i")))

Si on veut plusieurs bookmarks :

(setq org-protocol-default-template-key "l")
(setq org-capture-templates
 '(("t" "Todo" entry (file+headline "C:\\Users\\ftantini\\Documents\\Divers\\orgnotes.org" "Tasks")
        "* TODO %?\n  %i\n  %a")
   ("l" "Link" entry (file+olp "C:\\Users\\ftantini\\Documents\\Divers\\orgnotes.org" "Web Links")
        "* %a\n %?\n %i")
   ("j" "Journal" entry (file+datetree "C:\\Users\\ftantini\\Documents\\Divers\\orgnotes.org")
        "* %?\nEntered on %U\n  %i\n  %a")))

Attention, il a fallu que Web Links soit déjà un header du fichier.

Enfin, il faut également modifier le registre :

REGEDIT4

[HKEY_CLASSES_ROOT\org-protocol]
"URL Protocol"=""
@="URL:Org Protocol"

[HKEY_CLASSES_ROOT\org-protocol\shell]

[HKEY_CLASSES_ROOT\org-protocol\shell\open]

[HKEY_CLASSES_ROOT\org-protocol\shell\open\command]
@="\"c:\\Users\\ftantini\\Progs\\emacs-24.5\\bin\\emacsclientw.exe\" \"%1\""

Côté firefox, on ajoute le bookmarklet suivant :

javascript:location.href='org-protocol://org-capture://l/'+encodeURIComponent(location.href)+'/'+encodeURIComponent(document.title)+'/'+encodeURIComponent(window.getSelection());

où le l qui suit org-capture correspond au template qu’on veut utiliser.

Le sous-protocole n’est, pour moi, pas capture, mais bien org-capture (trouvé grâce à C-h v org-protocol-protocol-alist-default pour voir les protocoles par défaut).

La première fois que le bookmarklet est lancé, il demande avec quoi ouvrir, on renseigne em.cmd.

Pour linux :

C’est très clair ici : http://tech.memoryimprintstudio.com/org-capture-from-external-applications/, les solutions 2, et 3 ont marché pour moi, je vous laisse aller voir et je recopie ce qui marche pour moi (le plugin ne permet d’utiliser qu’un template) :

  • Enregistrer un fichier org-protocol.desktop

dans ~/.local/share/applications avec :

[Desktop Entry]
Name=org-protocol
Exec=emacsclient -c %u
Type=Application
Terminal=false
Categories=System;
MimeType=x-scheme-handler/org-protocol;
  • Ajouter dans ~/.local/share/applications/mimeapps.list
[Added Associations]
x-scheme-handler/org-protocol=org-protocol.desktop

puis mettre à jour :

update-desktop-database ~/.local/share/applications/

(le paquet pour debian est desktop-file-utils)

Côté Emacs, dans le fichier d’initialisation, init.el, on ajoute (si ce n’est pas déjà présent) :

;; pour emacs client
(server-start) 

;;; org-protocol
(require 'org-protocol)

(setq org-protocol-default-template-key "l")
(setq org-capture-templates
 '(("l" "Link"                entry (file+headline "/home/fred/Data/Donnees/Org/Notes/orgnotes.org" "trouvailles")
        "* %a\n %?\n %i")))

Et si on veut plusieurs bookmarks :

(setq org-protocol-default-template-key "l")
(setq org-capture-templates
 '(("t" "Todo" entry (file+headline "/home/fred/Data/Donnees/Org/Notes/orgnotes.org" "Tasks")
        "* TODO %?\n  %i\n  %a")
   ("l" "Link" entry (file+olp "/home/fred/Data/Donnees/Org/Notes/orgnotes.org" "Web Links")
        "* %a\n %?\n %i")
   ("j" "Journal" entry (file+datetree "/home/fred/Data/Donnees/Org/Notes/orgnotes.org")
        "* %?\nEntered on %U\n  %i\n  %a")))

Comme pour windows, le header (Tasks, Web Links) doit déjà être présent.

Le bookmarklet qui va bien à ajouter dans firefox :

javascript:location.href='org-protocol://capture://l/'+encodeURIComponent(location.href)+'/'+encodeURIComponent(document.title)+'/'+encodeURIComponent(window.getSelection());

où le l qui suit org-capture correspond au template qu’on veut utiliser.

Par contre, cette fois le sous-protocole est bien capture, et pas org-capture, et je n’ai pas chercher à comprendre pourquoi… (org-protocol-protocol-alist-default est pourtant le même.)

Pour tester, on peut, en ligne de commande, lancer

emacsclient org-protocol://capture://x/toto/tata/titi

si ça ne marche pas correctement, par exemple, si le buffer s’ouvre avec comme nom le dernier argument (ici titi), c’est sûrement un souci de sous-protocole.

Mes templates

Voilà les trois templates qui sont chez moi associés à un bookmarklet :

(setq org-capture-templates
      '(("t" "notes-info/travail"
               entry (file+headline "/home/fred/Data/Donnees/Org/Notes/notes-info.org" "trouvailles")
               "** COMMENCÉ %:description\n%i\n%?\nSource : %a\n\n" :immediate-finish)
        ("r" "notes-info/raccourcis"
               entry (file+headline "/home/fred/Data/Donnees/Org/Notes/notes-info.org" "raccourcis")
               "** COMMENCÉ %:description\n%i\n%?\nSource : %a\n\n" :immediate-finish)
        ("l" "notes/à lire"
               entry (file+headline "/home/fred/Data/Donnees/Org/Notes/notes.org" "à lire")
;              "* %^{Title}\n\n  Source: %u, %c\n\n  %i"))))
               "** %a\n%i\n%?\n\n" :immediate-finish)
        ))
                                        ;%:description : titre de la page
                                        ;%i : sélection de la page web
                                        ;%? : curseur pour continuer de remplir la note
                                        ;%a : [[lien][titre de la page]]

Je rappelle les liens de l’intro : chez Sacha Chua, qui explique comment elle a fait pour chrome, et le site d’orgmode, en particulier, les templates : http://orgmode.org/manual/Capture-templates.html pour avoir d’autres variables (%T, %k, %^{Title}, %^C… sur Template-expansion), et la page de départ : http://orgmode.org/worg/org-contrib/org-protocol.html.

Retenir plus facilement - ma version du systeme PAO

Rédigé par Fred - - Aucun commentaire

Au hasard de mes parcours sur la toile — bon, en fait, je sais plus comment c’est venu, du coup, on va dire que c’est par hasard1 —2 je suis tombé sur cette page. Et j’ai découvert que le commun des mortels pouvait faire des choses incroyables (et pas forcément utiles, donc indispensables) comme mémoriser l’ordre des cartes d’un paquet de 54 cartes mélangées, retenir une liste de nombres pendant plusieurs semaines, résoudre le rubik’s cube en aveugle (je ne parle pas du temps de mémorisation ni de résolution ça c’est pour les mortels moins communs3), se rappeler de moults numéros de téléphone etc.

Il y a plusieurs techniques, qui ont l’air de se valoir, pour arriver à ce but (certaines étant plus adaptées à des tâches en particulier). Je ne vais pas les présenter, elles sont bien mieux détaillées que ce que je pourrais faire dans les différents liens qui viendront. Je vais décrire celle que j’utilise, qui est une adaptation de ce qui se fait.

Memory palace

Le « palais de la mémoire » (ou la méthode des lieux) est une façon de se rappeler les choses. Pour cela, on se crée un parcours, dans sa maison, dans sa ville, avec des endroits bien spécifiques, et on utilisera toujours le même parcours. Par exemple, on commence par la chambre, on va aux toilettes, dans la cuisine, puis dans la salle de bains. Ensuite, pour se souvenir des légumes à prendre aux marchés, on place un légume par endroit quand on fait sa liste, en inventant une petite histoire : les poireaux sont en train de dormir au chaud sous la couette, la carotte lutte pour ne pas tomber au fond du trou, le brocoli se fait attaquer par les céréales qui veulent le noyer dans le bol, et le pâtisson prend sa douche. Et arrivé au marché, on refait le parcours en cherchant qui faisait la grasse mat’ puis celui qui était aux toilettes, etc.

Il est donc important, à mon avis, d’avoir plusieurs palais, et d’en changer fréquemment pour ne pas se mélanger avec la liste de la semaine dernière…

On peut également placer plusieurs objets dans une même pièce, voire dans un même endroit (si l’ordre n’a pas d’importance par exemple). Dans ce billet (mnemotechnics.org), l’auteur décrit (et illustre) comment il place 10 objets dans une même pièce.

Bon, tout ça c’est bien beau, mais on ne va pas mettre nos cartes et nos faces de rubik’s cube dans toute la maison. Ça ne nous aiderait pas mieux à retenir.

Des nombres aux mots

Pour retenir la liste des courses, la méthode du dessus est suffisante. Il suffit de créer des histoires les plus extraordinaires possibles, pour mieux les retenir. Mais pour retenir un numéro de téléphone ? les décimales de pi ? les cartes du paquet ?

Ben pour ça, il va falloir transformer ce que l’on veut retenir en une suite de chiffres, associer chaque chiffre à une lettre, chaque lettre à un mot, et placer ces mots aux quatre coins de la maison.

Des chiffres aux lettres

Non, pas des chiffres et des lettres. C’est autre chose ça.

Pour transformer les chiffres en lettre, il y a plusieurs méthodes, les plus connues étant le code chiffres-sons (!wfr) (ou Major System4, qui utilise toutes les consonnes (donc plusieurs pour un même chiffre) et rien que des consonnes) et le système Dominic (!wen) (ou Dominic System5, qui utilise voyelle et consonne).

Table 1: Chiffre -> lettre
  0 1 2 3 4 5 6 7 8 9
Major S,Z,Ce T,D N M R L CH,J,Ge K,G,Q F,V P,B
Dominic A B C D E S G H N O

L’avantage du premier est qu’il permet de transformer n’importe quel mot en suite de chiffre, et inversement.

Avec ces systèmes, on associe généralement un mot ou un nom (souvent les initiales Prénom Nom) à un nombre sur deux chiffres (de 00 à 99). Par exemple pour le code chiffres-sons, on peut associer PoPeye pour 99, le Père Noël pour 92, NeiGe pour 26, etc (on associe les sons, pas les lettres, donc NeiGe, c’est 26 et pas 27). Pour le système Dominic, on utilise quasiment que des initiales : Albert Einstein pour 04, George Bush pour 61 ou encore Barack Obama pour 19.

J’étais donc parti sur ce système, et étais passé à l’étape suivante, quand quelqu’un qui se reconnaîtra m’a dit que c’était pourri (uu) ; il valait mieux une seule lettre par chiffre.

Un coup de ddg.gg plus tard, me voilà avec les 10 consonnes les plus fréquentes en français, que j’organise comme je peux :

Table 2: Mon système chiffre -> lettre
Chiffres Mon système Mnémotechnique
0 C un 0 pas fermé
1 l 1 barre
2 n 2 barres
3 m 3 barres
4 R quasiment le miroir
5 S même forme
6 d miroir
7 t même forme
8 V 8 japonais à l’envers ?
9 p miroir

Et si je veux, je peux ajouter les consonnes restantes dans les cases pour retomber sur un semblant de code chiffres-sons6 (j’ai pas encore eu l’utilité, mais sait-on jamais).

Système PAO

J’étais parti pour me faire ma liste de 100 mots7, lorsque je suis tombé sur le système PAO, pour « Personne-Action-Objet8 ». Au lieu d’avoir un seul mot pour un nombre à deux chiffres, on en a trois ! Un nombre peut correspondre à une personne, une action, et un objet. Donc dans notre Memory Palace, on peut stocker trois fois plus d’informations, et éviter trop de répétitions !

Par exemple, avec le code chiffres-sons, on peut avoir Michaël Jackson, ManGer et MaGie qui sont codés avec 36, PoPeye, PaPouiller et PouPée qui sont codés avec 99, etc.

Lorsque l’on veut retenir une suite de nombre comme 99, 36, 99… on n’associe plus PoPeye, Michaël Jackson, PoPeye dans trois pièces de la maison, mais PoPeye qui ManGe une PouPée dans une seule pièce.

Là aussi, les approches Major/Dominic diffèrent : pour le premier cas, on va plutôt essayer de trouver des actions/objets de deux syllabes avec les consonnes correspondants aux chiffres (comme dans mon exemple : ManGer, PouPée). Dans le second, on va associer un verbe (et un objet, mais souvent le système, c’est juste PA, pas PAO) sans rapport avec le codage. Enfin pas tout à fait sans rapport. Le rapport, c’est que c’est relatif à la personne qui est codée : Albert Einstein (04) va écrire au tableau E=mc², Bill Gates (16) programme sur son PC… Pour retrouver 1604, on pensera alors à Bill Gates qui écrit sur un tableau noir.

J’ai commencé les deux méthodes, mais suis finalement resté sur la Major. Et puis, en lisant des commentaires sur le système Dominic, celui de RussellP (du 2012-11-26 09:37 UTC) a retenu mon attention. L’idée : utiliser des thèmes. Je me suis dit que ce serait sympa de faire ça, choisir un thème avec comme initiale la lettre correspondant aux dizaines. Pour les personnes, les actions, et les objets. Ça n’a pas été facile… Je ne suis pas encore totalement satisfait de tous mes thèmes et de leur contenu, mais rien que pour l’exercice, c’était sympa de le faire. Vous pouvez voir le résultat ici9 (version fontifyed).

Table 3: Les trois premiers thèmes pour les personnes
Thème Combat Lyrique aNimateur
  c (0.) l (1.) n (2.)
c (.0) Ken Cabrel Capello
l (.1) Li Long Lio Lagaf
n (.2) Nina NTM Nagui
m (.3) Mitrurugi Mc hammer Maïté
r (.4) Raphael Renaud Ruquier
s (.5) Cervantes Souchon Sébastien
d (.6) Dahlsim Dalida Damidot
t (.7) Taki Tupac Toesca/tex
v (.8) Voldo Voulzy Vandel
p (.9) Paul Piaf Ppda

Voilà, si vous lisez l’anglais, je vous conseille vivement les sites dans les notes de fin page, les wikis, fora, commentaires, etc. pour en apprendre un peu plus, et pourquoi pas pour vous y mettre et faire votre tableau :]

Et si vous connaissez déjà, si vous avez des suggestions, des commentaires, n'hésitez pas à m'envoyer un mail (sur free, on change le pénultième point par un @ (celui avant « free.fr ») et on a l'adresse mail qui correspond au site).

Bonus

Jetez également un coup d’œil à http://www.ludism.org/mentat/BrainTrainingGames pour entraîner votre mémoire. Le dual n-back est franchement pas facile, mais les études ont l’air de montrer que c’est efficace.

org-drill

Tout est expliqué sur worg : org-drill fonctionne comme les « flashcards » question d’un côté, réponse de l’autre. Pour réviser mes associations chiffre-mot, je me suis donc préparé un fichier pao-drill.org qui ressemble à :

* Personnes
** Item :drill:
   :PROPERTIES: 
   P-00
*** the answer
    Ken
** Item :drill:
   :PROPERTIES: 
   P-10
*** the answer
    Cabrel

Pour ça, je pars du fichier pao.org, et pour chaque tableau, je supprime les lignes et colonnes servant de repères. Puis je supprime le dernier caractère de chaque ligne (avec un C-x r k).

Et c’est parti pour deux macros (qui pourraient être regroupées en une seule, mais bon…) :

Mettre un couple nombre-mot par ligne

  • On prépare pour mettre le compteur sur deux chiffres : C-x C-k C-f %02d
  • On initialise le compteur à 00 : C-x C-k C-c 0
  • Pour chaque caractère |, on va aller à la ligne, et insèrer le compteur : F3 Cs | Enter Space F3 F4
  • On le fait pour tous les autres mots : M-99 F4

Mettre les items org-drill

Tiré de C-h l (sans les espaces) :

<f3> C-s | <return> <backspace> <return> ** Item :drill: <return> P - <delete> M-f <return> *** the answer <return> <delete> <f4> J’ai ajouté P- pour les personnes, A- et O- pour actions et objets pour être interrogé sur les trois tableaux à la fois.

Et là on se rend compte qu’on a oublié de faire M-x org-table-transpose-table-at-point sur les tableaux. Du coup, un petit C-M-%, on remplace ^\(.\)-\([0-9]\)\([0-9]\) par \1-\3\2 et le tour est joué.

Voilà, notre fichier est tout beau tout prêt. Pour s’en servir, M-x org-drill et c’est parti.

Comme je veux m’entraîner fréquemment, je me suis rajouté dans mon .emacs

(defun pao () "reviser son pao" (interactive) (find-file
  "~/.emacs.d/pao-drill.org") (org-drill) ) (global-set-key (kbd
  "<f11>") ’pao)

Raccourcis et fonctions

J’ai découvert C-u C-c C-x f S pour réorganiser les footnotes. Et j’utilise de plus en plus C-c C-x C-f pour mettre en gras, italique… C-c C-l pour insérer/éditer un lien, et le magique C-c C-c pour aller d’une note à sa définition et inversement. Et en essayant de voir si on pouvait augmenter le nombre de caractères stockés par C-h l, j’ai découvert open-dribble-file.

Footnotes:

1

En fait, j’avais déjà commencé à m’y intéresser, mais que vaguement. J’avais dans l’idée d’apprendre les départements avec leur numéro, et j’étais tombé sur ce site : http://villemin.gerard.free.fr/Wwwgvmm/MnemoTe/Departem.htm (que je connaissais déjà pour ses « curiosités » mathématiques, comme http://villemin.gerard.free.fr/Wwwgvmm/Decompos/Amiable.htm par exemple). Je m’étais également déjà renseigné sur le « palais de la mémoire » (en anglais memory palace cité dans des films ou des séries comme Sherlock ou The Mentalist). J’avais regardé comment font les gens qui font le rubik’s cube en aveugle. Et puis il y a eu quelque chose qui a fait que je me suis un peu plus penché sur la question. Mais… pas moyen de m’en souvenir :Þ

3

Qui font des choses encore plus incroyables, comme mémoriser 1000 chiffres en une heure, 10 paquets de cartes en une heure (Grand Master Memory (!wen), http://www.recordholders.org/en/list/memory.html), ou 44 nombres binaires en 1 secondes ! (http://blog.mnemotechnics.org/ramon-campayo-memorizing-binary-1333.html)

6

#+CAPTION: Mon système chiffre -> lettre avec toutes les lettres/sons

chiffres 0 1 2 3 4 5 6 7 8 9
lettres c l n m r s d t v p
ajouts k, q, g, x   gn     j, z, ch     w, f, b  
7

Si c’est ce que vous souhaitez faire, je conseille de prendre le plus possible 1 seule voyelle pour tous les mots (et d’utiliser toujours la même voyelle exception), comme expliqué ici. J’étais plutôt parti sur le son é lorsque j’ai commencé à essayer de faire ce tableau.

9

Si des gens sont tentés par l’aventure, mais sans les thèmes, j’ai mis quelques anciennes tentatives pour les systèmes classiques, et « mon » système, avec des liens divers (version fontifyed) et également dans ce fichier (fontifyed, intégré au blog) qui me sert de référence. J’y ai par exemple noté comment je retiens pi et les départements (ou plutôt comment je suis sensé m’en souvenir).

Emacs en vrac - 1

Rédigé par Fred - - Aucun commentaire

buffer-flip, une sorte de alt-tab pour buffer

Un mode mineur qui permet de faire passer les buffers à la manière d'un Alt+Tab : https://github.com/killdash9/buffer-flip.el

Ça utilise key-chord.

(Via http://rubikitch.com/2015/11/19/buffer-flip/)

Python profiling

Julien Danjou explique comment mesurer et analyser le temps d’exécution d’un programme python grâce à cProfile et KCacheGrind.

https://julien.danjou.info/blog/2015/guide-to-python-profiling-cprofile-concrete-case-carbonara

Prendre des notes avec PDF-tools

PDF Tools permet de voir des PDF dans un buffer, de faire des recherches, suivre un lien, mettre des annotations, et plein d’autres choses. Matt Price en parle dans son blog, et montre comment exporter les annotations pour org-mode.

Via http://irreal.org/blog/?p=4727

Changer de fenêtres, de façon visuelle

Une alternative à ace-jump, pour passer d’une fenêtre à l’autre quand on fait un C-x o : switch-window

Changer les caractères utilisés pour l’ellipse par org-mode

Artur Malabarba explique que le ... à la fin des headlines est personnalisable grâce à la variable org-ellipsis. J'ai donc changé ... par

http://endlessparentheses.com/changing-the-org-mode-ellipsis.html

autotetris-mode

Emacs permet de jouer à tetris avec M-x tetris. autotetris-mode permet de faire jouer une IA.

Indiquer la fin du buffer

La variable toggle-indicate-empty-lines permet de mettre dans la marge un symbole pour indiquer la fin du fichier. Voir aussi Fringe-Bitmaps (emacs lisp manual)

Un peu de typographie et marquer les raccourcis clavier dans org-mode

Rédigé par Fred - - Aucun commentaire

Utilisant la disposition de clavier bépo, et soucieux d’écrire le plus correctement possible, j’ai pris l’habitude de mettre des espaces insécables lorsque c’est nécessaire (même si, je l’avoue, je n’utilise pas les espaces fines… désolé). Depuis plusieurs jours, j’utilise également les apostrophes courbes (!wfr) et plus celles qui se trouve sur la touche 4 des claviers azerty, des droites : l’apostrophe courbe vs l'apostrophe droite.

Lire la suite de Un peu de typographie et marquer les raccourcis clavier dans org-mode

Fil RSS des articles de ce mot clé