Wasteland 3 sieht richtig gut aus
Friday, 20. March 2020
Gerade habe ich den zweiten Teil durchgespielt, kommt der dritte auf mein Radar. Wasteland 3 ist noch nicht veröffentlicht, aber es gab gerade einige Videos, die den aktuellen Entwicklungsstand zeigen. Ich wusste nicht, dass es schon bald fertig sein wird. Und es sieht toll aus! Nicht nur, dass die Grafik massiv verbessert wurde, auch mein großer Kritikpunkt mit den prozentbasierten Skillchecks wurde angegangen, die sind jetzt entweder immer erfolgreich oder eben nicht möglich. Das ist nur eine von vielen angekündigten Verbesserungen.
Dieses Video zeigt so in etwa die erste Stunde des Spiels:
Ich hatte auf GamersGlobal einen Zusammenschnitt eines längeren ersten Anspielens gesehen, die Viertelstunde heißt das Format. Sicher das bessere Video, aber leider hinter einer Paywall, daher kann ich es hier nicht zeigen. GamersGlobal ist aber durchaus ein Abo wert.
Wasteland 2: Director's Cut
Wednesday, 18. March 2020
Wasteland 2 ist ganz einfach ein etwas anderes Fallout. Historisch war andersrum Fallout wohl ein etwas anderes Wasteland. Auf jeden Fall gibt es eine große Ähnlichkeit: Die vielen Überschneidungen im Rollenspielsystem, das postapokalyptische Setting, die Story selbst.
Es gibt schon klare Unterschiede zwischen den Spieleserien. Da ist zuerst der Humor. Zwar haben beide absurde Elemente und fehlplatzierte Überbleibsel aus der Vergangenheit, aber Wasteland 2 ähnelt im Ton mehr dem ersten Fallout, nicht dem lustigeren Fallout 2 und ohne den Fokus auf die 50er. Die Gruppe ist größer, die man zudem auch meist komplett selbst kontrolliert (und nicht wie in Fallout nur den Hauptcharakter), auch baut man beim Spielbeginn nicht nur einen Charakter, sondern vier. Es gibt passend dafür mehr Begleiter, von denen drei die Vierergruppe ergänzen können. Und vor allem ist das Spiel kampflastiger, die Handlung und Mechanik lässt weniger Spielraum für Lösungen mittels Gesprächsführung oder Schleichen.
Der Handlung zufolge sorgen nach der Apokalypse die Desert Ranger für einen Hauch Ordnung in der harschen Welt. Die erstellte Gruppe ist neuester Teil der Organisation und bekommt einen Auftrag: Funktürme reaktivieren und dabei herausfinden, wie genau ein Ranger namens Ace gestorben ist. Das ist nur der Einstieg in eine größere Geschichte um eine Bedrohung, der sich die Ranger stellen müssen.
Ähnlich wie in Fallout gibt es auf einer Weltkarte verteilt mehrere markierte Orte wie Städte, die bereist werden können. In denen gilt es dann Quests zu erledigen, in den größeren Orten verbringt die Gruppe einiges an Zeit. Generell ist Wasteland kein kurzes Spiel, einmaliges Durchspielen beschäftigte mich etwa 70 Stunden. Währenddessen gibt es viele Levelaufstiege, die schneller kommen als üblich und zusammen mit der zu findenden besseren Ausrüstung gut motivieren.
Neben dem Aufleveln, der Gruppen- und Inventarverwaltung könnte man Wasteland auf drei Aspekte herunterbrechen:
- Die Rundenstrategiekämpfe füllen einen Großteil der Spielzeit.
- Daneben gibt es Gespräche mit NPCs, manchmal auch alternativ zu einem Kampf.
- Überall verteilt sind Skillchecks, wie das Einhauen von Mauern, Entschärfen von Minen oder Überzeugen von Gesprächspartnern.
Letztere haben mich genervt. Die Kämpfe funktionieren hervorragend: Aktionspunkte, Trefferwahrscheinlichkeiten, gezielte Schüsse, Rüstung, Deckung, die Gegner-KI – alles wie man es kennt und wie es sein soll. Die Gespräche sind gut geschrieben. Aber die Skillchecks sind leider, außerhalb von Gesprächen, Wahrscheinlichkeiten. Man braucht immer eine gewisse Stufe, um überhaupt eine Erfolgschance zu haben. Manchmal ist die dann 100%, oft aber viel weniger. Dann probiert doch jeder Spieler so lange, bis es klappt, und bei kritischen Fehlern wird eben neu geladen. Das ist ein blödes System. Viel besser ist es, wenn z.B. das Schloss aufgrund der hohen Fähigkeitsstufe auf jeden Fall geöffnet werden kann, oder eben nicht. Besonders blöd: Selbst auf der höchsten Stufe gibt es in der Spielwelt noch genug zu knackende Schlösser, die eine sehr geringe Erfolgschance haben. Da wird Schnellspeichern/Schnellladen zur Lebenszeitverschwendung.
Wenn ich schon bei Mankos bin: Die Grafik ist nur zweckdienlich, nicht hübsch. Und immer wieder gibt es bei den NPCs in den Gesprächen sichtbare Charakterportraits, die nicht zur Figur passen, besonders bei den Frauen. Die Technik ist nicht hervorragend, ich spielte die Windows-Version via Proton, weil die Linuxversion instabil war.
Doch insgesamt macht Wasteland 2 viel richtig. Die Kämpfe sind fordernd, aber nicht unfair, wobei das stark von der Qualität der benutzten Waffen abhängt. Die Begleiter kommentieren immer mal wieder die Handlung und neue Orte. Quests haben mehrere Lösungsmöglichkeiten bzw Entscheidungen, welche der Optionen gewählt werden soll: Verbünden wir uns mit den Banditen oder schlagen wir sie in die Flucht? Welche Faktion soll die Atombombe aufbewahren, welche Seite die Blutfehde gewinnen, oder ist etwa Frieden möglich? Diese Entscheidungen haben Auswirkungen, im Spiel und im Outro, was fast besser ist als die Umsetzung in den beiden ersten Fallout-Spielen.
Obwohl ein neues Spiel, fühlte sich Wasteland 2 sehr vertraut an. Es ist eben ein gutes Fallout. Wer es bis jetzt noch nicht gespielt hat (oder, auch das ist wie bei Fallout: Ich brauchte zwei Anläufe, um hineinzufinden) sollte das auf jeden Fall nachholen.
Athen vor der Epidemie
Monday, 16. March 2020
Selten, dass man in den Urlaub fährt und das eigentlich gar nicht mehr will. Aber trotz der Coronaepidemie wollte weder das Hotel (mit Verweis auf für sie dann anfallende Booking-Gebühren) noch Lufthansa (da keine Risikozone) uns aus den Buchungen entlassen. Also ging es doch nach Griechenland, als es in Deutschland gerade anfing mit ernsthaft steigenden Infektionszahlen.
Das war ganz gut so, das Timing passte. Während in Deutschland und insbesondere in NRW die Zahlen stiegen und stiegen, waren in Griechenland am Ende unseres Aufenthalts nur 130 betroffen. Am Rückflugtag wurden die Restaurants geschlossen, Grenzsperrungen sind angekündigt, wir kamen also gerade noch rechtzeitig raus und können uns jetzt zuhause einbunkern. Hatten bis dahin aber eine angenehmere und wahrscheinlich sogar sicherere Zeit.
Gleichzeitig war das natürlich auch ein bisschen gespenstisch, mit dem Hintergrund Urlaub zu machen. In Athen selbst war von allem Chaos erst wenig zu spüren. Aber in den Nachrichten bekamen wir ja schon mit, wie sich erst Erdogans Flüchtlingskrise, dann die Verbreitung des Coronavirus entwickelte. Erst Bilder von Ausschreitungen an der Grenze, dann Berichte über Maßnahmen anderer Länder, der Schock, fast währen der Quarantäne im Alternativziel Italien gewesen zu sein. Dann schlich es sich ins Straßenbild: Die Mundschütze, die Latexhandschuhe, die abendlichen vollen Einkaufstüten. Trumps Ausruf des Notstands sah ich live im Fernsehen, was in Verbindung mit den Reisebeschränkungen für Europäer und Artikel über das entstehende Reisechaos nochmal mehr trifft, wenn man selbst nicht zuhause sitzt. Und schließlich vor Abfahrt die geschlossenen Restaurants und stark bedrückten Besitzer und Angestellte in den noch offenen Läden, die Essen zum Mitnehmen anbieten durften.
Bis dahin hatten wir gutes Essen, gutes Wetter. Dann natürlich die überall durchschimmernde Geschichte, per in der Stadt verteilten Ruinen wie der Akropolis und in den Museen gesammelten Schätzen. Athen muss bis in die Nullerjahre fürchterlich verschmutzt gewesen sein, davon merkte man jetzt nur noch wenig. Etwas viel Verkehr nahe des Hotels (und völlige Rücksichtslosigkeit gegenüber Fußgängern seitens der Autofahrer), im Zentrum dann aber wenig befahrene Straßen und Fußgängerzonen und sogar Parks wie der, in dem das Titelbild oben entstand. Da Nebensaison und aufgrund der Umstände gab es auch nur wenige andere Touristen – es war nicht gespenstisch leer, wie es wohl bald sein wird, aber wirklich nicht überfüllt. Das war sehr angenehm. Athen hatte so all das Interessante einer historisch wichtigen Großstadt, aber nur wenige der Nachteile. Griechenland insgesamt wirkte wie ein ruhigeres, sicheres Mexiko in Europa.
Rick Steves Audioguides waren nett und so auch alle dort erwähnten Orte: Die Akropolis, das archäologische Museum, die Innenstadt, besonders die Agora (während bei vielen der kleineren Ruinenzonen auch ein Blick durch den Zaun gereicht hätte). Ohne Guide funktionierte das Akropolis-Museum, das insbesondere betont, wieviele Relikte aus Griechenland gestohlen wurden und weiterhin nicht zurückgegeben werden, was ich vorher beim Brexit mitbekommen hatte, denn Englands skandalöses Festhalten an der Beutekunst ist ein Streitpunkt beim möglichen Handelsabkommen. Aegina war die einzige, auf Wunsch der Miturlauberin besuchte Insel. Hübsch und wir hatten Glück mit Restaurant und Cafe; Agistri wäre die Alternativinsel gewesen.
Erwähnenswerte Restaurants waren:
- Asiaki, sehr gute asiatische Küche eines französischen (auch englisch sprechenden) jungen Paars.
- Peas, superfreundlich, veganes und sehr gutes Essen (Pita!)
- Klēmatariá auf Aegina, besonders weil die Köchin so nett war und es angenehm überraschend ist, so nahe des Hafens nicht in einer Touristenfalle zu enden.
Für sich genommen war es ein toller Urlaub.
StressTest: Lasttest und Mini-Benchmark für Android
Wednesday, 11. March 2020
Ich habe per F-Droid einen Benchmark gesucht und bin nicht fündig geworden. Hintergrund ist, dass angeblich beim G3 das Kühlsystem manchmal(?) nicht ordentlich funktioniert. Und es passt zu meiner Erinnerung: Als ich das erste mal für eine Weile das G3 benutzte wurde es unter Last heiß und dann die Helligkeit reduziert, besonders im Sommer mit Pokemon Go (das war als es rauskam) war das ein Problem. Ich wollte wissen, ob mein neues Modell betroffen ist.
Daher habe ich eine kleine App geschrieben, stressTest. Sie führt fannkuch-redux aus. Das ist eigentlich kein ernsthafter Benchmark, aber es belastet für einen Moment alle Kerne des Telefons und ist daher zumindest als Lasttest geeignet.
Und tatsächlich: Die Temperatur schoss direkt auf 80℃ hoch. Ich werde mir also bald näher ansehen, ob der Kühler verbessert werden kann. Genau für sowas ist das einfach zu öffnende LG-Telefon ja gedacht.
Das G3 bewältigte den Algorithmus in 30 Sekunden, das Wileyfox Spark+ brauchte 147 – was nicht unbedingt heißen muss, dass das G3 fünfmal schneller ist, aber es würde gefühlt passen. Es ist ein erster Ansatz, aber die Ergebnisse fand ich gut genug um die Anwendung hier zu teilen.
30 Sekunden Laufzeit beim G3 bedeutet wohl auch, dass neuere Telefone in wenigen Sekunden fertig werden, was dann wieder die Funktion als Lasttest kaputtmacht. Dafür braucht es entweder einen anderen Ansatz, oder gerade habe ich die Idee, einen Button für den Benchmarkmodus und einen zweiten für konstante Last einzubauen.
Der Quellcode ist offen, Lizenz ist GPL 3.0, ein APK habe ich eben gebaut und hier hochgeladen.
DB Navigator ohne Google
Monday, 9. March 2020
Überraschenderweise funktioniert der Bahn-Navigator auf Android auch ohne Google-Frameworks. Auf dem G3 habe ich ja LineageOS ohne diese installiert. Er behauptet zwar etwas anderes: Auf der Startseite kommt bei jedem Laden eine Meldung, dass die App ohne Google-Services nicht funktionieren würde. Aber das stimmt schlicht nicht; Fahrplansuche, Einloggen und sogar Ticketkauf geht durchaus. Und auch bei der Ticketkontrolle gab es keine Probleme.
Es ist höchst bedauerlich, dass die Bahn in ihrer Großkonzernbräsigkeit nicht nur die App nicht außerhalb des Play Stores anbietet, nichtmal als einfache APK auf der eigenen Seite, sondern sogar in die Anwendung irreführende Meldungen einbaut. Wenigstens funktionierts und die Anwendung selbst taugt mittlerweile.
F-Droid installieren
Falls noch nicht geschehen installiere F-Droid. Das ist ein alternatives App-Store, mit dem freie Programme installiert werden können. Für ein freies Android unabdingbar. Die Anwendung aktualisiert sich selbst, es ist also völlig okay das .apk von der Webseite herunterzuladen und die App darüber zu installieren.
Aurora Store installieren
Mit F-Droid kann nun der Aurora Store installiert werden. Falls – so wie hier – eben doch mal eine Anwendung aus dem Play Store benötigt wird, kann sie über den Aurora Store geladen werden. Wichtig dabei: Das geht anonym, sodass der eigene Google-Account nicht gefährdet wird. Den könnte Google sonst sperren.
Viele Apps aus dem Play Store werden ohne Gapps oder microG nicht funktionieren, der DB Navigator aber schon.
Bahn Navigator installieren
Im Aurora Store kann nun wie üblich die App gesucht und installiert werden.
Es gibt dann schon ein paar Absonderlichkeiten: Die oben erwähnte unzutreffende Warnmeldung, und dass beim Login keine Erfolgsmeldung erscheint, obwohl er funktionierte. Das sind aber beides keine kompletten Blocker.
LineageOS auf dem LG G3
Friday, 6. March 2020
Wie vorgesehen LineageOS auf dem LG G3 zu installieren war gar nicht so einfach.
Taugt daher als gutes Beispiel, warum solche Ansätze das Problem mit Android nicht generell lösen. Letzten Endes lief die Installation immerhin durch und die Aktion war nicht arg zeitaufwändig. Es wurden allerdings leider Windowsprogramme benötigt.
Installation
Die Installation folgt der Anleitung im Wiki, aber es gibt gerade im ersten Schritt ein paar Besonderheiten zu beachten.
Zuerst aber muss man wissen, wie man adb-Zugriff aktivieren kann. Das geht unter Einstellungen -> Allgemein -> Telefoninfo -> Software-Information, drücke siebenmal auf die Build-Nummer. Dann erscheint im Hauptmenü der Menüpunkt Entwickleroptionen, in dem USB-Debugging aktiviert werden kann.
Dazu sollte das genaue Modell geprüft werden. In Deutschland sollte das zwar das d855 sein, aber sicher ist sicher. Das steht ebenfalls bei Telefoninfo, bei den Hardwareinformationen.
Rooten
Mein neues gebrauchtes LG G3 kam mit Android 5 und einer v21 Firmware. Ich wollte erst unter Linux mit PurpleDrake Rootrechte bekommen, aber nach dem Neustart des Geräts fand das Skript das Telefon nie. Ein paar Forenposts ließen mich glauben, dass es mit einer älteren Androidversion klappen würde. Also installierte ich die.
Dafür folgte ich dem ersten Teil dieser Anleitung auf LTT. Die Essenz hier ist: Man lädt einen USB-Treiber für Windows, LGUP und eine ältere Androidversion für das G3 als .tot herunter (Ich wählte die LGD855AT-V10e-EUR-16G.zip) und spielt die dann per LG-Programm auf das Telefon auf. Purpledrake funktionierte danach aber immer noch nicht.
Was jetzt (vielleicht hätte das auch vorher geklappt) aber ging war das ursprünglich in der Anleitung empfohlene LG One Click Root, das ich dann auch unter Windows ausgeführt habe. Stumpf der Anleitung im Forum folgen und die Rootrechte werden freigeschaltet.
Recovery installieren
Recovery als .img herunterladen, dann auf das Telefon spielen:
onli@fallout:~/Downloads/g3$ adb push recovery-3.3.1-d855-themed.img /sdcard/recovery.img recovery-3.3.1-d855-themed.img: 1 file pushed. 5.5 MB/s (15503376 bytes in 2.665s) onli@fallout:~/Downloads/g3$ adb shell shell@g3:/ $ su root@g3:/ # dd if=/sdcard/recovery.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
Hier war ich vorher fast sicher, eine SD-Karte im Gerät zu brauchen. Aber dem war nicht so, das geht auch ohne.
Das Telefon ausschalten. Jetzt musste mit Lautstärke unten + Anschaltknopf dieses Recoveryprogramm gestartet werden, um damit LineageOS zu installieren.
LineageOS installieren
Die neueste Version herunterladen. Mit dem Recoveryprogramm werden die alten Daten gelöscht, das ging sehr schnell und wird in der Anleitung genau beschrieben. Das heruntergeladene .zip mit Lineage wird danach mit adb sideload lineage-16.0-20200223-nightly-d855-signed.zip
(Die Versionsnummer ist morgen natürlich schon anders) hochgeladen, nachdem vorher auf dem Telefon im Recoveryprogramm der Sideloader-Modus aktiviert wird. Hier hing ich eine Weile, weil nach dem Aktivieren des Modus nichts passierte – ich musste erstmal darauf kommen, dass jetzt auf dem PC mit dem gezeigten Befehl der Prozess gestartet werden kann. Hier fehlt einfach eine Bestätigung.
Der Upload lief dann problemlos, auch wenn am Ende am PC eine Fehlermeldung gezeigt wurde.
Optional könnten jetzt auch die Google-Programme installiert werden. Ich habe mir das gespart.
Nach einem Neustart per adb reboot
startete direkt LineageOS!
Das G3 mit LineageOS
Mein Eindruck bisher ist ziemlich positiv. Das G3 mit Lineage lief bisher schnell, Firefox schlägt sich gut auf dem Gerät, New Pipe funktionierte. Ich muss noch testen ob sich das alles in Praxis bewährt, aber ich bin zuversichtlich. Aktuelle Sicherheitsupdates auf einem Gerät von 2014, falls die Batterie Probleme macht kann sie gewechselt werden: So soll es sein.
Schon weil ich die Gapps (Googles Androidprogramme und -Frameworks) weggelassen habe ist LineageOS anders, dazu kommen die Anpassungen des Roms. Es war schon einiges da: Browser, Dateimanager, Kalender, Emailprogramm zum Beispiel. F-Droid kam dazu, damit folgten Firefox, VLC, NewPipe und Telegram. Was fehlt sind eben Programme wie Hangout und der Play Store. Wieder mal ohne die auszukommen ist Teil der Übung.
Nur schade, dass die Standortfunktion nicht funktioniert. Keine App bekommt einen Standort vom System übermittelt, obwohl die Berechtigung erteilt wird. Das macht Navigation schwierig. Das kann an LineageOS liegen, aber es kann auch sein, dass das GPS-Modul kaputt ist. Das hatte ich vorher nicht getestet.
Davon mal abgesehen glaube ich, dass ein älteres Androidsmartphone mit Lineage oder anderen Roms zu betreiben tatsächlich momentan eine gute Lösung ist. Falls die Linuxhandys ein Erfolg werden: Super, vom G3 wegzuwechseln wäre verkraftbar. Bricht der Support weg: Okay, schade, aber es war nicht teuer und da gebraucht gekauft wurde hiermit auch kein weiterer Müll produziert. Scheitern die Alternativen, bleibt es eben bei dieser Übergangslösung.
Löst 2020 Linux mein Problem mit Smartphones?
Wednesday, 4. March 2020
Update 12.04.2020: Bei der Liste der Lösungen habe ich beim Fairphone das Shiftphone mit aufgenommen, dem Volla Phone einen Eintrag gegeben, Pines jetzt erhältliche Ubuntuversion verlinkt.
Seit es Smartphones gibt sind diese PCs mit Telefonfunktion, die ich jetzt einfach Telefone nennen werde, ein Problem. Zu Beginn 2020 habe ich Anlass, mich damit auseinanderzusetzen. Zwei Gründe: Meine bisherige Problemlösung Problemvermeidung bekommt erstens keine Updates mehr, zweitens sind einige echte Lösungen am Horizont.
Doch was ist überhaupt das Problem? Telefone sind Wegwerfprodukte geworden, Produkt einer schlechten technologischen Entwicklung. Ich werde im Folgenden erklären wie ich das meine. Die einfachere Perspektive ist, dass ich die derzeitigen Angebote nicht gut finde, aber gerne doch ein neues Telefon hätte.
Das Problem im Detail
Wenn ich heute in einen Elektronikmarkt gehe – hier um die Ecke ist ein Saturn – habe ich die Wahl aus zwei schlechten Optionen: Ein iPhone oder ein Android-Gerät.
Warum sind sie schlecht? Andersrum: Was wäre gut?
Ein gutes Telefon hätte viel von einem PC. Ich könnte Bestandteile auswechseln, hätte Auswahl beim Betriebssystem auch aus freien Alternativen. Schnell genug für alle Software die ich ausführen will, ob das jetzt Entwicklungsumgebungen oder Spiele sind. Ein guter PC kann viele Jahre benutzt werden. Wird er zu langsam, hilft wahrscheinlich ein einzelnes Upgrade wie eine neue Grafikkarte, mehr Arbeitsspeicher oder eine SSD. Wenn es doch an den Kern geht, das Motherboard, ist mindestens das Gehäuse noch brauchbar.
Moderne Telefone können davon eine einzige Sache: Sie sind schnell genug für alles, was ich ausführen will. Das trifft selbst für alte Geräte zu. Telefonieren, SMS-Schreiben, Fotos machen, Chatten mit Software wie Telegram, Navigieren wenn unterwegs, im Internet surfen und Youtube schauen; Alle können alles. Ich behaupte, dem Großteil aller Kunden geht das genauso. Auch wenn es natürlich eine andere Käufergruppe gibt, die das Telefon anstatt eines PCs benutzt und für die es dann noch mehr können muss: Online-Banking und Spiele spielen wären dann zwei aus unterschiedlichen Gründen (Vertrauen, Performance) wichtige Punkte.
Zurück in den Elektronikmarkt. Das iPhone ist primär viel zu teuer. Teurer als mein PC! Es unterstützt die konkreten Anwendungsfälle. Aber ich kann es nicht upgraden. Ich kann es im Zweifel nicht reparieren. Wenn es keine Upgrades mehr bekommt kann ich kein alternatives Betriebssystem installieren. Es ist dann Schrott.
Android ist nicht viel besser, aber ein bisschen. Es gibt hier eine Vielzahl von unterschiedlichen Geräten, mit ganz unterschiedlicher Qualität, Reparierbarkeit und Verfügbarkeit von Updates. Nahezu alle können meine Anwendungsfälle abdecken, aber es könnte mir in dieser Welt durchaus passieren, ein Android-Telefon zum Preis eines iPhones zu kaufen und gar keine Sicherheitsupdates zu erhalten. Ein paar Gegenmaßnahmen gibt es, aber einfache und komplette Lösungen keinesfalls.
Telefone haben aus einer bestimmten Perspektive in der technologischen Entwicklung PCs überschritten. So viel leistungsstarke Hardware auf so engem Raum mit so guten Displays! Da braucht man sich nur die typischen PPI aktueller Hardware anzuschauen:
Aber sie haben die Standardisierung unterlassen, auch wenn Android darüber hinwegtäuscht. Sie sind konzeptionell vor dem IBM-PC stehengeblieben, es sind tausende proprietäre Insellösungen. Deswegen funktioniert die geplante Obsoleszenz mit eingeklebten Verschleißteilen wie Batterien, deswegen ist ein iPhone schwer reparierbar und kann den Kopfhöreranschluss weglassen um Bluetooth-Kopfhörer zu verkaufen, deswegen bekommt ein Android-Telefon gefühlt eine Woche nach Kauf keine Sicherheitsupdates mehr. Und deswegen gibt es kein GNU/Linux für Telefone, nur das auf Linux lose basierende Android, das nicht die gleichen Vorteile mitbringt und für jedes Modell angepasst werden muss.
Und da es keinen Standard gibt, kann der Markt diesen Umgang vorgeben: Du kaufst eins. Du nutzt es ein bis zwei Jahre. Wenn es dir wider erwarten in der Zeit nicht heruntergefallen und dabei kaputtgegangen ist, geht jetzt die nicht wechselbare Batterie kaputt. Wenn das nicht ausreicht, gibt es eben keine Sicherheitsupdates mehr. Du ignorierst sogar das: Wir schalten 2G ab. Kauf ein neues Telefon!
Das funktionierte früher schon deswegen, weil ein neues Telefon so viel besser war, dass sogar ich ich ein altes Android nicht behalten wollte. Das Display war so schlecht, das System so langsam, hatte man einmal eine bessere Alternative erlebt unerträglich. Ein ähnlicher Effekt, wie wenn man heute Amigaspiele oder erste 3D-Spiele auf der PS1 anschaut. Aber heute? Da ist mein 4 Jahre altes Budget-Telefon, wahrscheinlich schlechter als gute Modelle von 2014, für mich noch völlig okay. Und trotzdem kann ich es nicht problemlos vertreten es weiter zu nutzen, weil es keine Updates gibt (bei anderen Modellen gälte: Der Akku ist kaputt).
So war es bis jetzt. So ist es noch in Media Markt und Saturn. Aber ich erwähnte oben mögliche Lösungen am Horizont. Aber schauen wir doch erstmal, was bisher nicht funktioniert hat.
Bisher gescheiterte Lösungsansätze
Alle sind bis jetzt dran gescheitert, ein drittes Betriebssystem mit eigener Hardware zu etablieren. Nicht alle, aber manche hätten helfen können. Windows, Sailfish, Ubuntu Phone, Firefox OS, webOS, Blackberry probierten es (und wahrscheinlich vergesse ich einige).
Hätte jedes davon geholfen? Blackberry? Wohl kaum. Windows? Wahrscheinlich nicht, obwohl auf dem PC die Updatesituation auch mit Windows sehr viel besser ist. Sailfish, webOS, Ubuntu Phone, Firefox OS? Vielleicht ja. Denn ihr Fokus auf echtes Linux als Grundlage oder auf Webanwendungen zusammen mit den Status als kleinerer dritter Wettbewerber, der dann vielleicht als Alternative für die Telefone der anderen bereitstehen will, hätte zu einer Alternative nach Supportende des ersten Betriebssystems führen können.
Auch kam nie ein echtes modulares Telefon heraus. Dabei gab es daran großes Interesse. Google verfolgte das Konzept mit großem Tara für kurze Zeit als Projekt Ara, veröffentlichte aber nie etwas.
Module von Motorola sind dagegen nur kleine Erweiterungen, kein Auswechseln von Kernkomponenten. Das Fairphone 2 ist modular in Anführungsstrichen: Die Hardware ist in Modulen verpackt, was beim Reparieren hilft, aber du kannst generell nicht einfach neue und bessere Hardware einsetzen. Höchstens eine Teillösung.
Teillösungen
Hersteller sind dazu übergegangen, für manche Modelle minimale Supportzeiträume zu garantieren. Sogar Apple bietet ja doch Updates für ältere iPhones an. Bei Android gibt es die Modelle von Google, erst Nexus und jetzt Pixel, mit Supportzeitäumen von drei Jahren. Android One ist das gleiche Programm für andere Hersteller. Der Knackpunkt da aber: Drei Jahre ab Release sind verdammt kurz, und nochmal kürzer wenn man – wie ich – kein Telefon zum Releasepreis kaufen will. Und die Garantie gilt längst nicht für alle Modelle aller Hersteller.
Dann macht der Nutzer es eben selbst. Schon lange gibt gibt es Custom-Roms, Android nicht von Hersteller sondern von anderen Entwicklern. CyanogenMod war bekannt, LineageOS ist der Nachfolger, /e/ hat sich einen Namen gemacht, dazu gibt es viele unbekanntere Versionen, manchmal spezifisch für einzelne Modelle. Manche Telefone bleiben so lange über ihren offiziellen Supportzeitrahmen valide Optionen, insbesondere wenn sie einfach reparierbar sind. Dann funktioniert das gut. Aber es ändert den Markt nicht grundlegend, weil die Installation zu kompliziert ist und Support ungewiss. Mein Wileyfox Spark+ ist da das beste Beispiel: Es hat kein aktuelles Custom Rom, obwohl es mit einer Version von CyanogenMod ausgeliefert wurde! Genauso kann jedes andere Gerät von der Liste rutschen, im Zweifel einfach weil kein Entwickler sich berufen fühlt. Genau, da ist es wieder: Jedes Smartphone ist seine eigene proprietäre Insel. Oder aber der Bootloader ist gesperrt und der Hersteller hat die Obsoleszenz auf diesem Weg gesichert.
Manche der gescheiterten Ansätze für einen dritten Wettbewerber sind inzwischen eine Alternative zu Custom-Roms. Sie sind weitere Alternativen für bestimmte Android-Modelle. Sailfish OS ist eine Alternative für manche Xperias, Ubuntu Touch unterstützt ein paar Modelle mehr. Wie ernsthafte Bemühungen, eine Alternative für den Mainstream zu werden, wirken aber beide nicht mehr. Besonders zu Ubuntu Touch finde ich nichtmal aktuelle Reviews.
Lösungen am Horizont: Neustart für alternative Betriebssysteme, neue Telefone
Also, bleibt es für immer bei Teillösungen? Vielleicht nicht. Es gibt derzeit zwei gute Entwicklungen:
- Ernsthafte Bemühungen, eine stabile freie Linuxgrundlage auf Telefone zu bringen.
- Hardware zu verkaufen, die eine möglichst freie Betriebssystemauswahl zulässt.
Die Chance dafür stehen nicht schlecht. Wenn meine Einschätzung stimmt, dass die Technik den nötigen Stand erreicht hat. Wenn Anwender wie bei PCs nicht immer den neuesten Stand sofort haben müssen weil das vorhandene gut genug war, ist jetzt vielleicht erstmals die Grundlage da für eine echte, freie und nachhaltige Alternative.
postmarketOS
postmarketOS bringt Linux auf das Telefon. Beeindruckend im Rückblick Mitte letzten Jahres war, wie schnell so viele Geräte zumindest teilweise unterstützt werden konnten. Und er beginnt direkt mit dem besten Ziel:
Wouldn't it be great if you could take any obsolete smartphone from the past ten years and replace its outdated and insecure software with a maintained, modular free software stack?
Wie nützlich wäre das? Ziemlich! Denn mit einer stabilen Linuxgrundlage, am besten dem Standardkernel, fehlt nur noch die mobile Desktopumgebung. Für die gibt es Software, z.B. Plasma Mobile. Auch dass manche Designer Linux auf dem Desktop in ein mobiles Interface verwandeln wollten ist da zum ersten mal praktisch (ich habe da eine Pineingabe für Gnome vor Augen), so gibt es Bestandteile für passende Interfaces auch anderswo.
Kann ich das heute installieren und wirklich nutzen? Nein. Denn es gibt kein Gerät in der Liste unterstützter Geräte, in der alles nötige funktioniert. Das Projekt ist potentiell toll, aber keine Lösung für jetzt. Außer man will das Smartphone in einen PC ohne Telefonfunktion verwandeln.
PinePhone
Keine neue Hardware hat so in der Szene eingeschlagen wie das PinePhone von Pine64. Es ist Die erste Version war schnell ausverkauft obwohl nur adressiert an Entwickler, kostete $149 und das Ziel des Projekts ist es, ein offenes und nutzbares Telefon mit Linux als Kernel herauszubringen. Pine64 macht eigentlich eine Alternative zum Raspberry Pi, aber erstens ist das echte Hardware und schon eine gute Grundlage, und zweitens haben sie noch dazu bereits ein Laptop veröffentlicht, das Pinebook bzw Pinebook Pro. Und letzteres ist wohl ziemlich gut! Daher kommt die positive Einschätzung.
Fast jedes halb oder ganz freie Softwareprojekt mit ein bisschen Leben versucht sich jetzt am PinePhone: Ubuntu Touch, postmarketOS, Replicant (ein freies Android), Sailfish OS, sogar LuneOS (was mal webOS war) sendet ein Lebenszeichen. Gut möglich, dass einige davon auf dem PinePhone vollständig laufende Alternativen werden.
Bestätigend wirkt da die zweite verkaufte Vorversion: Die Community Edition: UBports sei noch nicht das fertige Produkt, aber vieles funktioniere bereits. Es ist nicht mehr nur an Entwickler adressiert, sondern auch an Ubuntu Touch interessierte Tester. Der Preis ist weiterhin $150 und bislang ist es noch verfügbar.
Purisms Librem 5
Das Librem 5 von Purism ist ein anderer Ansatz für ein Linuxhandy. PureOS ist hier das neu entwickelte freie Betriebssystem, mit Linuxkernel. Statt $150 kostet es $750, und es ist noch nicht veröffentlicht. Was sie vom Entwicklungsprozess durchscheinen lassen lässt auf ein gutes System und Telefon hoffen. Viel Fokus auf möglichst sichere Hardware mit echten Ausschaltknöpfen und einer gut benutzbaren Linuxumgebung.
Aber zu teuer ist das schon. Wer weiß, wenn sich trotzdem genug Käufer finden kommt auf der Grundlage der Entwicklung für das Librem 5 vielleicht ein günstigeres Modell.
Volla Phone
Nach einer gescheiterten Kickstartkampagne Ende letzten Jahres gab es danach eine erfolgreiche mit kleinerem Ziel. Auf Indiegogo und Kickstarter sind bisher 45.000€ zusammengekommen. Das Volla Phone soll ein Android und ein Linuxtelefon werden: Android ohne Googledienste, Unterstützung für Ubuntu Touch und einer Communityversion von Sailfish OS. Das Android sieht dabei auf den Bildern sehr umgekrempelt aus. Ohne Googledienste keinen Playstore und so fehlen manche Apps, praxistauglich ist das aber durchaus und der Datenschutzgedanke macht den Ansatz auch notwendig. Die Hardware ist ein Gigaset GS290, was auf den ersten Blick nicht schlecht aussieht. In der Vollavariante kostet es derzeit 359€, Zieltermin ist November.
Fairphone & Shiftphone
Copyright Fairphone, https://www.flickr.com/photos/fairphone/23624799326/in/album-72157632717840706/
Ich will das Fairphone hier nicht unerwähnt lassen, auch wenn es nicht neu ist und ich es nicht völlig verstehe. Ihr Ansatz ist es, ein möglichst nachhaltiges Telefon zu entwickeln, Fairtrade-Logo-auf-der-Produktseite-nachhaltig. Es ist die Softwareseite, die ich nicht verstehe: Kein Android One, selbst das aktuelle Fairphone 3 kommt noch nur mit Android 9. Und während das zweite Modell von /e/ und LineageOS unterstützt wird, fehlt das beim dritten noch. Was bringt reparierbare Hardware wenn die Softwareseite nicht stimmt?
Und doch: Währen das erste Modell ziemlich früh aufgeben werden musste, haben sie beim zweiten Versuch mit dem modularen Ansatz ein sehr gut reparierbares Telefon geschaffen und das mit dem dritten wiederholt. Wenn Ersatzteile verfügbar bleiben und der Softwaresupport nachzieht könnten die beiden modularen Fairphones eine Möglichkeit sein, sich dem Wegwerfsystem zu entziehen.
Günstig aber ist es nicht.
Ähnlich sind die Modelle von SHIFT. Auch hier verspricht der Hersteller, faire Löhne zu zahlen und umweltschützend vorzugehen (wieviel davon bereits bzw wie komplett der Ansatz gelingt ist umstritten). Wie beim Fairphone ist das Telefon selbst ungewöhnlich modular aufgebaut, sodass Reparaturen besonders einfach werden. Und die Grundlage ist wieder Android. Es gibt zwei aktuelle Modelle, die Preise liegen unter und über dem Fairphone 3, ein drittes SHIFT6mq kann für 799€ vorbestellt werden. Das aber ist alles nur Android. Das SHIFTmu dagegen soll mehr sein als ein Smartphone, sondern ein Smartphone und Rechnerersatz mit Zusatzmodulen. Und hier sollen dann auch Alternativen zu Android angeboten werden oder zumindest möglich sein. Vom Konzept würde es sehr zu Ubuntu Touch passen. Wieder ist es ein teures Gerät.
Welches Telefon wird es werden?
Jetzt, Anfang 2020, sehe ich noch keine brauchbaren neuen Alternativen. Ein Auge behalten würde ich in diesem Jahr aber insbesondere auf das PinePhone. Purism wird für mich erst interessant, wenn nach dem Librem 5 ein günstigeres Modell herauskommt. Beim Fairphone ganz vielleicht das zweite gebraucht, aber ein Blick auf die Angebote ist da nicht vielverprechend. Wer viel Geld für sowas über hat, den reizt sicher das Librem 5 oder das bereits verfügbare Fairphone 3.
Oder sehe ich das falsch und es gibt derzeit andere wichtige Entwicklungen?
Wenn nicht ist die praktische Lösung ist derzeit noch ein gebrauchtes Telefon, das auf den Gerätelisten von LineageOS oder von /e/ geführt wird. Vorsicht, bei Lineage sind nur die fettgedruckten aktuell, oben ist auch eine Checkbox zum Ausblenden der anderen.
Welche Modelle stechen da heraus? Für mich zuerst das LG G3 und HTC One M8. Beide sind ziemlich alt und entsprechend günstig zu finden, das G3 habe ich in Troyes benutzt und gut genug gefunden, es hat sogar einen auswechselbaren Akku. Beim One M8 mochte ich einfach den Vorgänger, den ich kurz mal für Softwareentwicklung hatte. Beide sollten, obwohl älter, nicht schwächer als mein jetziges sein. Allerdings muss man schon damit rechnen, dass ein Telefon von 2014 nicht mehr ewig hält.
/e/ listet auch noch das LG G5, obwohl da derzeit Bugs zum GPS-Modul im Tracker sind und ich Probleme vermute, da es bei Lineage fehlt. Es wäre sonst wohl ein hübsches Upgrade zum G3.
Es gibt da natürlich Artikel zu, so wie diesen. Das dort erwähnte Xiaomi Mi A1 lässt sich auch in Deutschland günstig finden.
Habe ich ein gutes Modell übersehen?
Mehr Erklärungen für Pipes per Blog!
Monday, 2. March 2020
Von Anfang an war klar, dass es für mich schwierig ist zu beschreiben was Pipes macht. Das ist wahrscheinlich eine höhere Einstiegshürde als die in den meisten Fällen einfache Bedienung. Deshalb war die Dokumentation so früh online.
Die wird jetzt durch einen neuen Blog ergänzt, dessen erste Aufgabe das Zeigen von Anleitungen ist.
Die Dokumentation erklärt zwar schon ein bisschen die Grundidee und -Bedienung:
Pipes gives you blocks that can fetch and create feeds, and manipulate them in various ways. Think filtering, extracting, merging and sorting. All you need to do is to connect those blocks with each other. Data just flows through such a pipe, it flows from block to block. At the end Pipes gives you a new feed, which you can give to other programs that support open web standards - such a program could be your feed reader.
Und geteilte Pipes dienen als Beispiele. Aber vollständige Schritt-für-Schritt Anleitungen fehlten noch. Sie erklären auch am besten nicht nur, wie man etwas macht, sondern auch was man überhaupt mit Pipes machen könnte. Anwendungsfälle.
Teil 4 der Howto-Serie zeigt zum Beispiel, wie man einen gekürzten RSS-Feed mit Pipes in einen ungekürzten verwandeln kann. Der fünfte Artikel erklärt den Twitter-Block, wie man damit Tweets in RSS-Feeds packt. Bei beiden Artikeln dachte ich, dass das auch ein paar meiner Leser hier interessieren könnte.
Wer den Blog abonnieren will: Wenn mir für diese Artikelserie die Ideen ausgehen werde ich wahrscheinlich ein paar der geteilten Pipes vorstellen (eine Idee aus der Umfrage) oder die Technik hinter Pipes erklären. Artikelwünsche nehme ich natürlich auch entgegen.
Zombie Driver HD
Friday, 28. February 2020
Mit Zombie Driver HD bin ich nicht warm geworden. Es ist ja eigentlich ganz nett gemacht: Zombies überrennen eine Stadt, der Spieler sitzt in einem bewaffnetem Auto und fährt durch die Zombiemassen. Mit Maschinengewehr, Flammenwerfer oder etwas später auch Raketenwerfer bewaffnet kann das Spaß machen.
Es gibt eine Kampagne, in der Missionen erledigt werden sollen. Rette Soldaten aus einem Gebäude wäre ein Beispiel. Und da fand ich das ganze dann nicht so toll, denn die Missionen waren teils ziemlich schwer und nicht richtig spaßig. Fummelig auch, wenn dauernd neue einzelne Zombies in den unter Zeitdruck komplett freizuräumenden Bereich rennen, oder Munition und Heilung nicht aufzutreiben ist und ich dann planlos herumgurken muss, bis doch mal irgendwo etwas auftaucht. Da bin ich nach kurzer Spielzeit ausgestiegen.
Sully
Wednesday, 26. February 2020
Sully ist eine wunderbar gelungene Verfilmung der Landung auf dem Hudson. Tom Hanks spielt den Piloten Sullenberger, der damals nach dem Ausfall beider Triebwerke in wenigen Sekunden entscheiden musste wie zu reagieren ist. Clint Eastwood war der Regisseur, was hier vor allem wegen der überraschenden Qualität des Films extra erwähnt gehört. Ich vermute, dass er nicht nur wegen Tom Hanks Leistung und dem Drehbuch so gut funktionierte, sondern auch wegen Eastwood.
Fokus der Handlung ist nicht die Landung selbst, sondern die direkt danach stattfandende Untersuchung. Schnell wird klar, dass die ungewöhnliche Wasserlandung von der Behörde nicht als Heldenleistung verstanden wird, sondern als unnötig riskantes Manöver außerhalb jeglicher Richtlinien. Warum nicht einfach zum nächsten Flughafen zurückgleiten?
Mehr will ich nicht spoilern, aber das ist der Handlungsrahmen. Sullenberger hadert mit sich, gerade anfangs: Hat er es wirklich richtig gemacht? Und das ist das tolle: Der Zuschauer weiß es ja auch nicht wirklich. Klar hat man damals von der Landung gelesen, dass er als heldenhafte Figur gepriesen wurde auch. Aber so ist es ja auch anfangs im Film, doch war das tatsächlich so? Hat die Behörde recht, oder zerstört sie seine Existenz auch im Unrecht? In Rückblenden wird erst Sullenbergers Hintergrund gezeichnet, um erst dann die Landung in voller Länge zu zeigen. Was ja aber auch nicht alles beantwortet. Das kommt dann erst im Finale.
Zwischendurch gibt es Hotel, Pub und New York zu sehen, in ihrer ganzen beschränkten Hübschheit. Was den Film trägt ist weniger das drumherum als Hanks Inszenierung des Heldentums: Sullenbergers Anspannung, seine Zweifel, sein Verhalten während des Flugs, bei und nach der Landung. Ein schlechterer Regisseur oder Schauspieler hätte das mit amerikanischem Pathos vollgeballert. Das macht Sully aber nicht. Der Film lässt die Taten und überlegten Worte des Piloten für sich selbst sprechen, das höchste überzeichnende Element ist ein verknappter Kommentar über den Glücksfall, die Wasserlandung in einer Stadt durchgeführt zu haben, in der Rettungskräfte so schnell reagieren konnten.
Vielleicht kippt das ein bisschen am Ende, darüber ließe sich diskutieren. Ich denke, da fehlte die Zeit. Doch insgesamt fand ich diese Inszenierung sehr gelungen und überraschend bewegend. Wenn amerikanische Heldenverklärung, dann doch bitte so.
Orwell (das Spiel)
Monday, 24. February 2020
Orwell ist ein Indie-Spiel mit wenig Spielmechanik, das trotzdem gut funktioniert.
Ihr werdet von einem autoritären Regime angeheuert, eine Rolle in einem Überwachungssystem zu spielen. Es ist an euch, Informationen zu markieren – und an eurer Kontaktperson, aus nur den markierten Informationen Schlüsse zu ziehen. Die Kontaktperson ist kein anderer Spieler, sondern das Spiel. Informationen sind vordefinierte Textstellen auf im Spielinterface angezeigten Webseiten, z.B. das Profil auf einem Facebook-Äquivalent, in dem der Wohnort steht, oder wo eine der überwachten Personen gegen die Regierung gewettert hat (Motiv!). Oder Chats, die dann im Spiel gerade ablaufen.
Teils widersprechen die Informationen sich: Dann muss entschieden werden, was geglaubt wird, die übermittelte Version der Geschehnisse kann keine Konflikte haben. Oft genug kannst du Informationen auch verschweigen, aber nicht immer: Manchmal geht das Spiel nicht weiter, bis eine Kerninformation dann doch übermittelt wird.
Mit diesem Grundgerüst wird eine Geschichte um eine Terrorzelle erzählt, deren Bombenanschläge verhindert werden sollen (wenn man das denn will) und bei der es herauszufinden gilt, wer ihr angehört.
Orwell lag sicher mal einem Humble Bundle bei oder wurde dort verschenkt, es war schon lange ungespielt in meiner Spielesammlung auf Steam. Ich habe nicht bereut es endlich angespielt zu haben. Denn die Geschichte wird gut erzählt, die eigenen Entscheidungen scheinen Auswirkungen zu haben, und ja, auch wichtig: Es vermittelt gut die Überwachungsstaatsproblematik, wobei es im Grunde ja nur leicht das System dystopiert, in dem wir bereits leben.
Eine SQLite-Datenbank mit mehreren Prozessen teilen
Friday, 21. February 2020
In der FAQ von SQLite steht:
Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.
Genau in dieser Situation war ich, und genau das ging nicht. In meinem Szenario läuft puma im Clustermodus, das heißt da gibt es mehrere Prozesse. Alle davon lesen die gleiche Datenbank. Zusätzlich gibt es einen schreibenden Prozess, der die Datenbank aktualisiert. Dank --preload
wird der configure
-Block der Sinatra-Anwendung nur einmal ausgeführt, dort startet die Aktualisierung in einem Thread. Also ist es genau wie in der FAQ beschrieben, ein schreibender Prozess, mehrere lesende. Doch es hagelte Fehler:
Error storing data: database is locked could not get data: database is locked
Probiere es selbst aus: Starte mit diesem Ruby-Skript einen Prozess, der in eine Datenbank schreibt:
require 'sqlite3' db = SQLite3::Database.new "test.db" db.execute "CREATE TABLE IF NOT EXISTS test(test INTEGER);" while true db.execute "INSERT INTO test VALUES(1);" db.execute "UPDATE test SET test = 2;" sleep 1 end
Und jetzt starte ein oder mehrere Prozesse, die diese Datenbank lesen:
require 'sqlite3' db = SQLite3::Database.new "test.db" while true p db.execute "SELECT * FROM test;" sleep 0.5 end
Und auch bei dir wird das sterben:
/home/onli/.rvm/gems/ruby-2.5.3/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step': database is locked (SQLite3::BusyException)
In der FAQ kann doch nicht gemeint sein, dass mehrere Prozesse auf die Datenbank zugreifen können, solange sie haufenweise manuell solche Exceptions fangen und gescheiterte Zugriffe nochmal probieren? Was stimmt da nicht?
Des Rätsels Lösung: Der FAQ-Eintrag ist unvollständig.
SQLite kann tatsächlich über mehrere Prozesse hinweg Datenbankzugriffe teilen, und einer dieser Prozesse darf auch schreiben. Aber nicht in der Standardkonfiguration. Damit sich SQLite verhält wie beschrieben muss Write-Ahead Logging (WAL) aktiviert werden.
Wenn WAL aktiviert ist werden Änderungen nicht mehr direkt in die Datenbankdatei geschrieben, sondern erstmal in eine temporäre Datei. Ab und an wird dann synchronisiert. Es ist dieses Schema, das mehrere parallele Zugriffe über Prozessgrenzen hinweg ermöglicht.
Aber WAL ist standardmäßig aus. Um es zu aktivieren muss der Modus per PRAGMA aktiviert werden:
PRAGMA journal_mode=WAL;
Das ist persistent! Während andere Pragmas beim jeden Öffnen der Datenbank neu gesetzt werden müssen bleibt WAL aktiviert.
Und richtig: Die Testskripts von oben sterben nicht mehr, meine Anwendung beschwerte sich bisher nicht mehr über die gesperrte Datenbank.
Das ist wohl leider nicht 100%. In der Doku werden drei Szenarien beschrieben, in denen trotz WAL die Datenbank gesperrt sein kann:
- Wenn ein Prozess
PRAGMA locking_mode = EXCLUSIVE;
setzt. Simpel zu lösen: Mach das für den normalen Betrieb einfach nicht. - Wenn die letzte Verbindung (=Connection) zu einer Datenbank schließt und die WAL-Datei abgearbeitet wird. Das ist der Fall der Sorgen bereiten sollte, denn je nach Anwendung kann das regelmäßig passieren. https://sqlite.org/pragma.html#pragma_busy_timeout sollte dann eine Lösung sein.
- Wenn die letzte Verbindung zu einer Datenbank abstürzt und die nächste Verbindung die Datenbank wiederherstellt. Das sollte bei einer stabilen Anwendung nicht passieren und ist daher vermeidbar.
Sieht so aus, als könnte SQLite doch auch in diesem Szenario die Datenbank der Wahl bleiben. Andere Datenbanken mit einem Client/Servermodell haben hier zwar einen klaren Vorteil: Parallele Zugriffe sind gar kein Problem, auch mehrere schreibende nicht. Aber mit WAL und busy_timeout kann SQLite doch auch dieses Szenarien abdecken, und damit eines mehr als ursprünglich erwartet.
Mad Max: Fury Road
Wednesday, 19. February 2020
Gesehen, toll gefunden. Half in the Bag triffts:
Ich musste den Film alleine gucken, weil die Mitbewohnerin den ersten zu verstörend fand. Schön ist die Welt in Fury Road sicher auch nicht, aber ich denke sie hätte diesen Teil sehen können: Ein bisschen verträglicher ist er doch. Die Actionszenen sind super gemacht und es stimmt, da ist fast keine Pause drin, trotzdem ist Charakterentwicklung da und es wird eine Welt gebaut.
Mein Blogsystem ursprung ist jetzt 1.0
Sunday, 16. February 2020
Während hier Serendipity läuft, setzt der Blog von pc-kombo auf ursprung. Das ist eine von mir in Ruby/Sinatra geschriebene Blogengine, gestartet als Experiment für Blogs als dezentrales soziales Netzwerk, inzwischen auf das wesentliche reduziert – aber eben nicht minimaler als das, es ist kein Generator für statische Seiten, sondern ein echter Blog mit Kommentaren, Tags, Trackbacks, Designs; samt Spamfilter, Editor und Markdown.
Für mich ist es weiterhin praktisch diese Alternative zu haben, die besser zu meinem bisher üblichen Serverstack passt: Ruby hinter Nginx. Da ist ursprung einfacher einbaubar als die meisten anderen Blogengines.
Die bestehende Installation werkelte jetzt ein paar Jahre fleißig vor sich hin, aber ich hatte das Repository etwas vernachlässigt und nicht alle dann doch angefallenen Patches dort sauber eingebaut. Beispielsweise funktionierte der Installer nicht mehr, weil er noch Browserid aufrufen wollte. Alles derartige ist jetzt bereinigt. Außerdem ging ich die Baustellen an, die mich bei einer Neuinstallation störten: Nokogiri zum Beispiel, das kompiliert werden muss und daran auf den Servern immer wieder scheitert, wurde durch das unproblematischere Oga ersetzt.
Um das zu verdeutlichen bekam ursprung auch endlich ein richtiges Release, die 1.0. 2015(!) hatte ich zuletzt mit der 0.1 einen Entwicklungsstand markiert, ab dem es ein echter Blog war und stabil zu laufen schien.
Das etwas angepasste und übersetzte Changelog:
- Der Editorinhalt wird im Browser zwischengespeichert, damit geschriebene Einträge nicht verlorengehen
- Einige Designs des classless-Projekts werden mitgeliefert.
- Wie oben beschrieben, Oga ersetzte Nokogiri. Dafür wurden auch ein paar andere Abhängigkeiten ausgewechselt.
- Einträge setzen einen Link als canonical, weil ähnlich wie bei Serendipity der Abschnitt hinter der id frei angepasst werden kann (und solcher duplicate content von Google nicht geschätzt wird)
- Der RSS-Feed validiert
- Login: Portier ersetzt Browserid/Persona
- Das Portier-Loginformular ist jetzt auch auf seiner eigenen Seite, ich fand das für Besucher zu störend.
- Fix: Trackbacks verschluckten sich an Leerzeichen in der URL
- Fix: Die Undo-Funktion für gelöschte Einträge ging nicht mehr, weil dabei die inzwischen aus Browsern entfernte Javascript Funktion
contains
aufgerufen wurde.
Im Zweifel ist das nur Aufräumarbeit, die mir zugute kommt wenn ich ursprung woanders einsetze (Pipes z.B. sollte auch einen Blog haben). Wenn es noch jemandem sonst hilft, um so besser.
Cliqz, eine erstaunlich gute Google-Alternative
Wednesday, 12. February 2020
Wer hätte gedacht, dass ausgerechnet von deutschen Verlegern einmal eine echte europäische Suchmaschine kommen würde? Und dann ist es auch noch die Hubert Burda Media, Leistungsschutzrechtsverfechter und damit selbsterklärter Feind des Internets, die bei der deutschen(!) Cliqz GmbH die Mehrheit haben. Andererseits ist da auch Mozilla mit dabei, und Cliqz verfolgt ein interessantes Konzept: Nix da mit Indexmitbenutzung, sondern vollständige Eigenentwicklung. Was völlig konträr zum Ansatz von duckduckgo ist – der anderen Google-Alternative, die in meinen Augen etwas stagnierte.
Ah, und bei wem da was klingelt: Genau, Cliqz war und ist eine Browsererweiterung und auch ein Browser. Uninteressant für mich, ich rede hier nur über die Suchmaschine.
Zu Cliqz gibt es einen starken Entwicklerblog, bei dem man nur hoffen kann dass er weiter befüllt wird. In The Architecture of a Large-Scale Web Search Engine, circa 2019 wird zum Beispiel ziemlich ausführlich beschrieben, wie Cliqz intern aufgebaut ist. Lesenswert, egal was man von den folgenden Suchergebnissen hält.
Testsuchen
Machen wir mal ein paar Testsuchen. Denn hier ist ja das Problem: In den letzten Jahren war Google einfach immer besser als Mitbewerber Bing, und lange gab es nicht außer Google und Bing. Das sieht jetzt etwas anders aus. Die Wettbewerber 2020 sind Google, duckduckgo, Cliqz und Qwant. Qwant ist ähnlich wie Cliqz eine europäische Suchmaschine, allerdings wird hier wohl der Bing-Index mitbenutzt. Qwant hatte ich mal eine Weile getestet und dann für nicht gut genug befunden, mal sehen wie es sich jetzt schlägt. Die Suche wird in einem privaten Tab ausgeführt, besonders um Googles Ergebnisse nicht zu verfälschen.
Was einfaches zuerst: Ubuntu Download.
Google:
Cliqz:
duckduckgo:
Qwant:
Okay, das war ordentlich. Machen wir es schwieriger: Wird pc-kombo gefunden? pc-kombo:
Google:
Cliqz:
duckduckgo:
Qwant:
Ja, das ändert etwas.
Und dieser Blog? Tatsächlich nicht aus reiner Eitelkeit, die Suchergebnisliste zeigt – Spoiler – ein Problem der Branchengröße. onli-blogging:
Google:
Cliqz:
duckduckgo:
Qwant:
Das diskutiere ich weiter unten ausführlich.
Für den Alltag relevant sind Dinge wie Behörden. Da sollte die Suchmaschine entweder zur richtigen Webseite verweisen, oder die wichtigsten Informationen (Öffnungszeiten, Adresse) direkt anzeigen. Was sagen sie denn zum Bürgerbüro Siegen:
Google:
Cliqz:
duckduckgo:
Qwant:
Ein Punkt für Google.
Ich persönlich suche aber besonders oft Programmierfragen. Hier möchte ich entweder zur offiziellen Doku, zu einem Blogeintrag oder zu einer Stackoverflow-Frage geführt werden, wenn dort denn auch die Antwort steht. Nehmen wir mal eine aus meiner Historie: ruby instance variable get:
Google:
Cliqz:
duckduckgo:
Qwant:
Da sind alle nicht schlecht.
Zwischenfazit
Erstmal unabhängig von den Ergebnissen: Cliqz funktioniert! Als Browsersuchmachine auf dem Desktop ist die Suche schnell genug. Ähnlich wie bei duckduckgo ist Google ein !g entfernt, wenn die Ergebnisse mal nicht passen. Und das passiert durchaus mal, bei manchen Suchanfragen ist der Index schlicht leer, und die Bildersuche ist noch fast komplett kaputt. Auf dem Telefon ist die Suchergebnisseite beim Aufbau merklich langsamer als duckduckgo, ob das jetzt am HTML/Javascript oder an der Verbindung zum Server liegt. Optimierungspotential ist also in jedem Fall da, aber vielversprechend ist das schon, wie die Ergebnisse zeigen.
Die Ergebnisse diskutiert
Aber jetzt wieder zu den Ergebnissen.
Die erste Suche war für alle vier problemlos. Ubuntus Downloadseite wird gefunden. Ob da der beste Treffer jetzt Download Ubuntu Desktop oder Get Ubuntu ist kann kaum entschieden werden.
Bei der Suche nach pc-kombo werden die Ergebnisse interessanter. pc-kombo ist eine kleine Seite, eine Nischenseite. Aber sie bekommt durchaus Besucher, ist also nicht völlig obskur. Ob sie im Index ist sagt etwas darüber aus, wie umfassend er ist.
Google erledigt das gut. Der erste Platz ist die Hauptseite, der Builder wird untendrunter angezeigt. Das war für mich nicht völlig überraschend, denn natürlich überwache ich die Performance der Seite in Googles Webmastertools.
Cliqz aber war ähnlich gut, völlig ohne meine Aufmersamkeit. Die Hauptseite ist der erste Treffer.
Duckduckgo hingegen schwächelt: Erster Treffer ist eine spezifische Unterseite, ein PC-Build, zweite der Blog. Warum fehlt hier die Hauptseite?
Qwant allerdings ist nochmal schlechter, pc-kombo wird einfach gar nicht gelistet. Der Index ist zu klein.
Mit der Suche nach onli-blogging will ich etwas anderes zeigen: Googles Beliebigkeit.
Google kennt diesen Blog seit einem Jahrzehnt. Und tatsächlich wird er hier auch ganz oben gelistet. Aber was sind all die anderen Ergebnisse? Top 10 Free online blogging platforms? Man kann erahnen wie Google hier versucht den Suchbegriff zu interpretieren, aber das ist schon sehr frei, und ich bezweifle dass es hilfreich ist. Manche Suchen sind deswegen mit Google kaum noch zu erledigen, weil der Suchbegriff uminterpretiert wird.
Cliqz findet den Blog auch zuerst, zeigt dann sogar noch einen Artikel, aber danach werden die Ergebnisse auch dort sehr komisch. Spiegel Online? Online banking? Schwach.
Die Ergebnisse in duckduckgo allerdings sind hervorragend. Nicht nur wird der Blog zuerst gezeigt, sondern die anderen Ergebnisse sind thematisch verwandt oder Seiten, die über Links in Beziehung stehen.
Bei Qwant finde ich es schade, dass der Blog nicht ganz oben steht, aber immerhin wird er gelistet und Blogger und Wordpress sind zum Suchbegriff passende Ergebnisse.
Kommen wir zum Bürgerbüro. Oder: Kommen wir zum Bürgerbüro?
Mit Google auf jeden Fall: Da stimmt einfach alles. Adresse, Zeiten, Fotos, sogar die Suchergebnisliste passt.
Cliqz verfehlt knapp ein gutes Ergebnis: Der erste Treffer in der Ergebnisliste ist gut. Aber die extrahierte Kartenposition ist ein Minibüro in Eiserfeld, ein Vorort, würde komplett in die Irre führen.
Duckducksgo Ergebnisse sind solide. Nichts wird extrahiert, aber die gefundenen Seiten passen.
Ähnlich bei Qwant, die Ergebnisse passen, extrahiert wurde nichts. Ob die Ähnlichkeit durch ihre gemeinsame Bing-Nutzung kommt?
Bei der Instanzvariablensuche sind die Ergebnisse schwieriger zu bewerten.
Googles Ergebnisse sind okay. Google liebt diese APIdock-Seite, die ich als frustrierend empfinde. Ein Verweis zur echten Doku wäre hier besser. Aber es beantwortet die implizierte Frage, auch das Stackoverflow-Ergebnis auf Platz zwei passt.
Cliqz Ergebnisliste ähnelt der von Google sehr. Auch hier ist APIdocks zu weit oben, aber auch hier wird die Stackoverflowantwort gefunden. Und der in meinen Augen beste Link, zur Object-Dokumentation, taucht in der Liste auf.
Duckduckgo interpretiert die Frage anders. Auch hier ist APIDock und damit die Antwort vorhanden, aber danach gibt es einen vagen Rundumschlag um Instanzvariable in Ruby. Da wird etwas verpasst, dass mit get ein klarer Verweis auf die Objektmethode im Suchbegriff steckte. Dementsprechend passt der Stackoverflowauszug auch nicht.
Genauso bei Qwant. Der Stackoverflowauszug ist wenig hilfreich. APIdock wird zuerst gefunden, die Stackoverflowantwort ist immerhin auf Platz drei. Der Rest ist Fluff.
Fazit: Da geht was
Mein Fazit muss etwas berücksichtigen: Als ich damals duckduckgo entdeckte dachte ich, dass dort eine echte Google-Alternative entsteht. Nur noch etwas Feintuning, nur noch etwas Indexaufbau! Stellt sich raus, nein, dieser letzte Schritt ist so schwer, dass immer noch zu oft der Wechsel zu Google als Suchmaschine notwendig ist. Und von Verbesserungen bei den Suchergebnissen bemerkt man als Nutzer nicht viel.
Wenn man das mitdenkt ist der Zustand von Cliqz erstmal erstaunlich gut. Da ist ein eigener Suchindex vorhanden, der alle getesteten Suchbegriffe abdeckte und ordentliche Ergebnisse liefert. Benutzbar, ohne AMP oder wahrnehmbaren anderen Bloat. Aber: Auch hier wird Google nicht erreicht, wie wenn bei der Suche nach dem Bürgerbüro das falsche ausgewählt wird.
Die Suche nach onli-blogging zeigt aber, dass Google durchaus nicht perfekt ist. Schaut man sich objektiv die Suchergebnisliste an ist für diesen Suchbegriff 90% des gefundenen Schrott. Nicht etwa nur, weil es nicht der gemeinte eigene Blog ist, sondern auch weil die anderen Seiten so mies sind, Geldverdien-im-Internet-Listen SEO-Schrott. Und auch wenn duckduckgo hier nicht schlecht war und ich das Argument vielleicht überbewerte: Dass Cliqz hier mit dem eigenen Index bessere Ergebnisse finden kann halte ich nicht nur für möglich, sondern für wahrscheinlich.
Erstaunlich und erfreulich. Es ist 2020 und Google dominiert alles, und doch stehen wir auf einmal mit validen Alternativen da, die alle behaupten die Privatsphäre achten zu wollen. Duckduckgo, was Bing plus eigenen Beantwortungsmechanismen ist, funktioniert nicht schlecht (und scheitert inzwischen nicht mehr völlig an deutschsprachigen Ergebnissen). Qwant, wohl ein eigener Index plus Bing, ist auch nicht so weit weg, wenn auch der schwächste Kandidat diesmal. Und mit Cliqz bekommt man jetzt sogar ordentliche Suchergebnisse ganz ohne Bing und Google. Jede davon ist als Erstsuchmaschine nutzbar, solange Google in der Hinterhand bleibt.
Ein deutsches Medienunternehmen als Betreiber der größten Suchmaschine ist zwar aufgrund deren Politik eine Horrorvorstellung, aber eine valide deutsche Alternative zu Google zu haben ist auch dann positiv, wenn sie von einem solchen Betrieb kommt. Solange sie nicht zum Marktführer wird, aber davon sind wir weit weg.
Wichtiger zurzeit: Ist Cliqz benutzbar? Ja, und das gar nicht mal so schlecht.