Remember how I installed /e/OS,based on LineageOS 22 based on Android 15, that comes with microG preinstalled? Turn out that when you add your Google account to it (under Settings > System > microG) MEETS_BASIC_INTEGRITY now passes! In the same place, you’ll find an item “Google device registration”, which should be ticked and I suspect is what makes the difference. After this, one of the apps in questions now correctly works, I’ll test the other later. Strangely, this reports the phone as a Pixel 2? Is this one of those hardcoded fingerprints?
I recall going over these items when I ran the phone with LineageOS+microG (which should function identically) but I left most of the options unticked (they were not ticked). I retried using try on the LOS 23 image, amd that worked too! Make sure to install both microG Services and microG Companion.
Adding your Google account to the /e/OS “App Lounge” (which is a presupplied Aurora Store) does NOT do the trick.
Although I am not sure, perhaps signature spoofing is what makes this work? MindTheGapps is missing from that list, and LinageOS specifically includes code to make microG work. Then again, why would Lineage recommend MindTheGapps? No idea… And is this a way to register manually?
In summary, do NOT use MindTheGapps, but microG, as they instruct. Alternatively, /e/OS.
Recently I got a discarded Motorola G84 phone, which is supported by LineageOS, version 23 no less (Android 16, so the latest!). I unlocked the bootloader and flashed LineageOS (and MindTheGapps, turned out it’s important to start Lineage once before you flash it, not right away) and started setting up apps and data, as I have done now with nearly a dozen phones.
The first sign things were not well arrived when an app, that required entering my phone number to retrieve my account, errored out with an issue related to Firebase authentication. It just wouldn’t work. I suspected the issue was in the Google Play Services, which is why you load up MindTheGapps (or other such Play Store reimplementations), as regular apps (obtained through F-Droid or manually downloaded apks) worked fine. Even some apps from the Play Store worked. So I first searched for the issue in this direction, trying out NikGApps and microG as well. I even tried /e/OS. All the same issue.
Since it was related to authentication, I started to suspect it was about the unlocked bootloader, not an error in the Play Service app or provider. Perhaps a signing issue in LineageOS itself? Few clues remained, but one was that a banking app reported it could not set up my account because the phone was not secure or somesuch (didn’t write down the error). LineageOS has no public forum, chat (IRC and Discord require an account), so it’s kinda difficult to find a place to find user experiences about this. The XDA forums are really the largest knowledge base, but it’s not very structured and this phone (G84) is apparently not that common so not a lot of forum presence.
I quickly came across SafetyNet [1] (pre Android 13), Play Integrity [2] and the Trusted Execution Environment (TEE) [3], the latter two of which report that my phone indeed is not passing any sort of validation. It is strange that all my earlier phones do pass MEETS_BASIC_INTEGRITY. Although payment (e.g. Google Pay) never worked (I guess because MEETS_DEVICE_INTEGRITY==false), at least everything else I (want to) use works. So what changed?
I don’t have to full pciture, but it seems to be the confluence of Play Integrity updates (May 2025) to Android Key Attestation. Some XDA posts speak about outdated or non-forward-compatible keys on the device (so a new Android version with a newer kernel may cease to work, although I managed a downgrade to LineageOS 22 by way of /e/OS which didn’t help). Others mention invalidated fingerprints. I can’t be 100% sure, but this is the part that must be failing. When I get my hands on a Windows machine, I’ll try Motorola’s fix tool to reset me back to stock. Some say relocking the bootloader works, other’s say it doesn’t.
There are ways that fake the return values (Play Integrity Fix, TrickyStore?) and could enable apps checking for them, but they require rooting the phone, something I prefer not to do. Moreover, if apps use this API, they usually also check other things (i.e. rooting) and people reports it’s a game of cat and mouse. Wouldn’t want to have apps disable themselves all the time!
In any case: it seems my days using LineageOS are over. GrapheneOS seems to make sure that you always at least meet BASIC, but that requires fairly recent Pixel phones, phones that I probably won’t soon get my hands on. This is not great.
Dit interview bij de VK is met iemand die een leven lang het Nederlandse onderwijs in de gaten heeft gehouden. Ik licht gewoon even wat teksten uit die mij opvallen:
‘Het verbijstert me dat het telkens nog slechter kan’, zegt ze over de staat van het onderwijs.
Truijens begon ook de parlementaire enquête van de commissie-Dijsselbloem te volgen, die de onderwijsvernieuwingen uit de jaren negentig onderzocht. ‘De conclusies waren tamelijk schokkend.’
Daarbij valt op dat ze vrijwel altijd partij kiest vóór de leerlingen en leraren, en tégen de schoolbesturen die sinds de invoering van de zogeheten lumpsumfinanciering steeds machtiger zijn geworden. Andere terugkerende thema’s: de matige kwaliteit van de lerarenopleidingen, de afnemende leesvaardigheid onder scholieren, de jonge leeftijd waarop Nederlandse leerlingen worden gesorteerd voor vmbo, havo of vwo.
Veel schoolbesturen voelen geen prikkel om zo veel mogelijk uit kinderen te halen en om leraren het beste onderwijs te laten geven. Wel om diploma’s uit te delen, en om kinderen niet te laten blijven zitten. Dat bedrijfje moet floreren en de ouders moeten tevreden zijn.
‘Leraren hebben nog maar weinig te vertellen. Ooit had je als leraar een hoge mate van vrijheid met wat je in de klas deed met je leerlingen. De leraar is vooral een uitvoerder geworden.’
Onderwijs zou moeten bijdragen aan een eerlijke verdeling van middelen en kansen. En dat doet het al heel lang niet meer.
Wiersma bezocht veel scholen en hij was kritisch op bestuurders en de inspectie. Die twee machtige partijen sprak hij duchtig aan. Leraren liepen met hem weg, ongeacht politieke kleur.
‘[…] ik zou de macht van de besturen inperken en de vroege selectie afschaffen. En daar komt een derde punt bij: de basisvaardigheden moeten verbeteren: lezen, schrijven en rekenen.’
‘[…] dat er een besef is ontstaan dat onderzoek zo belangrijk is. Je moet evidence based materiaal hebben op scholen. In landen die dat doen, schieten de prestaties omhoog.
This blog post on the fuck off contact page, which we all know and hate, is great for pointing that out. Even better is the little epilogue explaining why this person even writes it down:
I think that’s part of the reason why I blog. By blogging, I’m putting a body of work out there that communicates my values and ethos. While much of the details of my client work has to remain private, these posts can be public, and hopefully they can help me find people who resonate with what I have to offer. Or you know, just be bold enough to communicate ‘Fuck off’ to those who don’t!
Yes, that is why I blog too! Well, that and just making sure I can retrieve random things that I thought worth remembering at some point.
A video on human interconnectedness and how things spread as function of our connectedness made me think of someone who in my first year of studies told us about their major: dynamic systems (or somesuch). This video goes into detail on exactly this subject: how networks and their ‘shape’ determine what it does and how it works. It can be applied to anything: from answering the question how many degree of separation is between you and $famous_person, to neural networks, social networks and biochemical networks. (Are dynamic systems always networks?) It’s an area of math, I guess. Seems so powerful to be able to apply your studies so widely, maybe I should have chosen that!
Watts-Strogatz and Barabási–Albert are two of those models that can be used to understand deep emergent truths such as that hubs will always form, and they are weak spots in the resilience of the network.