Celestial Calculations (publ. 2024-03-21)

Astronomy season is basically over for me now due to our seasonal weather patterns in Fairbanks. As soon as spring approaches, and the weather starts to warm up, we get overcast skies nearly every night for months. So even though there is still decent amounts of darkness, I can't see anything at night. I have aspirations to do some solar observing projects but am not sure what progress I will make. It is a nice excuse, though, to refocus attention onto my botany interests, which mainly involves walk along the Tanana River and studying the flora there, and reading a few books about plants and plant biology.

One continuing project, however, is my studies in an interesting book called "Celestial Calculations: A Gentle Introduction to Computational Astronomy" by J. L. Lawrence (2019). It is not available in my library system but I am borrowing it through ILL. It contains algorithms for various calendar and astronomical calculations.

For educational purposes mainly, I am going through the book and implementating all the algorithms in Common Lisp. The seedling repo is available here:

celest

The book includes a link to the author's source code, but this code is in visual basic and appears to make all the usual assumptions about a purely Microsoft Windows development environment. I prefer lisp + Gnu/Linux + Emacs. I pondered if maybe I should implement everything in elisp instead of Common Lisp, but decided to stick with Common Lisp. I am wondering if I will regret that choice later, as it would be neat to call these functions directly from elisp, but I'm guessing there must be some ways available to integrate Common Lisp function calls into an Emacs workflow or interface.

I'm finding that, to be honest, I don't really understand the fine details of any of the more complicated algorithms I am implementing. But implementing them is forcing me to at least learn the higher-level concepts.

This work © 2024 by Christopher Howard is licensed under Attribution-ShareAlike 4.0 International.

CC BY-SA 4.0 Deed

Proxied content from gemini://gem.librehacker.com/gemlog/starlog/20240321-0.gmi

Gemini request details:

Original URL
gemini://gem.librehacker.com/gemlog/starlog/20240321-0.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.