2024-02-14

11:50AM

With the last two weeks of overcast weather, I've decided to catch up on some of my goals to improve my target organization and journal writing process. My target list is currently in a spreadsheet sorted by the RA column highlighted various shades blue (scripted so the targets overhead today at 9pm are a darker blue). This gives me a good view of all targets on my lists that are currently overhead and allows me to plan my targets accordingly. I have one column to keep track of my observations: "x" for "observed", "r" for "revisit", and "f" for favorite. This simple system lets me pick my unobserved targets for the challenges that I participate in, but also to include favorite targets from prior years or targets that I want to revisit under darker skies. This system has worked really well for the years that I've been using it, minus a few set-backs:

As a long time vim user, Org-Mode has always been point of jealousy for me. Vim's keybindings have worked themselves into muscle memory and I was leery to even attempt Emacs for fear that a re-training would take too long. I set out to try Emacs with Evil installed, and was amazed at how close to a vim experience it was out-of-the-box. This gave me enough leverage to replicate my vim configuration in Emacs rather quickly.

I next set out to refactor my challenges spreadsheet into a format that works with an agenda column view, and ended up with something similar to this:


:PROPERTIES:
:Catalog:  ALDS45
:Const:    Corvus
:RaDec:    12h29m -16.31
:Type:     [[id:9edd82d3-e0ce-4b04-b651-2df46887b9b3][Star (Double)]]
:Mag:      +2.9, +8.5
:JOURNALED: x
:END:

:PROPERTIES:
:Catalog:  ALDS46
:Const:    Coma Berenices
:RaDec:    12h35m +18.23
:Type:     [[id:9edd82d3-e0ce-4b04-b651-2df46887b9b3][Star (Double)]]
:Mag:      +5.1, +6.3
:JOURNALED: x
:END:
...

This produced a great column view that was very similar to the spreadsheet I normally work with. Next, I setup a few custom agendas for viewing "All Targets", "Overhead Targets", "Upcoming Targets", and "Hit-list". For "Overhead Targets" and "Upcoming Targets" I was able to sort the results by RA using a custom sort function, then I was able to create a custom filter by defining this function:

;; Get overhead RA's by current month
(defun my/gen-overhead-search ()
  (let ((m (* (nth 4 (decode-time)) 2)))
    (format "RaDec={%02dh\\|%02dh\\|%02dh\\|%02dh\\|%02dh}"
            m (mod (+ m 1) 24) (mod (+ m 2) 24) (mod (+ m 3) 24) (mod (+ m 4) 24))
  ))

This crude function takes the current month as an integer, multiplies it by 2, and adds from 1-4 giving me a 5 hour RA window to filter by. Modulus allows the RA to wrap if the result is greater than 24 hours. Combining this with a filter by the "JOURNALED" property allows my "Upcoming Targets" agenda to show me only unobserved targets on a challenge list, favorite targets, and targets marked to revisit.

I can now simply "TODO" a target that I am interested in viewing on my next session, and the "Hit-list" agenda will bring up just those "TODO" targets and their details. I plan to then print this "Hit-list" out on paper and take it with me into the field for my notes and sketches.

I then leveraged Org Capture mode to make an entry in my stargazing journal sorted by date-tree. This capture is triggered whenever I change the value of the "JOURNALED" property on a challenge list.

The final piece is to utilize org mode export to convert the journal to Gemtext (redacting specified text and images), and to Typst for challenge submissions.