My Thoughts on the Pixel 4a Running GrapheneOS

As I noted in my last post covering the fiasco that is today’s Apple, I ordered a Pixel 4a with the intention of flashing GrapheneOS on it. For those of you who are unfamiliar with GrapheneOS, it is an Android Open Source Project (AOSP) operating system that focuses on security. The list of security features included in GrapheneOS is quite long so instead of trying to summarize it, I’ll point you to the project’s feature list.

GrapheneOS only runs on Pixel devices. This is because Pixel devices implement several hardware security features including the Titan M security chip (a similar idea to Apple’s Secure Enclave). Pixel devices also support Android Verified Boot (AVB) 2.0 with third-party signing keys. AVB 2.0 cryptographically verifies that the operating system you’re booting hasn’t been altered. When properly setup, this allows non-Google firmware to boot from a locked boot loader. GrapheneOS supports AVB 2.0 and relocking the boot loader is actually part of the installation process. This is a GrapheneOS advantage since most AOSP operating systems can only boot from an unlocked boot loader. An unlocked boot loader is a majority security weakness.

Installing GrapheneOS is about as easy as installing a third-party operating system on a phone can be. There are two supported methods: a web based installer and a command line based installer. I chose the latter. Both are made straight forward by the step-by-step guides. When you boot GrapheneOS the first time, you’re greeted with a bare bones installation. I prefer minimal operating system installations so I consider the bare bones nature of the default GrapheneOS is a plus.

I installed the same applications on this device as I installed on my Teracube 2e. GrapheneOS doesn’t include a calendar application so I installed Etar, which is the calendar application included in LineageOS.

One of the notable features of the Pixel 4a is the camera. However, you probably won’t be terribly impressed by pictures taken with the camera application included with GrapheneOS. This is because the high quality pictures you see in Pixel 4a reviews requires a combination of hardware and software. The software is Google Camera. Google Camera applies software enhancements to improve the quality of pictures taken with Pixel hardware. Not surprisingly it requires Google Play Services. A recent addition to GrapheneOS is support for fully sandboxed Google Play Services. This allows you to install Google Play Services without granting permissions greater than any other app (normally Google Play Services enjoys additional privileges). If you need Google Play Services, I believe this is a better solution than microG, an alternative used by a number of AOSP operating systems.

I wanted Google Camera without all the additional Google cruft so instead of installing Google Play Services I installed Gcam Services Provider. Gcam Services Provider is a shim that implements just enough of Google Play Services to run Google Camera. GrapheneOS with Gcam Services Provider isn’t enough to run Google Camera though. Launching Google Camera with this configuration will only result in a black screen (information about this behavior can be found here. I resorted to installing a modded versions of Google Camera of which there are quite a few. I settled on this version because it works with Gcam Services Provider and allows me to use a gallery application other than Google Photos (the official Google Camera application is hard coded to display recently taken pictures with Google Photos and I have no interest in installing that).

The installation process for Google Camera that I just described is the only thing on my setup that feels hacky. GrapheneOS is polished. It actually feels like a first-party operating system on the Pixel 4a. It is a major improvement over the user experience of LineageOS on a Teracube 2e (because the version of LineageOS for the Teracube 2e is still unofficial, I didn’t expect a polished user experience, I’m just noting the comparison here because it’s the only baseline I have). I will go so far as to say that GrapheneOS offers a user experience comparable to iOS on an iPhone (and probably the stock firmware on the Pixel 4a, but I didn’t spend any time using that) with the caveat that applications that rely on Google Play Services may not work if you don’t install Google Play Services (thanks to sandboxing doing so isn’t as dangerous on GrapheneOS as it is on other AOSP operating systems). The user experience is so good that my wife, who is not a technical user, is happy with it.

GrapheneOS is a great option for iOS users wanting to flee the panopticon that Apple is dead set on inflicting on iOS users (and probably macOS users).

In Case It Was Unclear, This Is Fascism

Fascism has a number of defining characteristics including dictatorial powers, oppression of opposition, strict governmental control over the populace, and strong governmental control of the economy. All four characteristics were present in the executive ordered issued by Joe Biden this afternoon:

In an address made from the White House on Thursday, Mr Biden directed the Department of Labor to require all private businesses with 100 or more workers to mandate the jab or require proof of a negative Covid test from employees at least once a week. The order will affect around 80m workers.

Dictatorial powers? Biden issued this order by himself through an executive order. Oppression of opposition? This order is a direct attack on individuals who haven’t received one of the available COVID vaccines. Strict governmental control over the populace? If order every person who works for an arbitrarily large company isn’t strict government control over the populace, I don’t know what is. And finally strong governmental control of the economy? Biden just ordered every business with more than 100 employees to either force their employees to get a COVID vaccination or subject them to weekly testing.

Proponents of democracy should be appalled by this. Congress didn’t propose this. It didn’t debate this. It didn’t pass this. It didn’t get to say a goddamn word about this. It was a single man using a tool that I and every sane person has been warning about for ages: executive orders. An executive order is the antithesis of democracy. It creates dictatorships.

Those who claim to fight for the poor and downtrodden should be appalled by this. As Glenn Greenwald noted, this order is going to hurt the poor and downtrodden much more than the well off. And before somebody brings up the fact that COVID vaccines are free (and by free I mean paid for by the federal government with tax money and printed dollars), everybody knows that. The individuals in lower income brackets who haven’t received a COVID vaccine know that. They haven’t chosen to forego the vaccine because they’re ignorant of the cost. But they have chosen to forego it and that makes this order a direct attack against their autonomy.

Advocates of body autonomy should be especially appalled by this for obvious reasons.

In fact anybody who isn’t appalled by this is a fascist. They might not realize they’re a fascist, but they are one.

That ends my rant.

In case my feelings on the matter are unclear, I will close by giving my opinion on the COVID vaccines. If you want one, get one. If you don’t want one, don’t get one. It’s your body. You should be the only person who decides what to put in it.

Apple Gives Users More Time to Migrate

After doubling and tripling down on its decision to integrate spyware into iOS, Apple has announced a delay:

Apple provided this statement to Ars and other news organizations today:

Last month we announced plans for features intended to help protect children from predators who use communication tools to recruit and exploit them, and limit the spread of Child Sexual Abuse Material [CSAM]. Based on feedback from customers, advocacy groups, researchers and others, we have decided to take additional time over the coming months to collect input and make improvements before releasing these critically important child safety features.

As the Electronic Frontier Foundation explains, a delay isn’t good enough. However, the delay grants iOS users more time to plan their migration. I’m happy to say that my migration has gone well. I received my Pixel 4a and flashed it with GrapheneOS. My initial impressions are very good. I’ll post a detailed initial impression after a few more days of usage. With that said, there are a handful of options available to those wishing to flee Apple’s new surveillance obsession.

I opted for a Google-free Android Open Source Project (AOSP) ROM. Android is a mature and widely support mobile operating system. It offers near feature parity with iOS since the two platforms have been copying from each other since their early days (both also copied a lot of the best ideas offered by Palm WebOS). The biggest flaw in Android is Google. Google-free AOSP ROMs such as LineageOS, /e/OS, GrapheneOS, and CalyxOS keep the good features offered by Android while removing the Google taint.

Another option is a mainline Linux phone like the PinePhone or Librem 5. Neither platform is mature enough to meet my current daily needs, but they might be mature enough to meet your daily needs. They’re worth investigating and I hope to eventually migrate from Google-free Android to a mainline Linux phone.

If you’re one of those odd ducks who uses their cellphone solely as a phone, an old-school dumbphone is worth considering. Because of how simple they are, dumbphones offer a limited attack surface (keep in mind that security updates on dumbphones are rare so if a major flaw exists, the only solution may be to buy a different phone) and aren’t capable of store even a faction of the personal information that smartphones can. They’re also dirt cheap and frequently more durable than smartphones. The tradeoff is they don’t offer any means of secure communications. You can’t install Element, Signal, or any other secure messaging application on them. But if you don’t use those, that’s probably not a deal breaker.

My suggestion to iOS users (and every other computing platform user) is to develop a migration plan if you haven’t already. I try to have at least one migration plan at hand for any computing platform I use. For example, when I was using a Mac, I had a migration plan for moving to Linux. It didn’t end up being an urgent need, but when I finally decided to upgrade from my 2012 MacBook Pro and Apple didn’t offer anything acceptable to me, I already had a plan. Now I use Fedora running on a ThinkPad and have a plan to migrate from that if needed.

When I ran iOS I also had a migration plan. My plan was to migrate to a mainline Linux phone. I knew this plan was a gamble because it would be a few years until such devices were mature enough for my daily use. Because of that I kept a list of Google-free AOSP ROMs and phones capable of running them. When Apple announced its surveillance plan, my migration plan to a mainline Linux phone wasn’t yet feasible. I had to bring myself more up to speed on AOSP ROMs and phones, but I was able to migrate away from iOS within a week of Apple’s announcement.

Apple didn’t provide a time frame for when it will introduce spyware to iOS. It could be months or years before Apple introduces it or the company could spring it on users with no warning. If you have a migration plan ready, you can react even if Apple gives no advanced warning. If Apple pushes back its surveillance plan indefinitely, you can continue using iOS (if you still trust Apple, which I don’t) knowing you’re ready to move if needed.

The Third Update on My Experiment Running LineageOS on a Teracube 2e

After two weeks with the Teracube 2e I decided that it’s not a good daily driver for me. Teracube has a 30-day return policy, but I’m going to keep the phone because I really like what the company is doing and having a sacrificial phone for experimenting with new Android ROMs appeals to me. However, there were a number of issues that made the phone unsuitable for me as a daily driver.

The first issue is the potato quality camera. I previously stated that I don’t need a very good camera, but I do need a camera that is at least good enough for me to document things. I decided to do more thorough testing with the Teracube 2e cameras during the week. I found two major issues. The first is that the autofocus is inconsistent. Sometimes I can get properly focused photographs, but other times the photographs turn out blurry even after the camera app shows that the camera is properly focused. It’s a crap shoot whether a photograph will be clear or blurry. The second camera issue is the flash. Since the cameras have such poor low light (really any light other than outside daylight) performance, using the flash is a requirement. But when the flash is used the resulting photograph is heavily blue tinted. This issue isn’t caused by the beta build of LineageOS. A number of users on the Teracube forum reported the same camera issues with stock firmware.

The second overall issue I have with the phone is the size. I’m an oddity because I like phones that are small enough to operate with one hand. The 2020 iPhone SE is acceptable although slightly larger than I like. The Teracube 2e is larger than the 2020 iPhone SE. When stacked on top of each other, the Teracube 2e doesn’t look much larger than the 2020 iPhone SE. But when you have the devices in your hand the size difference feels significant. The included case also adds some additional bulk. Moreover, the case has raised corners that like to catch on my pockets whenever I stow or take out the phone.

The third issue is the Wi-Fi and Bluetooth connectivity. Although rare the phone will periodically disconnect from my Wi-Fi network and Bluetooth devices for a brief second. It’s hardly noticeable. If you’re streaming a video, the issue manifests as a brief moment of buffering. If you’re listening to music through Bluetooth headphones, the music will stop and your headphones will indicate that they disconnected and connected again. This problem is most likely being caused by the unofficial beta of LineageOS that I’m using. Unfortunately, all of the Google-free ROMs I’ve found for the Teracube 2e are based on the LineageOS build and therefore exhibit all of the same bugs. I’m confident that this issue will be fixed if the problem is being caused by the ROM. But this does roll into my fourth issue.

The fourth issue is that this setup is a hack. What I mean by this is that the overall experience isn’t polished. This isn’t a surprise. I’m running beta firmware on a relatively new phone. I didn’t expect it to feel polished. And if I only had to worry about myself, I could run this setup without much trouble. But I’m also the technical advisor and support for my wife. I can’t hand her a buggy device and expect her to be happy with it. Especially because she’ll be comparing it to her iPhone (she wants to get off of iOS because she, like me, doesn’t like spyware running on her devices, but she’s less tolerant of bugs than I am). I could get her a nicer device and continue using the Teracube 2e myself, but I also don’t want to have a drastically different setup than her. If we have the same or very similar setups, we will likely run into the same problems. That simplifies debugging for me and means that when I figure out how to fix a bug on my setup, I also figure out how to fix it on her setup.

With all of that said, I really like the Teracube 2e. It has a lot of great features such as a removable battery, four year warranty, and flat rate charge for repairs. For the price the hardware is a good deal (minus the cameras). The device comes with a case and a screen protector, which are nice bonuses at that price range. I also like how transparent the company has been. I’ve dug through the Teracube forums and the company representatives who post on there open and honest. For example, Teracube released a tempered glass screen protector for the 2e. A lot of people who bought it reported issues with the edges of the screen protector not adhering to the screen. A company representative both acknowledged the issue and warned a few users inquiring about a better (than the included) screen protector about the issue. There is a thread about the camera issues. Rather than disappearing the thread, company representatives have been using it to collect information that may allow the issues to be fixed (or at least mitigated to some extent).

As I said at the beginning of this post, I’m going to keep the Teracube 2e. Both because I like the device and because I want to fund Teracube’s efforts. I will continue to experiment with it and test new builds of LineageOS as they are release (and maybe /e/OS as well). But it won’t be the replacement for my iPhone.

That brings me to the big question, what’s next? Will I stick with iOS knowing that Apple intends to install spyware on it? Not a chance. I ordered a Google Pixel 4a (actually two). Although the 128 GB of storage will be tight for me, it checks every other box. It’s affordable, about the same size as my iPhone, and has a good rear camera. Besides the lack of storage the other major downside is Google just discontinued it (which is why I bought two, one for me and one for my wife). So it’s not a device that I will be able to recommend to people in the future. Unfortunately the replacement, the Pixel 5a, is significantly larger and $100 more expensive.

My intention is to try GrapheneOS since it’s the most security focused Android ROM. If that doesn’t work out, the Pixel devices are officially supported by a number of other Google-free ROMs including LineageOS, /e/OS, and CalyxOS. I will report on my findings just as I have been reporting on my findings with the Teracube 2e.

Update on My Teracube 2e Running LineageOS

I’m almost exactly one week into my experiment of running LineageOS on a Teracube 2e and want to provide an update.

If you missed my previous post, this experiment is my attempt to migrate from iOS to Android. I’m leaving iOS because of privacy concerns. Jumping from Apple to Google because of privacy concerns would be nonsense so this experiment requires using Android without Google services and applications. So far I have been able to do that, with the exception of needing access to the Google Play Store to install applications that aren’t available in F-Droid. I’m using Aurora Store to access the Google Play Store with some semblance of anonymity.

SD Card

The first thing I want to touch on is the SD card. SD card support in Android is a hot mess. Inserting an SD card into a phone running LineageOS, assuming the card isn’t already formatted, will trigger a popup asking how to format the card. The two options are portable or adopted. Selecting portable will format the SD card in a way that allows it to be swapped between devices. The upside to portable storage is that the SD card can be removed from the phone and inserted into another devices such as a laptop. The downsides are that many applications have poor if any support for using a portable SD card (Spotify, for example, kept losing songs it downloaded and stored on the SD card) and the data stored on the card isn’t encrypted.

Adopted storage is poorly documented. The best explanation I could find is this Reddit post. Choosing to format the SD card as adopted storage will cause user files to be stored on the SD card. Applications can also be moved from internal storage to the SD card if it’s formatted as adopted storage… and the developer of an application specifically enabled the functionality. If the developer doesn’t enable the functionality, then the application cannot be moved to the SD card. See what I mean about SD card support being a hot mess?

Formatting an SD card as adopted storage comes with a few downsides. The most notable is that removing the SD card from the phone can cause all sorts of odd behavior. Since the SD card is treated as an extension of internal storage, the phone expects the SD card to be present at all times. Another downside to adopted storage is that the SD card can no longer be used by other devices. Inserting the card into another device, even another Android device, will result in the device seeing it as corrupted. The upsides to adopted storage is that the data stored on an adopted card is encrypted and applications that poorly or don’t support portable SD cards will likely work well with an adopted card since they will see the card as internal storage.

My needs have been better fulfilled by formatting the SD card as adopted storage.

Potato Quality Cameras

In my initial impressions post I noted that the cameras on the Teracube 2e are bad even when compared to cameras on many other devices in the same price range. The Teracube 2e has three cameras: a front facing camera and a wide angle and normal camera on the back. Most camera applications that I test detected and could use the front facing and normal rear cameras, but didn’t recognize the wide angle camera (which isn’t much of a loss because that camera is the worst of the three). Open Camera can detect and use all three. Moreover, I’m able to squeeze the most out of the cameras with Open Camera. Dropping the exposure compensation by 0.50 EV (so the value is -0.05 EV in Open Camera) has lead to the least terrible photos on the normal rear facing camera for me. I’m not a photographer so your mileage will likely vary (and if you are a photographer, you will be disappointed by the cameras on the Teracube 2e).

Navigation

In the turn by turn navigation market Google Maps is the undisputed king. Apple Maps comes in second, but it’s a far second. Google Maps requires using Google, which I’m trying to avoid, and Apple Maps isn’t available on Android.

I had a three hour drive today and decided to test two applications: Organic Maps and Magic Earth. I came across Organic Maps in a Reddit post created by an individual asking for an alternative to Google Maps and Magic Earth when I was testing /e/OS (Magic Earth is included as part of /e/OS). For my test I used Organic Maps on the way to my destination and Magic Earth on the way back. Both applications use OpenStreetMap data, provide voice turn by turn navigation, and allow you to download maps locally on your device (a nice feature for me since I find myself in areas with weak or nonexistence cellular signal frequently).

Organic Maps is open source whereas Magic Earth is closed source. Even though it’s closed source, Magic Earth has a much better privacy policy than Google Maps (and probably Apple Maps) so it’s a step up in terms of privacy. Both applications chose nearly identical routes (I checked the route in both applications when I left and when I returned). The chosen routes were sensible. Magic Earth advertises that it uses crowd-sourced traffic information when creating routes, but I was unable to test that functionality since I was driving through rural Wisconsin and Minnesota where traffic is seldom heavy. However, it’s something to keep in mind if you’re driving somewhere that experiences traffic congestion. Magic Earth provided me superior search results. Organic Maps wasn’t able to find my destination when I entered the address, Magic Earth was. I also preferred the navigation interface on Magic Earth.

Neither application gives everything Google Maps and Apple Maps provides. But I found both to be serviceable for my trip. I give Organic Maps a point for being open source, but prefer the overall experience of Magic Earth.

Odds and Ends

SD card support, the Teracube 2e cameras, and navigating on Android without Google were the three major topics I wanted to cover. However, I want to close with a brief list and description of some of the applications that I’m using. All of them function without Google Services installed.

Aegis Authenticator is a one time password (OTP) two-factor authentication application. It’s open source, encrypts stored tokens, and backups encrypted tokens to a chosen destination (I configured it to backup to my Nextcloud instance). It can also be configured to require biometric authentication to open.

AntennaPod is an open source podcast client. Coming from the dumpster fire that is the latest iteration of Apple’s Podcast application, AntennaPod is like manna from Heaven. The interface is straight forward and it has so far done an excellent job of grabbing new episodes when they become available.

Bitwarden is my password manage of choice because it can be self-hosted. The Android client works almost exactly the same as the iOS client, which is to say it works well.

DAVx5 syncs my calendar, contacts, and to-do lists from my self-hosted Nextcloud server to my phone. Setting up the connection is a little janky because you need to start the process from the Nextcloud application, go to the DAVx5 application, and return to the Nextcloud application. But once the connection is setup, it stays running.

K-9 Mail is an open source e-mail application that supports PGP encryption.

KDE Connect connects an Android phone to a Linux laptop (I use GSConnect on my laptop because I use the GNOME desktop environment) and do things like send text messages from the laptop and sync the clipboard between the two systems. I highly recommend this if you use a Linux desktop or laptop.

OpenWeatherMap is a forecast application. I used to use Dark Sky, but Apple bought them and tossed the Android application down the memory hole. OpenWeatherMap has been a competent alternative.

QR & Barcode Scanner, as the name implies, scans QR and barcodes.

My Initial Thoughts on the Teracube 2e Running LineageOS

Since Apple decided to install spyware on iOS devices, I decided to finish my migration from Apple’s platform. I started my migration a couple of years ago because I didn’t like the direction Apple stared taking macOS (becoming more and more like iOS) or its computers (becoming more like iOS devices in that they lacked end user replaceable components). I planned to migrate from the iPhone once the PinePhone or another device capable of running mainline Linux matured. But as I noted at the start of this post, Apple forced me to move my timeline forward.

I started looking at available Android devices as soon as I read Apple’s announcement. I wanted Google in my life even less than Apple so my first criterion for an Android device was that it could be flashed with a Google free firmware like LineageOS. The most commonly recommended phones I came across for LineageOS were Google’s Pixel lineup. OnePlus devices were also popular recommendations. But both lineups tend to be higher tier, which means more expensive. My phone is really a glorified portable web browser, media player, and secure messaging platform. I don’t play games or anything else hardware intensive on my phone. Higher tier phones are wasted on me. The other downside to both of those lineups is that they cannot be easily repaired by end users. The FiarPhone lineup has always appealed to me because they’re designed to be repaired by end users. While they’re pricey, I’m willing to pay a premium for repairability. However, the FairPhone lineup is only supported on European carriers and I’m in the United States.

My search eventually lead me to a newer manufacturer called Teracube. Specifically the Teracube 2e. While the Teracube 2e isn’t as repairable as FairPhone devices, it does have a user replaceable battery. In addition to that it has a four year warranty and a flat flee of $59 for repairs (which includes screen replacements). The hardware specs aren’t great, but they’re appropriate for the asking price of $199.

There isn’t an official LineageOS build for the Teracube 2e, but an unofficial build is available. There is also a development build of /e/OS, which is a distribution built on LineageOS.

I tested /e/OS first, but I couldn’t stream audio over Bluetooth. My Bluetooth headphones would connect to the phone, but there was no way to make the audio play over them. Since I use my phone to play music in my car through a Bluetooth to FM transmitter (my vehicle predates built-in Bluetooth and also lacks an aux input), Bluetooth audio is an important feature to me. Besides the Bluetooth audio issue, I only have nice things to say about /e/OS. It’s worth a look if you’re in the market for a Google free Android firmware.

After /e/OS I installed and tested the LineageOS firmware linked above. So far it is working well. Bluetooth audio works. Wi-Fi calling doesn’t work, but that’s a known issue that is being worked on by the developer (and clearly stated upfront). I live in the middle of nowhere so my cellular signal is crap at best and nonexistent in my basement. But I don’t make many standard cellular calls so I can wait for the functionality to be implemented. I also ran into an issue with the Android version of Apple Music. When I played music through Apple Music, it would begin stuttering horribly after a short while. Everything I’d read online lead me to believe that the Android Apple Music app was a shitshow so I wasn’t too surprised. I installed Spotify and so far it hasn’t given me any issues (I was planning to migrate from Apple Music to Spotify eventually because the latter provides an official Linux app, but that timeline has been pushed up too).

So far my experience, which only a week (hence this post is an initial impression, not a review), with LineageOS on the Teracube 2e has been positive.

The Teracube 2e hardware has so far fulfilled my needs. The device isn’t as fast as my 2020 iPhone SE, but it’s also not as expensive (the base 2020 iPhone SE is twice as expensive). There is 64 GB of onboard storage, which isn’t enough for me. However, it has an SD card slot (a novel ideal that no iOS device has). While the hardware in the Teracube 2e only officially supports SD cards up to 128 GB, I installed a 256 GB card (this one) and it has been working flawlessly (if you want 256 GB of storage on the 2020 iPhone SE, you will have to pay $549). Like the 2020 iPhone SE, the Teracube 2e also has a fingerprint reader that makes unlocking the device faster (but I have my doubts that it’s anywhere near as secure as the iPhone fingerprint sensors).

The Teracube 2e also includes a couple of features that I consider nice bonuses. First, it has an indicator LED. Rather than turning on the entire screen for a few second to show that a notification has been received (as my iPhone does), the Teracube 2e blinks an inoffensive (in other words it doesn’t light up the entire room) white LED. That takes me back to my Palm Treo days (I really miss Palm OS). Another added bonus is the standard headphone jack. You can plug in any set of headphones without needing a dongle.

I’ve only found a few dings against the Teracube 2e. The first and most obvious one is its potato quality cameras. I wouldn’t normally ding a $199 device for having crappy cameras, but there are devices in this price range with better cameras. This isn’t a major problem for me because I only use my phone camera for documentation purpose (for example, taking a picture of wires before disconnecting them). But if you rely on your phone camera for even semi-serious photography, you will find the Teracube 2e lacking.

Another ding against the Teracube 2e is the lack of a silence switch. This is a feature that I fell in love with back when I was carrying a Palm Treo. It has also existed on every iPhone that I’ve owned. Having a simple physical switch on the device that lets me silence the phone is convenient. The last ding against the phone is the design of the SIM slots. Inserting a SIM into the phone is easy. Getting a SIM out again is a challenge. I wish there was an eject button like the one that ejects the SIM tray on an iPhone. This isn’t a major issue though because I don’t regularly insert and remove SIM cards. But it would have been nice when I was switching between the Teracube 2e and 2020 iPhone SE on the first day.

I’ve been getting along well with LineageOS. I haven’t encountered any showstopping problems, which is somewhat surprising to me considering I’m running an unofficial beta build. It doesn’t include Google’s proprietary applications (although they are available separately if you need them), which includes the Play Store. This can be worked around though. First, there is F-Droid, which is a store for open source Android applications. If you need applications from the Play Store (which I do), there is the Aurora Store, which allows you to install free applications from the Play Store anonymously (it might work for paid applications, but I don’t need any of those).

One of my biggest gripes with iOS is that backups require either a computer running iTunes or an iCloud account. I used iTunes running on my 2012 MacBook Pro to perform local backups because I didn’t want to upload all of my data to Apple’s servers. Booting up a computer periodically for a single task is an annoyance. Fortunately, LineageOS solves this by allowing me to backup my phone to my self-hosted NextCloud instance using Seedvault. My NextCloud server is automatically backed up by my backup server so I get snapshot backups using this method.

I enjoyed some conveniences back when I ran both macOS and iOS such as the ability to receive and send text messages from my laptop. I lost those convenience when I moved to a Linux laptop. I’m happy to say that I’m enjoying those conveniences again with LineageOS, KDE Connect, and GSConnect. KDE Connect is an Android application that enables a number of features such as the ability to share a clipboard between a desktop/laptop and an Android device and the ability to send and receive text messages from a desktop/laptop. GSConnect is the GNOME plugin that interfaces KDE Connect on the Android device with a desktop/laptop running the GNOME desktop environment (for KDE users there is an application called, surprisingly, KDE Connect). I ran into a bug where leaving the Run Command option enabled in GSConnect causes the GNOME desktop to freeze for a second every few seconds. Disabling that feature fixed the problem (there is a bug report open about this and I did leave a comment on it).

Overall my initial impression for this setup is good. Google free Android builds are probably the least terrible option at the moment for smartphone users who care about their privacy. There are several Google free distributions of Android to choose from including LineageOS, /e/OS, GrapheneOS, and CalyxOS. The latter two are only support on Google Pixel devices though (technically CalyxOS supports Xiaomi Mi A2, but only for Android 10).

A Do It Yourself Future

I would assume that most people who read Nineteen Eighty-Four understand that the Party is supposed to be the bad guy. However, most politicians and a large number of corporations seem to believe the Party is the good guy and should be emulated as closely as Snes9x attempts to emulate the Super Nintendo Entertainment System.

It seems like every day we see news of new surveillance technologies either being mandated by politicians of voluntarily implemented by corporations. The two entities aren’t always intentionally working in tandem. Many of the surveillance technologies implemented by corporations are done for profit. Google and Facebook for example have business models dependent on surveillance. But sometimes they two entities are working in tandem. The Pegasus spyware is an example of a protect developed by a corporation for the obvious intent of selling to governments interested in surveilling individuals. Then there are the gray ares. Apple’s recent decision to install spyware on iOS devices to ostensibly detect child pornography is an example of something that was likely implemented at the behest of politicians but not mandated (yet).

Unfortunately, the situation is unlikely to get better before it gets worse. There’s too much money to be made by spying on customers and politicians’ power necessarily depends on surveilling citizens. Does this mean you will have to give up technology entirely? Will the Hutterites and Amish be the only free people left in a few years? Not necessarily. There is an option to utilize technology without subjecting yourself to constant surveillance. That option is to do it yourself.

This is really an extension of my self-hosting advocacy. For a long time I’ve preached and practiced self-hosting online services. It’s much harder for Google to surveil your e-mail if you host your own server (of course Google can still surveil your conversations with Gmail users). However, at the current rate of things the do it yourself strategy will have to be applied to technological products other than online services. For example, there is no longer a privacy respecting smartphone readily available to consumers. Your only option is to buy a device that both allows you to flash custom firmware and is supported by privacy respecting firmware.

The laptop and desktop market at least has a few privacy respecting options like System76 available, but beyond those boutique manufacturers you can’t trust the default operating system shipped with most computers. You need to install an operating system that you can trust such as a Linux distro or one of the open BSD flavors like OpenBSD and FreeBSD. There is also the issue of surveillance technology baked into the hardware. Just installing a trustworthy operating system isn’t enough if the hardware itself is spying on you too. In that case you’re going to have to build your own hardware to some extent. This will require many of the same skills as building a computer does today except instead of choosing parts for performance, you’ll need to choose parts for lack of baked in surveillance technology.

If you want an automobile that won’t spy on you, you’ll likely need to either maintain automobiles that were manufactured prior to surveillance mandates or learn how to disable installed surveillance technology. Mind you that either strategy could and most likely will be declared illegal. In that case you will need to spoof the surveillance technology in such a way that it isn’t tampered with in a detectable manner or can be quickly restored to a fully functional state if you need to take the vehicle in for an inspection or repair.

For those unwilling to unable to do the work themselves, they will be dependent on black market dealers who can. The upside is there is already a black market for surveillance avoidance and it will expand as surveillance becomes more pervasive. But the days of being able to buy a technological product and be reasonably sure that it isn’t spying on you are over (they’ve been over for a while, but the situation is continually becoming worse).

Apple Adds Big Brother to iOS

There are two dominate smartphone operating systems: Google’s Android and Apple’s iOS. Google’s business model depends on surveilling users. Apple has exploited this fact by making privacy a major selling point in its marketing material. When it comes to privacy, iOS is significantly better than Android… at least it was. Today it was revealed that Apple plans to add a feature to iOS that surveils users:

Child exploitation is a serious problem, and Apple isn’t the first tech company to bend its privacy-protective stance in an attempt to combat it. But that choice will come at a high price for overall user privacy. Apple can explain at length how its technical implementation will preserve privacy and security in its proposed backdoor, but at the end of the day, even a thoroughly documented, carefully thought-out, and narrowly-scoped backdoor is still a backdoor.

[…]

There are two main features that the company is planning to install in every Apple device. One is a scanning feature that will scan all photos as they get uploaded into iCloud Photos to see if they match a photo in the database of known child sexual abuse material (CSAM) maintained by the National Center for Missing & Exploited Children (NCMEC). The other feature scans all iMessage images sent or received by child accounts—that is, accounts designated as owned by a minor—for sexually explicit material, and if the child is young enough, notifies the parent when these images are sent or received. This feature can be turned on or off by parents.

When Apple releases these “client-side scanning” functionalities, users of iCloud Photos, child users of iMessage, and anyone who talks to a minor through iMessage will have to carefully consider their privacy and security priorities in light of the changes, and possibly be unable to safely use what until this development is one of the preeminent encrypted messengers.

I’ve been pleasantly surprised by the amount of outrage I’ve seen online about this feature. I expected most people to praise this feature out of fear of being labeled a defender of child pornography if they criticized it. But even comments on Apple fanboy sites seem to be predominantly against this nonsense.

This move once again demonstrates the dangers of proprietary platforms. If, for example, a Linux distro decided to include a feature like this, users would have a number of options. They could migrate to another distro. They could rip the feature out. They could create a fork of the distro that didn’t include the spyware. This is because Linux is an open system and users maintain complete control over it.

Unfortunately, there aren’t a lot of options when it comes to open smartphones. The options that do exist aren’t readily accessible to non-technical users. Android Open Source Projects, which are versions of Android without Google’s proprietary bits, like LineageOS and GrapheneOS don’t come preinstalled on devices. Users have to flash those distros to supported devices. Smartphones developed to run mainline Linux like the PinePhone and Librem 5 still lack stable software. Most people are stuck with spyware infested smartphone. Exacerbating this issue is the fact that smartphones, unlike traditional x86-based computers, are themselves closed platforms (which is not to say x86-based platforms are entirely open, but they are generally much more open that embedded ARM devices) so developing open source operating systems for them is much harder.

Collective Punishment of Automobile Owners

Congress slipped a provision into the infrastructure bill that will requires vehicles developed after 2027 to detect if the driver is drunk:

The U.S. Congress is debating about a massive bill titled “Infrastructure Investment and Jobs Act,” and it includes a provision that makes it mandatory for cars in the future to have an advanced drunk and impaired driving prevention technology. What makes it interesting is that the bill actually stipulates 2027 as the year for its implementation, which is not very far. As Vice points out, these are not retro-fitted devices but actually standard fitments that go in during the manufacturing process.

I can’t wait until even entry level vehicles cost $100,000 (in today’s dollars, not in future dollars severely devalued from today’s money printing efforts) on account of all of the sensors needed to ensure that drivers aren’t drunk, high, tired, infected with a respiratory illness, dizzy, overweight (it takes more fuel to move around more weight and that makes Mother Gaia cry) or otherwise deemed unfit for the road. It’s always nice when politicians in Washington DC decide to punish everybody (in this case by increasing the cost of vehicles) for the actions of a handful of people.

The Collusion of Corporations and Government

The First Amendment is supposed to citizens from government censorship… unless those citizens are inciting a riot… or making a false statement of fact or saying obscene things or expressing themselves in any of the other prohibited manners. It turns out free speech in the United States is a fairy tale, but I digress.

Even though the First Amendment is a joke the idea it is supposed to enshrine, the freedom of expression, is one that seemed to enjoy majority support in the United States until Trump’s 2016 presidential victory. Those who didn’t believe Trump was able to win started looking for scapegoats as soon as his victory was announced. One of the most common scapegoats became social media. Trump’s opponents decided that misinformation spread by Russian bots on Facebook and Twitter was responsible for Clinton’s loss. It came as no surprise when they started demanding social media sites start censoring anything they deemed to be misinformation. It also came as no surprise when those social media sites, predominantly owned and operated by individuals who expressed a great deal of (deserved in my opinion) hatred towards Trump, complied. When sites like Facebook and Twitter started censoring pretty much any content expressing political beliefs slightly right of Mao, those who were being censored started screaming about free speech.

The response from those in support of social media censorship (those not being censored), like every other expressed political opinion following Trump’s election, was predictable. They purposely misconstrued the concept of free speech for the First Amendment and haughtily pointed out that the First Amendment only protects against government censorship.

Short of a revolution, which in the absolute best case is only temporary, nothing can stop the erosion of a freedom. Free expression is no exception. The concept of free expression has been eroding in the United States since the country’s founding, but accelerated significantly after Trump’s election. Now we have reached the inevitable point where the government is directly involving itself in censorship:

In terms of actions, Alex, that we have taken — or we’re working to take, I should say — from the federal government: We’ve increased disinformation research and tracking within the Surgeon General’s office. We’re flagging problematic posts for Facebook that spread disinformation.

Private companies are no longer the only ones involved in censorship. The federal government is admitting, openly no less, that it is flagging content it deems problematic for Facebook (with the implication that Facebook will remove the flagged content). There is a term for a political system where corporations and the government collude. Consider looking up that term your homework assignment.

As with any government grab for power this one comes with justification:

Asked what his message was to platforms like Facebook regarding Covid disinformation, Biden said “They’re killing people.”

“I mean they really, look, the only pandemic we have is among the unvaccinated, and that’s — they’re killing people,” Biden said on the South Lawn of the White House.

Biden was echoing earlier comments from White House press secretary Jen Psaki.

The justification is always safety (and always nonsensical). Air travelers must submit to sexual assault, either in being molested or virtually stripped naked by government agents, under the auspices of keeping air travelers safe from terrorists. Gun owners must fill out government forms and ask for government permission in order to buy a gun under the auspices of protecting the populace from gun violence. Every year representatives in Washington DC argue that effective encryption must be made illegal under the auspices of protecting children from rapists and human traffickers. Now the government has decided it needs to choose what is and isn’t appropriate to post on Facebook under the auspices of keeping the populace safe from a virus.