Sacha Chua https://sachachua.com/blog/feed/ Emacs, sketches, and life Mon, 29 May 2023 13:44:27 GMT en-US daily 1 11ty 2023-05-29 Emacs news https://sachachua.com/blog/2023/05/2023-05-29-emacs-news/ Mon, 29 May 2023 13:44:27 GMT emacs emacs-news https://sachachua.com/blog/2023/05/2023-05-29-emacs-news/
  • Upcoming events:
  • Beginner:
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Writing:
  • Org Mode:
  • Denote:
  • Completion:
  • Coding:
  • Mail, news, and chat:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    2023-05-22 Emacs news https://sachachua.com/blog/2023/05/2023-05-22-emacs-news/ Tue, 23 May 2023 00:51:07 GMT emacs emacs-news https://sachachua.com/blog/2023/05/2023-05-22-emacs-news/
  • Upcoming events:
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Fri May 26 1200 America/Vancouver - 1400 America/Chicago - 1500 America/Toronto - 1900 Etc/GMT - 2100 Europe/Berlin – Sat May 27 0030 Asia/Kolkata - 0300 Asia/Singapore
    • Emacs APAC (virtual) https://emacs-apac.gitlab.io/ Sat May 27 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/GMT - 1030 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sat May 27 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sun May 28 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Emacs Berlin (virtual, in English) https://emacs-berlin.org/ Wed May 31 0930 America/Vancouver - 1130 America/Chicago - 1230 America/Toronto - 1630 Etc/GMT - 1830 Europe/Berlin - 2200 Asia/Kolkata – Thu Jun 1 0030 Asia/Singapore
    • M-x Research (contact them for password): TBA https://m-x-research.github.io/ Fri Jun 2 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
    • Emacs.si (in person): Emacs.si meetup #6 2023 (online) https://dogodki.kompot.si/events/df42cbda-6c5c-4d03-ae67-ae4a4f3e9398 Mon Jun 5 2000 CET
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Navigation:
  • Hyperbole:
  • Dired:
  • Org Mode:
  • Completion:
  • Coding:
  • Shells:
  • Mail, news, and chat:
  • Doom Emacs:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    2023-05-15 Emacs news https://sachachua.com/blog/2023/05/2023-05-15-emacs-news/ Mon, 15 May 2023 22:50:28 GMT emacs emacs-news https://sachachua.com/blog/2023/05/2023-05-15-emacs-news/
  • Emacs 29:
  • Help wanted:
  • Upcoming events:
    • M-x Research (contact them for password): Show and Tell! https://m-x-research.github.io/ Wed May 17 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Fri May 19 1200 America/Vancouver - 1400 America/Chicago - 1500 America/Toronto - 1900 Etc/GMT - 2100 Europe/Berlin – Sat May 20 0030 Asia/Kolkata - 0300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sat May 20 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sun May 21 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Emacs APAC (virtual) https://emacs-apac.gitlab.io/ Sat May 27 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/GMT - 1030 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore
  • Emacs configuration:
  • Appearance:
  • Navigation:
  • Dired:
  • Org Mode:
  • Completion:
  • Coding:
  • Math:
  • Mail, news, and chat:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    2023-05-08 Emacs news https://sachachua.com/blog/2023/05/2023-05-08-emacs-news/ Mon, 08 May 2023 13:13:28 GMT emacs emacs-news https://sachachua.com/blog/2023/05/2023-05-08-emacs-news/
  • Upcoming events:
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Navigation:
  • Org Mode:
  • Completion:
  • Coding:
  • Mail, news, and chat:
  • Doom Emacs:
  • Multimedia:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
    • bencode: Bencode encoding / decoding (MELPA)
    • devil: Minor mode for Devil-like command entering (MELPA)
    • mame: A MAME front-end (MELPA)
    • python-view-data: View data in python (MELPA)
    • tree-inspector: Inspector tool for Emacs Lisp object that uses a treeview (GNU ELPA)
    • zone-tmux-clock: Zone out with a tmux style clock (MELPA)
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    Monthly review: April 2023 https://sachachua.com/blog/2023/05/monthly-review-april-2023/ Tue, 02 May 2023 13:48:53 GMT monthly review https://sachachua.com/blog/2023/05/monthly-review-april-2023/

    Text from the sketch

    We spent a lot of time playing Minecraft with A+, who was curious about both Java and Bedrock. I figured out how to export command books from Org Mode, so we can easily teleport around.

    Matthew D. gave me an X230T and a Surface Book, since he moved on to other computers. How kind! Happy to get more use out of them. The X230T was a straightforward upgrade for my X220T, and the Surface is neat too. (Krita supports multitouch!)

    I want to learn a lot about gardening this year. Many of our strawberries came back We started bitter melons, tomatoes, peppers, and lots of flowers in March, and the seedlings are coming along nicely. We also planted radishes, lettuce, beets, and carrots outside. We'll see how this goes!

    Lots of playdates with A+'s friends, including biking around. She's getting better at figuring out what she wants to do with other people and what she wants to do by herself.

    Other moments: dog encounters, tooth extraction, booster seat, lots of baking, bubbles in bubbles, ice cream, respect the timer

    Blog posts

    Sketches

    Time

    Category Previous month % This month % Diff % h/wk Diff h/wk
    Discretionary - Family 0.4 2.6 2.2 4.3 3.7
    Sleep 32.9 34.9 2.0 56.8 3.4
    Unpaid work 3.0 2.8 -0.2 4.5 -0.4
    A- 44.4 44.2 -0.3 71.9 -0.4
    Discretionary - Play 0.8 0.4 -0.4 0.6 -0.7
    Discretionary - Productive 3.3 3.0 -0.4 4.8 -0.7
    Personal 11.7 10.4 -1.3 16.9 -2.2
    Business 3.5 1.9 -1.7 3.0 -2.8
    ]]>
    2023-05-01 Emacs news https://sachachua.com/blog/2023/05/2023-05-01-emacs-news/ Mon, 01 May 2023 12:43:18 GMT emacs emacs-news https://sachachua.com/blog/2023/05/2023-05-01-emacs-news/
  • Upcoming events:
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Navigation:
  • Writing:
  • Org Mode:
  • Coding:
  • Mail, news, and chat:
  • Doom Emacs:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    2023-04-24 Emacs news https://sachachua.com/blog/2023/04/2023-04-24-emacs-news/ Mon, 24 Apr 2023 14:48:16 GMT emacs emacs-news https://sachachua.com/blog/2023/04/2023-04-24-emacs-news/
  • Help wanted:
  • Emacs 29:
  • Upcoming events:
    • Emacs Berlin (virtual, in English) https://emacs-berlin.org/ Wed Apr 26 0930 America/Vancouver - 1130 America/Chicago - 1230 America/Toronto - 1630 Etc/GMT - 1830 Europe/Berlin - 2200 Asia/Kolkata – Thu Apr 27 0030 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Fri Apr 28 1200 America/Vancouver - 1400 America/Chicago - 1500 America/Toronto - 1900 Etc/GMT - 2100 Europe/Berlin – Sat Apr 29 0030 Asia/Kolkata - 0300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sat Apr 29 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sun Apr 30 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • EmacsATX: Emacs Social https://www.meetup.com/emacsatx/events/291143201/ Wed May 3 1630 America/Vancouver - 1830 America/Chicago - 1930 America/Toronto - 2330 Etc/GMT – Thu May 4 0130 Europe/Berlin - 0500 Asia/Kolkata - 0730 Asia/Singapore
    • Emacs Paris (virtual, in French) https://www.emacs-doctor.com/emacs-paris-user-group/ Thu May 4 0830 America/Vancouver - 1030 America/Chicago - 1130 America/Toronto - 1530 Etc/GMT - 1730 Europe/Berlin - 2100 Asia/Kolkata - 2330 Asia/Singapore
    • M-x Research (contact them for password): TBA https://m-x-research.github.io/ Fri May 5 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Fri May 5 1200 America/Vancouver - 1400 America/Chicago - 1500 America/Toronto - 1900 Etc/GMT - 2100 Europe/Berlin – Sat May 6 0030 Asia/Kolkata - 0300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sat May 6 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sun May 7 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Navigation:
  • Hyperbole:
  • Writing:
  • Org Mode:
  • Completion:
  • Coding:
  • Mail, news, and chat:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
    • chatgpt-shell: Interaction mode for ChatGPT (MELPA)
    • jami-bot: An extendable chat bot for the private messenger GNU Jami (MELPA)
    • nerd-icons-dired: Shows icons for each file in dired mode (MELPA)
    • nerd-icons-ivy-rich: Excellent experience with nerd icons for ivy/counsel (MELPA)
    • opensub: Search and download from open-subtitles (MELPA)
    • shell-maker: Interaction mode for making comint shells (MELPA)
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, lemmy, 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!

    ]]>
    2023-04-17 Emacs news https://sachachua.com/blog/2023/04/2023-04-17-emacs-news/ Mon, 17 Apr 2023 13:27:30 GMT emacs emacs-news https://sachachua.com/blog/2023/04/2023-04-17-emacs-news/
  • Emacs 29.0.90 pretest is available (Reddit, HN, Irreal)
  • Upcoming events:
    • London Emacs Hacking: Emacs London Meetup https://www.meetup.com/london-emacs-hacking/events/292808528/ Mon Apr 17 1100 America/Vancouver - 1300 America/Chicago - 1400 America/Toronto - 1800 Etc/GMT - 2000 Europe/Berlin - 2330 Asia/Kolkata – Tue Apr 18 0200 Asia/Singapore
    • M-x Research (contact them for password): Functional programming: an (Emacs) Lisp view (7/n) https://m-x-research.github.io/ Wed Apr 19 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Fri Apr 21 1200 America/Vancouver - 1400 America/Chicago - 1500 America/Toronto - 1900 Etc/GMT - 2100 Europe/Berlin – Sat Apr 22 0030 Asia/Kolkata - 0300 Asia/Singapore
    • Emacs APAC (virtual) https://emacs-apac.gitlab.io/ Sat Apr 22 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/GMT - 1030 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sat Apr 22 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Mastering Emacs book club https://susam.net/maze/meet/mastering-emacs/ Sun Apr 23 0200 America/Vancouver - 0400 America/Chicago - 0500 America/Toronto - 0900 Etc/GMT - 1100 Europe/Berlin - 1430 Asia/Kolkata - 1700 Asia/Singapore
    • Emacs Berlin (virtual, in English) https://emacs-berlin.org/ Wed Apr 26 0930 America/Vancouver - 1130 America/Chicago - 1230 America/Toronto - 1630 Etc/GMT - 1830 Europe/Berlin - 2200 Asia/Kolkata – Thu Apr 27 0030 Asia/Singapore
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Navigation:
  • Writing:
  • Org Mode:
  • Completion:
  • Math:
  • Mail, news, and chat:
  • Multimedia:
  • EXWM:
  • Fun:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
    • code-compass: Navigate software aided by metrics and visualization (MELPA)
    • nerd-icons-ibuffer: Display nerd icons in ibuffer (MELPA)
    • nordic-night-theme: A darker, more colorful version of the lovely Nord theme (MELPA)
    • sentex: Regex-based sentence navigation rules (MELPA)
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, emacs-devel, and lemmy/c/emacs. 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!

    ]]>
    Updating my Minecraft command book using Emacs, TRAMP, and mcf.el https://sachachua.com/blog/2023/04/updating-my-minecraft-command-book-using-emacs-tramp-and-mcf-el/ Wed, 12 Apr 2023 14:28:27 GMT minecraft play emacs https://sachachua.com/blog/2023/04/updating-my-minecraft-command-book-using-emacs-tramp-and-mcf-el/ I wanted to see what else people have done in terms of combining Minecraft and Emacs. It turns out that you can control Minecraft from Emacs via mcf if you set enable-rcon=true in your server.properties (also a good idea to set rcon.password) and you configure variables like mcf-rcon-password on the Emacs side. It needed a little tweaking to get it to connect to a remote server, so I've submitted a pull request. Anyway, since Emacs can talk to Minecraft and I can write sequences of Minecraft commands as functions, I thought about turning my Minecraft command books into something that I could update right from Emacs.

    Creating my own datapack was pretty straightforward once I figured out the directory structure. I needed to put functions in <world-name>/datapacks/sachac/data/sachac/functions. Inside <world-name>/datapacks/sachac, I created pack.mcmeta with the following contents:

    {
        "pack": {
            "pack_format": 10,
            "description": "sachac's tweaks"
        }
    }
    

    Inside <world-name>/datapacks/sachac/data/sachac/functions, I created a command_book.mcfunction file with the command to give me the book. I updated my command book function to remove the / from the beginning.

    I used /reload to reload my Minecraft configuration and /datapack list to confirm that my datapack was loaded. Then /function sachac:command_book ran the function to give me the command book, so that all worked out. I replaced the command in the command block with the function call.

    The next step was to update it directly from Emacs, including reloading. First, I needed a function to give me the filename of a function file.

    (defun my-minecraft-datapack-function-file-name (world datapack-name function-name)
      "Return the filename for a mcfunction file given WORLD, DATAPACK-NAME, and FUNCTION-NAME."
      (seq-reduce
       (lambda (path subdir) (expand-file-name subdir path))
       (list "datapacks"
             datapack-name
             "data"
             datapack-name
             "functions"
             (concat function-name ".mcfunction"))
       world))
    

    I used C-c C-x p (org-set-property) to add a WORLD property to my Org subtree. For example, my snapshot world is at /ssh:desktop:~/.minecraft/saves/Snapshot. Then I can get the correct value within the subtree by using org-entry-get-with-inheritance. This is how I wrote the command book function for my snapshot world:

    #+begin_src emacs-lisp :var body=mc-snapshot :var team=mc-team :var quick=mc-quick :var effects=mc-effects :var items=mc-items :results silent
    (with-temp-file
        (my-minecraft-datapack-function-file-name
         (org-entry-get-with-inheritance "WORLD")
         "sachac"
         "command_book")
      (insert (my-minecraft-book "Commands 8.5" "Mom" (append team quick body effects items))))
    (mcf-eval "reload")
    #+end_src
    

    So now I can use C-c C-c to execute the Emacs Lisp block and have my Minecraft world updated. Then I just need to right-click on my command block's button or run the function in order to get the new version.

    I'm looking forward to learning more about mcfunctions so that I can write a function that automatically replaces the book in everyone's inventories. Could be fun.

    ]]>
    2023-04-10 Emacs news https://sachachua.com/blog/2023/04/2023-04-10-emacs-news/ Mon, 10 Apr 2023 23:49:32 GMT emacs emacs-news https://sachachua.com/blog/2023/04/2023-04-10-emacs-news/
  • Emacs 29.0.90 pretest is available (Reddit)
  • Upcoming events:
  • Emacs configuration:
  • Emacs Lisp:
  • Appearance:
  • Writing:
  • Org Mode:
  • Coding:
  • Shells:
  • Doom Emacs:
  • AI:
  • Community:
  • Other:
  • Emacs development:
  • New packages:
    • cats: Monads for Elisp (MELPA)
    • dired-gitignore: A minor mode to hide gitignored files in a dired buffer (MELPA)
    • environ: API for environment variables and env files (MELPA)
    • nerd-icons: Emacs Nerd Font Icons Library (MELPA)
    • org-tidy: A minor mode to tidy org-mode buffers (MELPA)
    • switchy-window: A most-recently-used window switcher (GNU ELPA)
    • tabgo: Jump to tabs, avy style (MELPA)
    • wgrep-deadgrep: Writable deadgrep buffer and apply the changes to files (MELPA)
  • Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Hacker News, lobste.rs, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, emacs-devel, and lemmy/c/emacs. 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!

    ]]>