Merci beaucoup pour ce projet et ce journal, c'est vraiment très intéressant.
J'utilise Anki depuis 2008 (et AnkiDroid depuis 2012, ce qui a pas mal changé mon utilisation), pour les langues principalement: vocabulaire, phrases à trou etc. Plusieurs choses que j'apprécie particulièrement:
- jouer de l'audio (enregistrement des cartes à trou), ce qui fait rentrer dans mon cerveau la mélodie de la langue
- choisir une police (par ex. une belle police nastaliq pour le persan ou très cursive pour la poésie chinoise)
- la possibilité d'ajouter d'écrire des plug-ins (malheureusement, pas pour AnkiDroid)
En revanche, je crée toujours mes cartes hors d'Anki: soit en créant un petit script python qui me demande les divers champs (et qui me permet de rajouter du HTML à la volée, e.g. coloration), soit en extrayant d'autres sources. Du coup, à un moment donné, mes cartes sont sous forme tabulaire, comme pour chronocram, du coup ça pourrait être utile d'essayer de s'en servir pour la phase d'apprentissage. Dans un tel cas, à quel moment faudrait-il transférer à Anki?
Merci aussi pour l'explication de comment reproduire (peu ou prou) le comportement chez Anki. Quant à ta remarque sur le fait qu'Anki montre les cartes en avance, si j'ai bien compris ton commentaire, il me semble qu'Anki ne le faisait pas il y a des années (après la première phase d'apprentissage, la carte était enfouie pendant une période donnée, au lieu d'être disponible immédiatement), mais ils ont changé et on rendu ça impossible.
Quand à la coloration, c'est TRÈS utile pour retenir les tons (du chinois, vietnamien et autres) ainsi que le genre des noms (la plupart des langues indo-européennes): un choix de quelques couleurs assez distinctes a un impact très important sur le long terme et il m'arrive souvent d'avoir une impression type "ce mot-là, c'est violet", même quand j'ai oublié le mot en lui-même. (j'utilise bleu/rouge/vert/violet/orange/mauve, avec une préférence pour les premières parce qu'elles sont visuellement plus marquantes, d'après moi). D'ailleurs, avec le CSS et le fait que j'utilise du python pour créer mes cartes, c'est très facile à mettre en place.
D'ailleurs, si quelqu'un lit ça et a déjà essayé la lecture incrémentale (incremental reading, "IR") ou https://getpolarized.io/ , pourrait-il en faire un retour?
Prévoyez-vous de traduire le logiciel? Ou d'offir la possibilité de le traduire?
J'aimerais bien pouvoir l'utiliser avec ma femme qui n'est pas francophone.
Par ailleurs, est-il possible de se connecter à une base de données partagée entre plusieurs ordinateurs?
Je pense que ce commentaire est inexact ou, tout du moins, aussi exact que si on disait qu'en français le passé est devant puisque "avant / devant" (devant étant une contraction de "de avant").
Ça n'a d'ailleurs rien de surprenant, et il n'y a pas besoin de s'habituer, c'est ainsi dans de nombreuses langues: français, comme expliqué, les langues germaniques (-fore- en anglais, vor- en allemand, tous deux référant à l'avant et au devant), slaves (przed en polonais pour avant et devant), japonais, coréen etc.
En mandarin, on dit aller vers l'avant, et ça se réfère bien au futur. (et je doute qu'il y ait vraiment une langue où il faudrait marcher vers l'arrière pour penser au futur).
Pour le coup de 上午/下午, ce n'est pas vraiment choquant non plus, c'est ainsi que sont conçus nos calendriers (de haut en bas).
Ayant autrefois passé des dizaines d'heures à découper des fichiers sous Audacity pour en faire des cartes sous Anki, je me réjouis de voir que je ne suis pas le seul!
As-tu jeté un coup d'œil à sox, le couteau suisse de l'édition audio? Si ton matériel audio est un tant soit peu bien construit (ce qui n'est malheureusement pas toujours le cas) et que les pauses entre les phrases/mots ont une longueur minimum, tu peux l'utiliser pour faire un split de ton fichier, ce qui représente un gain de temps considérable. L'outil n'est pas des plus évidents au premier abord, mais la demie-heure qu'il faut pour apprendre à le manier est vite rentabilisée.
Et du coup, j'en profite pour demander quel cours tu utilises? (j'aimerais bien connaître un cours qui soit pas trop mauvais)
C'est quand même un bon moyen d'attirer des commentaires constructifs (comme c'est le cas ici), donc "oui", il faut partager, quitte à parfois se tromper (et surtout dans ces cas-là, je dirais)
Je me ferai peut-être moinser, mais de toute manière, une fois que tu vis à l'étranger, personne ne va venir te faire chier avec les films français que tu télécharges (en pratique hein, la théorie ce serait autre chose).
Du coup, s'ils ne font pas l'effort d'ouvrir leur offre légale dans le pays où tu vis, tu as au moins l'avantage de savoir que tu ne recevras pas un courrier pour te dire d'arrêter de télécharger.
Pour le coup de la liste en paramètre, on préfère en effet initialiser à une valeur comme None, puis tester if servers is None: servers = list() dans le cœur de la fonction.
On pourrait aussi dire que dans le parser, "store" est l'action par défaut (donc peut-être supprimé), et qu'une option comme --mon-option a automatiquement un dest qui vaut mon_option. Je m'appuie toujours dessus pour ne pas surcharger la lecture des parsers. Le seul cas où je définis dest explicitement, c'est lorsque j'utilise action='store_false', par exemple:
C'est comme cela que fonctionne eBay. Voici un exemple de ce qui a pu se passer:
- l'enchère en cours est à 1€
- X se dit qu'il est prêt à mettre 1000€, il indique donc 1000€. eBay compare avec 1€, voit que c'est plus grand et passe donc l'enchère en cours à 2€ (juste au dessus de la courante), tout en gardant en mémoire que X est prêt à miser jusqu'à 1000€.
- Y se dit qu'il est prêt à mettre 500€. eBay compare aux 1000€ de X, voit que c'est moins et donne donc l'enchère en cours à X pour 501€. => dans l'historique, on ne voit pas Y, on voit juste que X a misé 2€ puis 501€, d'affilé.
- Y essaie alors 600€. Même chose, eBay file donc l'enchère à X pour 601€.
- Y met 2000€. eBay donne donc l'enchère à Y pour 1001€.
Le choix de l'adjectif est mauvais, je pense que j'aurais voulu dire "lisible", "aéré". Bref, c'est plus chargé visuellement et c'est plus difficile à lire.
(à part ça, je comprends l'intérêt du typage explicite dans d'autres langages)
Pour ce qui est des performances, l'optimisation du code grâce au typage statique est prévue dans le futur, pour l'instant ça ne change rien.
Cela dit, je doute qu'ils arrivent aux performances du C et comme tu dis, s'ils veulent du C, ils n'ont qu'à écrire du C.
De mémoire (pas de référence, désolé), Clojure a fait pareil: tout le monde s'est mis à vouloir ajouter des annotations de types parce que "ah ben en fait, le typage statique c'est utile", puis au bout d'une paire d'années, beaucoup en ont eu marre, ça demandait trop d'effort, rendait le code moins compréhensible, pour un gain faible.
Y a-t-il des langages où le typage statique est optionnel et pour lesquels cela a été un succès?
Tiens donc, le CC considère que l'égalité face à la loi serait menacée par l'application de la charte, et le Conseil d'État lui donne raison. C'est important, il me semble, l'égalité face à la loi, non ?
Le reste des pays européens serait donc moins intéressé par l'égalité face à la loi que la France?
Je partage ta peine et j'ai plussé, mais parler de "français" (en tant que langue, pas nationalité) pour parler d'occitan, tout de même, c'est étrange.
À te lire, c'est sans doute trop tard, malheureusement, mais si jamais le cœur t'en disait, ça s'apprend très bien.
vu qu'on est en python, pas besoin de reprendre un idiome du C. De manière générale, dès que tu as "range(len(x))", tu sais que tu as quelque chose de moche en python (si tu as vraiment besoin de l'indice, tu peux toujours utiliser enumerate). Et par habitude, "c" c'est plutôt un caractère, du coup le mettre pour représenter une chaîne, ça choque l'œil.
Pour ce qui est de compter, tu as collections.Counter qui te permet d'éviter de vérifier si une clé est déjà dans ton dictionnaire (et d'incrémenter si c'est le cas où de mettre à 1 sinon): avec Counter, tu fais simplement compteur[clé] += 1 et ça marche toujours: si la clé n'est pas présente, elle est considérée valoir 0.
Et enfin, parce que vraiment, on dirait du C ce code, tout le foin avec le buffer etc, ça me parait entièrement inutile. Tu peux parfaitement lire ligne par ligne l'entrée standard:
importfileinputforlineinfileinput.input():
De manière générale, si tu crois que tu as besoin de gérer la mémoire toi-même en Python pour une tâche aussi simple, c'est que tu n'utilises pas les bons outils.
C'est en effet complètement absurde, mais leur "logique" c'est que si tu remets bien à zéro ta carte de crédit régulièrement, alors tu es quelqu'un de fiable pour un emprunt sur 25 ans…
En gros, les banques forcent les gens à prendre une carte de crédit (et du coup, par mégarde, à devoir payer des frais de temps à autres) avec la menace que sinon ton prêt immobilier te coûtera plus cher. C'est absurde et scandaleux, mais c'est en effet la pratique au Royaume-Uni.
Ce n'est certes pas libre, mais Swiftkey supporte le bépo pour le français (le dvorak pour l'anglais, etc) et ce n'est pas "inextricablement" lié dans le sens que tu peux taper de l'anglais ou autre avec cette disposition, mais lié quand même puisque si tu désactives entièrement le français, tu basculeras sur une disposition anglaise (ou autre).
péché grave ou mortel (pas de différence pour le sujet qui nous concerne)
Un "péché mortel", ça n'a rien à voir avec le fait de mourir ou pas, c'est un concept dans la tradition catholique. Voir ici l'article donnant une courte explication sur le péché mortel.
# Très bonne idée
Posté par vermillon . En réponse au journal chronocram : mémorisation espacée rapide d'associations. Évalué à 1.
Merci beaucoup pour ce projet et ce journal, c'est vraiment très intéressant.
J'utilise Anki depuis 2008 (et AnkiDroid depuis 2012, ce qui a pas mal changé mon utilisation), pour les langues principalement: vocabulaire, phrases à trou etc. Plusieurs choses que j'apprécie particulièrement:
- jouer de l'audio (enregistrement des cartes à trou), ce qui fait rentrer dans mon cerveau la mélodie de la langue
- choisir une police (par ex. une belle police nastaliq pour le persan ou très cursive pour la poésie chinoise)
- la possibilité d'ajouter d'écrire des plug-ins (malheureusement, pas pour AnkiDroid)
En revanche, je crée toujours mes cartes hors d'Anki: soit en créant un petit script python qui me demande les divers champs (et qui me permet de rajouter du HTML à la volée, e.g. coloration), soit en extrayant d'autres sources. Du coup, à un moment donné, mes cartes sont sous forme tabulaire, comme pour chronocram, du coup ça pourrait être utile d'essayer de s'en servir pour la phase d'apprentissage. Dans un tel cas, à quel moment faudrait-il transférer à Anki?
Merci aussi pour l'explication de comment reproduire (peu ou prou) le comportement chez Anki. Quant à ta remarque sur le fait qu'Anki montre les cartes en avance, si j'ai bien compris ton commentaire, il me semble qu'Anki ne le faisait pas il y a des années (après la première phase d'apprentissage, la carte était enfouie pendant une période donnée, au lieu d'être disponible immédiatement), mais ils ont changé et on rendu ça impossible.
Quand à la coloration, c'est TRÈS utile pour retenir les tons (du chinois, vietnamien et autres) ainsi que le genre des noms (la plupart des langues indo-européennes): un choix de quelques couleurs assez distinctes a un impact très important sur le long terme et il m'arrive souvent d'avoir une impression type "ce mot-là, c'est violet", même quand j'ai oublié le mot en lui-même. (j'utilise bleu/rouge/vert/violet/orange/mauve, avec une préférence pour les premières parce qu'elles sont visuellement plus marquantes, d'après moi). D'ailleurs, avec le CSS et le fait que j'utilise du python pour créer mes cartes, c'est très facile à mettre en place.
D'ailleurs, si quelqu'un lit ça et a déjà essayé la lecture incrémentale (incremental reading, "IR") ou https://getpolarized.io/ , pourrait-il en faire un retour?
# Traduction
Posté par vermillon . En réponse à la dépêche OpenJardin sortie de la version 1.07. Évalué à 4.
Prévoyez-vous de traduire le logiciel? Ou d'offir la possibilité de le traduire?
J'aimerais bien pouvoir l'utiliser avec ma femme qui n'est pas francophone.
Par ailleurs, est-il possible de se connecter à une base de données partagée entre plusieurs ordinateurs?
[^] # Re: Perception et langue
Posté par vermillon . En réponse au journal 7 faits que j'ai appris cette semaine. Évalué à 2.
Je pense que ce commentaire est inexact ou, tout du moins, aussi exact que si on disait qu'en français le passé est devant puisque "avant / devant" (devant étant une contraction de "de avant").
Ça n'a d'ailleurs rien de surprenant, et il n'y a pas besoin de s'habituer, c'est ainsi dans de nombreuses langues: français, comme expliqué, les langues germaniques (-fore- en anglais, vor- en allemand, tous deux référant à l'avant et au devant), slaves (przed en polonais pour avant et devant), japonais, coréen etc.
En mandarin, on dit aller vers l'avant, et ça se réfère bien au futur. (et je doute qu'il y ait vraiment une langue où il faudrait marcher vers l'arrière pour penser au futur).
Pour le coup de 上午/下午, ce n'est pas vraiment choquant non plus, c'est ainsi que sont conçus nos calendriers (de haut en bas).
[^] # Re: tous les caractères nécessaires à l’écriture de la langue française,
Posté par vermillon . En réponse à la dépêche La norme française de dispositions de clavier a été publiée. Évalué à 3.
Je ne peux pas répondre pour le reste, mais sur le F, c'est le symbole générique de devise monétaire.
# Anki / Découpage audio
Posté par vermillon . En réponse au journal ibus cache bien ses raccourcis !. Évalué à 2.
Salut!
Ayant autrefois passé des dizaines d'heures à découper des fichiers sous Audacity pour en faire des cartes sous Anki, je me réjouis de voir que je ne suis pas le seul!
As-tu jeté un coup d'œil à
sox
, le couteau suisse de l'édition audio? Si ton matériel audio est un tant soit peu bien construit (ce qui n'est malheureusement pas toujours le cas) et que les pauses entre les phrases/mots ont une longueur minimum, tu peux l'utiliser pour faire un split de ton fichier, ce qui représente un gain de temps considérable. L'outil n'est pas des plus évidents au premier abord, mais la demie-heure qu'il faut pour apprendre à le manier est vite rentabilisée.Et du coup, j'en profite pour demander quel cours tu utilises? (j'aimerais bien connaître un cours qui soit pas trop mauvais)
[^] # Re: Python
Posté par vermillon . En réponse au journal Défragmenter une partition FAT32 sous Linux …. Évalué à 8.
C'est quand même un bon moyen d'attirer des commentaires constructifs (comme c'est le cas ici), donc "oui", il faut partager, quitte à parfois se tromper (et surtout dans ces cas-là, je dirais)
# Ils l'ont bien mérité!
Posté par vermillon . En réponse au journal Je ne demande qu’à payer !. Évalué à 10.
Je me ferai peut-être moinser, mais de toute manière, une fois que tu vis à l'étranger, personne ne va venir te faire chier avec les films français que tu télécharges (en pratique hein, la théorie ce serait autre chose).
Du coup, s'ils ne font pas l'effort d'ouvrir leur offre légale dans le pays où tu vis, tu as au moins l'avantage de savoir que tu ne recevras pas un courrier pour te dire d'arrêter de télécharger.
[^] # Re: Petite revue de code...
Posté par vermillon . En réponse au journal Mon premier projet open source. Évalué à 3.
Pour le coup de la liste en paramètre, on préfère en effet initialiser à une valeur comme
None
, puis testerif servers is None: servers = list()
dans le cœur de la fonction.On pourrait aussi dire que dans le parser, "store" est l'action par défaut (donc peut-être supprimé), et qu'une option comme
--mon-option
a automatiquement undest
qui vaut mon_option. Je m'appuie toujours dessus pour ne pas surcharger la lecture des parsers. Le seul cas où je définis dest explicitement, c'est lorsque j'utiliseaction='store_false'
, par exemple:Ce qui permet d'avoir ensuite dans le code
if args.retry
(et pas un horribleif not args.no_retry
) tout en ayant une valeur par défaut à True.[^] # Re: Bientôt sur nos véhicules.
Posté par vermillon . En réponse au journal Gentlemen farmers . Évalué à 6.
https://en.wikipedia.org/wiki/Konami_Code
[^] # Re: Enchères
Posté par vermillon . En réponse à la dépêche OpenBSD 6.1 — throwing star (fish). Évalué à 10.
C'est comme cela que fonctionne eBay. Voici un exemple de ce qui a pu se passer:
- l'enchère en cours est à 1€
- X se dit qu'il est prêt à mettre 1000€, il indique donc 1000€. eBay compare avec 1€, voit que c'est plus grand et passe donc l'enchère en cours à 2€ (juste au dessus de la courante), tout en gardant en mémoire que X est prêt à miser jusqu'à 1000€.
- Y se dit qu'il est prêt à mettre 500€. eBay compare aux 1000€ de X, voit que c'est moins et donne donc l'enchère en cours à X pour 501€. => dans l'historique, on ne voit pas Y, on voit juste que X a misé 2€ puis 501€, d'affilé.
- Y essaie alors 600€. Même chose, eBay file donc l'enchère à X pour 601€.
- Y met 2000€. eBay donne donc l'enchère à Y pour 1001€.
Ce qui explique l'historique qui semble bizarre.
[^] # Re: Des tabs à 4 espaces
Posté par vermillon . En réponse à la dépêche Sortie de git 2.9. Évalué à 3.
Silicon Valley
[^] # Re: Par rapport à Django
Posté par vermillon . En réponse à la dépêche Sortie de Flask 0.11. Évalué à 7.
J'utilise la 0.10.1 en python 3.5 depuis quelques mois et ça marche sans problème (pour mon usage).
[^] # Re: A force...
Posté par vermillon . En réponse au journal Typage statique pour Python. Évalué à 0.
Le choix de l'adjectif est mauvais, je pense que j'aurais voulu dire "lisible", "aéré". Bref, c'est plus chargé visuellement et c'est plus difficile à lire.
(à part ça, je comprends l'intérêt du typage explicite dans d'autres langages)
[^] # Re: A force...
Posté par vermillon . En réponse au journal Typage statique pour Python. Évalué à 4.
Pour ce qui est des performances, l'optimisation du code grâce au typage statique est prévue dans le futur, pour l'instant ça ne change rien.
Cela dit, je doute qu'ils arrivent aux performances du C et comme tu dis, s'ils veulent du C, ils n'ont qu'à écrire du C.
De mémoire (pas de référence, désolé), Clojure a fait pareil: tout le monde s'est mis à vouloir ajouter des annotations de types parce que "ah ben en fait, le typage statique c'est utile", puis au bout d'une paire d'années, beaucoup en ont eu marre, ça demandait trop d'effort, rendait le code moins compréhensible, pour un gain faible.
Y a-t-il des langages où le typage statique est optionnel et pour lesquels cela a été un succès?
[^] # Re: Le français c'est la langue qu'on parle, pas celle qu'on écrit plus ou moins péniblement...
Posté par vermillon . En réponse au journal Non aux réformes de l’orthographe !. Évalué à 0.
Le reste des pays européens serait donc moins intéressé par l'égalité face à la loi que la France?
[^] # Re: Le français c'est la langue qu'on parle, pas celle qu'on écrit plus ou moins péniblement...
Posté par vermillon . En réponse au journal Non aux réformes de l’orthographe !. Évalué à 1.
Je partage ta peine et j'ai plussé, mais parler de "français" (en tant que langue, pas nationalité) pour parler d'occitan, tout de même, c'est étrange.
À te lire, c'est sans doute trop tard, malheureusement, mais si jamais le cœur t'en disait, ça s'apprend très bien.
[^] # Re: Champ de recherche
Posté par vermillon . En réponse à la dépêche Parution de Firefox 43. Évalué à 1.
Rester sur la version 42 et se plaindre sur leur bugzilla… mais je commence à perdre espoir aussi.
# On dirait du C
Posté par vermillon . En réponse au journal Analyse de texte. Évalué à 10.
ça s'écrit plutôt comme ça:
vu qu'on est en python, pas besoin de reprendre un idiome du C. De manière générale, dès que tu as "range(len(x))", tu sais que tu as quelque chose de moche en python (si tu as vraiment besoin de l'indice, tu peux toujours utiliser enumerate). Et par habitude, "c" c'est plutôt un caractère, du coup le mettre pour représenter une chaîne, ça choque l'œil.
ça s'écrit:
Pas besoin de tampon.
il y a directement une fonction pour ça:
Pour ce qui est de compter, tu as collections.Counter qui te permet d'éviter de vérifier si une clé est déjà dans ton dictionnaire (et d'incrémenter si c'est le cas où de mettre à 1 sinon): avec Counter, tu fais simplement compteur[clé] += 1 et ça marche toujours: si la clé n'est pas présente, elle est considérée valoir 0.
Et enfin, parce que vraiment, on dirait du C ce code, tout le foin avec le buffer etc, ça me parait entièrement inutile. Tu peux parfaitement lire ligne par ligne l'entrée standard:
De manière générale, si tu crois que tu as besoin de gérer la mémoire toi-même en Python pour une tâche aussi simple, c'est que tu n'utilises pas les bons outils.
[^] # Re: totalement hs
Posté par vermillon . En réponse à la dépêche The Go Programming Language. Évalué à 2.
Sans répondre à la question, c'est pas 100 pages en plus, mais 20.
[^] # Re: HS emprunt immboilier
Posté par vermillon . En réponse au journal MEGA c'est louche . Évalué à 9.
C'est en effet complètement absurde, mais leur "logique" c'est que si tu remets bien à zéro ta carte de crédit régulièrement, alors tu es quelqu'un de fiable pour un emprunt sur 25 ans…
En gros, les banques forcent les gens à prendre une carte de crédit (et du coup, par mégarde, à devoir payer des frais de temps à autres) avec la menace que sinon ton prêt immobilier te coûtera plus cher. C'est absurde et scandaleux, mais c'est en effet la pratique au Royaume-Uni.
[^] # Re: FUD !
Posté par vermillon . En réponse au journal La fin du "permissive add-on model" chez Mozilla, ou comment flinguer une base d'extensions. Évalué à 10.
Mauvaisement dans le Littré
[^] # Re: Redshift
Posté par vermillon . En réponse au journal Lumière bleue, attention les yeux.. Évalué à 3.
Twilight est pas mal et surtout pas mal configurable.
# Swiftkey
Posté par vermillon . En réponse au journal Bépo sous Android. Évalué à 4.
Ce n'est certes pas libre, mais Swiftkey supporte le bépo pour le français (le dvorak pour l'anglais, etc) et ce n'est pas "inextricablement" lié dans le sens que tu peux taper de l'anglais ou autre avec cette disposition, mais lié quand même puisque si tu désactives entièrement le français, tu basculeras sur une disposition anglaise (ou autre).
Et ça a l'avantage d'avoir de bonnes prédictions.
# Nom du projet
Posté par vermillon . En réponse au journal Tomate, un logiciel pour planifier vos cultures. Évalué à 3.
Il y a déjà un logiciel de ce nom qui implémente la technique du pomodoro!
[^] # Re: Pas si loin de la vérité !
Posté par vermillon . En réponse au journal [ HS ] 10.000 Français se suicident chaque année. Évalué à 1.
Un "péché mortel", ça n'a rien à voir avec le fait de mourir ou pas, c'est un concept dans la tradition catholique. Voir ici l'article donnant une courte explication sur le péché mortel.