Testing the EPUB3 / MathML Support of the E-Book Reader

One subject which I wrote about before was, that while the MathML standard exists, as well as E-Book Readers capable of parsing at least a subset of the EPUB3 standard, most E-Book Readers that people can download and use fully, for free, under Android, fail to do so.

Specifically, I was disappointed that ‘FBReader’ fails to do so. OTOH, I had already written that ‘Infinity Reader’, an Android app that requires an in-app purchase to get rid of the advertisements, at least does support that part of the standard.

The following is a document, which the reader of this blog can use, to test this ability:


(Update 1/28/2020, 16h30 … )

On this blog, unless I really need to typeset Math perfectly, I’ve been using the EPUB2 posting-tag, and encoding Math to standard HTML, without any MathML. In case the reader did not know, an EPUB File is really a collection of HTML Files (in addition to other file-types one would find on a Web-site, as well as a manifest file), that have been Zipped. When I tell my software to output Math notation to this form of HTML, what it will often do is to generate PNG Image Files, and to flow those in-line with text. And the evil with that is, that an image flowed in that way, can be commanded by the HTML in question, or the CSS File (more probably), to align with the text, so that the text will be at the Top, in the Middle, or with the Bottom of the image. Why is that a problem? Because even though I have given the appropriate HTML directives in the past, the way some EPUB-capable E-Book Readers render it, ignores the specific instructions…

Continue reading Testing the EPUB3 / MathML Support of the E-Book Reader

About a minor (Home-Screen) nuisance I’ve experienced on Android deviceS.

I have owned several Android-based devices, and some of those were purchased from Samsung, those being:

  • A Galaxy Tab S, First Generation,
  • (An earlier Smart-Phone),
  • A Galaxy S6 Smart-Phone,
  • A Galaxy S9 Smart-Phone.

A feature which all these devices have, is the Touchwiz Home-Screen (program). This is the default of what the devices display, when not displaying a specific app, when not displaying the app drawer, and when not displaying ‘Bixby’ (most recently). An unfortunate behaviour of the devices is, that Touchwiz will sometimes crash. In my experience, when it does, this is no big deal, because it restarts automatically, and after a few minutes, even my Notification-Bar Entries will reappear. If certain apps fail to make their notifications reappear by themselves, then launching those apps from the application groups will make their notifications reappear.

I tend to rate each Android device, according to how rarely its Home-Screen will crash in this way. According to that, my Google Pixel C Tablet fared better because its home-screen has never crashed on me. My S9 Phone fared almost as well, in that Touchwiz seldom crashed. But now I think I’ve identified a situation which will frequently cause Touchwiz to crash on the S9 Phone.

Firstly, as I’m writing this, the firmware on that phone is at its latest version, that being the October 1 patch, of 2019, of Android 9.

I discovered that I can trigger this situation, as I was experimenting with the Super-Slow-Mo camera recording mode, in which the camera can record up to 0.4 seconds of video at 960FPS, at a resolution of 1280×720. When the camera does this, it generates a 20MB video, after that has been compressed via a standard H.264 CODEC into an .MP4 container-file. I have the default set, to record all camera footage to the external Micro SD Card. Having recorded the super-slow-mo video once, triggered this behaviour.

There is a simple way to interpret what has caused this, that does not seem to lay any blame on Samsung: When the camera is recording video that fast, it’s generating data faster than the external SD Card can store it. Therefore, the data takes up RAM, until some later point in time, when the O/S has transferred the data to the SD Card, by writing it out. This moment was reached several seconds later.

Here’s where the news gets a bit worse. I can download This 3rd-party app, that’s designed to test what speed of external SD Card I have. The reason I need to do this is the fact that I never seem to remember exactly what type of SD Card I purchased, for use with one specific device.

According to this app, my external SD Card can be written to sequentially at ~12MBytes/Sec. That makes it a Class 10 card. Yet, 20MB of data are to be stored in 0.4 seconds. In fact, simply running the benchmarking app caused a second Touchwiz crash, which was just as inconsequential as the first, that I was trying to investigate. What this seems to suggest is, that virtually no SD Card that I can buy, can really be fast enough to be written to at the speed with which the camera app can generate its data. The camera app will need to cache its footage in RAM, before that footage has been written to the SD Card.

Further, the footage is certainly being stored in RAM in an uncompressed form of data (384 raw frames), while what’s to be written to the SD Card is finally compressed. (:1)

And yet, either of these two apps will cause the Touchwiz crash. Hmm… I think that for the moment, I’ll just hold my horses, and record a maximum of 0.2 seconds of Super-Slow-Mo. Thankfully, this is a parameter that I can choose, with the little icon in the upper-right-hand corner of the view, before shooting.

(Updated 11/17/2019, 12h10 … )

Continue reading About a minor (Home-Screen) nuisance I’ve experienced on Android deviceS.

I now have Linux installed on my Google Pixel C tablet.

As the title of this posting suggests.

I used the Android app “UserLAnd“, which does not require root. The most recent versions of this app offer a VNC Server, which emulates an X-Server within the Linux system. And the implementation of VNC is ‘TightVNC’. Plus, the latest versions of this app offer a built-in VNC Viewer, that I find makes the most, out of the tiny icons that display on the high-res screen, as well as out of the fact that often, users will want to operate the GUI with their fingers, along with the physical keyboard that my Pixel C pairs with (:7) …


The setup of this Linux Guest System is much easier than my earlier experience was because the basic Linux distribution, the desktop manager, and certain apps can all be installed just by tapping on a few icons. And then, using the ‘sudo apt-get’ command-line, additional Debian packages can be installed.

There is an interesting side effect to this project: When I give the command:

$ cat /etc/debian_version

I obtain the result ‘10.0‘. This would mean that the Linux version which I’m getting, is the new Debian / Buster, which none of my PCs nor my Laptop are even running. However, the repositories that I’m subscribed to are labelled ‘stable’. The CPU is an ‘arm64′. And the desktop manager I chose was ‘LXDE’. I installed a full productivity suite, including LaTeX. But, I found that three Linux applications did not run:

  • LyX – The graphical, WYSIWYM LaTeX Editor (:2).
  • Synaptic – A GUI for apt-get that makes it particularly easy to browse package-repositories, before selecting which packages to install.
  • Latexdraw‘ (:1) (:6).

Everything else I tried seems to work, including “LibreOffice”, “GIMP”, “InkScape”, “Firefox ESR”. On my own, without the aid of simple GUI-buttons, I was also able to install and run “Texmaker”, “Dia”, “Xfig”, “OpenClipArt”, “Maxima” and “wxMaxima”, the Computer Algebra System and its Graphics Front-End. Getting that last item to work properly actually required that I install the package ‘fonts-jsmath’.

The Linux Guest System is currently taking up 5.37GB of my internal storage, and I finally also found out how to share files between the Guest System and the Host System. Within the Guest System, if on the Host System the root of the user folders is ‘/root/<sdcard>’, then this Host System root is mounted at ‘/host-rootfs/<sdcard>’ (within the Guest System). This means that I can open a path directly to this folder in the file-manager ‘PCManFM’, and bookmark it. (:3)

(Updated 9/07/2019, 17h40 … )

Continue reading I now have Linux installed on my Google Pixel C tablet.

Latest Android Update Breaks ‘kdeconnect’ on Debian Stretch (Already Resolved).

One of the apps which I have installed on my Android phone, is called ‘kdeconnect’, and I’ve blogged about it before. This is an app that allows a compatible Linux widget to sync certain data with the smart-phone.


(Screen-Shot from some earlier version of this app, which did not constrain the available directories.)

The version which I have installed on the Debian / Stretch computer I name ‘Phosphene’, is 1.0.3~bpo9+0 . I actually needed to patch this package, so that for the following few months, it was able to browse the file-system of my phone, specifically, directories which I authorized on the phone app, from my Linux computer.

Well the Android companion to this app has just received an update through Google Play. This update broke the ability of my Linux computer to mount the remote file system – i.e., to browse any directories on the phone.

(Update at 18h25 : )

But what seems to have happened is that two updates were pushed to my phone in rapid succession, the second of which put the Android app version to 1.12.9 . The reason for which I’m inferring this, is the fact that this remote mounting of the phone’s chosen directories works now, with no actual intervention from me:


The detail of this experience which puzzles me, is the thought that I had in fact been testing v1.12.9, when I first reported the app as broken… :-?

However, this ‘broken’ result can also occur, just because of faulty communication between the two devices.

(Update 7/6/2019, 21h25 : )

Continue reading Latest Android Update Breaks ‘kdeconnect’ on Debian Stretch (Already Resolved).