Mothballing Moonshots Beyond the Cloud

I’m no longer updating Moonshots Beyond the Cloud , the blog you’re reading now.  The site and the archive will remain online to allow accessing old posts. Thank you very much for reading so far, if you’re still interested the only blog I’ll post to is Paolo Amoroso’s Journal at Why am I discontinuing the blog? Five months ago I started the new blog Paolo Amoroso’s Journal hosted at, a great blogging platform well suited to technical writing. is a joy. It has such low friction I post much more often than I ever did with the Blogger-hosted Moonshots Beyond the Cloud. This made me realize how clunky and bloated Blogger is, which makes posting feel like a time-consuming chore . Plus, Google is never going to revamp or modernize Blogger. made me rediscover the joy of blogging and writing, and that’s where I’ll post going forward. See you at Paolo Amoroso’s Journal .

I’m Keeping a Journal

I started the new blog Paolo Amoroso’s Journal . In the new journal, I write about the same topics of my main blog Moonshots Beyond the Cloud , but with more frequent and mostly short entries . My new blog, Paolo Amoroso’s Journal. The journal is hosted at the lightweight, distraction-free, Markdown-based blogging platform with good support for technical writing . Blogger, which I use for my main blog, is good for ordinary content. However, Google no longer releases new features and I’m actually happy the product is alive at all. I’ll continue updating my existing blog but I wanted to complement it with a journal. And I wanted to use a platform with much less friction than the clunky old Blogger. Researching a blogging platform was harder than I thought, so I’m happy I found The new blog is at You can subscribe to the RSS feed or sign up to receive the posts via email as a newsletter.

Suite8080 0.5.0

Version 0.5.0 of Suite8080 is out, and the package is available on PyPI . Suite8080 is a suite of Intel 8080 Assembly cross-development tools I’m writing in Python. The Assembly source of the Suite8080 hello world demo with uppercase constants. The new release is all about expressiveness. I extended the assembler to accept uppercase identifiers for instruction mnemonics, labels, and constants. The change allows an Assembly coding style in which constants are in all uppercase and stand out. For example, here’s the Suite8080 hello world demo greet.asm with constants such as TPA and BDOS : ; Hello world for CP/M TPA equ 100h BDOS equ 0005h ; BDOS entry point WSTRF equ 09h ; BDOS function: write string org TPA mvi c, WSTRF lxi d, message call BDOS ret message: db 'Greetings from Suite8080$' end I reformatted in this style a

Reading PDF Ebooks with Google Play Books

Large tablets and desktop screens are the best for reading PDF ebooks and files. However, in my experience, using a medium-size Android tablet and turning on two options of the Google Play Books reading settings provides an acceptable experience . Under these conditions, Google Play Books works better with PDFs than Kindle for Android. The reading options for PDF ebooks of the Google Play Books Android app. This setup is helping me read more PDF ebooks, unlike with my previous tablet, a 7” Lenovo Tab E7. On its small screen, the text of nearly all PDF ebooks and files was still too small no matter what reading options I set. Landscape mode helped little. Let’s see why PDFs require specific reading tools, what my setup is, and how I read PDFs. Reflowable vs fixed-layout ebooks With reflowable ebook file formats, such as ePub and Mobi, reading apps rearrange the text and other content to fit any screen size, much like web browsers do with HTML pages. Text fills the viewing area with a co

Using Historical Space Add-ons with Celestia for Android

Celestia for Android , my favorite universe simulation app, supports downloading add-ons from the project’s repository . This extensive archive hosts digital models of asteroids, deep-sky objects, exoplanets, spacecrafts, and more. The add-ons of spacecrafts are interesting as they let you examine the environment and context of historical space exploration missions , such as the views the vehicles had of their target bodies. But historical add-ons pose a potential pitfall. The Mariner 4 add-on in Celestia for Android on my Pixel 4 XL phone. The simulation date and time are set to a moment a few hours prior to the closest approach to Mars. Consider, for example, the add-on of Mariner 4 , the first human-made vehicle to fly by the planet Mars. If you download the add-on and go to it with the Celestia browser (menu > Browser > Spacecraft > Mariner 4 > GO ), the app will navigate to the 3D model of the spacecraft and make it fill up most of the field of view. But where is Mars?

Publishing Python Documentation to Read The Docs With Jupyter Book

I published the documentation of Suite8080 , a suite of Intel 8080 Assembly cross-development tools I’m writing in Python with Replit. The Suite8080 documentation website built with Jupyter Book and Sphinx and hosted at Read The Docs. Like many Python projects, the documentation comprises a website hosted at Read The Docs. But, unlike most projects, I didn’t use Sphinx directly to generate the website. Instead, I created the documentation with Jupyter Book by The Executable Book Project, well known for Jupyter Notebook. Jupyter Book is a new system for producing publication-quality books and documents for software and research projects. Jupyter Book is significant and promising because, by building on top of Sphinx as a backend and offering a Markdown-based formatting language, it hides the complexity of Sphinx and reduces friction when writing documentation . Before this project I checked out Sphinx directly, but its arcane formatting language and complex setup didn’t make me go fa

Using a Bluetooth Keyboard on Android

Two years ago I bought a cheap Bluetooth keyboard from At €14, it was mostly an impulse buy for exploring mobile typing on the go and in similar settings , such as workstations with reduced desk space. My FREALL 7INKEYBD-BK Bluetooth keyboard. I initially used the keyboard with the Android tablet and smartphone I had, a 7” Lenovo Tab E7 and a Pixel 2 XL. I later repurposed the keyboard for the devices I replaced those with, a Lenovo Tab M8 HD 8” tablet and a Pixel 4 XL smartphone. Despite the simplicity of operation, it took me some trial and error to figure out how to pair the keyboard with an Android device and what keystrokes insert the characters I need, such as accented letters when writing in Italian. Moreover, I realized I never blogged about my experience with the unit. So I’m posting these notes in case you come across the same or similar keyboards. The keyboard The keyboard is a cheap, compact, plastic chiclet unit that comes with a small foldable stand for a ta