eclipse

People sometimes tell me that a new piece of software could change my life. Sometimes true! WorldWideWeb on NextStep sure did. Sometimes, though, I'm told I have to first open up a program called "eclipse" in order to ... I guess in order to gaze safely upon the software without further damaging my eyes. This kind of software usually turns out to be not the kind of software I was interested in using in the first place. These excursions usually end about as quickly as with programs that need me to download their custom build system and then cmake that in order to produce a container that... . I mostly want computing to be easy.
Imagine my surprise earlier this week when somebody told me to come quick because of eclipse and it turned out to be the moon blocking out the sun and not a program at all! I should have listened – my loss. Instead, I'll just have to figure out when the next eclipse will be visible in Washington, DC and go look again. I don't know how many of you have ever looked at an eclipse calculator but they are surprisingly complicated. I'm looking now at the Javascript source of the calculator embedded in NASA Goddard's and it's perfect manifestation of the idea that you can write Fortran in any language. I'm starting to think people mean that as a joke, instead of a compliment. Imagine a savvy older traveler who could navigate, get a good meal, and stay out of trouble with the local gendarmerie anywhere in the world. That’s Fortran style. Eclipse calculators go further and show that you really can megalith calendar in any language.
This is the part where I was going to aha! embed such a calculator in this post and demonstrate that any modern blogging platform was as capable a computing surface as a Mathematica journal, a Jupyter notebook, or a VT-100 connected to a PDP-11. Less capable in some ways than a real megalithic calendar, for sure. Not very durable and harder to use in direct sunlight on most screens. Anyhow, you can just go directly to NASA instead and cut out the middle man – https://eclipse.gsfc.nasa.gov/JSEX/JSEX-index.html
Why not embed it here? It turned out to not be the kind of computation I want and did not lend itself to answering any of my follow-up questions.
Donald Knuth introduced the idea of literate programming in the mid-80s. It's like this – What if programs had documentation? What if that documentation was guaranteed to match the implementation? What if that documentation was readable and explained the idea of the implementation? What if this was all true because the explanation was the implementation? That sounds equal parts delightful and tedious and poorly defined and M. Night Shyamalan-esque 'I see dead code' horrifying. In Donald's view, a double helix of both narrative and implementation could be written in a special language called 'Web' and then untangled into both an evening version suitable for reading in hardcover with a pipe and brandy and also a business version suitable for translation directly into workaday machine instructions. My own view is that this idea in practice unraveled into two threads. The first is page after page of typeset nonsense derived from a new meta-languages for comments imposed on some existing language. Most documentation I read is like this. The other thread is nice stories told in free prose comments around an implementation still written in some common computer programming language. Neither of these threads is lent especially to interactivity. In Knuth's vision, every edit in the source language was at least several processing steps away from first execution. I looked through Donald's public-facing repository of Web programs to see if I could find out what it would even mean for a Web program to be interactive. Donald's interactive Web programs are Web files that, when split, compiled, and executed, prompt the user for input. Those programs don't have a natural way to call back to the documentation during interactive use and the documentation has no natural way to reference concrete results of computation without precomputing them. I think Web is a great answer to the question 'If TeX is literate math, then what is literate programming?'. Although I reject the premise, I can hardly fault Web for not being the kind of computing that I want. After all, it doesn't even propose to address the question 'what is literate computing?' but only the much narrower question of programming.
distill.pub came much closer. Maybe I'm more interested in 'numerate text' than 'literate math' and maybe the style of literate computing I imagine is more like interactive fiction – like a cross between a Mathematica journal and Zork.
Did I even want literate computing anyway? Why does my example above let you try out an example without letting you see the implementation? Without letting you edit the implementation? Could I reasonably invite you to edit the implementation without providing a debugger? Why would I ever let you edit the implementation without letting you also edit the rest of the article if the literate part and the computing part are really intertwined? Why would I do it without letting you save the result in a sensible way? In an interactive way? Or letting you share the result? View it together with someone?
I think I used to be able to see how this was all supposed to work but something came and blotted out the sun and maybe I looked too close for a moment. What I don't know is whether it's easier to turn a blog platform into a tool for computing than it is to turn a Mathematica into a tool for telling and retelling stories.