Herzlich willkommen!

Ich habe mir vorgenommen, monatlich meine Entwicklungen (also persönlich und natürlich auch die Projekte) zu protokollieren, weil ich fürchte, dass ich zu schnell abgelenkt werde und viele Menschen hängenlasse, und so vielleicht ein wenig bessere Routine in alles bekomme.
Allerdings komme ich natürlich auch nicht umhin, einige Sachen einfach für eine Weile liegen zu lassen, aber wenigstens gibt mir das hier die Möglichkeit, darüber nachzudenken, warum ich welche Entscheidung getroffen habe, letztlich vielleicht auch, damit ich weiß, wo ich mit diesem oder jenen Projekt stand, als ich die Arbeit daran pausiert habe. Ihr wisst bescheid, ich weiß bescheid.
Ich versuche es nicht ganz so langweilig werden zu lassen. Vielleicht gefällt Euch das Format ja sogar. Lasst es mich wissen. Ich bin etwas aus der Übung.

Außerdem war der letzte Blog-Eintrag laut meinen Dateien 2016, das geht gar nicht. Das ist einfach viel zu lange her.

Natürlich gilt auch hier wie immer: Wenn Ihr immer sofort auf dem neusten Stand bleiben wollt und Euch gelegentliche Shitposts nicht stören, dann folgt[1] Ihr mir am besten sowohl auf Twitter, als auch auf Mastodon.

KW 18

Diesen Monat habe ich angefangen, bezüglich meines leichten Rebrandings die eiszblu.me neu zu bauen. Ich habe noch viele offene Enden und bin noch nicht zu sehr viel gekommen, daher kann ich noch nicht viel zeigen.

Erster Entwurf des Widget-Baukastens

Wie gesagt, nicht viel. Die Idee ist, mir einen besseren und vor allem schlankeren Baukasten für Kacheln zu bauen, mit dem ich mehr und feinere Kacheln für alle anstehenden Projekte schnell und einfach sammeln kann.
Ja, das bedeutet, es wird vermutlich sehr bunt und chaotisch, aber genau das möchte ich haben.
Außerdem will ich auf JavaScript verzichten, wenn ich kann. Da einige Kacheln allerdings Daten nachladen und Graphen zeichnen müssen, werde ich dynamische Inhalte nicht komplett ausbauen können. Wenn es jedoch etwas gibt, das ich ohne JavaScript und etwa mit neusten CSS-Regeln abbilden kann (wie zum Beispiel das Layout selber), dann werde ich das ohne Rücksicht auf Letzte-Generation-Browser tun.

Bei der Gelegenheit hat mich Thomas (Hallo! Nett, dass Du vorbeischaust!) dann auch auf noch ein paar ältere Projekte hingewiesen, die ich eventuell wieder aufnehmen könnte.
Eins der Projekte wäre /SPIEL, das noch viel Spaß bereiten könnte, wenn man noch mal Hand anlegt (puh, der Code ist von 2015!). Denkbar wäre beispielsweise eine anständige Kampagne oder vielleicht sogar Unterstützung für mobile Geräte für deftigen Spielspaß in der Straßenbahn. Denkbar gerade deswegen, weil das unter Umständen die Wartezeit zum Ballspiel angenehmer gestalten könnte.

KW 19

Diese Woche war nicht sehr produktiv. Krankheitsbedingt war ich nicht zu viel mehr in der Lage oder bei Kräften, außer die zehnte Staffel Doctor Who nachzuholen und eine metrische Tonne Rohstoffe (vermutlich mehr) in No Man's Sky zu sammeln. Bei den dabei entstandenden PS4-Marathons hatte ich dieses Mal tatsächlich Zuschauer, die mir mit hilfreichen Ratschlägen ordentlich an Fortschritt beschert haben.
(Für diejenigen unter Euch, die gerade erst zuschalten: Für gewöhnlich streame ich Gameplay, wenn ich mal dazu komme, etwas zu spielen, roh auf meinen YouTube-Kanal, weil Batman gesagt hat, dass immer eine Aufnahme laufen muss. Ich mach das, weil ich es kann. Sonst nichts. Die Videos sind alle nicht monetized und ich krieg nichts von Euren Klicks, aber ich freue mich über jeden noch so stillen Zuschauer und gehe auch auf Vorschläge für die nächste Foltermethode Wünsche ein.)
Ich persönlich habe No Man's Sky schon immer sehr genossen, aber die Lernkurve ist sehr steil und der ständige und wenig belohnende Grinding-Prozess ist wirklich lästig und ich kann durchaus verstehen, dass das genau der Punkt ist, aus dem das Spiel bei Steam eher durchwachsene Bewertungen erhält. Zum Glück konnte ich das Spiel für unter €30 ergattern und je nach dem, wie das "größte Update jemals", das diesen Sommer ansteht, ausfällt, schäme ich mich vielleicht so sehr, so wenig für den Inhalt bezahlt zu haben, dass ich mir die Steam-Version auch noch zulege (aber dann eigentlich auch mehr aus dem Grund, weil mir das FPS-Limit, das die PS4 bei Deaktivierung wirklich laut aufheulen lässt, auf dem PC ein wenig egaler sein kann).

Und naja, weil mir das Geraffel mit meinem Blog irgendwie doch dezent auf den Geist ging, hab ich mich dazu entschlossen, es auf Ghost zu migrieren. Alle alten Beiträge sind nicht verschwunden, aber ich werde mir gründlich überlegen, ob ich alles mit umziehe oder ob ich es bei dem letzten großen Artikel belasse.

KW 20

Diese Woche habe ich damit angefangen, das Design für das Blog geradezuziehen. Da das Blog nie wirklich anspruchsvoll gestaltet war, rechne ich damit, auch Anfang dieser Woche mit dem Gröbsten durch zu sein und mich besser um Inhalte kümmern zu können. Dann ist das Design zwar nicht 100% so wie vorher (insbesondere bunte Code-Blöcke gehen so einfach jetzt nicht mehr), aber fürs erste nicht mehr so abstoßend.
Ich habe sogar einen coolen Trick mit Flexbox gelernt, wodurch ich keine dreckigen Hacks mit serverseitigem jQuery-Kram brauche, um Bilder breiter als den Text darzustellen.
Jetzt muss ich nur noch irgendwann mal ein großes Bild bloggen.

Den Rest der Woche habe ich damit zugebracht, an einem anderen Projekt ("Haufen") zu arbeiten und ein paar ältere Feature-Wünsche umzusetzen, die ich schon ewig mal ausprobieren wollte. Dabei stellte sich bei mir der Drang ein, für Haufen mal endlich vielleicht eine Projekt-Seite anzulegen (also grob im Suff was hinschlonzen), damit ich zumindest an einer Stelle ein paar Bilder zeigen kann, was Haufen eigentlich ist. Ich gehe an dieser Stelle auch nicht darauf ein, das sprengt jetzt den Rahmen, aber Haufen ist eine Art Galerie-Anwendung für Bilder-Sammlungen mit diversen Such-Funktionen.

Ach ja, und der Art-Generator-Bot läuft auch wieder. Ich hatte den vorübergehend abgeschaltet, weil ich Probleme mit meinem Raspberry Pi hatte und wissen wollte, woran es lag. Am Bot lag es offenbar nicht.
Allerdings würde ich gerne von Twitter wegkommen, obwohl mir die Plattform am wenigsten zu schade für diese Art von Content Creation ist. Sei's drum.
Das nächste Update dauert auch noch. Videospiele sind aber auch wirklich interessanter.

Amaze!

Außerdem hab ich noch mal den Ballspiel-Prototypen ausgegraben, gestartet und auf der Großbildglotze angespielt und musste mich noch mal fragen, ob ich die Version, wie sie ist, nicht als guten Zwischenstand trotzdem auf meine Tester loslassen sollte.[2]
Die Engine mag zwar noch etwas verbuggt sein und das Spiel wird sich halt grundsätzlich komplett verändern, aber dieser Zwischenstand macht trotzdem schon eine Menge Spaß, so, wie es ist. Da wäre es irgendwie auch eine Schande, das nicht auch anzubieten, bevor ich alles, was ich bisher gebaut habe, wieder kaputtschlage.
Zumindest ist das gerade meine Überlegung: Die Level, die bis jetzt zusammengekommen sind (auch wenn es nicht über 29 sind), einmal testen, vielleicht sogar einen ordentlichen Rekord aufstellen, und dann raushauen, als Leckerli und Trost, dass es doch sehr viel länger dauert, das Spiel aufzubauen. Ich melde mich bei Euch.

Übers verlängerte Wochenende hatte ich etwas Hilfe dabei, ein zwei Jahre altes Skript, das die in diesem Land absolut vorhersehbaren und außergewöhnlich uninteressanten YouTube-Trends brutal zerpflückt und lieblos zusammenschneidet, wieder flott zu machen. Ob die dabei resultierenden Videos jemals für die Öffentlichkeit zugänglich sein werden, steht noch in den Sternen, aber Ihr könnt mich gerne mal privat anschreiben und nach einem Beispiel fragen.
Beiläufig hab ich dann auch endlich einen kritischen Fehler in meinem U-Bahn-Mod behoben und die verbliebenen Blaupausen gebaut, wodurch ich nun Zeit dafür habe, die letzten Unebenheiten glatt zu bügeln und generell noch etwas Feinarbeit zu erledigen.

Schlampig zusammengewürfelter Screenshot einer U-Bahn-Station

Darüber hinaus gab es einige Stunden Claybook und Tricky Towers. Die Spiele sind gut. Spielt Claybook und Tricky Towers.
Also, naja, Claybook ist ganz offensichtlich noch nicht so richtig auf Multiplayer ausgelegt und hat sehr fummelige Menüs und einige Bugs (wie nicht reagierende Checkpoints) dämpfen den Spaß etwas. Tricky Tower könnte mit mehr Spielmodi glänzen; so reicht es für ein, zwei Stunden, bis man erst mal genug davon bekommt.

Oh, und unnötig zu erwähnen, dass das kommende Update für No Man's Sky nicht etwa erhoffte Abwechslung in Form von mehr Inhalt sein wird, sondern das für mich in Videospielen im Allgemeinen nutzloseste Feature von allen, Online-Multiplayer. Wooow.

KW21

Ich erinnere mich ganz zufällig daran, dass ich einen Stream mit Mikrophon und Rotwein versprochen erwogen hatte. Falls Ihr also wisst, wo ich günstig eine englische Kopie von Bioshock kaufen kann, dann meldet Euch bei mir. Oder wünscht Euch einen anderen Shooter, ist mir eigentlich alles recht (wobei ich mir bei Bioshock zumindest ein wenig Hoffnung mache, nicht komplett abzustinken, anders als bei, ich sag mal, Wolfenstein), ich will nur keine Spiele in deutscher Sprachausgabe ertragen müssen[3].

Guck mal, hihi. Electron.

Offenbar hatte ich schon ein Repository für die überarbeitete Version von SPIEL angelegt (mit dem kreativen Namen SPIEL2.EXE) und offenbar hatte ich auch da schon den Entschluss gefasst, das Spiel in TypeScript zu schreiben, aber war dem Anschein nach nicht weiter als ein paar leere Klassen gekommen.
Ich hab zumindest schon mal den Compiler auf den neusten Stand gebracht, einige Syntax-Fehler von vor zwei Jahren ausgemerzt und die Pakete aktualisiert und auf feste Versionen festgebrannt. Praktisch kann ich bald loslegen.
Je nach dem, wie schnell ich damit bin und wie lange der nächste Bugfix-Release von Godot noch braucht, kann ich zwei Spiele gleichzeitig auf Itch laden. Und es sieht so aus, als müsste ich mich sogar noch eher ranhalten, als ich ursprünglich angenommen habe, weil die erste Alpha von Godot 3.1 für Anfang Juli angesetzt ist.

Oh, und der XMPP[4]-Server auf der eiszblu.me hat jetzt gültige Zertifikate, anständige TCP-Konfiguration (das heißt, Dino verbindet sich jetzt ohne Probleme) und ist überhaupt auf dem neusten Stand, den ich haben kann. Leider ist MAM mit MUC noch nicht wirklich drin, aber da warte ich auf die nächste Version von Prosody. Sorry.

KW 22

Am Wochenende konnten wir Sturm auf Zons beiwohnen, wobei wir uns im Nachhinein darüber geärgert haben, Eintritt bezahlt zu haben. Es waren wirklich wenig Stände und das Programm lief außerhalb unseres Wahrnehmungsbereiches ab, und abgesehen von ein, zwei halbwegs interessanten Gesprächen an den Ständen war die Auswahl an Händlern und Schaustellern wirklich spärlich.
Ich habe nur einen einzigen Schnappschuss an dem Tag gemacht - und das war nicht mal in der Feste, sondern draußen beim Heerlager.

Jetzt ein Eis!

Der Anfang der Woche war schwül und drückend. Eben das Wetter, bei dem man seiner Routine und dem Job nachkommt und dann zu Hause nassgeschwitzt am liebsten gar nichts mehr macht als das Nötigste im Haushalt.
Ein paar Gedanken zu SPIEL2.EXE und dem Ballspiel konnte ich sammeln, aber wirklich etwas daraus geworden ist da nicht, außer, dass sich mir immer wieder die Frage aufdrängte, ob es nicht tatsächlich schneller wäre, das Redesign zu Jeremy's Art Generator über die Bühne zu bringen als SPIEL neu zu schreiben. Das bleibt dann wohl noch abzuwarten. Aber ich hätte schon eher Bock auf das Spiel. Und TypeScript.

Den Feiertag werde ich nutzen, um mich alter Domains zu entledigen, die ich seit Jahren nicht mehr gepflegt habe und die wirklich einfach wegkönnen. Was bringt es denn, die da vor sich hinschimmeln zu lassen. Ich weiß wirklich nicht, ob ich da jemals noch was mit machen würde, und selbst wenn, dann wäre es für mich einfacher, eine neue Domain zu registrieren, weil seit der ersten Registrierung dieser Altdomains wirklich so viel Zeit verstrichen ist, dass das mit dem ursprünglichen Gedanken der Domains (insgesamt fünf Stück, drei davon aus 2009) kaum noch etwas zu tun hätte.
Hoffentlich sehen das die Menschen, die mich seit der Zeit kennen, als wir noch Gokart-Hörspiele im Wildpark aufgenommen haben, mit Nachsicht. Es ist Zeit, loszulassen.

Hab ich zumindest gedacht.
Der Plan war, eben ein paar Pakete (darunter neben ssh, nginx und sudo auch git) zu aktualisieren, wenn ich ohnehin gerade "Dinge mit dem Internet" mache. Kurz darauf ging dann meine Gitea-Instanz nicht. Das habe ich zunächst darauf geschoben, dass ich git aktualisiert habe, was naheliegend war. Im Log waren allerdings ganz viele Fehler zu Verbindungsproblemen auf Port 5432 und das bedeutete: Datenbankprobleme. Aus irgendeinem Grund lief die Postgres-Datenbank nicht mehr. Der Dienst rauchte immer sofort mit "No Clusters, Fuck You" ab. Mehrere Versuche, einfach Clusters (excite! cloud-based! it-just-works! out of the box!) zu erzeugen, schlugen fehl. Letztendlich stand ich irgendwie komplett ohne Datenbank da (nein, ich habe keine Pakete komplett gelöscht oder deren Daten getilgt, ich hab nur immer wieder mit verschiedenen Einstellungen Dienste neu gestartet). Später war die einzige Frage, die mich noch interessierte: Wie konnte Gitea überhaupt jemals funktionieren? Auf meinem ganzen Server war kein Anzeichen irgendeiner Datenbank erkennbar. Keine Daten, nichts. Und doch war in der Konfiguration ein Benutzer, Passwörter und lauter so heiße Geschichten eingetragen.
Resigniert (hoffentlich benutzt keine andere Anwendung noch Postgres) stellte ich Gitea auf sqlite um. Allerdings waren jetzt alle Projekte, Organisationen und Tickets weg. Das mit den Tickets ist wirklich nur halb so wild. Die habe ich eh kaum gepflegt. Schlimmer war eigentlich, dass die Repositories, die immer noch unter /var lagen, nicht einfach neu importiert werden können.
Also muss man:

  • Die Repositorys zur Sicherheit einmal sichern/kopieren,
  • alle Gruppen, Benutzer und Projekte neu anlegen (beim ersten Versuch kommt ein 500-Fehler, beim zweiten funktioniert es dann) und
  • Gitea stoppen und mit sqlite3 bei allen Zeilen in der Repository-Tabelle die Zeile is_bare auf 1 setzen.

Wenigstens sind keine Daten verloren gegangen. Also, klar, irgendwo hatte ich den Code eh noch, also von irgendwo hätte ich sicher alles pushen können, aber so war es dann doch wesentlich eleganter, alles wieder herzustellen.

Juni

Der Juni wird bestimmt heiß und schwitzig, und es wird viel Limonade und Kaffee getrunken, um sich aufzuputschen, und man wird die Dampfmaschine vermutlich nicht so häufig anschmeißen, weil es zu warm wird und man eh nicht weiß, wie man die Wohnung runterkühlen soll.
Davon ab, keine Ahnung, was sich ergeben wird, ich hoffe, ich habe Ende nächsten Monats irgendwas erledigt.

Bis dahin, passt auf Euch auf.


  1. Ich hab gehört, auf Mastodon mag man keine Crossposter, obwohl ich das allerhöchstens getan habe, um Euch den Umzug zu erleichtern (findet irgendwer - außer der Marketing-Abteilung - Twitter wirklich ironiefrei gut?), deswegen überlege ich mir jetzt fünfmal bei jedem Post, den ich machen möchte, ob ich den immer noch posten möchte und falls ja, wohin damit, deswegen bin ich so still. ↩︎

  2. Um ehrlich zu sein, worüber ich jetzt gerade spreche, wird vielleicht auch allerhöchstens diesem engen Personenkreis etwas sagen. ↩︎

  3. (Und das Blut muss spritzen, sonst macht das alles keinen Spaß, diesen weichgespülten Kindergartenkram hält man ja im Kopf nicht aus.) ↩︎

  4. XMPP ist ein Sofortnachrichtendienst, der ähnlich wie E-Mail dezentral verwaltet wird. Das beudeutet, dass alle ihre eigenen Server betreiben und trotzdem miteinander Nachrichten austauschen können. Der Vorteil von dezentralen Diensten ist, dass der Dienst nicht mit einem einzigen zentralen Server steht und fällt, allerdings sorgt das für ein deutliches Minus an Komfort, was viele Benutzer vom Wechsel abschreckt.

    Wenn Ihr nicht versteht, was ich meine, ist das nicht schlimm. Benutzt weiter WhatsApp, Discord und Signal. XMPP und OMEMO sind wirklich sehr traurige Themen. ↩︎