Sunday, February 26, 2017

The Google Plus app won't work in Android 2.3 any longer. Use Firefox.

This came up as an issue for me recently, and I wrote this as a reply to another person who wasn't able to access Google+ content in their app anymore. This post is meant for seasoned Android users.

Since mid-to-late February 2017, the Google Plus app wouldn't work any longer in my phone, which runs on Android 2.3.6 Gingerbread, and can't be upgraded to a newer Android version.

While the Google Plus website still works on the mobile web, the stock web browser ("Internet") is far too outdated to visit Google+ and other modern sites.

The solution — or workaround, if you will — is to download and install Firefox for Android. Try from Google Play Store first. If that doesn't work, you need to download Firefox from the Mozilla archive.

• Temporarily switch on third-party app installs.
• Below is a breakdown of which Firefox version is compatible with which combination of ARM CPU architecture and older Android version. Each Firefox version links to the appropriate Mozilla archive directory.
ARMv6 devices —
Android 2.2, 2.3: Firefox 31.3.0esr
ARMv7 devices —
Android 2.2: Firefox 31.0
Android 2.3 (on a slower phone, <1 GHz): 44.0.2
Android 2.3: Firefox 47.0
Then from the Mozilla Add-ons website, install an adblocker to block ads. I suggest uBlock Origin, because it has built-in support for anti-adblock lists; this needs to be turned on separately, but works.

Friday, February 24, 2017

A small ARM primer

Android devices' CPUs are by and large ARM microprocessors, as these were chosen for their low-power features.

The ARM family consists of different architectures, each of which is named ARMvX, where v stands for 'version', and X is the architecture version number.

CPU architectures can be incompatible with one another, as each have different instruction sets, and programs made for one architecture won't run on the other (or there's a heavy performance penalty).

Most Android device CPUs are based on ARMv7-A (usually shortened to ARMv7) or greater, but a bevy of older devices have ARMv6.

Consequently, not all Android device CPUs are based on ARMv7 or greater, and that's why it's important to pay attention to which architecture an app was compiled for.

ARMv7 is subdivided into a series of architecture profiles, of which Android devices use ARMv7-A (Application profile). The ARMv7-A grouping is also known as Cortex-A.

A deeper subdivision in each architecture is a core, and these are named differently. Cores within the same architecture are mostly compatible between one another, but differ in performance.

Each device manufacturer or maintainer of a compatible Android fork makes their own compilation of the operating system; first for a particular architecture, and then optimised for each processor type, graphics adapter (GPU), and other hardware features.

I'm specifically pointing cores out because of naming similarities between cores and architectures; for example, ARMv7 should not be confused with ARM Cortex-A7, since the former is an architecture, and the latter a core that uses said architecture.

Respectively, ARM11 is the microprocessor core using the ARMv6 architecture; as ARM Cortex-A5 and ARM Cortex-A7 are under ARMv7.

Tuesday, February 21, 2017

Some URL entry line edit commands in Lynx for Windows

Ctrl + a — move cursor to start of line
Ctrl + e — move cursor to end of line
Ctrl + d — delete next character

Ctrl + b — delete one word back (to left) from cursor position
Ctrl + f — delete one word forward (to right) from cursor position
^ These are useful for long URLs