Mit BOINC gegen Corona rechnen
Monday, 6. April 2020
Es gibt mindestens zwei Programme, um den eigenen PC bei der Suche nach Mittel gegen den Coronavirus helfen zu lassen. Da wäre zum einen Folding@home, wo Proteinfaltungen simuliert werden. Bei der Software BOINC gibt es dagegen das Projekt Rosetta@home, das dreht sich ebenfalls um Proteine und Faltungen, es gibt aber wohl durchaus Unterschiede was berechnet wird. Es scheint als Laie egal, beide könnten helfen.
Bei mir unter void war nur BOINC in den Quellen, bei Ubuntu wäre für Folding@home auch ein .deb auf der Webseite verfügbar. Ich installierte daher BOINC:
sudo xbps-install boinc
Dann startet man am besten den boincmgr
. Er führt durch die Einrichtung und ermöglicht danach die weitere Konfiguration, zum Beispiel wann BOINC arbeiten soll.
Zuerst ist Name und Passwort zu wählen:
Danach erschien bei mir keine für mich klar erkennbare Projektauswahlliste. Rosetta zeigt aber auf der Webseite die URL, http://boinc.bakerlab.org/rosetta/, mit der das Projekt manuell hinzugefügt werden kann:
Man kann auch noch ein Team auswählen, dem man beitreten will. Jetzt sollten auch die Arbeitsaufträge ankommen. Ich habe, um davon und insbesondere die anfänglichen Downloads mehr zu sehen, View -> Advanced View ausgewählt.
Options -> Computing Preferences erlaubt dann noch zu wählen, wann die Anwendung Berechnungen starten soll, beispielsweise nur wenn der Prozessor gerade nichts anderes macht. Das ist auch in der Menüleiste umschaltbar.
Rosetta scheint nämlich ausschließlich den Prozessor zu nutzen. Die Grafikkarte wurde bei mir unabhängig von den Einstellungen nicht belastet. BOINCs Wiki listet Rosetta auch nicht als GPU-Projekt. Das wäre bei Folding@home anders.
Wie man diese Alternative einrichtet zeigte übrigens Linus Tech Tips:
Das Video hat Windows im Fokus, aber abgesehen von der Installation sollte sich da nichts unterscheiden.
Covid-19 Humble Bundle
Wednesday, 1. April 2020
Humble Bundle hat ein ein größeres Bundle rausgebracht. Die Einnahmen sollen zu 100% an gegen die Pandemie kämpfende Organisationen gehen. 45 Spiele und dazu 40 E-Books oder Hörbücher sind drin. Fast alle der Spiele laufen unter Linux:
- Into the Breach (mit Proton)
- Undertale (nativ)
- Hollow Knight (nativ)
- Wizard of Legend (nativ)
- Totally Accurate Battle Simulator (mit Proton)
- The Witness (mit Proton)
- SUPERHOT (nativ)
- Tilt Brush (mit Proton)
- Lego Batman 3 (mit Proton)
- Killing Floor 2 (mit Proton)
- Fahrenheit: Indigo Prophecy Remastered (nativ)
- Darksiders II Deathinitive Edition (mit Proton)
- Darksiders Warmastered Edition (mit Proton, evtl nicht perfekt)
- Sniper Elite 3 (mit Proton)
- This is the Police (nativ)
- The Jackbox Party Pack 2 (nativ)
- Stick Fight: The Game (mit Proton)
- Brothers: A Tale of two Sons (mit Proton)
- Party Hard (nativ)
- Worms Revolution (mit Proton)
- Europa Universalis IV (nativ)
- Tropico 4 (mit Proton)
- GNOG (mit Proton, dünne Datenlage)
- Broken Age (nativ)
- Brütal Legend (nativ)
- Psychonauts (nativ)
- Pac-Man Championship Edition (mit Proton)
- Pikuniku (nativ)
- World of Goo (nativ)
- Super Hexagon (nativ)
- VVVVVV (nativ)
- Hacknet (nativ)
- A Good Snowman Is Hard To Build (nativ)
- Rebuild 3: Gangs of Deadsville (mit Proton)
- DUCATI - 90th Anniversary (mit Proton, dünne Datenlage)
- HIVESWAP: Act 1 (nativ)
- Alien Spidy (mit Proton)
- LostWinds (mit Proton)
- Zombotron (mit Proton)
Zu A Mortician's Tale gibt es in der Protondatenbank keine Einträge, zu Speed Brawl auch nicht, beide könnten sogar auch laufen. Stealth Inc 2: A Game of Clones braucht manuell angewendete Tricks um zu starten. Magicka funktioniert wohl manchmal mit einigem Aufwand. Agents of Mayhem funktioniert als einziges Spiel im Bundle definitiv nicht.
Was sind die Highlights? Es ist so groß und divers, dass das kaum zu sagen ist. The Witness vielleicht, wenn man Puzzlespiele mag. Hollow Knight und Into the Breach sollen toll sein, aber die muss ich noch spielen. Party Hard klang nett absurd. Wer Topico noch nicht kennt hat mit Tropico 4 ein tolles Aufbauspiel vor sich, Europe Universalis IV ist wohl ähnlich fesselnd wie Crusader Kings 2.
Über Brütal Legend habe ich im Blog geschrieben und damals gewarnt, das war aber abgesehen von den technischen Problemen ein gutes Spiel und ist heute nochmal einen Versuch wert. Fahrenheit fand ich gleichzeitig vermurkst und klasse. Psychonauts ist ein beliebter Klassiker, den ich angespielt habe, aber bei dem ich dann steckengeblieben bin und es nicht beendet habe. Über World of Goo schrieb ich vor über zehn Jahren, es ist eine sehr positive Erinnerung. All diese Spiele dürften die meisten aber schon haben.
Insgesamt ist das schon ein gutes Bundle. Man sollte nur gucken, dass wenigstens ein paar Spiele dabei sind, die einen persönlich wirklich interessieren. Und wer bisher fleißig Humble Bundles gekauft hat sollte prüfen, dass nicht zuviele der Spiele schon in der eigenen Sammlung drin sind.
Das Bundle ist noch 6 Tage verfügbar, bis zum 07.04.2020.
Rückblick auf das virtuelle Serendipity-Camp (und neues zu utf8mb4)
Wednesday, 25. March 2020
Traditionell treffen sich die Mitstreiter des Serendipity-Projekts einmal jährlich im Linuxhotel in Essen. Geplant war es dieses Jahr am gerade vergangenen Wochenende. Corona hat uns das natürlich unmöglich gemacht. Stattdessen haben wir uns online getroffen, am Samstag per Jitsi Meet, am Sonntag gab es noch etwas Aktivität im Slack-Chat.
Es ist natürlich nicht das gleiche. Und Gedanken, da strukturiert mehr zu bieten als nur da zu sein und eventuell gemeinsam zu diskutieren und entwickeln waren nach dem Schwenk auf online (bei mir zumindest) ganz schnell weg. Trotzdem ist so etwas super wertvoll: Niemals sonst kann man sich so gut abstimmen, selten nehmen sich so viele Zeit für das Projekt. Und es ist schön, die anderen zu hören, auch neue Stimmen waren dabei :)
Im Ergebnis haben wir meiner Meinung nach superwichtige Sachen umgesetzt. Spartacus war stehengeblieben und unser uberspace musste umgezogen werden (von uberspace 6 auf uberspace 7), beides wurde angegangen. Wir haben die neue Version 2.3.3 veröffentlicht, sie vorher getestet und die Änderungen angeschaut. Da steckt besonders viel Arbeit von Thomas drin. Und wir haben – endlich! – Fortschritte mit MySQLs kaputtem utf8 gemacht.
Vor Jahren ist Serendipity bei Nutzung von MySQL in die utf8-Falle gelaufen. Es betrifft wirklich nur diese Datenbank. MySQL hat einen Zeichensatz namens utf8, der aber kein volles utf8 unterstützt, sondern nur Zeichen mit drei Byte. 4-Byte-Zeichen, z.B. Emoji wie 💩, kann man damit nicht speichern (hier geht es, weil ich SQLite benutze), Serendipity schneidet Texte dann ab. Daraus herauszukommen ist schwer, denn: Wenn man auf utf8mb4 umstellt braucht ein Zeichen 4 Bytes, Indexe können aber nur 1000 Bytes lang sein. Ein Index über eine varchar(255)
-Spalte würde dieses Limit schon sprengen! Wir hatten darüber schonmal auf einem Treffen geredet und Garvin hatte eine mögliche Lösung gebaut, Code, der die Indexe anpasst und dann die Datenbank umstellt. Aber diese Lösung lebt nun schon eine Weile in ihrem eigenen Branch und wurde nicht getestet (es zu testen ist schwierig! Vor allem, wenn man wie ich bisher das Problem nicht richtig verstanden hatte).
Jetzt haben wir nochmal darüber geredet und sind über einen Umweg über eine alternative Lösung gestolpert, deren Ansatz hier zu finden ist. Wenn die MySQL/MariaSQL-Datenbank neu genug ist, kann man die Storage Engine auf InnoDB setzen, wodurch Indexe 3000 Byte lang sein dürfen. Genug auch mit utf8mb4 für unser Datenbankschema!
Mittlerweile stellte sich raus, es ist nicht ganz so einfach, es müssen auch ein paar Einstellungen stimmen. Die können wir nicht im Code setzen, aber wir können sie prüfen. Dann wird das wohl sicher funktionieren, wenn es denn geht. Hoffentlich also eine praktische Lösung, die ohne die Versuche beim Treffen (wie mein Scheitern an der Idee, Dirks Blog umzustellen, weil da noch nicht durchgängig utf8 benutzt wird -> sowas muss also beachtet werden) nicht zustandegekommen wäre.
Das Ziel des verlinkten Codes ist es, Neuinstallationen mit utf8mb4 zu erstellen wenn möglich. Ich habe zweitens einen Upgrade-Task gebaut, um bestehende utf8-Installationen auf utf8mb4 umzustellen. Dann brauchen wir nur noch einen dritten Schritt, um von alten Zeichensätzen zu utf8mb4 zu kommen, und alle Blogs hätten vollen Unicode-Support.
Mir hat das Treffen Spaß gemacht. Klasse, alle wiederzusehen, toll auch, sich am Samstag nach dem Corona-Wochenendeinkauf voll auf etwas ganz anderes konzentrieren zu können, und am Sonntag nebenher am utf8-Problem zu basteln.
Auf ein nächstes mal, bald oder nächstes Jahr, online oder in Essen.
Edit: Das schrieben die anderen:
- Thomas auf Netz - Rettung - Recht: Das virtuelle #s9ycamp2020
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.
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.
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.
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.
Braveland
Wednesday, 5. February 2020
Braveland ist ein Indie-Rundenstrategiespiel mit Hexfeldkämpfen.
Auf einer Karte zieht man von einem Punkt zum nächsten, und entweder bekommt man dort neue Einheiten oder Gegenstände, oder kann sie kaufen, oder es gilt Kämpfe zu gewinnen. Dabei kann die Einheitenzusammenstellung relativ früh im Spiel ausgewählt werden, der Kommandant hat Zaubersprüche zur Verfügung, und Gegenstände verleihen den Einheiten Boni.
Verpackt ist das in einer simplen Story über ein niedergebranntes Dorf. Man selbst spielt einen Überlebenden, der die feindliche Armee verfolgt und den Anführer besiegen will. Das ist schnell erledigt, es gibt wenige Einheiten und Gegenstände und keinen Grund, es nach den drei Stunden (was nichtmal nur die reine Spielzeit ist) nochmal zu spielen. Alles ganz nett, aber auch sehr simpel.
Leider gilt das auch für die Kämpfe. Was auch daran liegen könnte, dass ich das Spiel auf einfach gespielt habe. Ich hatte mir eingebildet, Braveland (oder die Demo?) schonmal probiert und schwierig gefunden zu haben. Vielleicht verwechselte ich es. Auf einfach war es dann auf jeden Fall wirklich zu einfach.
PC-Kombo bekam ein neues Design
Monday, 27. January 2020
Die Seite zum PC-Bauen - das ist was pc-kombo nun sein soll. Vorher nannte ich sie immer einen Hardwareempfehler, was auch stimmt. Aber ich hatte erkannt, dass die Seite aus mehr besteht, aus drei Teilen: Eben dem Empfehler (der auch ein Konfigurator ist), aber auch aus einer Hardwaredatenbank und einem nützlichen Benchmark. Das sollte nun besser gezeigt werden.
Generell gibt es ein neues Design, das – glaube ich – etwas hübscher und professioneller aussieht (auch wenn es sicher noch nicht 100% fertig ist). Strukturell sind die Bereiche klarer unterteilt, jeder Bereich hat zudem seine eigene Startseite mit Erklärungen. Die Hauptstartseite führt auch nicht mehr direkt zum Konfigurator, sondern erklärt die Seite im Ganzen
So sieht die Seite jetzt aus:
So sah sie vorher aus:
Die Überlegungen
Das waren meine Überlegungen beim jeweiligen Abschnitt:
Der Konfigurator
Das alte Design wirkte für neue Benutzer etwas kompliziert. Eine Liste mit Button statt den Blöcken macht die Komponentenliste einfacher zu verstehen und auch klarer, wie man sie anpassen kann. Das neue Design sollte es auch vereinfachen, weitere Funktionen wie das freie Hinzufügen neuer Hardwarekomponenten (z.B. drei SSDs) umzusetzen.
Es sind nun weniger Blöcke, weniger Rahmen, wodurch die Seite mehr wie ein zusammengehöriges Ganze wirkt. Für Ordnung sorgt stattdessen die Gruppierung. Die Linien zwischen den einzelnen Komponenten aber sind wichtig, um beim Listenlesen das Auge zu führen.
Da ist auch viel im Hintergrund passiert. So kann man jetzt problemlos Komponenten hinzufügen, die keinen Preis haben. Oder Konfigurationen basteln, die inkompatibel sind – da wird jetzt nur noch gewarnt. Das ist praktisch, wenn Daten in der Hardwaredatenbank falsch sind oder wenn man eben aus Versehen einen inkompatiblen PC gebaut hat und das nun mithilfe der Seite korrigieren will.
Die Hardwaredatenbank
Was erst eine eigene Seite werden sollte ist nun doch in pc-kombo beibehalten worden. Es wäre einfach zu viel doppelte Arbeit gewesen - Preise und Benchmarkdaten sind bei der Datenbank ja ebenso wichtige Daten, und im Benchmark und Konfigurator braucht man die PC-Komponenten. Warum das also komplett auftrennen?
Die Übersichtslisten haben sich zwar verändert, folgen aber dem gleichen Prinzip: Eine Liste, in der jeder Listenpunkt eine PC-Komponente ist und zudem ein paar Daten angezeigt werden, wie die Anzahl der Prozessorkerne zum Beispiel. Obendrüber gibt es einen Filter. Wichtiger als das komplett umzuwerfen war es mir, die Performance zu verbessern: Vorher konnten lange Listen schonmal den Browser zum Schnaufen bringen. Jetzt laden die Seiten schnell.
Die Einzelseiten sind massiv überarbeitet. Ich wollte erreichen, dass sie viel besser aussehen, und dass sie so nützlich wie möglich sind.
Vorher waren fast alle Inhalte verschiedene und unterschiedlich große Blöcke, verteilt in einem Grid. Jetzt sind deutliche Blöcke nur noch die Spezifikationen, die nur ein Teil der Seite sind. Bilder, wenn vorhanden, sind oben. Bei Prozessoren und Grafikkarten gibt es dazu eine automatisiert erstellte Beschreibung samt Leistungseinschätzung, was ich für total praktisch halte. Dann die Preise und das Preisverlaufsdiagram, erst jetzt die technischen Spezifikationen, und schließlich Reviews. Reviews gab es vorher schon, aber nur als eine Liste von Links. Jetzt tragen die meisten Reviews ein Logo und alle zeigen ein Zitat, welches das Review zusammenfasst.
Der Benchmark
Hier hat sich am wenigsten getan.
Ich setze darauf, dass die neue Startseite mit den Erklärungen Besuchern schon hilft, zu verstehen was der Benchmark ist. Die Vergleichsfunktion poppt nun beim Drüberfahren mit kurzem Anweisungstext auf und die Komponenten gehen daraufhin in eine Seitenleiste. Neu ist, dass auf der Vergleichsseite nur die Benchmarks angezeigt werden, in denen alle der Vergleichsprozessoren oder -grafikkarten vorkommen. Entweder es gibt einen guten Vergleich in der Datenbank oder eben nicht, das schafft Klarheit. Und das gruppierte Balkendiagramm mit den Einzelbenchmarkdaten sieht nun (dank des Umstiegs auf apexcharts) besser aus, es wird auch in keiner Situation mehr unten abgeschnitten oder unscharf.
Technische Hintergründe
Eigentlich wollte ich die drei Teile der Seite jeweils in eine eigene Seite verfrachten, mit statischen Seiten wo möglich. Zwei Dinge hielten mich davon ab: Als ich die Hardwaredatenbank als statische Seite gebaut hatte wurde deutlich, dass die anderen Informationen wie Preise und Benchmarkbewertungen auch hier praktisch wäre. Und ich hatte viel Erfolg, pc-kombo zu optimieren. Es stellte sich raus, dass die Performanceprobleme oft nur bestanden, weil hier und dort ein Datenbankindex fehlte, oder Funktionen unnötigerweise aufgerufen worden, oder schnellere gems wie FastGettext noch nicht benutzt wurden. Aber auch, dass die Komponentenlisten gar nicht auf der Serverseite langsam waren, sondern das Javascript (eine alte Version von jplist) den Browser blockierte.
Ich bin also die Seite durchgegangen, mit dem Firefox-Netzwerkinspektor und Flamegraphs bewaffnet, und habe jede Seitenart durchoptimiert. Und zwar das erste Laden, bevor der Cache befüllt ist. Weil das ja auch Seitenbesucher trifft und sicher massiv stören würde. Erst danach kam die Entscheidung pro Redesign und Beibehaltung unter einem Dach, aber klarerer Strukturierung.
Dementsprechend ist pc-kombo immer noch eine Ruby/Sinatra-Anwendung, mit SQLite als Datenbank. Es gibt aber eine Reihe von Verbesserungen, der Artikel zum effizienteren Speichern von Zeitreihen zum Beispiel kommt natürlich aus dieser Überarbeitung der Seite. Und das Datenbankschema ist etwas anders, wodurch zum Beispiel bei der Hauptdatenbankabfrage ein Join weniger gebraucht wird.
Eine große Änderung gab es bei den Sessions. Die waren vorher sehr wichtig, zentral für die Funktion der Seite. Wer /build?price=800
besuchte bekam in seine Session ein neues Empfehlungsobjekt gespeichert, und alle weiteren Funktionen wie das automatisierte Wählen eines neuen Prozessors griff auf dieses Objekt zu. Das bedeutete, dass geteilte URLs unbrauchbar waren, wenn nicht vorher ein Permalink erstellt wurde. Und der Code sehr zustandsabhängig wurde. Der neue Ansatz ist, dass /build?price=800
direkt auf einen Permalink weiterleitet, und weitere Funktionen dann von diesen Permalink ausgehen - also zum Beispiel /permalinkid1234/customize/cpu
. Struktur! Die hilft, Javascript zu vermeiden (dazu im nächsten Abschnitt mehr). Und ist ein Ergebnis aus dem Werkeln an dem statischen Seitengenerator, an der alternativen Hardwaredatenbank.
Ich habe auch Funktionen rausgeworfen, die nicht funktioniert haben. Statt Reviews gab es vorher auf Produktseiten unten eine Kommentarfunktion, die einfach nicht genutzt wurde. Upvoten und Downvoten, das wurde ein bisschen genutzt, aber nicht genug um mit den Daten die Listen nach Nutzervorlieben zu sortieren. Also ist sowas nicht mehr drin. Wobei nicht alles, was nicht mehr da ist, wegbleiben soll. Zum Beispiel fehlt das Löschen von Komponenten aus der Buildliste einfach noch.
Designprinzipien
Das Design ist diesmal nicht komplett handgemacht. Meinem Eindruck nach profitiert das Ergebnis deutlich davon, auf jeden Fall war die Arbeit dadurch viel einfacher. Es basiert auf dem CSS-Framework Spectre. Ich hatte mir ein paar Alternativen angeschaut, Spectre blieb über, weil es relativ simpel und vernünftig aussah, die Dokumentation klar war und die Komponenten sowie Beispiele hübsch. Außerdem, das war mir wichtig (und gleich mehr dazu), braucht das Framework kein Javascript. Die Wahl kann man hinterfragen, wäre das derzeit aktiver entwickelte Bulma vielleicht besser gewesen? Naja, wechseln kann man immer, auch wenn es Arbeit wäre.
Strukturschaffen war eines der Hauptziele. Es gibt die Startseite /
. Dazu kommen die Bereichsseiten /builder/
, /components/
und /benchmark/
. Die weiteren Unterseiten folgen dieser Struktur. Das war intern schon vorher so, wurde aber weniger gezeigt. Diese Struktur vorher klar zu definieren half auch beim Design. So war klar, dass es oben eine Hauptnavigation geben muss, für die drei Bereiche. Die Navigation innerhalb des Bereiches gehört da aber nicht wirklich rein, stattdessen habe sie jeweils eine Breadcrumbnavigation. Ich bilde mir ein, dass das hilft die Navigationsstruktur flachzuhalten und so weniger verwirrend zu machen.
Javascript wurde vermieden, indem mehr mit eigenständigen Seiten gearbeitet wird. Vorher war die Empfehlungsansicht fast schon eine SPA. Extrembeispiel: Wenn die Liste zur Komponentenauswahl geladen werden sollte, scrollte der Viewport nach rechts und dort wurde per Ajax die Auswahlliste hineingeladen. Jetzt gibt es dafür schlicht eine eigene Seite. Es gibt immer noch Javascript, natürlich: Apexcharts für die Benchmarkdiagramme, das neue jplist zum Filtern von Komponentenlisten, und 26 Zeilen handgeschriebenes Javascript für die Benchmarkvergleichsfunktion. Aber das wars. Auch ohne Javascript funktioniert der Großteil der Seite nun.
Weitere Pläne
Fehlende Funktionen nachzurüsten sollte jetzt wohl der Hauptfokus sein. Deaktivieren von Komponentenkategorien (wenn man z.B. keinen Arbeitsspeicher wählen will, weil der aus dem alten PC kommen wird), Filter für die Liste bei der manuellen Auswahl von Komponenten, die Sortierung verbessern. Und im Backend gibt es auch noch einiges zu tun, wie mehr Verwaltungsoberflächen, was dann mir die Arbeit erleichtert um z.B. Daten zu korrigieren, wodurch im Endeffekt die Seite für Besucher besser funktionieren wird.
Was wahrscheinlich ebenso wichtig ist: Ich will mehr Funktionen haben, um bei der Komponentenauswahl zu helfen. Zum Beispiel ist jetzt schon neu, dass mittels eines kleinen Icons jeweils die Bestandteile eines Builds empfohlen werden. Das sind die Bestandteile des PCs, den ich derzeit generell empfehlen würde, wenn das eigene Geld möglichst sinnvoll eingesetzt werden soll und es keine Spezialanforderungen gibt. Aber da kann noch mehr gemacht werden, denn generell gibt es in der Datenbank schon eine Liste von Komponenten, die berücksichtigt werden sollen – um zum Beispiel Grafikkartenmodelle auszuschließen, deren Kühler schlecht ist. Das könnte auch bei der manuellen Auswahl sichtbar gemacht werden.
Surviving Mars
Sunday, 5. January 2020
Surviving Mars ist ein Aufbauspiel in der harschen Umgebung des namensgebenden Planeten, umgesetzt von den Machern von Tropico 3 bis 5.
Es gibt eine Linuxversion, aber da sie bei mir nicht funktionierte spielte ich die Windowsversion via Proton.
Ähnlich wie in Tropico steht erstmal eine Art Szenarioauswahl an: Welche Nation, Kult oder Firma ist Sponsor der Mission, welches Profil hat der Kommandant, außerdem gibt es ein spielbegleitendes Mysterium mit Entscheidungsmöglichkeiten. In meinem ersten Durchlauf war mein Sponsor Europa (wodurch z.B. jeder Forschungsfortschritt Geld einbrachte), mein Kommandant ein Futurist (schnellere Freischaltung von Forschungsdurchbruchtechnologien) und das zufällig gewählte Mysterium drehte sich um eine KI, die in meinen Forschungstürmen wohnen wollte. Der Fokus meiner Kolonie war also eindeutig vorgegeben.
Zuerst aber ist wenig mit Forschung, sondern eine einzelne Rakete mit Vorräten (inklusive vorgebauter Gebäude) sowie Drohnen ist auf dem gewählten Marsterrain zu platzieren. Die Drohnen bringen dann ein Wirtschaftssystem in Gang: Produktionsgebäude wie Zementextraktoren wollen errichtet werden, die brauchen Stromerzeugung via Solarzellen, Windräder und magischen Sterling-Generatoren, Wasser muss abgebaut oder mit Verdunstungsanlagen generiert werden, womit Treibstoff hergestellt werden kann, mehr Drohnenhubs steuern weitere Drohnen und erweitern das Einflussgebiet - alles mit dem Ziel, eine erste kleine Kuppel für Kolonisten zu bauen. Die dann mit einer weiteren Rakete landen.
Denn nur Kolonisten können forschen und die fortgeschrittenen Rohstoffe herstellen, zum Beispiel Maschinenteile, die zur Wartung der Windräder oder zur Errichtung einiger anderer tollen Gebäude gebraucht werden. Bis das Wirtschaftssystem auf dem Mars diese Ressourcen herstellen kann ist der Spieler also auf Importe von der Erde angewiesen, die allerdings Geld kosten. Geld kommt automatisch durch den Sponsor oder durch Exporte von Metallen von Seltenen Erden, die aber auch nur Kolonisten abbauen können. Man sieht: Anfangs ist da durchaus Potential, sich in eine Sackgasse zu manövrieren. Die zu vermeiden und autark zu werden ist aber auch ein gutes Spielziel.
Zu erreichen ist dieses Ziel gar nicht so einfach, denn um alle benötigten Ressourcen abzubauen wächst die Kolonie auf dem Mars schnell auf eine beachtliche Größe, was gut verwaltet werden muss und nochmal mehr Ressourcen benötigt. Denn alle Gebäude verbrauchen Rohstoffe bei der regelmäßig notwendigen Wartung. Mir fehlte zum Beispiel zwischendurch auf einmal Metall, das vorher im Überschuss vorhanden war. Und ein andermal hatte ich mich mit der Essensproduktion verschätzt und meine Kolonisten hungerten etwas.
Erschwerend kam hinzu, dass Essen und andere Rohstoffe ja nicht nur vorhanden sein, sondern auch am richtigen Ort liegen müssen. Ich hatte z.B. noch Verpflegung, nur nicht in Reichweite der hungernden Kolonisten in der entfernteren Kuppel. Erst langsam brachten die Drohnen diese heran, immer von Lager zu Lager über die Einflussgebiete der mehreren Drohnenhubs, welche die Kuppeln verbanden. Erst später können die fliegenden Shuttle weite Transporte besser bewältigen, sie ermöglichen auch die Migration zwischen fernen Kuppeln.
Diese Migration nehmen die Kolonisten in Anspruch, wenn sie an einem anderen Ort besser aufgehoben wären. Denn jeder Kolonist hat eine Spezialisierung oder ist ein noch formbarer Generalist, und ein Wissenschaftler arbeitet lieber im Forschungszentrum als im Kasino, in dem sich der Generalist wohlfühlt. Jeder hat zudem eigene Bedürfnisse, wie das Glücksspiel im Kasino, und will eine eigene Wohnung, die in einer Residenz komfortabler als im platzsparenden Apartmentgebäude sind. Oder die negativen Eigenschaften greifen, so ist ein Einsiedler in Kuppeln mit mehr als 30 Einwohnern schnell unglücklich und will dann zurück zur Erde oder rebelliert. Auf dem Mars geborene Kolonisten – was in ausreichend komfortablen Kuppeln schnell geschieht, die Kinder werden auch schnell erwachsen – hingegen bleiben immer auf dem Mars und können durch Forschung viele Vorteile erhalten. Auch bei der Bevölkerungsverwaltung gibt es also immer viel Optimierungspotential.
So viele Facetten beachten zu müssen hat mir zwischendurch durchaus gut gefallen. Aber als ich jetzt nach der Weihnachtspause die Erweiterungen (die im Bundle dabeiwaren) antesten wollte fehlte mir etwas die Motivation, nochmal von vorne anzufangen. Denn es ist alles doch etwas gemächlich und mühselig. Von dem Spiel wird viel Mikromanagement und einiges an Wartezeit gefordert. Gleichzeitig sind die Survival-Elemente nicht so spannend, wie das erst wirkt. Man muss ja nur die Grundlagen (Essen, Sauerstoff, Wasser) abdecken und den Wirtschaftskreislauf am Laufen halten, was nur selten schwierig ist. Eigentlich nur während der seltenen Katastrophen wie Meteoritenschauern, die dann Gebäude und Leitungen beschädigen können. Die häufiger auftreten zu lassen wäre mir aber wieder zu stressig.
Surviving Mars wird bei mir wahrscheinlich ähnlich wie Cities Skylines nach etwas Wartezeit wiederentdeckt werden, wenn ich wieder Geduld für das Spiel übrig habe. Denn die Erweiterung Green Planet scheint etwas zu bringen, was vorher fehlte: Mit dem Terraforming Spielziele für große Kolonien. Das sollte mich dann doch bald wieder reizen.