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

Saturday, August 23, 2025

Forget MAGA -- Focus on MACFA

I had planned to write another of my silly “Forget MAGA...” posts1, 2. The new post would have called for a focus on MACFA, or Make All Commodes Flush Again. This was something that Trump himself promised he would do.

But when I looked for background material and sources, I came across a recent Slate article3 that reports on the great progress that was made in low flush (LF) toilets. According to the article, the newest models can flush effectively with as little as 1.28 gallons of water.

I believe it. I can flush my toilets with a two-gallon bucket half filled with water. But the bowls remain nearly empty after that, so I suppose it takes another half gallon to refill the bowl.

The article explains that the earliest LF toilets used 1.6 gallons as does my newer fixture. However, they didn’t flush away all the solid waste; Trump himself said the operator had to flush “10 times.” “Not me, of course,” reports say.

So, have we Made All Commodes Flush Again? It would seem so. But I remain skeptical. I’d expect that the gradual accumulation of crap (quite literally) and minerals would reduce the water velocity in a low-flow toilet. And flushing is all about water velocity.

I can recall how well our 1.6 gallon toilet flushed. The water would almost totally disappear the moment I pressed the handle. But now it’s just like any other old-fashioned toilet in which the water rises before anything solid goes down.

When the commode was installed, there was a bumpy patch at the bottom. Now I wonder if the toilet was used or defective and that the bumpy part was scale or corrosion that was painted over.

Earlier today, I used my improvised drain clearer (an old bent coat hanger) to scrape at the entrances to the trap and siphon jet. The toilet flushes much better now. I’ll clean the visible portions with a pumice stone later tonight.


1 Forget MAGA -- Focus on MATA https://ludditegeek.blogspot.com/2025/07/forget-maga-focus-on-mata.html

2 Forget MAGA -- Focus on MEGA https://ludditegeek.blogspot.com/2025/07/forget-maga-focus-on-mega.html

3 https://slate.com/technology/2025/02/toilets-low-flow-trump-environment-cost-savings.html


Saturday, August 16, 2025

Define Emacs as Editor in Altap Salamander

I’ve been a devotee of the Servant Salamander / Altap Salamander file manager1 for decades. I migrated from Norton Commander (NC)2 soon after I started to work on a multi-tasking OS, Windows NT.

Likewise, I’ve been a fan of the (extensible) text editor Emacs3 for decades, having given up on Brief4, eventually. While on WinNT, I stayed with Brief a long time. But I seem to recall that Brief didn’t respond well to having one of its open files changed by another application. (This rarely happened in environments that it was designed for.)

Norton’s F4 key invoked a built-in text editor to open the selected file. The Salamander F4 key is configured to use Notepad.exe to open the selected file. But it can be configured to use other editors based on the selected file’s extension. I configure F4 to use Emacs for all text-like files.

Once I open Emacs, I like to keep that instance open for as long as possible. That’s because I build up a history usage, including:

  • Regular expression searches
  • Kill ring contents
  • On-the-fly macros

Switching to a new Emacs instance is a major interruption to my workflow.

Enter Emacs server. Emacs includes a server that can open a file in a running instance when invoked from an external application, such as Norton, ...er, Salamander. This allows a user to edit new files while maintaining the previous Emacs instance.

To use this active server process feature, you’d invoke Emacs with this command5 (all entered on a single line): C:\Path_to_Emacs_bin\emacsclientw.exe -a C:\Path_to_Emacs_bin\bin\runemacs.exe

But I find that configuring Salamander’s F4 to call the Emacs server to be difficult sometimes. In fact I spent an embarrassingly long time yesterday trying to figure it out. But it’s not at all difficult if you really understand two things:

  1. Only the Emacs executable should appear in the Custom Editor Target box; any switches go into the Arguments box before the $(Name) parameter.
  2. Emacs doesn’t like file names that contain quote marks. So if there’s a space in the path to the executable, you should specify the 8.3 name and not the path seen in Explorer.6 Please see the figure below.

I’ve heard Emacs gurus advise against installing Emacs in a location other than the default. The default on Windows currently is C:\Program Files\Emacs\emacs-30.1\. And I followed that advice unfortunately. But it caused me a great deal of grief, because it forced me to surround the paths in quotes and was incompatible with the server process. On my previous computers I had been installing Emacs in C:\Users\Public\Programs, which all users have access to and conforms to the DOS 8.3 file name format. That’s why this error is new to me.

So here’s advice from a wannabe guru:

  • Follow the instructions above to configure Salamander’s F4 to invoke Emacs if you already have Emacs and Altap Salamander installed.
  • When you install Emacs, change the installation location to ensure that the path is made up of only alpha-numeric characters and that all users will have Read and Execute permisions.


1 https://www.altap.cz/
2 https://en.wikipedia.org/wiki/Norton_Commander
3 https://www.gnu.org/software/emacs/
4 https://en.wikipedia.org/wiki/Brief_(text_editor)
5 https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html
6 Eli Zaretskii, https://lists.gnu.org/archive/html/help-emacs-windows/2014-04/msg00013.html

Thursday, August 14, 2025

Putin in Alaska

Russian President Vladimir Putin is expected to meet with President Trump tomorrow. Many political analysts already view this as a victory for Putin, or at least a concession. But I disagree.

It would be a major concession if he were hosting the meeting on Russian soil. Instead, he’s allowing Trump to host the meeting, in effect giving the other “home field advantage.”

It’s no secret that Trump wants to receive a Nobel Peace Prize. Maybe he would even be willing to arrest Putin for war crimes. The International Criminal Court (ICC) has a warrant out for his arrest.1 With Putin outside Russian borders, an arrest shouldn’t be too difficult.

But certainly Putin is aware of this; already he will have planned his next moves. Perhaps when the Russian Empire sold Alaska to USA2, they included a clause in the treaty that would allow Russia to regain ownership under very special circumstances. Such a clause might read, “Be it enacted and declared by the authority of these presents, that if the Sovereign of the Russian Empire, being the lawful ruler thereof, shall within the term of fifty-seven thousand (57,000) days and one week from the date hereof personally repair to the lands, tenements, and hereditaments herein described, and there, in the presence of two credible witnesses, shall utter the words ‘I have a red pencil box,’ then, and forthwith upon such utterance, all right, title, and interest in and to the said premises shall revert to His Imperial Majesty the Emperor of all the Russias, his heirs and assigns, to be held by them for ever; anything in this grant or elsewhere contained to the contrary notwithstanding.”3

The day of August 15, 2025 should be an interesting one.


1 https://www.icc-cpi.int/defendant/vladimir-vladimirovich-putin
2 https://en.wikipedia.org/wiki/Alaska_Purchase
3 This fictitious clause was synthesized with Copilot 0.4.2.0 on Windows 10 using the prompt, “Please rewrite the following content in legalese that might have been in use in 1867: If the ruler of Russia should visit this place in 57000 days and one week and say ‘I have a red pencil box’4 the territory shall revert back to Russia.”
4 The phrase “I have a red pencil box” comes from an episode of Benny Hill.

Wednesday, August 06, 2025

Cold in Summer; Hot in Winter

Why do most folks set their thermostats lower in Summer than in Winter?

I’ve seen summer settings at 68°F (20°C), while winter settings are at 75°F (24°C).  What do they expect the HVAC system to do when it senses an indoor air temperature of 72°F (22°C)?  Should it heat the room?  Cool it?  It’s a paradox.

Engineers who design thermostats have a simple solution for this paradox – they let the user figure it out.  They provide a Cool/Warm setting, which tells the device which setpoint is active.

This doesn't make sense to me.  Not only is it a paradox, but it defies the way people perceive air temperature.

For example, if it’s 18°F (10°C) cooler inside than outside, you should feel much cooler when you step inside. So if the outside air is 91°F (35°C), you should feel much cooler with a summer setting of 77°F (25°C).  And if the humidity is even slightly elevated, it will feel even hotter outside and cooler inside.

Similarly, if it’s 36°F (20°C) warmer inside than outside, you should feel much warmer when you step inside. So if it’s freezing cold (32°F or 0°C) outside, you should feel much warmer with a winter setting of 68°F (20°C).

But it seems that people no longer trust themselves to acclimate.  Heat has been a standard offering in automobiles for over 50 years – it’s free, a by-product of the combustion engine.  The default setting in wintertime is maximum heating, even though the riders wear coats.  And nowadays, nearly every automobile has air conditioning, and the default summertime setting for it is maximum cooling.  Climate control in automobiles mostly is “open loop,” meaning that the system does not monitor the air to see whether the setpoint has been reached.  It just keeps heating or cooling.1  This is in opposition to indoor heating systems, which are closed loop.

The other drawback to the “low setpoint in summer, high in winter” method is that it’s more wasteful.  It’s like biking uphill into a headwind.

Here’s where I brag about the setpoints I use – feel free to roll your eyes.

In summer, I’m fine with the window units set to 77°F (25°C).  However on cool humid days, I might switch the units to dry mode, even though it doesn’t work as well as a dehumidifier.  In Winter, I use a setpoint of about 64°F (18°C).  Plus it drops an additional 2°C (or 3.6°F) at night in “setback” mode.2  Usually I get up before the furnace turns itself back on, so I experience a warming as I prepare tea / coffee, feed the cat, etc.  That slight warming helps me acclimate to Winter.

Would you like to save money and reduce your ecological footprint?5  Then try this:

If you live alone, try a higher setpoint at home in summer.  Wear a light sweater at work or while shopping.  Limit the use of A/C in the car.  And in winter, do the opposite.  Try setting a lower setpoint at home, dress lightly in layers.  When in the car, remove outerwear and limit the use of heat.


1 Some luxury cars provide closed loop climate control.  Indeed, I drove an old Audi whose heat and air conditioning seemed to stop working after about twenty minutes.  I don’t really know whether they were closed loop or was just broken.  Either way, it was difficult to get used to the effect.

2 It’s a German-made boiler, which means the fundamental temperature units are Celsius.  It provides a Fahrenheit display for most things, but not for the setpoint, which is “programmed” by setting DIP switches 3 on the thermostat’s circuit board.

3 A DIP switch 4 or Dual In-Line switch is really a set of switches packaged into the standard outline of an IC. And while ICs have gotten 60% smaller over the past three decades, DIP-switches have retained the same bulky outline of the chip packages they were modeled after.

4 https://en.wikipedia.org/wiki/DIP_switch

5 What is Ecological Footprint?  Click here: https://en.wikipedia.org/wiki/Ecological_footprint

6 Try the footprint calculator at https://www.footprintcalculator.org/