Pages

Tuesday, October 14, 2025

An Org File to Report When Moon is Void of Course (in 2025)

In my previous post I wrote about how to create a custom calendar in a spreadsheet and then add it to Google calendar. I used the dates and times when Moon is void of course in 2025 as an example. 1

In this post, I'll show how to add those events to an org-mode file so that they show up in the Agenda View. And while there are Lisp add-ons that create org files from ICal files, it's easier to create the org file directly, since we don't actually have an ICal file.

Begin with the spreadsheet that was created in steps 1 through 4 of the previous post. But note that the new sheet in step four will be in the format that Org can read.

Here are the next steps:

  1. Add the following content in the first 5 rows of column A. These define the recommended file-level settings for the Org file:
    1. #+STARTUP: content
    2. #+STARTUP: hidestars
    3. #+STARTUP: indent
    4. #+CATEGORY: MVoC
    5. #+FILETAGS: :MVoC:
  2. Leave row 6 blank and then enter the following in cell A7. Please note that the tilde character represents a line continuation character. In fact the content should be entered without line breaks:
    1. ="* Moon void of course entering " & ~
    2. $moon_void_of_course_table_2025.C2 & ~
    3. UNICHAR(13) & UNICHAR(10) & "<" & ~
    4. TEXT($moon_void_of_course_table_2025.A2,"YYYY-MM-DD NN HH:MM") ~
    5. & ">--<" & ~
    6. TEXT($moon_void_of_course_table_2025.B2,"YYYY-MM-DD NN HH:MM") ~
    7. & ">" & UNICHAR(13) & UNICHAR(10)
  3. Set the row height to at least three times its default height.
  4. Save the spreadsheet in its native format (Excel as an XLSx file; LibreOffice Calc, ODS). A lot of work went into entering the formula in A7 - it would be highly frustrating if that got lost!
  5. Then pause and breathe for discussion.
    1. In paragraphs 6.1 and 6.2, we have code for a heading that will say, "Moon void of course entering Aquarius." Although instead of " Aquarius" it could be any Zodiac sign specified in Column C of the source sheet.
    2. The "UNICHAR" worksheet functions in paragraphs 6.3 and 6.7 resolve to the Carriage Return / Linefeed characters when called with arguments of 13 and 10 as they are here. These two characters define line endings on Windows. It's your spreadsheet's way of pressing ENTER.
    3. The reference to $moon_void_of_course_table_2025.A2 in 6.4 returns the date and time that the void begins. Similarly, $moon_void_of_course_table_2025.B2 in 6.6 returns the date and time that the void ends.
    4. The aforementioned dates and times are formatted with the TEXT worksheet function to ensure that the date is represented in YYYY-MM-DD format (2025-10-14, for example), followed by an abbreviation for the name of the day of the week (Tue, which, by the way, is optional) 2, and finally followed by the time using the 24-hour notation, where 23:45 is 11:45 pm.
    5. The start date & time and the end date & time each are surrounded by angle brackets; the bracketed start and end elements are separated by two hyphens. Today the duration that the Moon is void of course is denoted this way:
      1. <2025-10-14 Tue 00:05>--<2025-10-14 Tue 05:47>
  6. Starting at cell A7, fill down until all the data of the first sheet is included.
  7. Save the spreadsheet again.
  8. In step 8 of the previous post, I instructed to "Export the new sheet as a CSV file." We'll want to do that again. But this time it's necessary to pay attention to LibreOffice's "Export Text File" dialog box that precedes the Save dialog box. Ensure that the Field Delimiter and String Delimiter dropdown boxes are blank as shown in Figure 1. Otherwise, each heading will be preceded by a double quote character, and the lines might end with a comma.
  9. Change the extension of the newly-created CSV file to org. Edit it with Emacs and press C-[ to add it to the Agenda File List.
  10. Press C-c a a to view the default agenda view. A screenshot of today's agenda is shown in Figure 2 below.
Figure 1: The LibreOffice Export Text File dialog box with Field delimiter and String delimiter fields blank

Figure 2: Agenda View for Tuesday, October 14.  It shows that Moon is void of course from 12:05am to 5:47am.

Please let me know if you found this useful or if you have suggestions for improvement.


1 https://ludditegeek.blogspot.com/2025/10/add-moon-void-of-course-dates-to-google.html
2 The reference for org-mode's date range timestamp format can be found here: https://orgmode.org/worg/org-syntax.html#Timestamps

Monday, October 13, 2025

Add Moon Void of Course Dates to Google Calendar

Google calendar can be configured to show the phases of the moon.  This view can be enabled in the settings. 1, 2  You can find other calendars in Settings, too, such as various religious holidays and sports.

But you can also create your own calendar and upload it as a ICAL file.  Or you can import it as a CSV file.  I used the import CSV method to add the dates and times that Moon is void of course.

What does it mean that Moon is void of course?  In astrology, Moon visits each of the twelve signs of the Zodiac.  As well, Her position may form Major Aspects with other celestial bodies.  When Moon transitions from one house of the Zodiac to the next, and fails to be in a Major Aspect, She is considered void of course.  It is believed to be a time to avoid important business, for example. 3  Thus, believers will want to have this on their calendars.  Here's how to add these times to your Google calendar.

  1. Locate a list of dates and times that Moon is Void of Course.
    1. I used the list at voidofcoursemoon.com 4
  2. Download or copy the data to a CSV text file.
  3. Import the CSV into a new spreadsheet.  I copied the data, so for me, the columns were tab-delimited.  As well, I defined the first two columns as Date/Time and the last column as Text.  Delete any lines that do not contain the desired data; I kept the first line as "Void begins: Void ends: Moon enters after void:."
  4. Create a second sheet that will link to the content in the first sheet.  You'll export this sheet as a CSV file in a format that Google calendar can read.
  5. Add these nine column headings in row 1 of the "Export Sheet"  5
    1. Subject
    2. Start Date
    3. Start Time
    4. End Date
    5. End Time
    6. All Day Event
    7. Description
    8. Location
    9. Private
  6. Enter the following content into the cells of the second row:
    1. Moon Void of Course (or whatever you'd like to see as the title of each event).
    2. =$moon_void_of_course_table_2025.A2 (with format code MM/DD/YYYY)
    3. =$moon_void_of_course_table_2025.A2 (with format code HH:MM:SS AM/PM)
    4. =$moon_void_of_course_table_2025.B2 (with format code MM/DD/YYYY)
    5. =$moon_void_of_course_table_2025.B2 (with format code HH:MM:SS AM/PM)
    6. FALSE
    7. ="Moon will enter " & $moon_void_of_course_table_2025.C2 & " after void" (or whatever you want to see in the event description).
    8. Eastern US & Canada (This is the time zone name, but put whatever you want to see for the event location).
    9. FALSE
    10. Select all nine occupied cells in row 2 (columns A through I) and fill down until all the data of the first sheet is included.
  7. Save the spreadsheet as XLSx (Excel) or ODS (LibreOffice Calc).
  8. Export the new sheet as a CSV file.
  9. Create a new Google calendar and import the CSV file into it. 5

Or you can skip all that and just use the calendar I created, which you can find here. 6  But note that it's limited to events in 2025.

Here's how it looks in my calendar; the Phases of the Moon calendar also is enabled...

I hope you find this useful.  Next, I'll describe how I got these events into Org-mode.


1 href="https://support.google.com/calendar/answer/13748650?hl=en&co=GENIE.Platform%3DDesktop

2 href="https://www.maketecheasier.com/display-alternate-calendar-google-calendar/

3 https://www.astrologybyjudithryan.com/void-of-course-moon-info

4 href="https://voidofcoursemoon.com/void-of-course-moon-2025-calendar/

5 href="https://support.google.com/calendar/answer/37118#advanced&zippy=%2Ccreate-or-edit-a-csv-file

6 href="https://drive.google.com/file/d/1WqS678DtfBI9J0MQzuAphMrURAC3kK8T/view?usp=sharing

Sunday, October 05, 2025

Failure to “Practice What You Preach”

A blog post in March on the Proton website1 recommends several European programs or apps that circumvent potential US privacy violations. The "privacy-focused European alternatives" that are recommended in the social media category include Mastodon (which I use), Lemmy, and Friendica.

However, if you want to share that blog post, the you're offered choices of X, Reddit, LinkedIn, and Facebook! I wanted to point out the irony to the author, but there is no comment box in which to enter a reply.

Share options on Proton blog post

Even better (as in more ironic) is that blog post had been posted to Facebook with a link back that included a "fbclid" parameter. I suppose maybe we can give Proton a pass on this - they're entitled to know where their readers come from and when. But why not just have a simple "referral" parameter set to "facebook20251005185942" (or "linkedin," or whatever)? I ask because who knows what the 118-character value of fbclid unencodes to?

If you'd like to be a bit of a disruptor (or just have fun), you could append "?fbclid=biteme" to the link to the blog post before you navigate to it.


1 https://proton.me/blog/european-tech-alternatives