Hacktoberfest 2018

Open Source lebt ja nicht nur von der Idee, dass die Software quelloffen und damit für jeden einseh- und bewertbar ist, sondern auch davon, dass die Möglichkeit gegeben sein kann, dass jeder mitmachen kann. Jedenfalls, wenn der Autor der Software mitmacht und sogenannte "Pull Requests" entgegennimmt.
"Pull Requests" sind Quellcode-Schnippsel (oder auch Assets), die von Entwicklern beigesteuert werden können, die keine Schreibrechte im Repository haben. Sie dienen vor allem dazu Bugs zu beseitigen, aber auch um Features ein- oder auszubauen. Oder um Dokumentationen zu pflegen.

Das Hacktoberfest wird 2018 zum fünften Mal von GitHub und DigitalOcean organisiert (und dieses Jahr ist auch zum ersten Mal Twilio als Supporter dabei) und zelebriert einen Monat lang Open Source Software. Man kann daran weltweit teilnehmen, indem man im Oktober fünf Pull Requests in offenen Projekten auf GitHub postet. Die müssen noch nicht einmal angenommen werden, nur sollten sie nicht in Fake-Repositories landen oder aus Spam bestehen.

Meine Pull-Requests sind bis jetzt in die Repositories von Oh My Zsh, DDEV und gitignore.io gewandert. Vielleicht finde ich diese Woche auch noch ein wenig Zeit. Am Freitag gab es jedenfalls noch ein Hacktoberfest-Meetup in den heilligen Hallen der Micromata hier in Kassel, bei dem ich auch ein paar Stunden anwesend war. Hat Spaß gemacht und wieder Lust gemacht, die Webmontage zu besuchen, die dort auch abgehalten werden.

Lootbox-Mechaniken zur Hölle

Meine Kinder spielen Clash Royale und ich habe von Anfang dieses Spiel nicht leiden können. Das hat damit angefangen, dass ich die Aufteilung des Spielbretts für einen Abklatsch eines Startszenarios von Warhammer gehalten habe und hat mit den unsäglichen Lootboxen aufgehört. Es gibt nichts Schlimmeres als Lootboxen und ich kann es zwar aus unternehmerischer Sicht verstehen, dass auch ganz viele AAA Spiele diese Mechanik einbauen, aber aus der Sicht eines Spielers finde ich es unerträglich.

Von daher bin ich nie mit dem Spiel warm geworden. "Age of Sigmar: Realm war" musste ich mir aber unbedingt aufgrund des Settings und meiner langsam aufkeimenden Liebe zu "Warhammer: Age of Sigmar" trotzdem anschauen. Auch wenn schon beim ersten Spiel klar wurde, dass es sich hierbei nur um einen kompletten "Clash Royale"-Klon handelt, wollte ich doch trotzdem die Mechaniken verstehen.

Eine Auflage habe ich mir aber gemacht: es wird kein Geld ausgegeben, um schneller voranzukommen! Auch wenn ich das eigentlich doof finde, weil ich selber Entwickler bin und für meine Arbeit entlohnt werden möchte. Aber ich programmiere ja auch keine "Pay to win"-Spiele.

Nach den ersten Tagen bin ich etwas ernüchtert, denn wenn man einmal die Spielmechaniken durchschaut hat, stellt man fest, dass nicht sonderlich viel Tiefe vorhanden ist. Man stellt sich sein Deck zusammen, probiert neue Kombinationen aus, die man bei Gegnern sieht, die einen vernichtend geschlagen haben und durch die Lootbox-Mechanik ist man "gezwungen", alle paar Stunden die Kometen/Boxen zu öffnen, um an neue Karten heranzukommen.

Mittlerweile ist mein Charakter kurz vor Level 6 und ich stehe vor dem Einzug in die vierte Welt und ich denke, dass ich das Spiel schon noch ein wenig weiterspielen werde. Mehr aber auch nicht.

Oh my shell!

Für mich ist das wichtigste Werkzeug nach einer Entwicklungsumgebung eine gut funktionierende Shell. Ohne diese könnte ich diverse Dinge in meinem täglichen Workflow gar nicht oder nur schwer umsetzen. Klar gibt es eigentlich für alle Befehle, die man in einer Shell abfeuert, in der ein oder anderen Weise eine Ersetzung in Form von graphischen Oberflächen oder Integrationen in die IDE, aber diese sind entweder kompliziert zu konfigurieren oder bieten in den meisten Fällen nur einen geringen Teil der notwendigen Befehle oder Parameter.

Die Zeiten, in denen so eine Shell nur aus einem blinkenden Cursor bestand, man sich mühsam die Syntax von Befehlen merken musste und sie sich gefühlt nicht in den Workflow integrieren lies, sind auch vorbei. Und mit "Oh My Zsh" existiert sogar noch ein "Konfigurations"-Framework, das eigentlich keine Wünsche offen lässt, weil man es einfach selber erweitern kann.

Zwar kann man Oh My Zsh auch im Terminal von macOS verwenden, aber wenn man schon mal dabei ist, kann man ja auch gleich noch einen Ersatz dafür installieren: iterm2. Ein Ersatz für das macOS-Terminal, das neben einer Suche, Profilen und einer Historie über seine unzähligen Parameter so konfigurierbar ist, dass es sich wie bei Quake von oben öffnet. Was will man mehr?

Installation

Man sollte erstmal Homebrew installieren, danach kann man mit

brew cask install iterm2

iterm installieren. Und dann gleich noch mit folgendem Befehl "Oh My Zsh" nachinstallieren:

sh -c "$(curl -fsSL raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Konfiguration

Fangen wir mal an erstmal iTerm2 etwas aufzuhübschen: Material Design Colors, "Quake-Console"-Shortcut und besser lesbare Schriftart.

Das Farbprofil für die Material Design Colors kann man sich hier herunterladen und diese dann in den Einstellungen unter Profiles > Colors in der Selectbox unten rechts "Color Presets..." importieren und auswählen.

Um ein Terminalfenster so ähnlich wie das Terminal bei Quake von oben herunter aufgehen zu lassen, erstellt man unter dem Reiter Profiles ein neues Profil mit ähnlichen Einstellungen wie im Bild zu sehen. Die wichtigste Einstellung ist bei Style den Wert "Full-Width Top of Screen". 

Dann noch im Reiter "Keys" im Bereich "Hotkey Window" einen Shortcut definieren und dann fehlen nur noch ein paar Schriften, die man sich hier auf GitHub runterladen kann. Ich verwende für alle Fenster folgende Schriftart

12pt Meslo LG M DZ Regular for Powerline

Dann kommen wir zu "Oh My Zsh", das ganz einfach per Textdatei konfiguriert werden kann. In iTerm2 einfach folgenden Befehl ausführen oder die Datei im Editor seiner Wahl öffnen:

vi ~/.zshrc

In der gut dokumentierten Datei kann man neben dem Theme (ich verwende "awesomepanda") auch eine Menge Plugins installieren, die einem sehr viele nützliche Shortcuts und Tools zur Verfügung stellen. Eine Liste, welche Tools verfügbar sind, kann man hier einsehen. Ich verwende folgende Konfiguration:

plugins=(
brew
composer
docker
dotenv
git
osx
urltools
web-search
)

Ansonten lohnt es sich, Shortcuts/Aliase für Befehle in dieser Datei abzulegen. Welche gerade aktiv sind, kann man sich mit "alias" anzeigen lassen.

Twitter ist (so gut wie) tot

Die erste Änderung in der Twitter-API ist seit ein paar Tagen scheinbar aktiv, was bedeutet, dass Third-Party-Clients diese Woche noch periodisch Zugriff auf diverse APIs (Site Stream und User Stream) haben, die aber dann endgültig am 23.08. abgeschalten werden. Die DirectMessage-API darf noch bis zum 17.09.18 existieren und eine Woche vorher treten dann noch die neuen API-Restrictions und neuen Regeln für das Entwickeln von Apps in Kraft, die es den inoffiziellen Clients noch schwerer machen werden.

Zwar kann man angeblich den Support anbetteln, dass die eigene App die aktuell geltenden Limits zurückbekommt, aber das ist so schön formuliert, dass die Ausnahme nur für die aktuelle App gilt. Sollte also eine neue Version von Tweetbot herauskommen, werden nur noch die neuen Limits gelten. Und damit das Aus für Tweetbot & Co. bedeuten.

Ich habe keine richtige Ahnung, warum sich Twitter so verhält und die Wünsche ihrer User ignoriert. Ich denke mal, dass es um die Maximierung von Werbeeinahmen und bezahlten Tweets geht, die in den 3rd-Party-Clients nicht angezeigt werden. Twitter scheint sich sehr an Facebook zu orientieren, was die Umgestaltung seiner Streams angeht. Die anfangs noch chronologisch geführte Timeline wurde in der Webansicht und in der offiziellen Client-App durch Algorithmen und Werbeanzeigen kaputt gestaltet, dass diese eigentlich unbenutzbar sind.

Seit ein paar Tagen schaue ich mir Mastodon an, dass ein sehr ähnliches Konzept wie Twitter verfolgt, aber in erster Linie nur ein Stück Software ist, das jeder nutzen kann, um eine eigene Instanz zu erstellen. Die Mastodon-Instanzen können sich dann untereinander unterhalten, können aber auch geblockt werden, wenn sich eine Instanz zum Beispiel als Versender von Spam herausstellt.

Die Idee dahinter ist verlockend und durch die Twitter-Ankündigung sind die verfübaren Mastodon-Instanzen auch mit Accounterstellungen überrant worden. Trotzdem befinden sich zur Zeit einfach zu wenige Nutzer auf den Instanzen, so dass sich ein ähnliches Gefühl wie bei Diaspora breitmacht. Diaspora war damals mit einem ähnlichen Ansatz gegen Facebook angetreten, hat aber in den bestehenden knapp acht Jahren seiner Existenz noch nicht einmal die Millionen-Marke an Benutzern geknackt.

RSS ist am Leben

Gestern habe ich den Kommentar auf Heise zum Sterben von RSS mit Verwunderung gelesen. Wie oft ist eigentlich RSS schon gestorben? Schon mit dem Wegfall von Google Reader Mitte 2013 wurde RSS schon zu Grabe getragen. Klar, das war ein herber Einschnitt und seitdem entwickelt sich RSS beziehungsweise die Clients nicht sonderlich weiter. Auch mein Lieblingswerkzeug Fever wird seit 2016 nicht mehr weiter entwickelt.

Aber tot ist RSS in meiner Filterblase nicht. Mein Rasen ist tot, wie man auf dem Foto gut sehen kann. Aber RSS konnte sich in seiner Form einfach nicht durchsetzen, aber die Idee dahinter ist doch nichts anderes als das Abonnieren eines Facebook-Kanals, nur dass man hier leider eine gefilterte Version bekommt und nicht alle Einträge chronologisch sortiert.

Vielleicht muss man einfach nur mal wieder mehr Werbung für RSS machen? Ich entwickele seit einiger Zeit eine TYPO3-Erweiterung, die einen ähnlichen Funktionsumfang wie Fever hat. Einfach, weil ich Fever für mich als die beste Lösung fand. Es war selbstgehostet, die Daten bleiben also bei mir und es gab sogar Apps auf iOS (auf Android wahrscheinlich auch), die die Fever-Schnittstelle abfragen konnten.

Die Einträge von mir können übrigens auch per RSS abgeholt werden. Die deutschen Artikel bekommt man unter der Adresse https://www.insomniaonline.de/feed und die englische Übersetzung unter https://www.insomniaonline.de/en/feed.

Blutmond

Über den Blutmond in Zelda: Breath of the wild kann ich mich ja aufregen. Aber das ist eine andere Geschichte. Beim heutigen Blutmond bei uns haben keine Gegner respawned, das Ganze wurde eher von einem netten Picknick umrahmt und neben ein paar kleinen Sternschnuppen und der ISS gab es eine ziemlich lange totale Mondfinsternis mit Blutmond. Und Mars.

TCCI-Zertifizierung

Vor ein paar Wochen hatte ich richtig Schiss. Respekt. War angespannt wie ein Flitzebogen. Hatte wochenlang gelernt. So richtig, wie man es damals hätte in der Schule oder Uni machen sollen. Kannte ich gar nicht oder hatte es schon wieder vergessen, wie es ist, sich auf eine Prüfung vorzubereiten.

Die Schullaufbahn und die Ausbildung ist ja auch schon echt mal lange her und zwar lerne ich jeden Tag etwas Neues hinzu, aber sich auf eine Zertifizierung vorzubereiten ist dann doch etwas anderes. Aber ich habe es geschafft und die nächsten drei Jahre darf ich mich TYPO3 CMS Certified Integrator nennen!

Und übermütig bin ich auch gleich geworden, bereite ich mich doch schon auf die nächste Zertifizierung vor: TCCD oder TYPO3 CMS Certified Developer. Aber das hat bis Anfang nächsten Jahres noch Zeit...

Ein Blog ist ein Blog

Bei der Umstellung des Blogs auf TYPO3 habe ich die Kommentar-Funktion gekilled. Nicht, dass hier viele Artikel kommentiert wurden, auch wenn ich für jeden Kommentar dankbar war, aber eine großartige Diskussionskultur kam hier aufgrund auch meiner Texte nicht auf. Warum auch?

Trotzdem hat mir in den letzten Tagen etwas gefehlt. Und somit sind ab jetzt bei allen Blogposts wieder die Kommentarfunktion verfügbar. Die Kommentare aus der Wordpress-Installation habe ich leider nicht mehr, da ich die Installation und die Backups gelöscht habe. An dieser Stelle bitte ich bei den damaligen Kommentatoren um Entschuldigung. Das hätte ich besser planen sollen.