Android-Apps auf Amazon Fire TV sideloaden

Amazons Fire TV-Sticks sind eine günstige Möglichkeit, einen Fernseher in einen Smart TV auf Android-Basis zu verwandeln. Allerdings findet man nicht jede App, die man am Fire TV-Stick nützen möchte, in Amazons eigenem App Store. Hier zeige ich euch, wie ihr Apps sideloaden könnt. Dazu braucht ihr einen PC, der im selben WLAN hängt wie der Fire TV-Stick.

Den PC vorbereiten: Android Debug Bridge installieren

  1. Von der Android Developer-Website die platform-tools herunterladen.
  2. Die .zip-Datei in einen beliebigen Ordner am PC entpacken. Den Pfad zu diesem platform-tools-Ordner brauchen wir später noch.

Den Fire TV-Stick vorbereiten

  1. Für die Installation muss man am Fire TV-Stick die Entwickleroptionen aktivieren. In gewohnter Android-Manier ging das bei meinem Fire TV-Stick, indem ich im Menü Einstellungen > Mein Fire TV > Info siebenmal auf Fire TV Stick geklickt habe. Bei verschiedenen Versionen des Fire TV-Sticks geht das allerdings ein bisschen unterschiedlich. Amazon hat hier eine Anleitung dafür.
  2. Später werden die IP-Adresse des Sticks brauchen. Sie ist unter Einstellungen > Mein Fire TV > Info > Netzwerk zu finden.
  3. Im Menü Einstellungen > Mein Fire TV > Entwickleroptionen müssen wir ADB-Debugging und Apps unbekannter Herkunft einschalten.

Das APK finden und herunterladen

  1. Man besorge sich die gewünschte App als .apk-Datei aus einer vertrauenswürdigen Quelle. Für diesen Blogpost lade ich eine Version von NewPipe aus dem F-Droid Appstore herunter.
  2. Der Einfachheit halber schiebt man die .apk-Datei in den platform-tools-Ordner.

Die App installieren

  1. Eine Shell (Eingabeaufforderung) starten: Windows-Taste drücken, „cmd“ eintippen und Enter drücken oder Öffnen klicken.
  2. In den platform-tools-Ordner wechseln:
    cd (Pfad)
    Also zum Beispiel:
    cd C:\platform-tools
  3. Die Android Debug Bridge mit dem Fire TV-Stick verbinden:
    .\adb connect (IP-Adresse):5555
    Also zum Beispiel:
    .\adb connect 10.0.0.11:5555
  4. Der Fire TV-Stick zeigt nun auf dem Fernseher einen Dialog USB-Debugging zulassen an. Das bestätigt man. In der Shell bekommt man die Meldung failed to authenticate to 10.0.0.11:5555
  5. Den Befehl aus Schritt 3 wiederholen. Nun bekommt man die Meldung already connected to 10.0.0.11:5555.
  6. Nun können wir die APK-Datei installieren:
    .\adb install (Dateiname.apk)
    Also zum Beispiel:
    .\adb install .\org.schabi.newpipe_1010_cb84069.apk
    In der Shell bekommen wir eine Rückmeldung:
    Performing Push Install
    .\org.schabi.newpipe_1010_cb84069.apk: 1 file pushed, 0 skipped. 0.4 MB/s (10881466 bytes in 25.386s)
    pkg: /data/local/tmp/org.schabi.newpipe_1010_cb84069.apk
    Success

    Falls in der letzten Zeile nicht Success steht, hat irgendwas nicht geklappt. Möglicherweise ist die App nicht mit der Abdroid-Version des Fire TV-Sticks kompatibel.
  7. Nach der Installation trennt man die Android Debug Bridge vom Fire TV-Stick:
    adb disconnect

Nachbereitung

  1. Die App ist nun im Menü Meine Apps des Fire TV-Sticks sichtbar. Wenn man möchte, kann man sie von dort auf die Startseite verschieben.
  2. An dieser Stelle ist es auch nicht blöd, in den Entwickleroptionen ADB Debugging zulassen und Apps unbekannter Herkunft wieder abzuschalten.
  3. Die installierte .apk-Datei kann man aus dem Ordner platform-tools löschen.

App updaten

Um eine bereits installierte App upzudaten, muss man die Prozedur wiederholen. Es ist daher sinnvoll, sich den Ordner mit den platform-tools zu behalten.

Zum Thema Benzinpreise

Durch den Irankrieg und insbesondere die Sperre der Straße von Hormus ist der Ölpreis an der Börse von ca. 68 US$/Barrel Brent am 16.2. auf ca. 82 US$/Barrel am 4.3. gestiegen, also um rund 20%.

Die Tankstellen in meiner Nähe haben am Montag, 2.3. und besonders am Dienstag, 3.3. mit einem Preisanstieg reagiert. Die Diskonttankstellen haben die Preise für 1 Liter Super 95 um ca. 20 Cent von 1,45€ auf 1,65€ angehoben, also um rund 14%. Am Freitag ging’s nochmal um ein paar Cent rauf.

Preise für Super 95 bei Diskonttankstellen und Automatentankstellen zwischen Montag, 16.2., 0:00 und Samstag, 7.3., 13:00.
Punkte sind Daten. Schräge Linien entstehen durch fehlende Daten.
Mehr lesen

Tschau mit au, X.

Ich verlasse Twitter. Ja, die Plattform heißt seit ein paar Jahren X. Die meisten meiner Tweets habe ich aber auf Twitter geschrieben. Die Community war auf Twitter. Die Ethik und der Umgangston haben sich mit der Übernahme und Umbenennung zu X geändert. Ich mochte X nie und seinen Eigentümer schon gar nicht. Genausowenig möchte ich X nun meine 46.000 Tweets überlassen.

Die Tweets habe ich archiviert. Vielleicht werden sie demnächst hier oder im Fediverse wieder auftauchen. Mein Twitter-Konto werde ich wahrscheinlich fürs erste nur ruhend stellen – ich möchte nicht, dass jemand anderer den Username registrieren kann. Und so eine leere Hülle schaut für eine Plattform auch nicht gut aus.

Bleibt das Problem: Wie lösche ich 46.000 Tweets?

Eine Suche nach „Tweet delete“ führt zu einigen Anbietern, deren Websites gar nicht auf den ersten Blick vermitteln, was die Dienste können und was es kostet. Alle brauchen vollen Zugriff auf das Konto. Der eine oder andere Anbieter möchte mir ein Jahresabo andrehen. Das klingt für mich in etwa so sinnvoll wie ein Jahresabo für Blinddarmentfernungen.

Eine andere Lösung muss her. Zum Glück weiß ich, dass Luca vor mehreren Jahren ein Skript zum Löschen von Tweets geschrieben hat. Das läuft lokal im eigenen Browser und schickt Anfragen an X’s offizielles API. Man kann ihm bei der Arbeit zuschauen und sieht, was passiert.

Den Leuten von X ist das offenbar weniger recht. Daher haben sie ihr API auf 200 Anfragen pro ~14 Minuten beschränkt. Mit dieser Beschränkung müssen auch alle kommerziellen Anbieter leben, es sei denn, sie haben einen besonderen Deal mit X. Das Skript leert das Twitterkonto nun also eher gemächlich. Allemal besser als ein Jahresabo.

Update: Es hat sich für mich als zielführend erwiesen, das Skript auf einem Raspberry Pi in Chromium laufen zu lassen, weil es so unbeaufsichtigt viele Stunden lang werken kann. Man muss aber hin und wieder per VNC reinschauen, da die X-Website gelegentlich hängt. Das Skript selbst verträgt Neustarts ohne zusätzliche Probleme.

Ein Frontscheinwerfer und ein Rücklicht für ein Fahrrad.

Wie berechne ich die Helligkeit meines Fahrradscheinwerfers?

Die Hersteller geben bei Fahrradscheinwerfern die Helligkeit gerne in Lumen an. Der Gesetzgeber gibt die Lichtstärke in Candela an. So kann man zwischen den beiden Einheiten umrechnen.

Zuerst einmal ein Wort zu den rechtlichen Rahmenbedingungen. In der Fahrradverordnung steht folgendes:

Fahrräder müssen mit einem hellleuchtenden, mit dem Fahrrad fest verbundenen Scheinwerfer, der die Fahrbahn nach vorne mit weißem oder hellgelbem, ruhendem Licht mit einer Lichtstärke von mindestens 100 cd beleuchtet und mit einem roten Rücklicht mit einer Lichtstärke von mindestens 1 cd ausgerüstet sein. Bei Tageslicht und guter Sicht kann diese Ausrüstung entfallen.

§1 (4) Fahrradverordnung

Wir brauchen also für vorne einen Scheinwerfer mit einer Lichtstärke von mindestens 100 Candela (cd). Die Hersteller geben aber meistens den Lichtstrom in Lumen (lm) an. Der Unterschied zwischen diesen beiden Einheiten ist, dass die Lichtstärke angibt, wie viel Licht eine Lampe in eine gewisse Richtung abstrahlt, während der Lichtstrom ein Maß dafür ist, wie viel Licht die Lampe überhaupt abstrahlt1.

Raumwinkel abschätzen

Für die Umrechnung zwischen Lumen und Candela müssen wir wissen oder abschätzen, wie groß der Bereich ist, in den der Scheinwerfer leuchtet. Dass der Gesetzgeber hier Candela verwendet, kommt uns entgegen: wir müssen uns im Alltag keine Gedanken darüber machen, wie weit die angeleuchteten Objekte von uns entfernt sind, sondern es kommt nur auf den sogenannten Raumwinkel \Omega an.

Den Raumwinkel \Omega müssen wir aber zuerst einmal messen. Dazu lassen wir den Scheinwerfer in einem dunklen Raum möglichst frontal auf eine Wand leuchten und notieren uns den Abstand r zwischen dem Scheinwerfer und der Wand sowie die Größe des beleuchteten Flecks a \times b. Um uns das Leben einfacher zu machen, verwenden wir für a, b und r als Einheit Meter. (Wer es sich noch einfacher machen möchte, positioniert den Scheinwerfer in genau einem Meter Entfernung zur Wand.)

Den Raumwinkel \Omega des hell beleuchteten Flecks können wir dann folgendermaßen abschätzen2:

\Omega = (a \times b)/(r^2)

Lumen in Candela umrechnen

Wenn wir nun \Omega unseres Scheinwerfers kennen, können wir den Lichtstrom \Phi_v (in Lumen) in die Lichtstärke I_v (in Candela) umrechnen:

(\Phi_v)/(\Omega) = I_v

Wir können auch für \Omega einsetzen:

I_v = (\Phi_v \times r^2)/(a \times b)

Bei dieser Berechnung muss man noch berücksichtigen, dass ein gewisser Teil des Lichtstroms nicht in Richtung des hellsten Flecks geht – und das ist auch gut so, denn wir möchten ja auch von Autofahrern bemerkt werden, die sich von der Seite nähern. Der Teil des Lichtstroms, der für die Beleuchtung der Fahrbahn sorgt, ist also sicher etwas geringer.

Rechenbeispiel

Mein ziemlich heller, ziemlich gerichteter Fahrradscheinwerfer hat laut Hersteller einen Lichtstrom \Phi_v = 300 \mathrm{[lm]} und produziert in r = 1.2 \mathrm{[m]} Entfernung einen Lichtschein mit a \times b = 0.7 \mathrm{[m]} \times 0.5 \mathrm{[m]} = 0.35 \mathrm{[m^2]}. Damit ist der Raumwinkel \Omega = 0.24 und die Lichtstärke I_v = (300 \mathrm{[lm]})/(0.24) = 1250 \mathrm{[cd]}. Das ist sehr deutlich mehr als die vom Gesetzgeber geforderten 100 cd, und damit ist der Scheinwerfer hell genug.

Rücklicht

Beim Rücklicht schreibt die Fahrradverordnung eine Lichtstärke von 1 cd vor, gibt aber die Richtung nicht genau vor. Wenn das Rücklicht „nach hinten“ in alle Richtungen leuchtet, ist der Raumwinkel \Omega = 2\pi (das entspricht einer halben Kugeloberfläche). Der notwendige Lichtstrom ist dann \Phi_v = I_v \times \Omega = 1 \mathrm{[cd]} \times 2 \pi = 6.28 \mathrm{[lm]}. Das klingt nach wenig, aber man findet im Handel durchaus auch Rücklichter mit bloß 4 Lumen. Bei diesen muss man darauf achten, ob sie in einen etwas geringeren Raumwinkel strahlen.

Richtige Montage

Zu guter Letzt: Montiert eure Scheinwerfer bitte so, dass sie nicht blenden! Hier ist eine kurze Anleitung.


  1. In deutschen Onlineshops findet man oft Lampen mit Angaben in Lux. Physikalisch gesehen ist das eher Unsinn. Lux ist ein Maß für die Beleuchtungsstärke. Wenn sich ein Lichtstrom von einem Lumen gleichmäßig auf eine Fläche von einem Quadratmeter verteilt, ist diese mit einem Lux beleuchtet. In der Praxis ist die Beleuchtungsstärke daher vom Abstand zwischen der Lichtquelle und der beleuchteten Fläche abhängig. Damit ist Lux dafür geeignet, zum Beispiel im Arbeitsschutz anzugeben, wie hell ein Schreibtisch mindestens beleuchtet sein muss. Für die Spezifikation eines Fahrradscheinwerfers ist Lux ohne weitere Angaben ungeeignet. ↩︎
  2. Die gezeigte Berechnung des Raumwinkels ist eine Abschätzung, weil wir die beleuchtete Fläche eigentlich auf der Innenseite einer Kugel messen müssten, nicht auf einer flachen Wand. ↩︎

Künstliche Intelligenz oder Dampfplauderin: Der Kardinalschnittentest

Die Kardinalschnitte ist eine beliebte Süßspeise der Wiener Küche und schmeckt himmlisch – im wahrsten Sinne des Wortes. Den Namen hat das Wienerische Dessert nämlich seiner Optik zu verdanken. Der Biskuitteig in Kombination mit Eischnee spiegelt die katholischen Kirchenfarben – gelb und weiß – wider. – Kardinalschnitten (Wien Info)

Um LLMs (Large Language Models) auf die Probe zu stellen, frage ich sie gerne – neben anderen Dingen – auch danach, wie man Kardinalschnitten macht. Dahinter stecken ein paar Überlegungen:

Kochrezepte haben eine relativ starr vorgegebene Form. Ich erwarte mir eine Liste der Zutaten und eine Liste der Zubereitungsschritte. Alle Zutaten aus der Liste müssen verwendet werden. Alle Zutaten, die in den Zubereitungsschritten vorkommen, müssen auch auf der Zutatenliste stehen. Die Mengen auf der Zutatenliste müssen den Mengen in den Zubereitungsschritten entsprechen, sofern diese gegeben sind. Oft stehen die Zutaten in jener Reihenfolge auf der Liste, in der sie bei der Zubereitung verwendet werden.

Die Abfolge der Zubereitungsschritte muss logisch sein. Eine Komponente (hier z.B. der Eischnee), die in einem Schritt verwendet wird, muss in einem der vorigen Schritte zubereitet worden sein.

Das Endergebnis soll ein gewisses Aussehen haben. Auf Bildern sehen alle relativ ähnlich aus. Die auf Texte trainierte KI sieht das natürlich nicht. Wenn sie ein Rezept liefert, das als oberste Schicht Buttercreme oder eine Schokoglasur hat, hat sie den Test nicht bestanden.

Die KI soll hier nicht viel erfinden. Sie könnte sie eines der Rezepte aus ihren Trainingsdaten in eigenen Worten wiedergeben und vielleicht ein paar Tipps zu Varianten geben. Sie könnte aber auch schreiben, dass sie kein Rezept dafür kennt.

Wie gut schlagen sich einige verschiedene LLMs bei dieser Aufgabe?

Mehr lesen