2024-12-16 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, communick.news, 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

Weekly review: Two weeks ending December 11, 2024

| weekly

This post covers the week ending Dec 4 and the week ending Dec 11, since it was a bit of a rush leading up to EmacsConf.

  • EmacsConf 2024 went well, hooray! Here are some of my journal entries over the past two weeks:
    • I worked on the BigBlueButton server some more. I used Spookfox to automate Firefox from Emacs Lisp so that I could add moderator codes to all the BBB rooms. That way, speakers can let themselves in if needed, since we might be understaffed. (Might need to ask the mailing list if anyone wants to volunteer to host, which is mostly reading out questions and making conversation.) I also updated the Tampermonkey script so that the user in the VNC session will be able to join the web conference automatically.
    • I added shell scripts to copy the BBB redirect files so that I can easily do that by hand in case I don't get the automation sorted out again over the next week.
    • Livestreaming to Toobnix seems to be iffy at the moment, so I'll just focus on 480p and YouTube. I'll probably end up manually copying and pasting the stream keys for each event, so I've added them to the shift checklists to make that easier for myself.
    • I confirmed crontab and publishing still worked, and I processed some last-minute submissions. I also sent the check-in emails and fixed my email delivery verification.
    • 2024-12-08T00:40:59.681Z

      #emacsconf day 1 wasn't 100% smooth, but it was 100% fun, and people rerouted around all of the tech hiccups. I think we've figured out the color issue (needed to update mpv from 0.35 to 0.38), I updated my scripts to take the video files from the cache directory instead of other directories that I forgot to update, updated the checklist to have the right URLs, enabled case-fold-search on the other Emacs, and added random package mentions to the countdown screen. I forgot to let zaeph know I edited one of the videos, so next time I should flag that somehow. I'm not 100% sure about our BBB setup; a couple of people's computers crashed. On the plus side, this year, sooo many people helped out with captions and quality checks. Improving little by little! :D The important stuff got done: people got to see things and chat with other people!

    • The second day of EmacsConf went pretty well! We managed to handle a couple of last-minute uploads.
    • I processed the EmacsConf Q&As to add chapter indices and correct a number of misrecognized words. I also copied comments from of IRC and YouTube.
    • I modified the VTT separator regexp for subed.el.
    • swapping roles 2024-12-08T02:34:12.554Z

      I had a lot of fun watching Leo Vivier, Corwin Brust, and FlowyCoder fluidly swap roles as needed during #emacsconf . It was like professional jugglers dancing, one tossing a ball up in the air, the other shifting into place to catch it, the third getting the next ones lined up so things keep moving smoothly.

    • I dropped by Lispy Gopher Show again to chat about Emacs, Emacs Lisp, and EmacsConf with screwtape.

      @screwtape I imagine it could be useful to have a smart radio object that could tell someone how many minutes until your next show and where to listen to it (saves us from UTC conversions); do the same for other anonradio shows; search for a keyword in your archives (even just the descriptions); and maybe even allow other people to contribute a note that can be reviewed and included in the archive description for an episode

    • Q&A update 2024-12-12T14:48:25.451Z

      Yay, I've copied the rest of the comments from IRC and YouTube to the #EmacsConf talk pages, so speakers will be able to review them in one go. I've also copied some sections out of the transcripts for quick answers. I might send the speakers the thanks email with the discussion and main talk video links, but without links to the Q&A videos yet.

      BigBlueButton audio mixing was as usual a bit of a challenge, with some participants quiet and some participants louder. BBB saves only mixed audio. It would be nice to see if I can get separate audio recordings next year by configuring https://github.com/bigbluebutton/bigbluebutton/issues/12302 , but that sounds a little complicated. Instead of taking over the task of messing with the audio in the current recordings (which I tend to flub because I don't have the patience for it :) ), I can leave space for other people to do things. Instead, I can focus on the other tasks I've been procrastinating. :)

  • Life:
    • A- felt that the Outschool club was worth keeping because she likes the people.
    • We all practised shinny at High Park. Nice! A- and I worked on our stops once it was time to move over to the leisure skate area. We've also skated even though there was a light drizzle.
    • W- enjoyed helping out with the Bike Brigade.
    • A+'s CCAT scores qualified her for the next step in the TDSB gifted identification process. I've been trying to figure out what this could look like for us. There's probably no gifted program for virtual school, so it might look much like what we've already got. We've been talking about how to adapt to systems that are designed for other people. At the moment, it seems to work better for her if I sit with her during boring parts of class and help her explore things like coding with Python (or help her get her homework out of the way), so I don't have much focused time myself. It's important to us that she feels good about learning and that she learns how to work with/around systems, so spending that time is worthwhile. It just means that I have to be strategic about what I do.
Time
Category The other week % Last week % Diff % h/wk Diff h/wk
Discretionary - Productive 7.6 26.3 18.8 44.3 31.5
Business 0.2 1.6 1.4 2.7 2.3
Discretionary - Play 0.0 0.6 0.6 1.0 1.0
Discretionary - Social 0.0 0.0 0.0 0.0 0.0
Discretionary - Family 0.9 0.0 -0.9 0.0 -1.6
Personal 8.3 6.9 -1.4 11.6 -2.4
Unpaid work 4.3 0.9 -3.4 1.5 -5.7
Sleep 35.0 29.4 -5.6 49.4 -9.4
A- 43.6 34.2 -9.4 57.5 -15.8
View org source for this post

2024-12-09 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, communick.news, 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

2024-12-02 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, communick.news, 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

2024-11-25 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, communick.news, 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

Remove filler words at the start and upcase the next word

| audio, speechtotext, emacs

[2024-11-21 Thu]: Fixed the second filler words regexp, and make it work at the start of lines too. Thanks to @arialdo@mastodon.online for the feedback!

Like many people, I tend to use "So", "And", "You know", and "Uh" to bridge between sentences when thinking. WhisperX does a reasonable job of detecting sentences and splitting them up anyway, but it leaves those filler words in at the start of the sentence. I usually like to remove these from transcripts so that they read more smoothly.

Here's a short Emacs Lisp function that removes those filler words when they start a sentence, capitalizing the next word. When called interactively, it prompts while displaying an overlay. When called from Emacs Lisp, it changes without asking for confirmation.

(defvar my-filler-words-regexp "\\(\\. \\|^\\)\\(?:So?\\|And\\|You know\\|Uh\\)\\(?:,\\|\\.\\.\\.\\)? \\(.\\)")
(defun my-remove-filler-words-at-start ()
  (interactive)
  (save-excursion
    (let ((case-fold-search nil))
      (while (re-search-forward my-filler-words-regexp nil t)
        (if (and (called-interactively-p) (not current-prefix-arg))
            (let ((overlay (make-overlay (match-beginning 0)
                                         (match-end 0))))
              (overlay-put overlay 'common-edit t)
              (overlay-put
               overlay 'display
               (propertize (concat (match-string 0) " -> "
                                   (match-string 1)
                                   (upcase (match-string 2)))
                           'face 'modus-themes-mark-sel))
              (unwind-protect
                  (pcase (save-match-data (read-char-choice "Replace (y/n/!/q)? " "yn!q"))
                    (?!
                     (replace-match (concat (match-string 1) (upcase (match-string 2))) t)
                     (while (re-search-forward my-filler-words-regexp nil t)
                       (replace-match (concat (match-string 1) (upcase (match-string 2))) t)))
                    (?y
                     (replace-match (concat (match-string 1) (upcase (match-string 2))) t))
                    (?n nil)
                    (?q (goto-char (point-max))))
                (delete-overlay overlay)))
          (replace-match (concat (match-string 1) (upcase (match-string 2))) t))))))
This is part of my Emacs configuration.
View org source for this post

Wednesday weblog: week ending November 20, 2024

| weekly, weblog, review
  • Reflection on writing style - 2024-11-18T00:44:18.080Z

    I notice that I have a lot more fun writing tiny workflow tweaks (mostly #Emacs ) and sharing them on my blog versus, say, insightful reflections developed over a longer period of time. I think it's the payoff of being able to enjoy those tweaks. Sometimes abstract thoughts help me come to realizations that I can then try to use to change my concrete behaviours, but it's a lot less straightforward.

    Also, I notice that I prefer to write with a curious, exploratory tone instead of an authoritative one, which is probably also related to my focus on "I" rather than "you". Kinda like: here's what I'm experimenting with, sharing in case it's helpful (and also because I want to be able to find it again), everyone's different and that's awesome, curious about what works for you. :) I'm glad other people can pull off being authoritative/persuasive, though.

    23+ years #blogging and still learning more!

  • Sketchnote blogs - 2024-11-17T18:19:47.826Z

    I'm surprised by how few active blogs I could find about #sketchnotes (or had a category feed for sketchnotes). It's mostly rohdesign and Verbal to Visual, I think. Sketchnote Army still comes out with episodes, but the posts themselves don't seem to be very visual, so people have to click through to the person's website. I guess a lot of people are on Instagram, but that doesn't seem to support RSS any more, and I'm not really keen on scrolling through that. Ah well!

  • dark mode sketch filter - 2024-11-14T13:41:01.165Z

    I tweaked my dark-mode sketch CSS rule thanks to stefanvdwalt's comment. Now I've got

      @media (prefers-color-scheme: dark) {
      .sketch-full img, .gallery img, .left-doodle, .right-doodle,
      .center-doodle { filter: invert(1) hue-rotate(180deg) brightness(150%)
      contrast(0.9); }
      }
    

    Updated: https://sachachua.com/blog/2024/11/using-a-coloured-template-on-my-supernote-a5x/

  • Researched BBB hosting options and compared the costs with self-hosting on Linode.
  • Checked the shell scripts to make sure that hosts can start the videos by using shortcuts.

Quotes

  • Excerpts from Rebecca Solnit's "A Field Guide to Getting Lost" (2006) - 2024-11-19T12:52:11.878Z

    One of the books that has just arrived from the library is "A Field Guide to Getting Lost" (Rebecca Solnit, 2006), which was recommended to me by @janoli .

    Here are some snippets that have resonated with me so far:

    p5. Love, wisdom, grace, inspiration–how do you go about finding these things that are in some ways about extending the boundaries of the self into unknown territory, about becoming someone else?

    p10. and there's another art of being at home in the unknown, so that being in its midst isn't cause for panic or suffering, of being at home with being lost.

    p14. The historian Aaron Sachs, about explorers: "In my opinion, their most important skill was simply a sense of optimism about surviving and finding their way."

    p80. Even in the everyday world of the present, an anxiety to survive manifests itself in cars and clothes for far more rugged occasions than those at hand, as though to express some sense of the toughness of things and of readiness to face them. But the real difficulties, the real arts of survival, seem to lie in more subtle realms. There, what's called for is a kind of resilience of the psyche, a readiness to deal with what comes next.

    p99. Probably it had its origins in protective urges, but it had gone sour long ago.

  • Excerpts from Bill Watterson's speech at Kenyon College in 1990 - 2024-11-19T12:19:15.286Z

    Thanks to @kims for sharing Bill Watterson's speech at Kenyon College, Gambier Ohio, to the 1990 graduating class (https://web.mit.edu/jmorzins/www/C-H-speech.html)

    This section particularly resonated with me: "Creating a life that reflects your values and satisfies your soul is a rare achievement. In a culture that relentlessly promotes avarice and excess as the good life, a person happy doing his own work is usually considered an eccentric, if not a subversive. Ambition is only understood if it's to rise to the top of some imaginary ladder of success. Someone who takes an undemanding job because it affords him the time to pursue other interests and activities is considered a flake. A person who abandons a career in order to stay home and raise children is considered not to be living up to his potential-as if a job title and salary are the sole measure of human worth."

    I also appreciated his resistance to commercializing Calvin & Hobbes:
    "Selling out is usually more a matter of buying in. Sell out, and you're really buying into someone else's system of values, rules and rewards.
    The so-called 'opportunity' I faced would have meant giving up my individual voice for that of a money-grubbing corporation. It would have meant my purpose in writing was to sell things, not say things. My pride in craft would be sacrificed to the efficiency of mass production and the work of assistants. Authorship would become committee decision. Creativity would become work for pay. Art would turn into commerce. In short, money was supposed to supply all the meaning I'd need.
    What the syndicate wanted to do, in other words, was turn my comic strip into everything calculated, empty and robotic that I hated about my old job. They would turn my characters into television hucksters and T-shirt sloganeers and deprive me of characters that actually expressed my own thoughts."

Other links

View org source for this post