Gitter und IRC spiegeln
Friday, 27. January 2017
Gitter ist ein Gruppenchat mit ein paar netten Funktionen, ähnlich wie Slack. IRC ist das von vielen bevorzugte Chatsystem, auf jeden Fall mit Freenode im Bereich freier Software. Für das Portier-Projekt wollten wir beides zugleich nutzen. Also muss der IRC-Chatraum mit dem Gitter-Chatraum synchronisiert werden. Der große Vorteil davon ist, dass man dadurch ein persistentes Log samt Emailbenachrichtigungen bekommt, etwas, was IRC sonst fehlt (und wofür Bouncer eine schlechte Krücke sind).
Matterbridge kann diese Synchronisierung. Dem Namen nach ist es für mattermost gedacht, noch ein anderes Chatsystem, aber es funktioniert davon unabhängig. Dies sind die nötigen Schritte:
Gitter-Bot erstellen
Ein Gitterbot ist ein Nutzeraccount, der über sein Api-Token gesteuert wird. Zuerst muss ein neuer Nutzer auf Github erstellt werden. Der wird dann in Gitter eingeloggt. Um das API-Token zu sehen, muss die App-Seite im Entwicklerbereich aufgerufen werden. Ganz wichtiger letzter Schritt: Der Bot muss manuell dem Channel beitreten, also eingeloggt bleiben, den Channel aufrufen und auf "Join Channel" klicken. Matterbridge funktioniert sonst nicht, ohne Fehlermeldung. Das hat mich Stunden gekostet.
IRC-Bot erstellen
Kleiner Witz. Ein IRC-Bot muss natürlich nicht erstellt werden, schließlich hat IRC kein geschlossenes Nutzersystem. Matterbridge macht das automatisch.
Matterbridge starten
Matterbridge findet sich als Binary auf Github. Ich musste nur die fürs System passende Datei herunterladen und die Konfigurationsdatei conf.toml erstellen. Die sieht so aus:
[IRC] [irc.freenode] Server="chat.freenode.net:6667" Nick="matterbridge" RemoteNickFormat="[{PROTOCOL}] <{NICK}> " [gitter] [gitter.portier] Token="GITTER-TOKEN" RemoteNickFormat="[{PROTOCOL}] <{NICK}> " ShowJoinPart=false [[gateway]] name="gateway1" enable=true [[gateway.in]] account="irc.freenode" channel="#channel" [[gateway.out]] account="irc.freenode" channel="#channel" [[gateway.in]] account="gitter.portier" channel="Projekt/Raum" [[gateway.out]] account="gitter.portier" channel="Projekt/Raum" [general] Plus=true
Dann fehlte nur noch ein ./matterbridge-linux64 -conf conf.toml
. Wobei das natürlich dauerhaft laufen soll, daher erstellte ich auf dem Uberspace einen Eintrag mit den daemontools. Was direkt etwas problematisch war, denn svc -d
scheitert daran, die Matterbridge zu beenden. Das musste ich beim Neustarten also selbst machen. In der Praxis muss das aber kein großes Problem sein, solche Software startet man ja nicht oft neu.
Serendipity 2.1-rc1
Thursday, 26. January 2017
Garvin hat vorhin den ersten Release-Kandidat für Serendipity 2.1 freigegeben. Es ist sehr stark davon auszugehen, dass dies die sehr bald kommende stabile Version 2.1 wird, eventuell mit ein-zwei Bugfixes, wenn nun noch welche gefunden werden. Die Betaversionen von 2.1 sind schon geraume Zeit auf einigen Produktivblogs im Einsatz, so auch hier.
2.1 ist der Versuch, 2.0 sinnvoll zu verbessern. Einige einfache Verbesserungen, ein paar tiefgreifende Änderungen:
- Support für PHP 7
- Usability-Verbesserungen im Backend, z.B. können alle Plugins auf einmal aktualisiert werden
- Integrierter Cache, um die Datenbank zu entlasten. In meinen Tests verbesserte er die Performance von s9y sehr deutlich.
- Neue moderne Designs: Timeline, Clean-Blog und Skeleton.
- Die modernen Designs werden im Backend nun empfohlen
Tiefgreifend sind auch ein paar andere interne Änderungen. Wir haben die fürs Routing zuständige Funktionen in eine eigene Datei namens functions_routing.inc.php ausgelagert, um die index.php lesbarer zu machen. Außerdem räumten wir die Funktion auf, die dafür zuständig ist, die richtige Datei auszuwählen (Frontend- oder Backend-Design, dann das als Engine genutzten Design, dann das Default-Design). Das ist so ziemlich der Kern von s9y, wurde aber immer weiter verkompliziert und funktionierte dann nicht mehr richtig – allerdings so, dass es nur selten Auswirkungen hatte, aber wir merkten es in der Vorschau.
Ich empfand den Entwicklungszyklus diesesletztes Jahr als etwas schwerfällig, ich glaube, wir hatten alle viel anderes zu tun. Alle Änderungen zusammen sind dann aber doch ein ziemlich großer Block, und ich freue mich, dass diese Verbesserungen nun rausgehen.
Edit: Ein Bug hat sich in den RC eingeschlichen: Der Plugin-Updatebutton funktioniert nicht, weil er kein Token setzt. Das wurde beim letzten Sicherheits-Patch verpasst. Der Fix ist ein Einzeiler, müsste aber wohl manuell eingespielt werden (die entsprechende Zeile in serendipity_event_spartacus.php ersetzen).
3 verschlüsselnde Messenger, 2 Desaster
Monday, 16. January 2017
Drei verschlüsselnde Messenger im Praxistest, ein Teil meines Versuches, die Datenhygiene zu verbessern.
Versuch 1: Ring
Der erste von mir ausprobierte Messenger war Ring. Ring klingt genial. Es hat Clients für Windows, Mac OS und Linux, sowie für Android. Es ist nicht nur freie Software, sondern gar ein GNU-Projekt. Zwar noch nicht als stabile Version veröffentlicht gibt es immerhin eine zweite Beta, die Grundlagen sollten also da sein.
Und genau das stimmt nicht. Ring funktioniert schlicht gar nicht. Die erste Enttäuschung war der Linux-Client, den ich erst gar nicht installiert bekommen habe, und der wohl auf DBus und Pulseaudio aufsetzt, also auch unbrauchbar wäre. Dann der Android-Client. Der sieht zwar erstmal hübsch aus und ist installierbar, aber einen Kontakt hinzufügen, das klappte nur in einem von zwei Testversuchen reibungslos. Im Problemfall brauchte es viele Versuche und funktionierte erst mit mehrtägiger Verzögerung, dabei waren wir im gleichen Raum. Immerhin funktionierte es. Aber miteinander schreiben, das funktionierte dann wieder nicht immer. Oft genug kamen Nachrichten nicht an, musste Ring neu gestartet werden, damit dann neu gesendete Nachrichten ankommen konnten. Sprachnachrichten oder gar Video, das funktionierte nur kurz oder gar nicht, dann brach die Verbindung weg oder stürzte das Programm ab, oder das Bild blieb schwarz. Störend auch einfachste UX-Fehler, beispielsweise wird beim Schreiben einer Nachricht das Keyboard ausgeklappt, aber danach im Nachrichtenfenster nicht zum Ende zurückgescrollt, während des Chattens müsste man also nach jedem Senden einer Nachricht nach unten scrollen.
Versuch 2: Tox
Der zweite Messenger war Tox. Tox klingt auf der Webseite ebenfalls sehr gut. Normale Anrufe und Videoanrufe werden unterstützt, es sei verschlüsselt, dezentral und frei. Es gibt eine Vielzahl von Linux-Client, was wirklich sehr sympathisch ist, wobei qTox auch unter Windows und OSX funktionieren soll, generell die Multiplattformfähigkeiten von qt ausnutzt. Aber für Android, für Android gibt es nur Antox. Und Antox, darüber hätte ich mir meine Meinung per F-Droid bilden können, das dessen Installation gesperrt hat, weil das Programm zwar kompiliere aber nicht wirklich funktioniere.
Denn genau so ist es. Antox, dann aus dem Play Store installiert, stürzt einfach ab, und das immer wieder. Anruf starten -> Absturz. Miteinander schreiben -> Absturz. Das Chatten stürzt nicht immer ab, die Oberfläche des Programms wirkt sonst auch gut, das Hinzufügen war nicht ganz so problematisch wie bei Ring, wenn auch nicht reibungslos. Aber trotzdem ist es unmöglich, es so als Messenger zu nutzen. Und, was es dann auch als Chatclient kaputtmacht: Ist der Gesprächspartner offline, was scheinbar automatisch passiert wenn Antox eine Weile nicht benutzt wurde, kann man ihm keine Nachricht schicken. Tox ist also auch unbrauchbar, zumindest auf Android.
Versuch 3: Kontalk
Der dritte Versuch lief dann mit Kontalk, und der läuft noch. Ich kann also gleich vorwegnehmen: Das ist eine andere Liga und funktioniert ganz gut. Vielleicht ist das nicht so verwunderlich, denn anstatt das Rad neu zu erfinden nutzt Kontalk XMPP, wohl mit eigenen Erweiterungen. Es ist ebenfalls frei, und es gibt Clients für Android und die drei großen Desktops, per Java. Zusätzlich zu älterer Technik im Hintergrund ist das Projekt in seinen Ansprüchen also wesentlich bescheidener. Mir soll es recht sein, wenn es denn gut funktioniert.
Darüber kann man nun etwas streiten. Das Hinzufügen meines Kontaktes lief problemlos. Die Telefonnummer funktioniert als Identifikator, anonym ist es also nicht, aber immerhin komfortabel. Miteinander schreiben, das funktioniert auch einwandfrei. Allerdings gibt es keine Anruffunktion, der Button dafür ruft den Gesprächspartner schlicht über die Simkarte an. Videoanrufe gibt es dann natürlich auch nicht. Sprachnachrichten können dafür wie eine Chatnachricht gesendet werden, war zwar nett ist, aber trotzdem eine Krücke bleibt. Kontalk ist also ein guter Ersatz für einen einfachen Chatclient, aber kein Ersatz für Skype.
Alternativen
Kontalk funktioniert also, ist aber nicht ideal. Es gäbe ja durchaus noch ein paar Alternativen. Whatsapp verschlüsselt nun standardmäßig, ist aber nicht frei und hat daher mein Vertrauen nicht. Signal klingt super, verlangt aber so viele Rechte auf Android, dass ich denen auch gleich das Telefon samt Passwort per Post zuschicken könnte. Die Empfehlung von Snowden ist zwar mehr als nett, aber dass sie nicht mit einer Version auf F-Droid einhergeht verstört mich. Telegram klingt ebenfalls gut und ist auch frei, aber dessen Verschlüsselung wurde damals heftigst kritisiert. Threema ist nicht kostenlos, aber vor allem nicht frei.
Neben Telegram sind also insbesondere Wire und Riot auf meiner Liste. Die sind in der gleichen Größenordnung wie Ring und Tox, also mögliche Skype-Alternative. Silence als optionaler SMS-Verschlüssler klingt auch nett, das könnte gegebenenfalls eine einfachere Alternative für Kontalk sein.
Wer kennt noch mehr Alternativen, und hat eventuell sogar eigene Erfahrungen?
12 is Better Than 6
Thursday, 12. January 2017
12 is better than 6 ist ein schneller 2D Top-Down-Shooter. Man spielt einen mexikanischen Revolverhelden, der im Süden der USA gejagt wird. In vielen kurzen Missionen gilt es jeweils, das Ende der Karte zu erreichen und dabei viele Gegner zu besiegen. Das ist gar nicht so einfach, denn sowohl die Gegner, Kugeln als auch die eigene Figur sind sehr schnell, und schon ein voller Treffer tötet. Gleichzeitig müssen Waffen manuell geladen, Revolver sogar nach jedem Schuss gespannt werden. Das erfordert Übung.
Gerade am Anfang ist es hilfreich, dass Gegner auch schleichend mit einem Messer erledigt werden können, das macht manche Karten wesentlich einfacher. Außerdem kann man Dynamit werfen, um mehrere Gegner auf einmal auszuschalten. Später im Spielverlauf gibt es Upgrades zu kaufen, z.B. eine Panzerweste oder mehr Platz für Munition.
Es ist ein mittelmäßiges Spiel. Die Spielmechanik selbst ist spaßig und fordernd, die gezeichnete Grafik originell, die Musik ebenfalls, wenn sie sich auch zu oft wiederholt. Die Story ist dagegen nur ansatzweise motivierend, das Ende sogar richtig schlecht, als sei dem Entwickler die Zeit ausgelaufen. Von den Upgrades hätte es mehr geben können. Am meisten stört mich, dass es für die Zufallsbegegnungen auf der Weltkarte zu wenige, sich daher immer wiederholende Karten mit fester Gegnerpositionierung gibt. Wobei die schlecht geschriebenen Gespräche vielleicht noch störender sind. Dafür läuft das Spiel mit dem freien Radeon-Treiber einwandfrei unter Linux. Die 2€, die es zur Zeit im Sondarangebot auf Steam kostet, ist es daher durchaus wert.
Zu: Sind Trackbacks und Pingbacks out?
Tuesday, 10. January 2017
Thomas fragt in seinem Blog, ob Trackbacks und Pingbacks wirklich am Verschwinden sind. Ich wollte kommentieren und packe den Kommentar nun als Artikel in meinen Blog, um einen Trackback zum Originalartikel zu senden ;)
Ich denke, die Antwort ist ja, es ist deutlich weniger geworden. Das hat aber eine ganze Menge von Gründen.
Schlechtere Softwareunterstützung
Der erste ist Softwaresupport. Nehmen wir Wordpress: Wordpress unterstützt Trackbacks, vorbildlich. Damit das ordentlich mit anderen Systemen funktioniert sitzen im Quelltext RDF-tags, wie auch bei Thomas Artikel, die beschreiben, wo der Trackback hingesendet werden soll:
<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="https://netz-rettung-recht.de/feeds/ei_1964.rdf" trackback:ping="https://netz-rettung-recht.de/comment.php?type=trackback&entry_id=1964" dc:title="Sind Trackbacks und Pingbacks out?" dc:identifier="https://netz-rettung-recht.de/archives/1964-Sind-Trackbacks-und-Pingbacks-out.html" /> </rdf:RDF> -->
Aus Unwissenheit oder Geringschätzung des Trackbackmechanismus gibt es viele Wordpress-Themes, die diesen Code entfernen. Und schwupps ist Support für Trackbacks kaputt. Wobei s9y trotzdem versucht, die richtigen Wordpressdaten zu erraten. Klappt halt nicht immer.
Dann gibt es heutzutage Software, die sich Blogsoftware nennt, aber nichtmal Kommentare und daher natürlich weder Track- noch Pingbacks unterstützt. Ghost zum Beispiel, wobei das inzwischen eine "professionelle Publishing-Plattform" ist, ist klar. Bei Ghost ist es unverständlich, bei den ganzen statischen Generatoren, die in einer Mode vor kurzem als Ersatz für klassische Blogsoftware genutzt wurden ist es dagegen aus technischer Sicht völlig verständlich. Eine statische Seite kann eben keine Ping- oder Trackbacks annehmen, dafür muss man dann externe Dienste verwenden, wie schon bei Kommentaren.
Wegfall der Blogbasis
Drittens ist dieser ganze Gedanke des Benachrichtigen anderer über einen neuen Artikel ein Überbleibsel aus der Zeit, als man von der Blogosphäre geredet hat und das Schreiben in Blogs die Ausdrucksform im Internet war. Die Blogger aus der Zeit gibt es noch. Aber man muss sich ja nur mal anschauen, was aus der Republica geworden ist und wie vertreten Blogs als Thema dort sind. Die Zeit ist vorbei, ohne dass Blogs verschwunden sind natürlich, aber sie werden überschattet von Sozialen Netzwerken wie Facebook und Gedankenfurzdiensten wie Twitter. Und die senden keine Trackbacks. Wobei s9y trotzdem versucht(e), Trackbacks von Twitter über Tweetbacks via externen Diensten abzubilden. Klappt halt nicht immer (und hat nicht jeder an).
Scheitern der Neubelebung
Mir fällt noch ein: Es gibt ein viertens. Die Idee des Trackbacks ist genau das, was Indyweb als Webmention wiedererfunden hat, gekoppelt mit einer möglichen Präsentationsvorgabe. Nur, dass es genau ein kleines bisschen verändert wurde, um inkompatibel mit Trackbacks zu sein. Wobei wahrscheinlicher ist, dass die Erfinder Trackbacks schlicht nicht kannten. Die habens also verkackt, das hätte aber eine Wiederbelebung des Konzepts sein können und war es in seinem Mikrokosmos wohl auch. Sie könnten auch immer noch kompatibel mit Trackbacks werden, haben aber kein Interesse. Immerhin spricht Webmention.io, ein Layer um Webmentions auf beliebigen Seiten unterstützen, auf Pingbacks an. Aber das ist trotzdem ein chaotisches Wirrwarr und daher etwas, was ich nicht implementieren werde (könnte natürlich jemand anders machen).
Technisch veraltet
Warum der Unterschied zwischen Pingbacks und Trackacks mir so wichtig ist? Das kommt vom der technischen Seite und ist der fünfte Grund des Niedergangs. Trackbacks sind ein halbwegs vernünftiges Konzept, wenn auch vermischt mit den RDF-Tags, die aus der Zombie-Welt des semantischen Webs kommen und so eingebaut in HTML nirgends sonst existieren. Pingbacks dagegen sind richtig übel, basieren auf der noch älteren und komplett wahnsinnigen Idee des XMLRPC; dass man Programme auf anderen Servern steuern könnte, wenn man die Funktionenaufrufe hübsch verpackt als XML rüberschickt. Super hässlich, riesiges Einfallstor für Sicherheitslücken. Trackbacks sind also nur das kleinere Übel aber selbst nicht hübsch, wobei es super einfach wäre, sie zu modernisieren. Was natürlich der Grund ist, warum es mich so stört, dass Webmentions das nicht ordentlich gemacht haben.
Aber nicht weg
Aber natürlich sind Trackbacks und Pingbacks nicht tot. Echte Blogengines wie Serendipity leben, und auch Wordpress unterstützt diese Mechanismen noch, und Wordpress ist das halbe Internet. Es liegt an uns, unsere Artikel miteinander zu verlinken. Und vielleicht liegt es auch an uns, die neuen Teile des Webs besser in die Blogs zu integrieren und so eingehende Trackbacks häufiger zu machen. Selbst wenn sie dann nicht von einem so ausgefeilten und tollen Blogartikel wie diesem kommen.
Saints Row 4
Thursday, 5. January 2017
Nachdem durch die Treiberverbesserungen der dritte Teil gut lief, startete ich den vierten in der Erwartung, wieder etwas warten zu müssen. Dem war nicht so. Saints Row 4 läuft mit dem freien Radeon-Treiber noch besser als der dritte Teil und sieht gleichzeitig besser aus. Ein toller Einstieg ins Spiel!
Saints Row 4 ist Saints Row, nur komplett durchgedreht. Ich schrieb über den zweiten, dass es absurd sei, über den dritten, dass es noch absurder sei, und der vierte toppt nochmal alles. Komplett abgehobene Story, die dem Spieler Superfähigkeiten gibt, was eine hervorragende Idee ist, denn als Superheld durch die Stadt zu sprinten oder zu fliegen und Gegner mit Eisbällen einzufrieren oder mit Telekinese Panzer durch die Luft zu werfen macht eine Menge Spaß. Tatsächlich passen im Kontext der absurden Story viele Nebenmissionen viel besser in die Logik des Spiels als bei den Vorgängern.
Nachteil des Ganzen: Vehikel werden unnötig, und die totale Überlegenheit noch krasser. Da kommen dann zwar stärkere Feinde, aber nach ein paar Upgrades können die schnell nicht mehr mithalten. Es spielt sich zwar immer noch toll, ist voller guter Ideen (der Sidescroll-Fighter, die Mass-Effekt-Parodie, Anspielungen auf They Live), die Rollenspielelemente motivieren, die Inszenierung ist klasse und der Ausgang der Story, den wollte ich dann schon sehen. Es hätte bei mir eine sehr gute Bewertung bekommen und ist absolut spielenswert.
Trotzdem reicht es jetzt auch. Das nächste Spiel muss etwas anspruchsvoller sein.
Android 7.1.1 (Nougat) auf HP Touchpad installieren
Wednesday, 4. January 2017
Vorab: Lohnt sich das? Ich meine ja. Android 4.4.4 kann mit der Toolbox schnell und einfach installiert werden. 4.4.4 funktioniert gut, aber der Dauergebrauch zeigte: nicht perfekt. So gibt es Aussetzer des Wlans und die Performance ist manchmal haklig. Nougat ist schneller, verbraucht weniger Akku, und das Wlan bleibt scheinbar stabil. Allerdings ist die Kamera invertiert und beim Test-Touchpad gab es gelegentlich Soundprobleme. Man tauscht also Probleme gegen andere Probleme, bekommt dafür aber ein System, das weiterentwickelt wird und moderner ist.
Das Rom der Wahl ist übrigens ein Nighly Build von Evervolv. Nettestes Feature ist der integrierte Updater. Neue Releases und Nightly-Builds können damit problemlos von Android aus installiert werden.
Installation
Ich gehe im Folgenden davon aus, dass Android schon installiert ist. Ansonsten erstmal mit der Toolbox Android 4.4.4 installieren.
Um Nougat zu installieren muss die Systempartition groß genug sein. Wenn das nicht schon so ist, ist das der erste Schritt. Am besten geht das über die Toolbox. Ich würde die Partition auf 2GB vergrößern, definitiv gebraucht werden 1,3GB.
Jetzt das Evervolv-Rom und TWRP herunterladen und auf die SD-Karte oder in den Download-Ordner schieben. TWRP muss zuerst installiert werden, dafür gibt es mehrere Wege:
- Es gibt eine App im Play-Store.
- Manuell per
adb
, siehe hier unten. - Mit dem schon installierten Recovery-System kann es auch gehen, das war meine Wahl.
Dann startet man TWRP (einfach Touchpad neustarten und im Bootmenü TWRP auswählen). Es ist nett gemacht und führt sauber durch die Funktionen, auch können jetzt noch Dateien per USB auf das Touchpad geschoben werden. Mit TWRP formatiert man optional data und cache zu f2fs (genauere Erklärung mittig im ersten Post) und installiert schließlich das Evervolv-Rom. Man könnte hier auch die Gapps installieren, also Googles Dienste und den Playstore. Ich rate wirklich davon ab, denn F-Droid nachher zu installieren ist eine bessere Alternative (frei, ressourcenschonender).
Auf xda-developers gibt es eine alternative englische Anleitung, in der nochmal alle Schritte gelistet sind. Ausgangspunkt dort ist aber ein Touchpad, auf dem noch WebOS läuft.
Izulu: Serverproblem behoben
Monday, 19. December 2016
Izulu war übers Wochenende kaputt, es wurden zwar noch die Hintergrundbilder gewechselt, aber das basierte nicht auf dem realen Wetter. Denn der Server, der als Wrapper für die Wetter-API dient, war kaputt. Im Grunde wurde er nur für Wartungsarbeiten neugestartet, aber ich hatte etwas falsch konfiguriert und kam dadurch nicht mehr rein. Leicht ärgerlich.
Den Digitalocean-Droplet habe ich abgeschaltet und lasse den Serverdienst jetzt stattdessen auf dem Server für diesen Blog laufen. Es funktioniert also wieder alles.
Massive Verbesserungen des AMD-Treibers // Saints Row 3
Friday, 16. December 2016
Bald nach Saints Row 2 wollte ich den dritten Teil anspielen, aber es war absolut unspielbar. Komplette Diashow. Mich hat das etwas überrascht, denn obwohl schon der zweite Teil auf dem System (Radeon HD 7950) nicht toll lief, hatte ich gelesen, dass der dritte besser optimiert sei. Aber da ging nichts.
Vor ungefähr einem Monat, nach einigen Systemupdates, funktionierte Saints Row 3 dann plötzlich. Es lief nicht toll, aber es war gerade so spielbar – auf minimalen Einstellungen und 1280×720, mit massiven FPS-Schwankungen je nach Geschehen auf dem Bildschirm, nach erneutem Übertakten des Prozessors. Und heute, pünktlich zur finalen Mission, läuft es flüssig. Auf Full-HD und in mittleren Einstellungen. Es ist einfach nur großartig, dabei zuzusehen, wie sich der Linux-Desktop in eine valide Spieleplattform verwandelt.
Der folgende Screenshot ist von heute, der weiter unten schon etwas älter. Ich meine man kann deutlich erkennen, wie viel schlechter die Grafikqualität im zweiten ist. Eine solche Änderung durch einen kleinen Treiberupdate, das ist beeindruckend.
Und Saints Row 3 selbst? Es ist wieder ein gutes Spiel. Ich fand es schwieriger hineinzukommen, und ein paar der Nebenmissionen wieder ätzend. Aber man findet dann doch hinein und dann ist es wie der zweite, nur viel überdrehter und absurder. Mit GTA hat das nicht mehr viel zu tun, und das ist gut so, denn es ist schlicht spaßiger.
Wieder gibt es eine Story, in der mehrere gegnerische Banden bekämpft werden müssen. Die sind direkt mit einem überbösen Syndikat verbündet, später kommt dann noch mit STAG das (Scifi-)Militär hinzu. Die vorherigen Kollegen sind wieder mit dabei, wobei Shaundi ziemlich verändert wurde. Die Missionen gleiten alle ins absurde, wenn eine sich anfangs wie eine normale Mission eines GTA anfühlt, kann man sicher sein, dass drei Sekunden später laserschießende Weltraumtentakelmonster aus der Kanalisation kriechen. Wieder gibt es Upgrades, Waffenupgrades, Kleidung und Tattoos, und der Charakter kann ziemlich angepasst werden. Doch anders als im vorigen Teil – man ahnt es – ist es kein Problem, einen völlig absurden Charakter zu erschaffen, z.B. ein hell-blaues Monster statt eines Menschen. Und dem kann dann noch ein Hotdogkostüm angezogen werden. Oder eine Toilette.
Das war fast zu viel für mich. Nicht immer ist alles witzig oder gelungen, es gibt einige Sequenzen (z.B. das Fallen aus dem Flugzeug), die spielerisch komplett anspruchslos sind. Aber Anspruch ist sowieso nicht das Markenzeichen von Saints Row. Es will absurd und spaßig sein, und kriegt das gut hin. Ich freu mich auf den vierten Teil, den ich im letzten Steam-Sale gekauft habe – mal schauen, ob für den ein weiteres Treiberupdate nötig ist.
Kameraklappe fürs Smartphone
Sunday, 4. December 2016
Ich habe dem Spark eine Klappe vor die Kamera geklebt. Klar, die Kamera des Laptops war schon immer abgedeckt, aber die vordere des Telefons hatte ich bisher ignoriert.
Die Klappe kommt von soomz und wurde zufällig, ohne weitere Recherche, bei Amazon ausgewählt. Ein Impulskauf. Bis jetzt wirkt sie ganz gut, der Kleber scheint zu halte, die Klappe öffnet sich nicht von alleine, kann jedoch einfach mit dem Finger verschoben werden.
Auslöser des Kaufes war natürlich der Snowden-Film.
Mit BlueALSA Bluetooth-Headset unter ALSA ansprechen
Wednesday, 30. November 2016
Mit bluez5 wurde die direkte Unterstützung für Audiogeräte herausgeschmissen. Stattdessen müsse man Pulseaudio nutzen. Auf meinem Laptop habe ich das sogar gemacht, da dort Ubuntu ohne weitere Modifikationen läuft, aber es funktionierte nicht gut. Auf meinem Hauptsystem läuft einfach nur ALSA, und angesichts der konstanten Problemen mit Pulseaudio wird sich das auch nicht ändern. Und hier springt BlueALSA (vormals bluez-alsa) in die Bresche.
BlueALSA erstellt ein virtuelles PCM-Modul, das für das Bluetooth-Gerät steht. Wird dann dieses als Ausgabegerät gewählt, kommt der Sound aus dem Headset.
Vorbedingung ist, dass die Geräte gepairt sind. Dafür benutzte ich Blueman, alternativ kann man das auch gut in der Konsole mit bluetoothctl machen. Schwierigster Schritt war hier, herauszufinden, wie man das Headset in den richtigen Modus schaltet.
Dann BlueALSA installieren. Bei mir ist es noch als bluez-alsa bezeichnet:
sudo emerge bluez-alsa
Gestartet ist es schnell:
sudo bluealsa
Und direkt danach hat das Abspielen einer Audiodatei funktioniert:
aplay -D bluealsa:HCI=hci0,DEV=XX:XX:XX:XX:XX:XX,PROFILE=a2dp testdatei.wav
Um nur bluealsa angeben zu müssen, kann man die Parameter wie in der Readme erwähnt der ~/.asoundrc hinzufügen:
defaults.bluealsa.interface "hci0" defaults.bluealsa.device "XX:XX:XX:XX:XX:XX" defaults.bluealsa.profile "a2dp"
Ist jetzt alles gut? Leider noch nicht. Ich habe Firefox nicht überzeugen können, Sound über BlueALSA abzuspielen. Firefox war immer schon störrisch mit ALSA, hatte z.B. nie eine Möglichkeit, das Ausgabegerät auszuwählen. Auch scheint Mixing, also das unterstützen mehrerer Audioquellen auf einmal, noch zu fehlen. Generell sind wir hier in einem Bereich, in dem die ~/.asoundrc angepasst und eine gute Standardkonfiguration gefunden werden muss, da fehlt noch Dokumentation (wobei dies ein guter Ansatz ist). Aber BlueALSA wird aktiv entwickelt, ich bin zuversichtlich, dass das Projekt eine Lösung finden wird.
Hoffentlich bevor die Katze das Kopfhörerkabel durchgebissen hat.
Font Awesome 5 Kickstarter
Wednesday, 16. November 2016
Ich weiß nicht, ob darüber nicht schon zu viel geschrieben wurde (erst war ich nicht wirklich online, dann mein Feedreader wirklich offline), aber da ich eigentlich nicht an Kickstarter teilnehme will ich über diese Ausnahme dann doch schreiben. Das Kickstarter-Projekt der Iconfont Font Awesome hat mich geködert, als sie ihr $20-Frühkäuferangebot für alle freigegeben haben, nachdem sie wohl deutlich mehr Geld bekommen haben als erwartet. Und das war, bevor ich deren Video gesehen hatte:
Ich finde das Prinzip grundsätzlich gut. Font Awesome wird oft genutzt, auch ich habe es schon in Projekten benutzt. Und jedes mal ist es toll, passende Icons zu finden, und ist es ärgerlich, wenn genau das gesuchte Icon nicht da ist. Mit dem Geld des Kickstarters wollen sie mehr und bessere Icons bauen, häppchenweise 10 für die freie Version und 30 für die kostenpflichtige (davon sind derzeit 29 Pack finanziert). Meine $20 gehen also gleichzeitig in meine eigenen Projekte und kommen freier Software zugute, denn für beide gibt es dann mehr Icons. Da gönn ich den Iconmachern wirklich ihren erfolgreichen Kickstarter.
Wileyfox Spark+
Thursday, 3. November 2016
Das Wileyfox Spark+ kam in einem kleinen roten Karton. Das Zubehör ist simpel: USB-Kabel, Kopfhörer und eine Kurzanleitung. Kopfhörer und Kabel wirken gar nicht mal schlecht, die Kurzanleitung war klar verständlich.
Das Telefon selbst ist von vorne unscheinbar und hat hinten das Wileyfox-Symbol als sehr sichtbares Designelement, außerdem ist die Plastikrückseite hübsch angeraut. Intern identifiziert es sich übrigens als Fly Evo Tech 4, das den Fotos zufolge ähnlich aussieht, aber nicht identisch ist.
Im Test auf Computerbase kam das Spark ohne Plus nicht gut weg, zu wenig Arbeitsspeicher, zu langsam und zu wenig internen Speicher. Beides behebt wohl das Plus-Modell. Und es hat weiterhin die positiven Eigenschaften des Spark: Auswechselbare Batterie (Pflicht), Dual-Sim (super für mich, mit meiner französischen und deutschen Nummer), gutes Display und aktuelles Android, erweiterbarer Speicher. Es wirkt zudem sauber verarbeitet und die Leute, denen ich es zeigte, fanden es hübsch.
Im direkten Vergleich mit dem LG G3 ist das Spark wohl ein kleiner Schritt zurück. Das Display des G3 erscheint mir etwas besser, nicht die Helligkeit, sondern die Farben. Mein Gesprächspartner meinte, die Sprachqualität sei etwas schlechter – auf meiner Seite höre ich immerhin keinen Unterschied. Akkulaufzeit kann ich noch nicht beurteilen, ebensowenig die generelle Leistung. Beides braucht mehr Zeit, war bisher aber völlig okay. Für die Kamera habe ich ein paar Vergleichsbilder geschossen (links: G3, rechts: Spark+):
Nebeneinander gehalten, Automatikmodus, im gleichen Moment gedrückt. Das G3 scheint mit dem Gegenlicht deutlich besser zurechtzukommen. Unbrauchbar ist die Kamera des Spark aber auch nicht.
Das Android auf dem Spark+ wirkt bisher sehr gut. Android mit Cyanogenmod, ich bin zu wenig vertraut mit aktuellen Androidversionen um genau zu wissen, was verändert wurde. Im Gegensatz zum G3 ist der Wegfall der vorinstallierten LG-Anwendungen durchaus angenehm, und das alphabetisch sortierende Anwendungsmenü gefällt mir auch gut (da weiß ich allerdings auch, dass das normalerweise auswechselbar ist). Dass das Spark+ etwas kleiner ist finde ich gut (aber hey, ich hielt auch das HP Veer für ausreichend groß), und sein angerautes Plastik ist angenehmer zu greifen als das glatte Plastik des G3.
Zusammenfassend: Mit einem Langzeittest kann ich noch nicht dienen. Aber der erste Eindruck des Spark+ ist ziemlich positiv. Es scheint mir völlig geeignet, das G3 zu ersetzen – allerdings würde ich das G3 behalten, wenn ich die Wahl hätte. Abgesehen davon wüsste ich derzeit nicht, was ein Android-Smartphone mehr haben sollte. Aber genau deswegen wollte ich ja auch ein solches günstiges Smartphone haben. Es hat neu samt Lieferung 150€ gekostet.
Portier: Ein Nachfolger für Mozillas Persona/Browserid
Monday, 31. October 2016
Wir stellen heute Portier vor. Portier ist freie Infrastruktur für das Web. Es ist ein Loginsystem, das Seiten benutzen können, um Nutzern die Möglichkeit zu geben sich per Email anzumelden. Der Kniff dabei ist, dass die Seite keinerlei Passwort speichern muss.
Das folgende ist einfach zu verstehen, wenn du vorher die Demo ausprobierst.
Portier funktioniert so: Auf der Webseite, in die man sich einloggen will, ist ein Loginformular, das nach der Emailadresse fragt. Der Nutzer gibt seine Adresse ein und schickt das Formular ab. Es wird zu Portier geschickt, dessen Aufgabe dann ist diese Emailadresse zu authentifizieren. Er prüft ob der Nutzer die Emailadresse wirklich kontrolliert. Dafür hat Portier zwei Möglichkeiten:
- Er kann eine Email mit einem Bestätigungslink zurück zu Portier an die Adresse schicken.
- Alternativ wird die OpenID-Authentifizierung des Email-Providers genutzt, also bei den meisten Google Sign-In. Das ist komfortabler, da komplett im Browser.
Weiß Portier dann, dass die Emailadresse wirklich dem Nutzer gehört, schickt er an die Seite eine signierte Bestätigung und leitet den Nutzer zurück. Die Seite kann den Nutzer dann einloggen.
Portier und Mozillas Persona
So etwas ähnliches gab es schonmal, es war ein Projekt von Mozilla. Es hieß anfangs Browserid, später war das dann nur noch der Name des verwendeten Protokolls und das Projekt wurde zu Persona umgetauft. Das war hochproblematisch, denn Persona war bereits der Name von diesen Firefox-Themes. Persona hatte noch mehr Probleme: Es war nicht einfach Infrastruktur, sondern sein eigenes Produkt, das Bekanntheit erlangen sollte und das größer war als ein einfacher Email-Bestätiger. Beispielsweise mussten Nutzer sich beim ersten Login auf der Persona-Seite einloggen und dafür ein Passwort wählen, und es konnte nur funktionieren, wenn Nutzer den Persona-Button einordnen konnten. In einem Nutzertest von mir hat keiner der Testpersonen den dafür nötigen Wechsel zwischen Browser, Emailprogramm und Tabs samt anschließendem Zurückwechseln zur Zielseite hinbekommen.
Das alles will Portier besser machen, wobei klar ist: Persona war eine in meinen Augen großartige Idee. Das Portier-Projekt ist ein Versuch, diese Idee weiterleben zu lassen und die Fehler, die Persona gemacht hat, nicht zu wiederholen.
Portier versucht nicht, ein Single-Sign-On-System zu sein, also dass ein Nutzer automatisch auf jeder Portier-nutzenden Seite eingeloggt sind, nur weil er auf einer einzelnen Seite sich mit Portier einloggte. Es gibt schlicht keine zentrale Instanz, in die der Nutzer sich einloggen muss. Es gibt nur den Portier-Broker, der keine Nutzerdaten speichert und von dem es viele verschiedene Installationen geben kann. Wir werden eine Instanz hosten (auf https://broker.portier.io/), aber theoretisch kann jede Seite seinen eigenen Broker haben. Auch praktisch werden wir versuchen das möglichst einfach zu machen – der Code ist überschaubar, das Protokoll möglichst simpel und nutzt mit OpenID existierende Standard, und mit der verwendeten Programmiersprache Rust können Binaries bereitgestellt werden.
Persona wird Ende November abgeschaltet. Es erreichte nicht die Bekanntheit, die Mozilla sich erhofft hatte. Portier eignet sich als Alternative, z.B. mein sinatra-portier-Gem kann direkt sinatra-browserid ersetzen, ohne dass groß der Code angepasst werden muss.
Das Portier-Projekt
Portier ist kein Mozilla-Projekt. Nach der Ankündigung der Abschaltung haben sich einfach ein paar Entwickler zusammengetan, um eine Alternative zu schaffen. Nach einer durchaus langen Planungsphase ist daraus Portier entstanden, das jetzt einsatzbereit wird. Es gibt noch viel zu tun (es gibt eine Roadmap): Arbeit am Broker, Verbessern der Dokumentation auf der Webseite, und generell das Bauen von Modulen für Webframeworks, um die Integration möglichst einfach zu machen. Da können wir Hilfe brauchen. Aber schon jetzt funktioniert Portier und kann allen Webentwicklern helfen, die Persona ersetzen müssen, oder die so etwas wie Persona nur als aktives Projekt haben wollen.
LG G3
Wednesday, 26. October 2016
Das G3 ersetze bei mir vor etwa 5 Monaten das Nokia Asha 210. Es war über, anfangs wollte ich es nur für die Webentwicklung nutzen, aber dann kam Pokemon Go…
Außerdem wurde das Asha mir zu umkomfortabel. Die Idee des Asha war für mich, ein Arbeitshandy zu haben, kein Smartphone. Aber die relevanten Dinge müssen dann auch laufen. Bis heute habe ich es nicht hinbekommen, mit dem Asha Emails zu senden (empfangen geht), und die fehlende Unterstützung für die Wlan-Verschlüsselung in der Uni wurde immer störender. Außerdem ist inzwischen klar, dass die Verarbeitung nicht toll ist, das Plastik verfärbt sich, der Wippschalter wird schwergängig. Das G3 kam mir da ganz recht.
Mit Android hatte ich privat schon durch das Samsung Galaxy 3 Erfahrung, außerdem durch die Arbeit. Mit dem alten Galaxy 3 kann man das LG G3 kaum vergleichen, es ist eine ganz andere Liga. Kostete damals aber eben auch deutlich mehr. Mittlerweile läuft Android 6.0 darauf, und auch Android ist eine ganz andere Geschichte als früher. Es ist hübscher, schneller und responsiver.
Ich habe es dann doch genossen, für eine Weile ein richtiges Smartphone zu haben, selbst wenn mir immer noch eine Tastatur fehlt. Das G3 passte dann aber auch besonders gut. LG ist der letzte große Anbieter, bei dem man die Batterie auswechseln kann, mir ist das wichtig. Die Zusatzapps sind nicht völlig, aber weitestgehend deaktivierbar. Das Display ist hervorragend, sowohl die Farben als auch die Helligkeit, nur in praller Sonne wurde es manchmal zu heiß und drosselte die Helligkeit, was für Pokemon blöd war. Nie hatte ich Probleme mit der Leistung. Die Tasten auf der Rückseite zu haben fühlte sich schnell natürlich an. Nicht so gut gefallen hat mir das Material, das Plastik ist eben Plastik und nicht wirklich angenehm zu greifen. Immerhin sieht es immer noch wie neu aus. Schon mit dem Asha hatte ich ein paar hübsche Fotos geschossen, die Kamera das G3 ist dann aber nochmal deutlich besser, eben fast so gut wie ein echter Fotoapparat. Insgesamt ein richtig tolles Smartphone.
Das G3 war ein Topmodell in 2014, aber noch jetzt, da ich es zurückgeben werde hätte ich es mir beinahe gekauft. Zwei Jahre später sehe ich außerhalb von Softwareupgrades keinen Grund, bessere Hardware zu verwenden. Es ist kein Wunder, dass der Smartphonemarkt inzwischen gesättigt ist, und für viele ein günstiges Smartphone völlig ausreicht. Ich hoffe, dass das mittelfristig dazu führt, dass Nischen wie kleine Smartphones und Smartphones mit Tastatur wieder besetzt werden, dass sich Hersteller über garantierte Softwareupdates differenzieren, und dass schließlich freie Software auch in diesem Sektor konkurrenzfähig wird und dieses Problem löst.
Ubuntu Phone scheint ja ein guter Schritt in diese Richtung zu sein. Mein nächstes Telefon wird es aber noch nicht, es ist ja auch noch gar nicht richtig kaufbar. Aber dazu bald mehr.