Since version 8.1 Android implements something called “anti-falsing” for swipe actions on the lock screen, which are supposed to bring up the controls to input the pin or passphrase for unlocking the phone.

Anti-falsing in this context simply means that Android tries to figure out if a swipe action was intentionally or not. While I’m not entirely sure about the intention behind this behavior, I believe it’s to avoid unintended tries to unlock the phone and unintended emergency calls in cases where the phone is in a bag or pocket.

While the heuristics for identifying an unintentional swipe aren’t as simple, in practice this behavior means that a swipe on the lock screen has to cover a larger distance than everywhere else to be successful. With its default settings on my phone this means it’s required to swipe across half of the screen to get the controls shown, which is annoying to say the least, as it becomes difficult to do so successfully with a single hand.

As I had no problems with unintended swipes before, I searched for ways to disable this behavior. While older Android versions provided a build time configuration option to disable it, this option got removed with Android 12. So with Android 12 I had to look for other ways and as it turned out there are certain conditions which disable this behavior as well. Anti-falsing gets disabled if the device is for example sitting in a dock or if accessibility features are enabled. This meant that installing and enabling an accessibility service which did nothing other than being an accessibility service was sufficient to get it disabled and that’s what I did.

Unfortunately that didn’t last for long as Google tweaked the criteria for disabling the anti-falsing behavior with Android 12L to not only require any accessibility service to be enabled, but to have one enabled which implements touch exploration. As using an accessibility service which implements touch exploration would’ve meant changed behavior for touch events in general, I started looking for another solution again.

What I found in the end is much better than any of the previous solutions. While it’s no option to disable the anti-falsing behavior, it’s an option to change the value for the necessary distance covered by the swipe to be detected as an intended swipe. That means by using this option it’s not only possible to completely disable anti-falsing, but also to tweak its sensitivity to personal preferences. This option can simply be set via adb like that:

adb shell cmd device_config put systemui brightline_falsing_distance_screen_fraction_max_distance 0.1

Once set swiping on the lock screen should feel much more natural again.

Ich bin gerade etwas sprachlos. Ich habe hier ~35GB JSON-Daten. Diese Daten sind das Ergebnis des crawlens einer öffentlich verfügbaren API alle fünf Minuten für ein Jahr. Die Antworten der API haben eine durchschnittliche Größe von ~330KB und unterschieden sich oft nur im Zeitstempel oder zusätzlich in kleineren Details. Das sind also durchaus viele redundante Daten. Initial habe ich jede Antwort mit gzip komprimiert und als einzelne Datei gespeichert. Im Vergleich zur unkomprimierten Größe hat das zwar nur 2GB Speicherplatz benötigt, aber ich war unglücklich mit der großen Anzahl an Dateien und wollte die Daten gerne noch etwas besser komprimiert haben, so dass ich sie jetzt zu einer einzelnen JSONL-Datei zusammengeführt und diese anschließend mit Zstandard (mit Kompressionstufe 19) komprimiert habe. Anschließend habe ich mir erst mal verwundert die Augen gerieben und meinen Fehler gesucht, denn das Ergebnis war nur noch 5,3MB groß. Megabyte, nicht Gigabyte! Aber offensichtlich hat das alles seine Richtigkeit: Dekomprimiere ich die 5,3MB große Datei, bekomme ich alle 35GB an JSONL-Daten wieder. Das nenne ich mal effiziente Kompression.

I discourage use of machine learning, because it’s really difficult. Unless you have to use machine learning, don’t do it. It’s usually a red flag when somebody is saying “We wanna use machine learning to solve this task”. I’m like: That sounds like bullshit. 99.9% of the time you don’t need it.
– Elon Musk

That’s a statement made by Elon Musk during past weeks “Tesla AI Day” when being asked if Tesla also uses machine learning for other applications than autonomous driving.

It sums up pretty nicely what I think about useful use cases for machine learning as well. I believe there is often a much more simpler and faster way to achieve a desired result. Machine learning done right is hard and requires a lot of knowledge, training data and compute capacity to get right. Otherwise you might end up with an unfit model whose output looks good, but actually isn’t, which might not be obvious as the reasons for decisions made by the model are too opaque.

Heute hat mir das jahrelange Rumgenerve mit Outlook.com und allen Domains die da noch so dazugehören (z.B. hotmail.de) gereicht: Es war praktisch nie möglich E-Mails an solche Adressen zu senden, weil Microsoft nur E-Mails von absendenden E-Mail-Anbietern zulässt, die auf einer Whitelist stehen. Und da kommt man entweder mit viel betteln oder gar nicht drauf. Jetzt ist Schluß damit. Ab jetzt wird jede eingehende E-Mail, die über Outlook.com kommt, mit dem Hinweis abgelehnt, dass der Sender auf seine E-Mail sowieso keine Antwort bekommen könnte und deshalb lieber einen anderen E-Mail-Anbieter zum Versand nutzen soll. Ich bin gespannt wie das ankommt.

Ich muss an dieser Stelle schlechtem Webdesign danken und zwar dafür, dass ich dadurch genau weiß, welche Seiten sich nicht zu lesen lohnen, weil dort nicht Wert auf den Inhalt, sondern auf Details gelegt wird, die Besuchern die Nutzung erschweren.

So zum Beispiel bei Webseiten die der Meinung sind, besser als ihre Besucher zu wissen, wie diese gerne scrollen und die deshalb das Scrollverhalten des Webbrowsers durch ein eigenes ersetzen. Oder auch Seiten, die der Meinung sind, hellgraue Schrift auf weißem Hintergrund sähe voll super aus.

Neu dazu gekommen sind dieses Jahr all jene Seiten, die, um der DSGVO zu genügen, Banner zum akzeptieren der Verarbeitung personenbezogener Daten anzeigen, ohne eine einfache Möglichkeit anzubieten die Seite nutzen zu können, ohne der Datenverarbeitung zuzustimmen (was laut DSGVO übrigens möglich sein muss).

In einem Kiosk im Flughafen von Helsinki:

Ich: Ich hätte gerne mobiles Internet.
Verkäufer: Für wie lange denn?
Ich: zwei Wochen
Verkäufer: ok, wenn’s dich nicht stört, dass du nach einer Woche eine neue Mobilfunknummer bekommst, wären das für zwei Starterpacks mit jeweils einer Woche LTE-Datenflat insgesamt 7,80€.
Ich: 7,80€? Datenflat? mit LTE?
Verkäufer: jap
Ich (hastig): ok, nehm ich.

Und das vollkommen unkompliziert: Keine Angabe von persönlichen Daten, einfach kaufen, SIM-Karte ins Gerät stecken, PIN eingeben, lossurfen. So muss das sein. Möchte man das dauerhaft, wird’s auch nicht teurer, denn mobile Datenflatrates sind in Finnland für unter 30€/Monat zu haben. Da merkt man mal wieder was Deutschland im Bezug auf Mobilfunk für ein Entwicklungsland ist.

Die Mobilfunkabdeckung in Finnland ist, dank der alle paar Kilometer aus dem Wald hervorragenden, markant weiß-rot gestreiften Mobilfunkmasten, ebenfalls super. Ich hatte praktisch immer LTE-Empfang mit mindestens ~10Mbit/s Downstream.

Wer also ein Reiseland mit viel Wald und Ruhe sucht und dabei trotzdem Wert auf gute Mobilfunkanbindung legt, dem sei Finnland ans Herz gelegt.

altes Design
altes Design
neues Design
neues Design

Nachdem ich mit diesem Blog die letzten zwölf Jahre dem gleichen Design treu geblieben bin, wurde es Zeit für ein neues, zeitgemäßeres Aussehen. Das bisherige WordPress-Theme “Red is nice” hat ausgedient und stattdessen kommt nun “Stargazer” mit einigen Anpassungen zum Einsatz.

Mein Ziel war es, dem Blog unter Beibehaltung der gleichen Designelemente ein moderneres Aussehen zu geben, dass mehr Fokus auf die Inhalte legt und möglichst schlicht ist. Ich finde das ist mit dem neuen Theme gut gelungen.

Einfach machen! Das ist die Erfolgsformel der mymuesli-Gründer, die sie in ihrem Buch Machen!: Das Startup-Buch der mymuesli-Gründer vorstellen. Ein absolut lesenswertes Buch für alle, die sich für Startups oder die Geschichte von mymuesli interessieren oder die einfach mal etwas Motivation brauchen, um Projekte anzupacken.

Um es mit den Worten der mymuesli-Gründer zu sagen:

Dieses Buch ist für all diejenigen, die einen Traum haben. Einen Traum, an den sie glauben, der sie nachts wach hält, glücklich und ängstlich zugleich macht. Vielleicht träumst du diesen Traum schon lange?
Doch damit er Wirklichkeit werden kann, fehlt nur eines: das Machen. Denn Träume, die man nicht anpackt, werden Träume bleiben.

Ist ja schön, dass O2 möglichst viel online abwickeln will, aber gefühlt jedes Mal, wenn ich mich einlogge bekomme ich nur:

Aktuell führen wir Wartungsarbeiten durch. Daher steht Ihnen diese Funktion im Moment leider nicht zur Verfügung.

So langsam vermute ich ja, dass die für ihre Webseite auch Öffnungszeiten haben. Montags bis Freitags 10:00 Uhr bis 16:00 Uhr oder so.

Früher habe ich Ubuntu gerne Leuten empfohlen, die einfach nur einen funktionierenden Computer ohne Windows haben wollten. Nachdem ich über die Jahre gesehen habe, was für überflüssige Probleme Ubuntu im Alltag für ebensolche Leute generiert und welche Politik Canonical fährt (zum Beispiel ein bisschen arg viel Not-invented-here-Syndrom), kann ich Ubuntu nicht mehr ruhigen Gewissens weiterempfehlen.

Ich selbst bin und bleibe sowieso treuer Debian-Nutzer, insofern ist für mich Ubuntu nur begrenzt interessant. Aber es gibt eben einen Bereich, in dem ich viel mit Ubuntu zu tun habe und dieser Bereich heißt Arbeit. Dort habe ich mir heute mal Ubuntu 16.04 LTS auf einen neuen Rechner installiert es gibt zwei Punkte, die ich diesbezüglich an dieser Stelle ansprechen möchte:

1. Secure Boot per Default aktiviert

Ubuntu 16.04 LTS funktioniert out-of-the-box mit Secure Boot inklusive tatsächlichem prüfen von Signaturen, sofern man keine proprietären oder lokal kompilierten Treiber braucht, da diese nicht von Canonical signiert sind.

2. “Ruhezustand” ist nicht standardmäßig aktiviert

Um “Ruhezustand” nutzen zu können, muss man eine extra Konfiguration für Polkit anlegen. War mir so auch neu und ist wenig hilfreich für Leute, die einfach nur ihren Computer benutzen wollen.

Neben diesen beiden für mich herausragenden Punkten war die Installation absolut problemlos, sämtliche Hardware funktionierte sofort und die Startzeit war, vielleicht dank systemd, überaus flott. systemd ist dann auch das Feature über das ich mich, insbesondere im Serverbereich, am meisten freue. Ich muss mir noch im Detail anschauen, ob das in Ubuntu genauso halbherzig wie upstart eingeführt wurde, freue mich aber, insbesondere im Serverbereich, dadurch einige hässliche Init-Skripte loswerden zu können.