Analyzing Emacs News: 564 posts over 11 years, > 34k items, ~60/post

| emacs, community

While summarizing my history with Emacs, I was curious about just how many Emacs News posts I've written and how many links I've highlighted. 564 posts, > 34000 items, an average of 60 items per posts.

Analysis: It turned out that my emacs-news/index.org only went back to about 2016, missing a few months of 2015. To fill in the data, I needed to convert the old HTML files into Org format.

find -name \*news\*.html -exec zsh -c 'pandoc -f html -t org {} --wrap=none -o $(basename {} .html).org' \;

Then I inserted the old entries into my file. insert-file-contents doesn't seem to move the point, but if I narrow to my Posts subtree (org-narrow-to-subtree), then I can go to the end of the narrowed part.

(defun sacha-emacs-news-insert-old-ones ()
  (interactive)
  (let ((dir "~/proj/static-blog/blog/2015/"))
    (dolist (f
             (sort
              (directory-files-recursively dir "news.*org$")
              :key #'file-name-base
              :reverse t))
      (insert "** " (substring (file-name-base f) 0 10) " Emacs News\n\n")
      (insert-file-contents f)
      (goto-char (point-max)))))

With all the entries in place, let's look at the list items that start with a link.

code for analysis
;;;###autoload
(defun sacha-emacs-news-count-links ()
  "Return the number of main links in this subtree."
  (interactive)
  (let ((count 0))
    (save-excursion
      (org-back-to-heading)
      (while (re-search-forward "^ *- \\[\\[" (save-excursion (org-end-of-subtree)) t)
        (incf count)))
    (when (called-interactively-p 'any)
      (message "%d" count))
    count))

;;;###autoload
(defun sacha-emacs-news-analyze ()
  "Count how many entries and items. Make a table of entries."
  (interactive)
  (with-current-buffer (find-file-noselect "~/sync/emacs-news/index.org")
    (goto-char (point-min))
    (let (results)
      (org-map-entries
       (lambda ()
         (let ((title (org-entry-get (point) "ITEM")))
           (when (string-match "\\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\\) Emacs" title)
             (push (list (match-string 1 title)
                         (sacha-emacs-news-count-links))
                   results)))))
      (seq-uniq (sort results :key 'car :reverse t)))))
(append '(("Date" "Count") hline) (sacha-emacs-news-analyze))
set title "Number of links in Emacs News per week"
set xdata time
set timefmt "%Y-%m-%d"
set format x "%Y"
set xlabel "Year"
set ylabel "Count"
set grid
plot data using 1:2 with lines title "Items"
emacs-news.png

This probably tracks my availability more than anything else. The dip in 2017 and 2018 corresponds pretty well to the time that the kiddo needed more of my attention. Babies sleep a lot; toddlers, not so much.

I generally feel that there are so many interesting rabbit holes to go down each week, and the Emacs community is active enough that there's always one or two things I want to add to my to-do list to explore further. Putting together Emacs News is one of the highlights of my week. It takes me about 1 - 2 hours, and some of that is just because I get distracted trying out the cool stuff I come across.

Learning from similar newsletters: OCaml Weekly News has a single author as well and does a lot more summarization, but includes fewer links. This Week in Rust is a similar link-dump weekly newsletter. It's written by a larger team and it has more commentary. I think that for the Emacs community, I'm still leaning towards this large list of categorized links for easy skimming. As I get the hang of writing more, I'd like to write more blog posts myself that Emacs News can also link to. If your community doesn't already have a weekly or monthly newsletter, I highly recommend it as a way to bring the community together.

Here's the table, in case you're curious:

Data
Date Count
2026-10-19 74
2026-10-12 74
2026-10-05 72
2026-09-28 55
2026-09-21 50
2026-09-14 53
2026-09-07 73
2026-08-31 86
2026-08-24 75
2026-08-17 71
2026-08-10 66
2026-08-03 74
2026-07-27 74
2026-07-20 99
2026-07-13 50
2026-07-06 78
2026-06-29 60
2026-06-22 72
2026-06-15 66
2026-06-08 93
2026-06-01 56
2026-05-25 56
2026-05-18 57
2026-05-11 94
2026-05-04 88
2026-04-27 71
2026-04-20 91
2026-04-13 86
2026-04-06 84
2026-03-30 69
2026-03-23 61
2026-03-16 75
2026-03-09 83
2026-03-02 86
2026-02-23 96
2026-02-16 89
2026-02-09 87
2026-02-02 109
2026-01-26 59
2026-01-19 84
2026-01-12 86
2026-01-05 88
2026-01-04 59
2025-12-29 63
2025-12-22 99
2025-12-15 65
2025-12-08 74
2025-12-01 62
2025-11-24 71
2025-11-17 57
2025-11-10 76
2025-11-03 69
2025-10-27 64
2025-10-20 51
2025-10-13 57
2025-10-06 62
2025-09-29 64
2025-09-22 66
2025-09-15 71
2025-09-08 61
2025-09-01 74
2025-08-25 82
2025-08-18 69
2025-08-11 84
2025-08-04 53
2025-07-28 82
2025-07-21 70
2025-07-14 65
2025-07-07 56
2025-06-30 67
2025-06-23 63
2025-06-16 62
2025-06-09 50
2025-06-02 68
2025-05-26 61
2025-05-19 74
2025-05-12 58
2025-05-05 57
2025-04-28 96
2025-04-21 70
2025-04-14 99
2025-04-07 64
2025-03-31 83
2025-03-24 74
2025-03-17 94
2025-03-10 102
2025-03-03 102
2025-02-24 74
2025-02-17 85
2025-02-10 64
2025-02-03 84
2025-01-27 78
2025-01-20 80
2025-01-13 59
2025-01-06 66
2024-12-30 92
2024-12-23 85
2024-12-16 72
2024-12-09 82
2024-12-02 63
2024-11-25 75
2024-11-18 67
2024-11-11 59
2024-11-04 73
2024-10-28 65
2024-10-21 52
2024-10-14 72
2024-10-07 80
2024-09-30 56
2024-09-23 93
2024-09-16 85
2024-09-09 52
2024-09-02 67
2024-08-26 56
2024-08-19 62
2024-08-12 48
2024-08-05 45
2024-07-29 51
2024-07-22 56
2024-07-15 60
2024-07-08 68
2024-07-01 67
2024-06-24 77
2024-06-17 86
2024-06-10 82
2024-06-03 79
2024-05-27 71
2024-05-20 66
2024-05-13 91
2024-05-06 73
2024-04-29 84
2024-04-22 63
2024-04-15 94
2024-04-08 67
2024-04-01 95
2024-03-25 91
2024-03-18 78
2024-03-11 79
2024-03-04 84
2024-02-26 72
2024-02-19 69
2024-02-12 78
2024-02-05 70
2024-01-29 96
2024-01-22 83
2024-01-15 70
2024-01-08 99
2024-01-01 76
2023-12-25 77
2023-12-18 74
2023-12-11 66
2023-12-04 56
2023-11-27 85
2023-11-20 76
2023-11-13 62
2023-11-06 52
2023-10-30 59
2023-10-23 69
2023-10-16 91
2023-10-09 93
2023-10-02 82
2023-09-25 73
2023-09-18 72
2023-09-11 90
2023-09-04 79
2023-08-28 83
2023-08-21 78
2023-08-14 84
2023-08-07 49
2023-07-31 69
2023-07-24 46
2023-07-17 53
2023-07-10 52
2023-07-03 67
2023-06-26 59
2023-06-19 53
2023-06-12 41
2023-06-05 52
2023-05-29 49
2023-05-22 64
2023-05-15 66
2023-05-08 57
2023-05-01 73
2023-04-24 67
2023-04-17 66
2023-04-10 49
2023-04-03 76
2023-03-27 92
2023-03-20 65
2023-03-13 85
2023-03-06 64
2023-02-27 62
2023-02-20 64
2023-02-13 65
2023-02-06 67
2023-01-30 70
2023-01-23 85
2023-01-16 83
2023-01-09 83
2023-01-02 89
2022-12-26 89
2022-12-19 83
2022-12-12 92
2022-12-05 69
2022-11-28 90
2022-11-21 82
2022-11-14 64
2022-11-07 75
2022-10-31 74
2022-10-24 37
2022-10-17 54
2022-10-10 77
2022-10-03 81
2022-09-26 75
2022-09-19 75
2022-09-12 77
2022-09-05 67
2022-08-29 73
2022-08-22 50
2022-08-15 45
2022-08-08 65
2022-08-01 69
2022-07-25 60
2022-07-18 55
2022-07-11 75
2022-07-04 56
2022-06-27 51
2022-06-20 60
2022-06-13 67
2022-06-06 65
2022-05-30 38
2022-05-23 68
2022-05-16 65
2022-05-09 67
2022-05-02 82
2022-04-25 59
2022-04-18 71
2022-04-11 69
2022-04-04 63
2022-03-28 67
2022-03-21 71
2022-03-14 64
2022-03-07 68
2022-02-28 65
2022-02-21 77
2022-02-14 88
2022-02-07 49
2022-01-31 75
2022-01-24 74
2022-01-17 83
2022-01-10 57
2022-01-03 67
2021-12-27 47
2021-12-20 56
2021-12-13 57
2021-12-06 69
2021-11-29 75
2021-11-22 55
2021-11-15 56
2021-11-08 94
2021-11-01 79
2021-10-25 66
2021-10-18 77
2021-10-11 70
2021-10-04 91
2021-09-27 86
2021-09-20 63
2021-09-13 79
2021-09-06 63
2021-08-30 68
2021-08-23 64
2021-08-16 77
2021-08-09 69
2021-08-02 59
2021-07-26 77
2021-07-19 65
2021-07-12 48
2021-07-05 64
2021-06-28 46
2021-06-21 65
2021-06-14 37
2021-06-07 65
2021-05-31 65
2021-05-24 46
2021-05-17 65
2021-05-10 58
2021-05-03 47
2021-04-26 57
2021-04-19 73
2021-04-12 52
2021-04-05 70
2021-03-29 65
2021-03-22 82
2021-03-15 64
2021-03-08 70
2021-03-01 55
2021-02-22 84
2021-02-15 96
2021-02-08 74
2021-02-01 73
2021-01-25 71
2021-01-18 58
2021-01-11 66
2021-01-04 76
2020-12-28 72
2020-12-21 73
2020-12-14 92
2020-12-07 76
2020-11-30 65
2020-11-23 51
2020-11-16 47
2020-11-09 57
2020-11-02 72
2020-10-26 51
2020-10-19 76
2020-10-12 70
2020-10-05 57
2020-09-28 71
2020-09-21 81
2020-09-14 79
2020-09-07 61
2020-08-31 64
2020-08-24 73
2020-08-17 80
2020-08-10 89
2020-08-03 70
2020-07-27 56
2020-07-20 60
2020-07-13 55
2020-07-06 48
2020-06-29 43
2020-06-22 56
2020-06-15 63
2020-06-08 66
2020-06-01 116
2020-05-25 64
2020-05-18 83
2020-05-11 62
2020-05-04 77
2020-04-27 63
2020-04-20 63
2020-04-13 62
2020-04-06 49
2020-03-30 62
2020-03-23 58
2020-03-16 52
2020-03-09 50
2020-03-02 43
2020-02-24 53
2020-02-17 65
2020-02-10 60
2020-02-03 67
2020-01-27 68
2020-01-20 65
2020-01-13 61
2020-01-06 70
2019-12-30 51
2019-12-23 76
2019-12-16 71
2019-12-09 53
2019-12-02 51
2019-11-25 57
2019-11-18 55
2019-11-11 62
2019-11-04 70
2019-10-28 32
2019-10-21 59
2019-10-14 76
2019-10-07 63
2019-09-30 68
2019-09-23 88
2019-09-16 51
2019-09-09 55
2019-09-02 47
2019-08-26 61
2019-08-19 84
2019-08-12 79
2019-08-05 58
2019-07-29 79
2019-07-22 96
2019-07-15 78
2019-07-08 49
2019-07-01 86
2019-06-24 76
2019-06-17 63
2019-06-10 51
2019-06-03 92
2019-05-27 69
2019-05-20 86
2019-05-13 100
2019-05-06 72
2019-04-29 92
2019-04-22 88
2019-04-15 97
2019-04-08 88
2019-04-01 94
2019-03-25 85
2019-03-18 53
2019-03-11 29
2019-03-04 70
2019-02-25 80
2019-02-18 72
2019-02-11 52
2019-02-04 65
2019-01-28 29
2019-01-21 27
2019-01-14 41
2019-01-07 63
2018-12-31 49
2018-12-24 41
2018-12-17 40
2018-12-10 43
2018-12-03 42
2018-11-26 40
2018-11-19 42
2018-11-12 58
2018-11-05 38
2018-10-29 31
2018-10-22 37
2018-10-15 31
2018-10-08 28
2018-10-01 49
2018-09-24 33
2018-09-17 28
2018-09-03 84
2018-08-27 23
2018-08-20 24
2018-08-13 26
2018-08-06 25
2018-07-30 24
2018-07-23 27
2018-07-16 25
2018-07-09 35
2018-07-02 26
2018-06-25 36
2018-06-18 35
2018-06-11 33
2018-06-04 56
2018-05-28 28
2018-05-21 33
2018-05-14 29
2018-05-07 33
2018-04-30 41
2018-04-23 40
2018-04-16 31
2018-04-09 44
2018-04-02 20
2018-03-26 22
2018-03-20 29
2018-03-12 37
2018-03-04 55
2018-02-26 23
2018-02-19 39
2018-02-12 20
2018-02-05 48
2018-01-29 26
2018-01-23 48
2018-01-15 18
2018-01-09 30
2018-01-01 26
2017-12-26 30
2017-12-19 28
2017-12-11 20
2017-12-04 41
2017-11-27 20
2017-11-20 34
2017-11-13 35
2017-11-06 35
2017-10-30 28
2017-10-23 28
2017-08-21 40
2017-08-14 55
2017-08-07 29
2017-07-31 53
2017-07-24 52
2017-07-17 54
2017-07-10 47
2017-07-03 35
2017-06-26 50
2017-06-19 21
2017-06-12 24
2017-06-05 33
2017-05-29 32
2017-05-22 35
2017-05-15 35
2017-05-08 40
2017-05-01 33
2017-04-24 32
2017-04-17 35
2017-04-10 41
2017-04-03 35
2017-03-27 31
2017-03-20 40
2017-03-13 41
2017-03-06 38
2017-02-27 44
2017-02-20 35
2017-02-06 23
2017-01-30 30
2017-01-23 43
2017-01-16 32
2017-01-13 55
2017-01-09 34
2017-01-02 25
2016-12-26 37
2016-12-19 44
2016-12-12 36
2016-12-05 37
2016-11-28 27
2016-11-21 34
2016-11-14 50
2016-11-07 40
2016-10-31 35
2016-10-24 35
2016-10-17 36
2016-10-10 34
2016-10-03 41
2016-09-26 32
2016-09-19 39
2016-09-12 27
2016-09-05 32
2016-08-29 78
2016-08-22 19
2016-08-15 17
2016-08-08 19
2016-08-01 32
2016-07-25 33
2016-07-18 26
2016-07-10 32
2016-07-04 48
2016-06-27 32
2016-06-20 33
2016-06-13 34
2016-06-06 29
2016-05-30 39
2016-05-23 47
2016-05-16 43
2016-05-09 60
2016-05-02 45
2016-04-25 40
2016-04-18 35
2016-04-11 40
2016-04-04 42
2016-03-28 47
2016-03-21 42
2016-03-14 93
2016-02-22 72
2016-02-15 55
2016-02-15 55
2016-02-08 57
2016-02-01 55
2016-01-25 55
2016-01-18 37
2016-01-11 51
2015-12-28 55
2015-12-21 33
2015-12-14 45
2015-12-07 50
2015-11-30 56
2015-11-23 47
2015-11-16 54
2015-11-09 40
2015-11-02 25
2015-10-26 32
View Org source for this post

Upcoming chat with linkarzu about using Emacs for 25 years

Posted: - Modified: | community, emacs

: Ha, I accidentally left in some raw transcription output. Serves me right for not scrolling down. Also, I've added a summary image.

Next Thursday, I'm going to be chatting with linkarzu about Emacs and life. He's more of a Vim person than an Emacs person, so I'll try to share things that are generally useful. He's called it: "Why Sacha Chua Still Lives in Emacs After 20+ Years."

(America/Toronto, -0400) = Thu Oct 29 0800H EDT / 0700H CDT / 0600H MDT / 0500H PDT / 1200H UTC / 1300H CET / 1400H EET / 1730H IST / 2000H +08 / 2100H JST

I am not sure my eyebrows have ever done that, but linkarzu does like his thumbnails, so we'll let that pass. =)

I put together some sketches to help me organize my thoughts. His channel uses dark mode, so let's experiment with dark mode in my sketches too. I want to think about things so that the relevant resources are readily available and so that I can express myself more concisely. I can put together a presentation or write a blog post by myself, so I'm more curious about the kinds of things he wants to explore in the conversation.

I'll probably need to do a brief introduction to set the context so that people know where I'm coming from. Let's disclaim my professional irrelevance up front.

Image text and links

About me 2026-10-24-03

  • sachachua.com (since 2001 :) )
  • Emacs News
  • planet.emacslife.com
  • EmacsConf
  • Where: Manila, Philippines to Toronto, Canada in 2005
  • Now:
    • Continuing with hanging out with A+ (kiddo) and W- (husband)
    • Experimenting with retirement
  • Previously: web prototypes, data analysis, sketchnoting, computer science
  • Currently tinkering with: learning French, hybrid speech interfaces, community sharing

It turns out that I've been using Emacs for at least 25 years, which is pretty cool. I am 43, so that's more than half my life.

Let's start with a summary so that we don't worry about running out of time and so that people don't have to listen to two hours before getting to the good stuff. I want people to be able to get something out of this, whether they're a Vim diehard or experimenting with Helix, or even if they're passionate about things other than text editors. Here are some of the things I'm learning about that I think are important.

  • Community:
    • It's really hard to learn Emacs all by yourself. It's obscure, arcane, and overwhelming.
    • Fortunately, we have a strong culture of sharing, starting with the GNU General Public License and continuing through things like literate programming. We have mailing lists, blog posts, videos, meetups, and conferences. One of the best ways to learn Emacs is to learn out loud. Another way is to look over someone's shoulder. It doesn't take a lot of time or money to do the kinds of things that I enjoy doing to connect the Emacs community, and I'd love to see other tech communities experiment with things like that too.
  • Adaptability: You can customize Emacs to really fit the way you want to work. The more people do this, the easier it gets to adapt Emacs to even more workflows.
  • Incremental improvements: Even small changes add up, and code turns out to be surprisingly reusable. It often pays off beyond the recommendations of xkcd: Is It Worth the Time?.
  • Imagination and play: Tweaking Emacs can be lots of fun. Fun is important.

Here's a brief overview of my history with Emacs.

The details are a little bit fuzzy, but fortunately I've written about some things in previous blog posts. I'd like to flesh this out with an outline and maybe even some sentences or paragraphs later on. I love the way that different themes recur. I find myself building on things that I started exploring years ago. For example, my current interest in hybrid speech interfaces echoes all the way back to M-x doctor and Emacspeak from the beginning.

linkarzu mentioned wanting to talk about artificial intelligence. I don't know nearly as much as lots of other people do. Maybe I can just share the things that I've been experimenting with, and also what I care about from a community perspective. I would like to help figure out how to deal with this turbulence and come out the other side happier.

Text from sketch

Large language models and other things 2026-10-24-02

  • Y'all know much more than I do. You have more at stake.
  • Me: tiny steps, using it for tightly scoped tools
    • grammar/fixing literal translations, explanations
    • troubleshooting
    • prototypes (ex: Python servers)
  • Next:
    • help people who want to connect and experiment
      • human-focused
      • LLM-assisted (only if you want)
  • Keep exploring what I'm curious about: experiments > hype
  • Yay:
    • more people learning about and customizing things
    • more capable local models
    • adding up fragments of time
  • Boo:
    • flood of slop, "content", spam
    • overwhelmed developers
    • centralization
    • polarization
    • externalized costs
    • non-deterministic
View Org source for this post

Dictating blog posts into Emacs

| emacs, speech-recognition

Matt is experimenting with dictating his blog posts. He says:

I write really well. I have very good grammatical skills, for the most part, when I’m typing. But when I speak, I don’t speak like that. My grammar is not very good. I say words out of order a lot. I have filler words. And I say things that don’t make any sense.

This is totally me too! It's one of the reasons why I want to get used to dictation, because it'll give me a lot more practice in saying things, which can only help when I'm making videos or talking to people.

While I’m talking, the text that’s outputted has no punctuation or paragraphs or anything like that.

Oh yeah, no, that's mostly a matter of picking the right speech recognition engine. For example, I'm using a local instance of Orukeet, and it seems to do a reasonable job of dividing my thoughts into properly-capitalized and punctuated sentences in both English and French. In fact, I have some code in Emacs that wraps it to one sentence per line (as part of sacha-whisper-insert which uses sachac/whisper.el). This allows me to use Org shortcuts to move lines around in order to reorganize them into something that makes more sense.

Some people use large language models to clean up raw transcripts and remove false starts or filler words. I don't quite trust large language models to leave my wording alone. I have some code that uses replace-regexp-in-string to take out some of my filler words and fix commonly misrecognized words that I've saved with substitute.el.

I'm not sure if I was ever any good at multitasking, but nowadays at 43 years old, I find that talking and typing at the same time has gotten a little bit harder for me. I type much more slowly if I want to narrate things at the same time, like when I'm recording a video or live streaming. When I'm just thinking on my own, I type quickly enough that my computer sometimes jumbles the keystrokes up because it doesn't handle keyboard interrupts well when it's busy. It's not just my fingers; it sometimes happens even when I was trying to use wdotool to simulate typing. Speech recognition is surprisingly reliable, even though I have to correct it from time to time. The broad strokes are there, and I save the recordings so that I can fix misrecognized words.

I also love the way that speech recognition opens up so many more possibilities for commands I would never be able to memorize keyboard shortcuts for. "Remind me today to…" is now one of my favourite ways to capture an Org Mode task.

Besides, I think it's a good idea to plan ahead just in case I can't type very well in the future. All sorts of things can happen: accidents, disease, old age. I wrote about that a bit more in Emacs Carnival Oct 2026: Exploring keys and voice input in Emacs.

All that to say: exciting times ahead. I think it would be pretty amazing if this sort of thing allows more people to write and share. Looking forward to reading (and possibly listening to) what people have been learning about!

View Org source for this post

2026-10-19 Emacs news

| emacs, emacs-news

There are a bunch of Eglot-related resources in the Coding category today. Nice to see people working on lots of cool stuff!

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View Org source for this post

Semaine du 5 au 11 octobre

| french

lundi 5

J'ai travaillé comme consultante. J'ai cherché la cause d'un bug dans la liste d'événements. J'ai affiché un message quand un évènement n'a pas besoin d'inscription. J'ai restauré le code de l'application dans les titres de documents. J'ai aussi organisé mes notes.

J'ai ajouté les captures d'écran à ma fonction pour ajouter des tâches par commandes vocales.

J'ai donné de l'argent à une campagne électorale.

mardi 6

J'ai voté pour le conseiller municipal, le maire et le conseiller scolaire.

Ma fille a joué avec son amie et elles ont fait du vélo.

J'ai fermé un compte de fonds enregistré de revenu de retraite. À la réflexion, ce n'est pas nécessaire en ce moment.

mercredi 7

J'ai enregistré une vidéo sur mes commandes vocales. J'ai aussi ajouté une autre commande pour effacer des lignes.

Mon mari a réveillé notre fille en lui posant des questions sur Pokémon. C'était incroyable. Elle peut répondre à des questions immédiatement après s'être réveillée.

Mon mari, ma fille et moi avons joué à TerraFirmaCraft. J'ai trouvé de l'argile, donc maintenant nous cherchons du cuivre et d'autres minéraux.

jeudi 8

Ma fille et moi avons fait du vélo jusqu'à Dufferin Mall. Elle voulait de nouvelles boucles d'oreilles, et elle avait besoin de gants et de chaussettes parce qu'il allait faire froid.

J'ai réussi à transférer notre partie de TerraFirmaCraft sur le serveur Crafty pour nous permettre d'y jouer plus facilement même si ma fille n'a pas allumé son ordinateur.

J'ai oublié de mettre le riz au poulet dans le frigo hier soir. Ce n'était pas grave. Nous allons le refaire demain.

J'ai implémenté la reconnaissance vocale avec le serveur de détection d'activité vocale. Je dois modifier le seuil pour segmenter ma parole. Maintenant, c'est trop court, donc mes phrases étaient coupées.

vendredi 9

Ma fille a fait la grasse matinée.

J'ai eu une séance de conversation avec mon tuteur qui est rentré de vacances. Je lui ai montré mes visualisations de parole et de vocabulaire.

samedi 10

Ma fille et moi sommes allées au parc d'attractions. Cette fois, ma fille a préféré regarder des spectacles tels que « Spectral Sisters » et « Monster Bash ». De mon côté, le simple fait de passer une journée entière à nous promener au soleil me suffisait. Ça valait absolument la peine.

dimanche 11

Nous sommes allés au cours de sport. Après le cours, nous avions un peu mal aux bras, mais c'était bien, c'est tout à fait normal quand on pratique une activité sportive.

Nous avons joué à TerraFirmaCraft. J'ai trouvé un taureau et une caille, et nous avons fait deux lingots doublés.

View Org source for this post

Added Javascript time zone translation to the EmacsConf schedule images on the wiki

| emacs, emacsconf

Nudged by Ihor Radchenko's suggestion, I added some JavaScript to translate the graphical SVG schedule on the EmacsConf wiki to your local time zone. I'll post the schedule on the wiki next week, but in the meantime, you can take a look at the draft schedule in the organizers' notebook.

Let me test it by setting my local time zone to UTC with sudo timedatectl set-timezone Etc/UTC…

2026-10-15-19-05-55.png
Figure 1: Screenshot of the draft schedule in the wiki, showing times dynamically translated to UTC

Here's the horizontal view in our backstage index, showing the status of talks so far.

2026-10-15-19-03-21.png
Figure 2: Screenshot of backstage view, showing times dynamically translated to UTC

I still need to make sure that my time zone is set to America/Toronto when I'm generating the SVGs, but at least now people can see the times translated to their local time zone.

The Javascript code is in https://emacsconf.org/script.js as addLocalTimeToSVGs. The Emacs Lisp code to generate these SVGs is in emacsconf-schedule.el. emacsconf-schedule-svg is the starting point.

View Org source for this post

Semaine du 28 septembre au 4 octobre

| french

lundi 28

Avant ma séance avec un nouveau tuteur, j'ai rassemblé des entrées de mon journal et les corrigés. Il y avait même une journée entière où je n'ai rien noté. Heureusement, j'ai pu reconstruire ma journée avec l'aide d'autres données. journal:2026-09-28-01

J'ai fait ma première diffusion en direct avec mes nouvelles fonctions pour contrôler OBS à la voix, ce qui inclut de commencer et d'arrêter la diffusion, d'extraire la dernière minute ou d'autres segments et de saisir des tâches. C'était très utile parce que pour la première fois j'ai saisi toutes les petites tâches qui ont détourné mon attention. J'ai ajouté des commandes vocales pour sauter à une ligne ou un mot et pour copier des symboles. journal:2026-09-28-03

Ma fille a géré l'école indépendamment. Je suis fière d'elle. journal:2026-09-28-04

J'ai appelé l'hôpital pour enquêter sur la médication de ma fille. La coordinatrice m'a dit qu'elle n'avait pas reçu le fax, donc j'ai envoyé un autre courriel à la pharmacie. journal:2026-09-28-05

La nourrice de ma fille n'a pas répondu à mes messages depuis un peu plus d'une semaine. Peut-être qu'elles sont en vacances, ou peut-être que les filles veulent jouer ailleurs en ce moment. Ma fille a du mal à faire et à garder des amitiés. Bon, j'attends ses amies, mais nous sommes tous introvertis dans la famille et nous avons d'autres divertissements, donc je ne m'inquiète pas trop. journal:2026-09-28-06

mardi 29

Ma fille a voulu couper les fins de ses cheveux pour éliminer des pointes fourchues, donc je l'ai aidée. journal:2026-09-29-02

Ma fille n'a pas voulu aller à l'école en ligne toute la journée à cause de sa frustration envers ses camarades qui n'ont pas soumis leurs assessments malgré les exhortations de l'enseignant. Nous avons donc fait de l'escalade. journal:2026-09-29-03

J'ai eu ma deuxième séance avec le nouveau tuteur que j'essayais pendant les vacances de mon tuteur habituel. Cette fois, j'ai commencé avec une description des outils que j'avais implémenté après notre conversation précédente, ce qui m'a permis de mener un peu la conversation au lieu de tomber dans une position plus passive pendant que le tuteur déversait un flot d'informations. Je pense qu'il a tendance à enseigner à partir de ses propres intérêts et points forts, ce qui évidemment convient à beaucoup de gens, mais ne me convient pas entièrement. Je me demande si j'ai envie de continuer avec lui en plus de mes séances avec mon tuteur habituel, mais je suis aussi curieuse au sujet d'autres tuteurs. journal:2026-09-29-04

mercredi 30

J'ai ressorti mes notes pour gérer les vidéos d'EmacsConf. Au début, j'ai découvert que j'ai oublié de configurer une variable. Puis j'ai été étonnée quand le logiciel a fini immédiatement, mais après une investigation, je me suis rappelée que le logiciel s'exécute en coulisse. Une fois que la vidéo a été transformée et transcrite, j'ai corrigé la transcription. J'ai réenvoyé trois messages à un intervenant qui avait pensé que nous l'avions rejeté. journal:2026-09-30-01

Ma fille et moi avons joué à Minecraft sur le porche. Elle a créé un nouveau monde sans triche pour débloquer des trophées. journal:2026-09-30-03

J'ai exprimé pourquoi je demande une investigation à double exceptionnalité à l'école en ligne pour ma fille. Je pense que comme moi, elle montre des signes d'autisme. Ce n'est pas si grave, mais si elle grandit avec une meilleure compréhension d'elle-même, ce sera mieux ainsi. journal:2026-09-30-04

J'ai pris la résolution d'éliminer ou au moins réduire les faux départs dans ma parole en anglais et en français. Bien évidemment, le taux d'information est le même si je bégaye ou non, donc il vaut mieux que je fasse une pause parce que ça réduit la charge de compréhension de mon interlocuteur. Si je peux m'habituer à parler sans faux départs même si je parle très lentement, cela rend l'écoute plus facile (et plus supportable) pour mieux apprendre. journal:2026-09-30-07

Mon mari, ma fille et moi sommes allés à la réunion sociale de Bike Brigade. C'était vivant, en fait un peu trop bruyant pour nous tous. C'était juste à cause des nombreuses conversations simultanées dans un petit café sans musique. Heureusement, quelques personnes portaient des masques comme nous, très bien. Ma fille a remarqué que le Braille sur la pancarte était inefficace parce qu'il faisait face au trottoir derrière le verre. L'autre côté avait le même message mais sans braille. Nous avons parlé avec le vendeur et une fois qu'il a été d'accord, ma fille a renversé la pancarte pour qu'elle soit tournée vers l'intérieur. Après un peu de bavardage, nous sommes rentrés. Ce n'était pas notre genre d'événement, même si mon mari fait du bénévolat depuis plus d'un an. journal:2026-09-30-06

Mon mari a acheté de la cire pour graisser la chaîne de son vélo. Ma fille et moi l'avons regardé pendant qu'elle fondait. Ma fille a voulu reporter l'heure du coucher parce qu'elle voulait aider mon mari avec l'entretien de son vélo. Elle a fait l'école buissonnière deux matins de suite à cause de fatigue, mais je me rappelle que la pression ne lui sert à rien. Elle apprend les compétences pratiques, elle prend ses responsabilités (ou au moins accepte les résultats de ses décisions), c'est son expérience. journal:2026-09-30-05

jeudi 1

La coordinatrice de nos avocats m'a demandé des détails d'un paiement de juillet qu'elle n'a pas pu trouver. Heureusement, j'ai pu lui renvoyer la confirmation de la banque et elle l'a retrouvé dans ses archives, donc c'était réglé. journal:2026-10-01-02

Mon mari, ma fille et moi avons joué à Minecraft. Il nous a rejoint dans notre village. J'ai aménagé une salle d'échange, ce qui a également sécurisé des villageois contre les attaques des zombies. Je suis un peu sortie pour chercher des vaches, mais je n'ai trouvé rien. journal:2026-10-01-03

J'ai travaillé comme consultante. C'était une journée productive. J'ai fait part de mon expérience et j'ai implémenté les changements demandés. journal:2026-10-01-04

vendredi 2

J'étais fière de voir que ma fille a révisé ses devoirs elle-même. Je l'ai laissée gérer presque tout cette semaine, lui ayant même laissé faire une grasse matinée. Bien sûr, je l'ai motivée un peu en lui demandant de finir ses devoirs d'écriture avant que nous fassions de l'escalade alors qu'elle voulait sécher les cours toute la journée. journal:2026-10-02-02

J'ai envoyé le brouillon du programme d'EmacsConf aux intervenants. J'ai amélioré mes fonctions pour noter les détails que j'ai envoyés. journal:2026-10-02-03

J'ai fait une diffusion en direct avec Pedro A. Aranda Gutierrez et Protesilaos sur l'export d'Org Mode vers LaTeX avec des polices de secours. journal:2026-10-02-04

J'ai fait une autre diffusion en direct où j'ai mis à jour le programme d'EmacsConf et j'ai partagé mes fonctions pour sauter à une ligne specifiée, copier des symboles, et contrôler Emacs par commande vocale. journal:2026-10-02-05

J'ai emmené ma fille au cours de gymnastique. journal:2026-10-02-07

samedi 3

Sur Minecraft, mon mari a commencé l'extraction minière pour des diamants. Ma fille a fini la construction du bâtiment pour les villageois. Nous avons échangé des émerauds avec le paysan pour recevoir du pain. Une fois que nous les avons donnés aux villageois, ils se reproduisent. Ma fille avait installé un mod de jeu qui donne des lignes parlées aux villageois, donc nous sommes bien amusés par leurs dialogues. journal:2026-10-03-03

Selon notre nouvelle habitude, ma fille et moi sommes allées au parc d'attractions pour la neuvième fois cette année. Nos abonnements de saison sont donc bien rentabilisés. Nous avons essayé d'autres manèges que les montagnes russes, tels que la Drop Tower, Knightmares et la Shockwave. Ces manèges étaient moins fréquentés que les montagnes russes, ce qui nous a permis de faire les manèges avec très peu d'attente. Nous avons aussi fait les montagnes russes Taxi Jam et le Leviathan. Taxi Jam est la plus petite montagne russe au parc. C'est conçu pour les enfants, mais il y avait aussi des adultes et des jeunes qui ont voulu la faire. Le Léviathan est la plus grande montagne russe au Canada. Heureusement, l'attente était de seulement 30 minutes (bien prédit par leur application cette fois ; je l'ai vérifié avec le chronomètre de ma montre). Nous avons travaillé sur beaucoup de ses devoirs en attendant dans la file. Nous avons aussi essayé la nouvelle application web que j'ai générée avec Claude le matin pour reproduire le jeu Heads Up. Il fallait adapter l'idée parce que mon accéléromètre est cassé, donc nous avons ajouté des gros boutons. Nous avons aussi ajouté des catégories adaptées à nos propres centres d'intérêt tels que Donjons et Dragons. Ça a bien marché et nous nous sommes bien amusées. Nous avons regardé le spectacle Monster Bash et ma fille l'a trouvé drole. Avant de rentrer, nous avons acheté des fraises confites. journal:2026-10-03-01

Sur le chemin du retour, j'ai écouté à nouveau une partie de ma conversation avec Richard Bonichon et Prot. J'ai aussi écrit un brouillon qui décrit les commandes vocales que je veux présenter cette semaine. journal:2026-10-03-02

dimanche 4

J'ai modifié mon paquet subed pour faciliter l'ajout d'un commentaire, ce qui me permet de définir des chapitres par commande vocale. journal:2026-10-04-01

J'ai oublié la soumission de Corwin pour EmacsConf. journal:2026-10-04-07

Nous avons essayé de cuire les graines de tournesol que ma fille avait récoltées de notre jardin de devant. Ma fille les a jugées délicieuses. journal:2026-10-04-02

Nous sommes allés au magasin de cadeaux et ma fille a choisi un jouet antistress pour elle-même pour se faire plaisir ce mois-ci. Ce jouet comprend trois balles lestées avec des aimants. journal:2026-10-04-05

Nous avons mangé des pêches en conserve et des pêches séchées parce que nous avions fini tous les fruits frais chez nous. journal:2026-10-04-08

Ma fille et moi avons rangé ses tiroirs pour enlever les vêtements qui ne lui vont plus ou qui sont mal adaptés à la saison. journal:2026-10-04-06

Il faisait froid et nous étions fatigués. Nous avons donc mangé du congee au bœuf salé et au poisson. C'était le plat parfait pour ce genre de temps. journal:2026-10-04-03

Sur Minecraft, nous sommes partis à l'aventure pour chercher du fer. Nous n'avions pas autorisé les triches dans ce monde, donc nous devions faire attention pour éviter de perdre nos items. journal:2026-10-04-04

View Org source for this post