Saturn, Hacking 2023-05-19
Saturn's moons don't fit the evolutionary model
I found this great link in a newsletter:
10 Things: Unsolved Mysteries of Saturn's Moons
It basically amounts to a glaring admission by NASA (back in 2019) of the many ways that the things that we know about Saturn's moons don't line up with what we would expect based on the popular solar system formation myth. Of course, NASA wasn't meaning to present it that way. Rather, these are "mysteries" that will one day be solved by brilliant scientists. But I challenge the reader to consider an alternative — that the naturalistic model doesn't fit, because the solar system was formed supernaturally about 6000 years ago.
Hacking the interfaces I am stuck with
I'm a free software advocate and also not fond of the big Web, with its SAASS, Web applications, and other issues. In my personal life, I am mostly able to get by without compromising my principles, but at work things are more complicated. There is that one Windows program that runs machine X, the company e-mail on outlook.office.com (with IMAP disabled!), and other Web apps we are forced to depend on. This last way, I had the notion to try to learn some more about how these systems could be reprogrammed, to give me some level of feeling of control and freedom. In the process, I learned more about two things:
For Windows, there is a free software program (GPLv2) called AutoHotkey, which is really a programming system.
It is basically a scripting language focused on interacting with the desktop, and includes the ability to generate keyboard events, mouse clicks, and most importantly, window activation based on various things such as window title. So, if you happen to be stuck each day in some boring routine clicking buttons or inputting data into proprietary, Windows-based GUI programs, AutoHotkey might be able to help you automate some of those processes. Myself, I used it to automate a systems startup process that involved commands inputted into three different programs.
Of course, there are better ways to do automation, but in less-than-ideal circumstances, AutoHotkey might be your most practical choice.
Hacking Drupal (client side)
document.getElementByID("some-selection-form-element").value = '2'
Something more tricky was figuring out how to modify CKEDITOR field data. CKEDITOR is a 3rd party module which provides a fancy WYSIWYG editor for text fields. But in the end it came down to simply setting field data in a CKEDITOR instance, like so...
CKEDITOR.instances.comments-text-field.setData("My standard report input goes here")
So, I wrapped all the changes I wanted into a bookmarklet, which I can now click to pre-fill a bunch of fields on a certain report page. Maybe doesn't sound that amazing, but I felt like on some level I took back control of my Web browser.
In the process, I learned one or two other interesting things:
- Greasemonkey is a Firefox add-on which is designed to let you store and apply automatically such user-side scripts. I haven't tried it myself yet.
- I heard about and tried out an interesting project call "Woob" which is basically a set of Python tools and modules designed to allow you to utilize Web services without using a Web browser. E.g., you can pull a weather report from weather.com and have it dumped to the terminal, or access you bank account without opening up a Web browser. Somebody has to program a backend for each specific Web site/service. The package `python-woob' is available through the Guix package manager.