Hello Linux

Quasi aus der Not heraus habe ich seit langem mal wieder ein Linux als Entwicklungssystem aufgesetzt. Und das in echt kurzer Zeit. Als Basis habe ich die SSD meines Gaming-Laptops um 120 GByte verkleinert und dann per USB-Stick Ubuntu installiert. Und das ging fix und vor allem hat er einwandfrei alle Komponenten erkannt. Das ist man aus den Urzeiten von Linux ja gar nicht gewohnt.

Der Rest an Installation war dann einfach nur ein Kinderspiel. PhpStorm, GitKraken, zsh mit oh-my-zsh als Shell und dann noch der übrige Kleinkram wie docker, SSH/VPN-Konfiguration, GPG/PGP. Alles andere spielt sich in Browsern ab. Ein Wechsel von macOS auf Linux ist also, was das Arbeiten angeht, einfach zu vollziehen und ich denke nicht, dass ich einen Unterschied feststellen werde. Dafür sind die Tools, mit denen ich arbeite, auf allen Plattformen gleich.

Klar fühlt es sich ein wenig besser an, mit quelloffener Software zu arbeiten, aber das Verwenden von Apple-Hardware verbuche ich bei mir als elitäre Attitüde.

Gescriptete Popcorn-Schießbude

Sehr, sehr viele Spiele habe ich nicht zu Ende gespielt. Weil sie entweder nicht gut waren, Fehler enthielten oder deren Mechaniken mich irgendwann langweilten.
Und es gibt Spiele wie die "Grand Theft Auto"-Serie, bei der ich aber trotzdem zugeben muss, dass ich die ersten beiden Teile nicht durchgespielt habe. Damals haben wir auf LAN-Parties eher andere Spiele gespielt, die Multiplayer-Modi der beiden ersten Episoden waren nicht sonderlich spannend.

Nachdem ich die letzten Wochen den fünften Teil nun zum dritten Mal durchgespielt habe und die Definitive Edition soweit gepatched wurde, dass sie scheinbar spielbar ist, werde ich nun alle Teile ab dem dritten erneut spielen. Nicht, weil die GTA-Spiele so überragende Spielmechaniken haben. Wenn man ehrlich ist, klaut man seit dem ersten Teil Autos um von A nach B zu kommen, um X zu machen, um danach nach Z zu fahren, damit die Mission abgeschlossen wird. Dazwischen ein wenig rumballern, was auch nicht sonderlich überragende Fähigkeiten verlangt und das war es auch schon.

Alles weitere sind gescriptete Ereignisse. Die in ihrer Gesamtheit mit jedem weiteren Teil der Spielereihe immer besser erzählt werden. Und das macht für mich den Reiz dieser Serie aus. Einfach ein wenig abschalten, zwei-drei Missionen spielen und am nächsten Tag einfach wieder einsteigen. Popcorn halt.

Remote Pair Programming

Video-Calls. Wer kennt sie nicht. Mal abgesehen von Team-Meetings, Stand-Ups und so weiter, muss man diese Kommunikationsform verwenden, wenn man mit seinen Kollegen im Home-Office zusammen ein Problem lösen möchte. Dann teilt einer am besten noch seinen Bildschirm mit der IDE und alle schauen zu, wie dort nach der richtigen Stelle in der Datei gesucht wird und dann mit etlichen Vertippern der zugerufene Code angepasst wird.

So ging es mir auch heute, wobei ich mich dann auch während des Meetings dauernd dabei erwischt habe, auf dem geteilten Bildschirm scrollen zu wollen. Aber dabei gibt es mit Tool wie "Code with me" innerhalb von PhpStorm eine hervorragende Lösung für dieses Problem. Ich hatte mir vor zwei (?) Jahren, als die erste Version des Tools erschienen ist, das ganze zwar schon mal angeschaut, aber damals stand das noch auf wackeligen Beinen und war nicht sonderlich performant.

Das heutige Meeting habe ich aber zum Anlass genommen und mir "Code with me" eben erneut angeschaut und ausprobiert. Und: es funktioniert einwandfrei. Und vor allem einfach. Der, der das Problem hat, stellt den Host und kann in PhpStorm in einem einfach gehaltenen Dialog einen Einladungslink generieren. In einer anderen Instanz kann man diesen Link dann entsprechend aufrufen oder im PhpStorm-Plugin eingeben und schon wird die Instanz gespiegelt. Und je nach den Berechtigungen können mehrere Leute dann direkt im Code zusammen arbeiten.

Ich habe keine Ahnung, warum ich das bisher einfach nicht genutzt habe.

Altersweisheit

Ich habe es mir leider nirgendwo abgespeichert, aber vor ein paar Tagen bin ich auf einen Blogeintrag gestoßen, in dem der Autor erzählt hat, dass er im aktuellen gehobenen Alter entdeckt hat, warum ihm gewisse Dinge nicht mehr so stressen. Ich glaube, er ist in einem ähnlichen Alter wie ich. Dreiundzwanzig. Naja, okay, Anfang/Mitte Vierzig. Biologisch betrachtet.

Ähnliche Gedanken hatte ich auch schon und mittlerweile machen die mir nicht mehr zu schaffen. Verbuchen wir das Ganze mal unter Weisheit ab, denn die Erfahrungen haben mir gezeigt, dass man gewisse Dinge einfach nicht beeinflussen kann und warum sollte ich mich dann noch darüber aufregen? Einfach nach vorne schauen und das Beste daraus machen.
Was mir aber immer noch Angst macht, ist, dass ich im hohen Alter doch mit einem Kissen auf dem Fenstersims Falschparker der Polizei melde. Oder ähnliches.

Bloggen mit TYPO3

Vergleiche zwischen Content Management Systemen gibt es wie Sand am Meer, da möchte ich jetzt keinen weiteren aufstellen. Vor allem, weil ich es schwer finde, ohne ein bestimmtes Problem eine ansprechende Gegenüberstellung zu erstellen.

Von daher nehmen wir an, dass wir schon eine TYPO3-Installation haben und der Wunsch entstanden ist, in einer Seite auch ein Blog zu integrieren. Vereinfachend und um es besser nachvollziehen zu können, verwendet diese Installation bk2k/bootstrap-package mit einer eigenen Template-Extension (wo kommt eigentlich der Begriff SitePackage her? In der ext_emconf gibt es doch "template" im Parameter "category"?).

Nach der Installation der Blog-Extension der TYPO3 GmbH folgt man einfach dem Setup-Wizard aus der Dokumentation integriert durch ein bißchen TypoScript und TsConfig das Ganze in seiner Template-Extension. Das alles dauert nicht mehr als eine Viertelstunde, wenn man ein wenig firm mit dem Backend ist. Und ist auch nicht schlimmer als die Installation und Konfiguration einer anderen Blogsoftware.

Man bekommt danach eine Seitenstruktur, in der man sich austoben kann. In der man wie man es mit TYPO3 gewohnt ist, Seiten und deren Inhalte bearbeiten kann. Inhalte, die man auch mehrsprachig verwenden kann, eine Instanz, in der man neben diesem Blog auch weitere Seiten/Domains mit ganz anderen Inhalten pflegen kann. Mit ganz vielen anderen Usern zusammen, wenn man möchte. Aus dem Fundus von tausend anderen Extensions schöpfen kann, um seine Inhalte aufzubereiten und zu präsentieren.

Klar, vielleicht bin ich voreingenommen, da ich seit anderthalb Jahrzehnten mit diesem System arbeite, aber ich weiß nicht, was daran schwer sein soll, sich per composer TYPO3, von mir aus das bootstrap-package und die Blog-Extension zu installieren, um dann per Assistent sich die Seitenstruktur erstellen zu lassen. Eine WordPress-Installation dauert genauso lang und stellt mir erstmal auch nicht mehr Funktionen zur Verfügung. Klar, sobald ich mir dann irgendwoher ein Theme mit so einem Seiteneditor reingeklickt habe, was zugegeben wirklich jeder technisch Unbedarfte schafft, hat WordPress vielleicht seine Vorteile was die Gestaltung angeht. Sieht man ja auch an dieser Seite (bin halt kein Pixelschubser ;-) ).

Und jetzt habe ich doch noch einen Vergleich reingebracht...

My HomeOffice is my castle

Vor zwei Jahren habe ich meinen ersten Tag im Home-Office verbracht. Damals habe ich noch gedacht, dass das einfach nur ein paar Wochen wegen des Lockdowns sein werden. Das daraus ein dauerhaftes Arbeiten von zu Hause aus werden wird, habe ich mir damals nicht ausmalen können. Das stand auch nicht als Ziel auf irgendeiner Liste.

Es funktioniert. Und wird auch weiterhin funktionieren. Das hat sehr viel damit zu tun, dass mein Tag sehr strukturiert und gleich abläuft. Der Rest der Familie verlässt morgens das Haus in Richtung ihrer Schulen, vorher zusammen frühstücken und dem Hund die weite Welt zeigen. Arbeitsphase bis mittags, dem Hund die andere Seite der Welt zeigen und dann bis abends wieder weiterarbeiten. Ohne irgendwelche Sachen wie Hausarbeit oder Ablenkung durch andere Dinge.

Das sehe ich bei anderen nämlich, deren Arbeit nicht so wie die von Entwicklern strukturiert werden kann. Da wird später aufgestanden und die Arbeit von Dingen wie Spülmaschine ausräumen oder sich mal um private Telefonate kümmern gestört. Oder einfach mal längere Zeit auf der Terasse in der Sonne liegen. Sachen, die man halt auch nicht machen würde, wenn man in der Agentur wäre. Die Familie trägt natürlich auch einiges dazu bei. Sie wissen, dass man mich nicht stören darf, um mich nicht aus dem Flow zu bringen.

Trotzdem muss ich sagen, dass es Tage gibt, an denen ich mein "altes" Arbeitsleben gerne zurück haben würde. Mit Kollegen von Angesicht zu Angesicht reden, mit ihnen Mittags Essen organisieren, kickern (auch wenn ich da eigentlich echt schlecht drin bin) oder abends auf ein Getränk länger bleiben. Oder einfach sich mit Teamkollegen stundenlang in einen Raum einschließen, um ein Problem gemeinsam zu lösen.

Das macht schon einiges auch im Hinblick auf Teambuilding aus, das man so aus dem Home-Office nicht erreichen kann. Es wird jedenfalls in den nächsten Jahren sehr spannend werden, wie sich das Arbeiten noch weiter verändern wird. Machen wir das Beste draus!

Disclaimer: ich hatte keine Lust, für das Foto meinen Arbeitsplatz aufzuräumen. So habe ich ihn heute nach der Arbeit verlassen.

Erste Hilfe für Open Source

Alexander Kellner hat die provokante These in den Raum geworfen, dass Open Source kaputt sei und aufgefordert, an der Reparatur mitzuwirken. Dies ist bestimmt überspitzt gemeint und bezieht sich im Artikel dann in erster Linie auf die Wahrnehmung, aber vor allem auf die Wertschätzung von Open Source.

Open Source lebt nicht allein von der Verbreitung, sondern von der aktiven Unterstützung durch deren Nutzer. Diese kann auf verschiedenen Ebenen passieren: manch einer ist in der Lage selber Code beizusteuern, andere verbessern die Dokumentation und wiederum andere können das Projekt finanziell unterstützen. Denn Entwicklung kostet Zeit. Zeit, die die Entwickler nicht mit ihrer regulären Beschäftigung zum Geld verdienen nutzen können oder von ihrer Freizeit abziehen müssen.

Alex´ Idee ist es mit Blick auf TYPO3 und der großen Vielfalt der Extensions, dass die Association eine zentrale Funktion für die Verteilung von Spenden einnehmen könnte. So eine Art Patreon/Steady für Community-Extensions. Es gibt ja selbst auf GitHub die Möglichkeit über das Sponsoring einzelnen Entwicklern etwas in den Topf zu werfen, was ich auch ein wenig mache.

Ich habe mir vor ein paar Jahren einen gewissen Rahmen gesetzt, den ich pro Jahr in Form von Spenden entbehren kann. Der größte Teil geht in Form von Fördermitgliedschaften bei so Projekten wie Sea-Watch oder der Gesellschaft für Freiheitsrechte drauf. Eine Bronze-Mitgliedschaft in der TYPO3 Association finde ich auch bezahlbar. Aber ich unterstütze auch über Plattformen wie Patreon/Steady/GitHub Sponsoring Entwickler und Podcaster, die sonst über keine anderen Wege für ihre Projekte an Geld kommen.

Aber ich muss bis jetzt über mehrere Kanäle schauen, dass mein Geldkontingent "klug" verteilt ist und ich ändere auch alle paar Monate meine Unterstützungen, um das Ganze breiter zu streuen. Einen zentralen Pool für TYPO3 und all seiner Extensions würde ich also begrüßen. 

Und ich habe vor auch auf anderen Wegen meinen Obolus beizutragen. Und mich erkenntlich für all das zu zeigen, was mir andere Entwickler möglich gemacht haben. Danke schon mal dafür!

2022

Das letzte Jahr war bestimmt für alle gleich seltsam, nervend und komisch. Ich kenne keinen, dem diese Pandemie nicht auf den Sack geht. Mehr möchte ich über dieses Virus nicht verlieren, sondern, wie der Titel sagt, nach vorne schauen. Denn 2022 kann nur großartig werden!

Vor allem habe ich mir vorgenommen, mich nicht weiter runterreißen zu lassen. Und ich glaube, dass es mir gelingen wird, weil ich die Kleinigkeiten viel mehr genießen werde. Also nicht versuche, große Dinge wie Urlaube oder Festivalbesuche übers Knie zu brechen, sondern kleine Dinge wie laue Sommernächte zu zelebrieren. Die Fahrradtour mit Freunden, das Bierchen/Wässerchen danach, Kino, Essen, Familie, den Jungs wieder mehr ermöglichen. Meine Kinder haben sowieso die letzten beiden Jahre Unglaubliches geleistet und gleichzeitig zurückgesteckt, um die Großeltern nicht in Gefahr zu bringen.

Abseits dessen habe ich mir vorgenommen mindestens zwei Stunden pro Woche OpenSource zu widmen. Wie und was genau, werde ich in den ersten Wochen erstmal ausarbeiten müssen, indem ich unterschiedliche Dinge ausprobieren werde. Aber damit das auf keinen Fall im Sand verläuft, wird das zu einem festen Termin in der Woche. So kann sich die Familie drauf einstellen, dass ich da nicht verfügbar bin und selber habe ich keine Ausrede, dass an dem Abend etwas anderes eine höhere Priorität hätte.

Auch meine eigene RSS-Reader-Extension möchte ich dann aus der Prototypen-Phase herausholen. Da habe ich mich im Sommer in zu viele Anforderungen und Features verrannt. Diese habe ich jetzt in eine langfristige Roadmap gepackt.

Im Laufe des vergangenen Jahres hatte ich mal wieder eine Phase, in der ich mich politisch engagieren wollte. Das ist aber auch recht schnell wieder beendet gewesen. Dazu habe ich leider in meiner Kindheit/Jugend zu viel vom Bürgermeisteramt meines Opas mitbekommen. Da bin ich desillusioniert. Ja, ich bin mir bewusst, dass das die falsche Herangehensweise ist, aber da ist die Schmerzgrenze bei mir noch nicht erreicht.

Achso: und mehr Gitarre spielen. Es kann also nur großartig werden! Dieses 2022.

Pagan

Rollenspiele waren schon immer irgendwie auch mein Steckenpferd. Meine "Pen & Paper"-Zeit liegt zwar auch schon Äonen zurück, in denen wir begeistert erst Das schwarze Auge und AD&D gespielt haben und dann neben Shadworun, Star Wars (ja, da gab es echt mal ein Rollenspielsystem für), Plüsch, Power und Plunder auch Statistikschlachten mit dem Rolemaster-Regelwerk bestanden haben. Und schon immer gab es Rollenspiele auf dem Computer. Auf dem C64 hatte ich damit noch wenig Berührung, obwohl es dort auch Spiele wie Bards Tale gab. Die Faszination kam dann aber eigentlich erst mit dem ersten Teil der Sternenschweif-Triologie des schwarzen Auges oder mit der "Pool of Radiance"-Reihe, die man auf dem IBM-PC gespielt hat.

Aber auch die Ultima-Reihe (vor allem Ultima VII) habe ich geliebt. Und wollte das eigentlich mal wieder spielen. Nur ist das wirklich sehr schlecht gealtert. Vor allem kann man den gelben Text auf dem Hintergrund einfach nicht mehr lesen, ohne Panik haben zu müssen, dass man in den nächsten Tagen sich eine neue Brille beim Optiker besorgen muss.
Aber auf dem Pile of shame der nie beendeten Spiele liegt auch noch der Nachfolger Ultima VIII Pagan. Zwar hat das Spiel aufgrund seiner Spielmechaniken damals keine guten Kritiken bekommen, aber ich weiß noch, wie ich damals Nächte durchgezockt habe. Und geflucht habe, wenn mal wieder so eine Jump'n'run-Passage zu meistern war.

Dann schaue ich mal, wie weit ich dieses Mal komme.