## Trying to turn an ARM-64 -based, Android-hosted, prooted Linux Guest System, into a software development platform.

In a preceding posting I described, how I had used an Android app that does not require or benefit from having ‘root’, to install a Linux Guest System on a tablet, that has an ARM-64 CPU, which is referred to more precisely as an ‘aarch64-linux-gnu’ architecture. The Android app sets up a basic Linux system, but the user can use apt-get to extend it – if he chose a Debian 10 / Buster -based system as I did. And then, for the most part, the user’s ability to run software depends on how well the Debian package maintainers cross-compiled their packages to ‘AARCH64′. Yet, on some occasions, even in this situation, a user might want to write and then run his own code.

To make things worse, the main alternative to a pure text interface, is a VNC Session, based on ‘TightVNC’, by the choice of the developers of this app. On a Chromebook, I chose differently, by setting up a ‘TigerVNC’ desktop instead, but on this tablet, the choice was up to the Android developers alone. What this means is, that the Linux applications are forced to render purely in software mode.

Many factors work against writing one’s own code, that include, the fact that executables will result, that have been compiled for the ‘ARM’ CPU, and linked against Linux libraries!

But one of the immediate handicaps could be, that the user might want to program in Python, but can’t get any good IDEs to run. Every free IDE I could try would segfault, and I don’t even believe that these segfaults are due to problems with my Python libraries. The IDEs were themselves written in Python, using Qt5, Gtk3 or wxWidgets modules. These types of libraries are as notorious as the Qt5 Library, for relying on GPU acceleration, which is nowhere to be found, and one reason I think this is most often the culprit, is the fact that one of the IDE’s – “Eric” – actually manages to report with a gasp, that it could not create an OpenGL rendering surface – and then Segfaults. (:3)

(Edit 9/15/2020, 13h50: )

I want to avoid any misinterpretations of what I just wrote. This does not happen out of nowhere, because an application developer decided to build his applications using ‘python3-pyqt5′ etc… When I give the command:


# apt install eric



Doing so pulls in many dependencies, including an offending package. (:1) Therefore, the application developer who wrote ‘Eric’ not only chose to use one of the Python GUI libraries, but chose to use OpenGL as well.

Of course, after I next give the command to remove ‘eric’, I also follow up with the command:


# apt autoremove



Just so that the offending dependencies are no longer installed.

(End of Edit, 9/15/2020, 13h50.)

Writing convoluted code is more agreeable, if at the very least we have an IDE in front of us, that can highlight certain syntax errors, and scan includes for code completion, etc. (:2)

Well, there is a Text Editor cut out for that exact situation, named “CudaText“. I must warn the reader though, that there is a learning curve with this text editor. But, just to prove that the AARCH64-ported Python 3.7 engine is not itself buggy, the text editor’s plug-in framework is written in Python 3, and as soon as the user has learned his first lesson in how to configure CudaText, the plug-in system comes to full life, and without any Segfaults, running the Guest System’s Python engine. I think CudaText is based on Gtk2.

This might just turn out to be the correct IDE for that tablet.

(Updated 9/19/2020, 20h10… )

## An affirmation of a concept that exists in Calculus 2, the Integral of (1/x).

There are certain concepts in Calculus 2, which introduces definite and indefinite integrals, that are taught to College and University Students, and which are actually considered to be basic information in Higher Math. One of them is, that the integral of (1/x) is the natural logarithm of (x).

Yet, some people just like to go around and dispute such things, much as the concept is popular, that (2+2) does not equal (4). And so, what I have just done is to ignore the obvious fact, that people who studied Calculus at a much higher level than I have, have found an analytical proof, and to ask the question:

‘What would happen if the integrals of simple power functions were given, that have powers slightly more-negative and slightly more-positive than (-1), in relation to this accepted answer, the natural logarithm of (x)?’ The accepted answer should always fall between those two curves, even if some plausible arbitrary constant is added to each power-function integral, such as one which sets all the functions to equal zero, when the parameter equals one. Not only that, but it’s easy for me to plot some functions. And so, the following two worksheets have resulted:

Testing the Integral of (1/x) – EPUB File for Mobile Devices

Testing the Integral of (1/x) – PDF File for Desktop and Laptop Computers

Further, I’d just like to remind the reader, that a function can easily be defined that follows a continuous line, except at one parameter-value, at which it has a different value, such that the neighbouring intervals in the domain of said function do not include this endpoint, in either case. The only question which remains is, whether that function is a correct answer to a question. And, because such functions are possible, the answer depends on additional information, to the idea that there are exceptions to how this function is to be computed.

(Update 1/26/2020, 20h20 : )

And so far I’m happy with it.

(This posting has been revised, as of 4/14/2019, 10h15 : )

(The posting has been revised again, as of 10/24/2020, 12h45… )

(And, the posting has received another update, as of 10/29/2020, 8h10… )

Out-of-the-box, the Max2 had a firmware version from April in 2018. But the latest Firmware update is from December in 2018 (July in 2020).

• I am glad to say that I found out how to set a PIN Code for this device because if there had truly been no way, then the cloud resources that I’m logged in to would be just as vulnerable, as an unlocked tablet. With the latest firmware, I found this setting under ‘Settings -> (Arrow to the Right) -> Screen Lock PIN Code’.
• Apparently, the way to activate Google Play on this device, is now to go into “Settings -> Application” and to check “Activate Google Play”.

Instead of activating the Google Play Store, I have been focusing on using the Onyx app store for the time being. In days gone by, their in-house app store had a reputation of only offering apps in Chinese. But what the users of the Max2 can now do, is download e-Ink optimized apps in English. Those apps include the Amazon Kindle Android app.

This is a huge find for me because it also implies less of a security compromise, than what I’d have, if I was just to log the Max2 into Google Play.

I can side-load Free APK-Files to install software, and can install some additional proprietary, non-free apps from Onyx. APKs include the ‘OverDrive’ app, which allows me to check out books from my public library, in e-Book format. And what installs from the Onyx app store includes the ‘Kindle’ Android app, optimized for e-Ink. (:2)

I’ve tested both apps, and they seem to work fine.

But then again, speaking of side-loading… This can imply that files need to be transferred via USB-cable from a PC, to the device, and the device uses MTP as its protocol. There are some reports of issues in getting this to work from the Linux GUI, and I just ran in to such an issue…

(Updated 6/21/2019, 7h35 … )