knuspermagier.de
Der privateste Blog von Philipp.

Mozart in Tecklenburg

Letztens schaute ich mal auf der Seite vom Freilichtheater in Tecklenburg nach, ob man schon weiß, was nächstes Jahr gespielt wird, und tatsächlich ist es Mozart! Darauf freue ich mich! Anscheinend lief es 2008 schon einmal dort, wusste gar nicht, dass das schon so alt ist.

(Laut Wikipedia ist es von 1999, also schon wesentlich älter.)

Wer wird wohl die Titelrolle singen? Oedo Kuipers wäre natürlich super, aber vielleicht ist er mittlerweile auch zu alt.

Schade, dass es keine Dauerkarte gibt, wenn es gut wird, würde ich es mir sicher mehr als einmal anschauen wollen.

BetterReminders (4)

Nur ein kurzer Check-In zu diesem Projekt: Ich habe es gestoppt.

Die Tatsache, dass ich nicht an die Tags komme, und noch ein paar andere Kleinigkeiten haben meine Motivation leider ziemlich getrübt. Ich hab wirklich keine Lust in meiner App einen weiteren Datenlayer mit neuen Tags zu pflegen, die in der OG Reminders.app nicht angezeigt werden, nervt mich. Auch so Sachen wie die Sortierung der Listen und Todos wäre blöd geworden. So viel Zeit-Invest ist es mir doch nicht wert, dass ich am Ende eckige Checkboxen habe.

Ich erkläre dieses Projekt damit erstmal für beendet. Spaß hatte ich trotzdem und gelernt habe ich eine Menge! SwiftUI gefällt mir richtig gut.


Außerdem habe ich mir überlegt, die Kategorie “Projekte” im Wiki irgendwie aufzusplitten und noch “Experimente” einzufügen. Habe einen faden Beigeschmack dabei, so eine unendlich lange Liste von angefangenen “Projekten“ zu haben, von denen keins fertig wurde. Experiment trifft es einfach besser.

(Hab es aber noch nicht gemacht)

Ich mochte Better Call Saul die ganze Zeit über, für diese langsame, teilweise fast langweilige Erzählweise. Kein Actionfeuerwerk, teilweise so mittelspannende Themen, aber die Transformation von Jimmy McGill zu Saul Goodman so detailliert und gemächlich begleiten zu können war super.

Die letzte Staffel setzte der ganzen Sache nochmal das i-Tüpfelchen auf, in dem die Timeline vor Breaking Bad, die Timeline danach, mit Saul in seiner neuen Identität als Zimtschneckenbäcker, und sogar noch ein paar Szenen aus der Zeit mit Walt und Jesse zusammengeführt werden.

Breaking Bad und Better Call Saul zusammen sind schon eine der besten TV-Sachen dieses Jahrtausends.

Wie viel spart man eigentlich beim Menü von McDonald‘s und Burger King?

Seit Jahren frage ich mich, ob und wenn ja, wie viel man eigentlich spart, wenn man sich bei McDonald‘s oder Burger King für ein Menü entscheidet. Schon des Öfteren stand ich vor der schweren Frage, ob es sich lohnt, ein Menü zu nehmen, wenn man zum Beispiel eh noch etwas zu Trinken im Rucksack hat. Wenn man das Getränk eh dazu geschenkt bekommt, wäre es ja Quatsch drauf zu verzichten. So eine frisch gezapfte Cola mit Eiswürfeln ist ja auch eh irgendwie leckerer als das abgestandene Leitungswasser im Rucksack.

Natürlich habe ich mich mich die letzten vierunddreißig Jahre nicht dazu aufraffen können, diese Rechnung aufzustellen, aber nun ist es soweit, ich werde dieses Mysterium lösen. Schauen wir es uns also mal an:

Preise von fastfoodpreise-info.de
McDonald‘s
Royal TS4,89€
Pommes (groß)3,29€
Cola (0,5l)3,49€
Summe11,67€
Royal TS Menü8,89€
Ersparnis2,78€
Preise von fastfoodpreise-info.de
Burger King
Whopper5,49€
Pommes (groß)3,29€
Cola (0,5l)3,24€
Summe12,02€
Whopper King Menü8,99€
Ersparnis3,03€

Okay. Man spart in beiden Fällen etwas, aber auf jeden Fall weniger, als so ein Getränk kostet, man bekommt es also nicht komplett geschenkt, aber immerhin zu einem ziemlich großen Discount. Die Frage, ob ich nun ein Menü nehme, obwohl ich schon ein Getränk besitze, wird also weiterhin eine Einzelfallentscheidung sein, die darauf beruht, wie viel Bock ich auf kalte Cola habe.

(Natürlich sollte man nicht darüber nachdenken, dass man im Supermarkt für das Geld fünf Liter Cola bekommt. Aber so viel Cola wäre ja auch irgendwie ungesund.)

Home Assistant

Das Home Assistant existiert, war mir schon lange klar. Doch jahrelang benutzte ich es nicht, weil ich in diversen Blogs immer nur riesige Yaml-Blobs zur Konfiguration fand und das war mir irgendwie unsympathisch. Da kann ich mir auch kurz ne NodeJS-App schreiben, dachte ich mir, wenn ich mal was automatisieren will.

Jahrelang blieb mein Home also nicht besonders smart. Abgesehen davon, dass ich wenig Ideen zu sinnvollen Automationen hatte, konnte ich das ein oder andere mit den Homekit-Boardmitteln abdecken.

Vor einem halben Jahr fasste ich mal den Plan, Home Assistant doch mal anzugucken und jetzt habe ich diesen auch endlich in die Tat umgesetzt. Ich führte das Docker-Image aus, konfigurierte ein bisschen was und schwupps, ich bin ganz schön geplättet.

Home Assistant erkennt erstmal super viel im Netzwerk vollkommen automatisch und installiert die passenden Plugins. Fritzbox, Sonos, Apple TV, HomeKit. Für alles andere kann man mit drei Klicks zusätzliche Plugins installieren. Spotify, Synology, und so weiter. Es ist so verrückt, es funktioniert einfach alles wie Butter und ich musste noch nichtmal eine Yaml-Datei angucken.

Ich kann jetzt zum Beispiel meinen Wasser-Sensor anlecken und er spielt automatisch eins meiner Lieblingslieder von Keimzeit auf der Sonos-Box, wie cool ist das denn. Vom lokalen Plex-Server gestreamt! 🤯

Das einzige, was mich noch stört ist diese Material UI-Pest. Es sieht einfach kacke aus, sorry, Google. Immer noch besser als das klassische Open Source-System ohne Design, aber weit weg von schön.

Ich sage Bescheid, sobald ich mir eine Automatisierung überlegt habe, die mehr Sinn ergibt, als meine Testfahrt.

Links aus Messages extrahieren

Zum Glück speichert MacOS alle iMessages in einer Sqlite-Datenbank. Will man nun zum Beispiel alle Links exportieren, die von einem bestimmten Kontakt geschickt wurden, um sie… irgendwo zu speichern, wo sie besser durchsuchbar sind, zum Beispiel, kann man sie mit einer einfachen Query rausholen:

sqlite3 ~/Library/Messages/chat.db "select datetime(message.date/1000000000 + strftime('%s', '2001-01-01') ,'unixepoch','localtime'), text from message where handle_id = 1 and text LIKE '%http%' order by date limit 100;"

Natürlich müsst ihr vorher mit einem SELECT * FROM handle herausfinden, welche handle_id verwendet werden muss, oder man lässt das einfach weg, um sich alle Links herauszufischen. Die kuriose Datetime-Geschichte am Anfang ist natürlich, weil die Daten als Nanosekunden seit dem 1.1.2001 gespeichert werden, oder so. Warum auch nicht.


Achja, damit das funktioniert braucht eure Terminal-App natürlich Full Disk Access, was man in den System Preferences unter Security einstellen muss

Mein Problem mit Factorio

Ich wollte den Post schon länger schreiben, aber ich kam noch nicht dazu, weil ich gerade mal wieder eine Runde Factorio spielte.

Doch, warum mache ich das eigentlich? Habe ich nichts besseres mit meiner Zeit anzufangen, als ein Spiel zu spielen, in dem man riesige Produktionsstraßen für diverse Produkte aufbaut, dabei die Umwelt mit seinen schmutzigen Kraftwerken verpestet und zu guter Letzt noch die auf dem Planeten heimische Fauna zu Grunde metzelt? Na gut, das letzte stimmt in meinem Fall nicht, denn ich spiele Factorio immer in dem Modus, in dem mich die fiesen Monster nicht angreifen, so lang ich sie nicht angreife, daher gehen wir immer getrennte Wege. Quasi easy-mode.

screenshot-2022-10-08-at-14.00.52.png
Was gibt es schöneres als Schmelzöfen bei Nacht?

Seit dem das Spiel im Jahre 2016 herauskam und ich es damals für günstige Early-Access-20€ erwarb, bin ich mehrfach ein- und ausgestiegen und witzigerweise immer zu einem ähnlichen Zeitpunkt, zwischen zehn und zwanzig Stunden Spielzeit. Das Spiel besteht im Kern aus einem riesigen Technologie-Baum, der ein oder andere kennt es vielleicht noch aus Age of Empires, und mit jeder Sache die man freischaltet, kann man neue Dinge herstellen, von denen man die meisten aber nur braucht um nochmal neue Dinge herzustellen. Das Ziel des Spiels, ist es alle Technologien zu erforschen, um am Ende eine Rakete zu bauen und zum Heimatplaneten zurück zu fliegen, nachdem man seine temporäre Zuflucht komplett der Resourcen beraubt hat.

Das Problem ist, dass es am Anfang doch viel Spaß macht. Alles ist noch sehr übersichtlich. Man baut Eisen- und Kupfererz ab und schmilzt es zu Platten ein, okay. Aus den Stahlplatten macht man Zahnräder, aus dem Kupfer Kabel, okay. Nach zehn Stunden hat man auch Ölpumpen und stellt Plastik und Schwefel her und lässt es von einem automatisierten Zug-System hin und her fahren, damit die Produktionsstrecken in der Homebase nun auch die Advanced Electric Circuits herstellen können, die dann für die nächste Stufe von irgendwas gebraucht werden. So langsam fängt es an einfach anstrengend zu werden. Die Erz-Vorkommen vom Spielstart gehen langsam zur Neige und man müsste neue erschließen, hier und da gerät mal etwas ins Stocken. Das zentrale Bus-System, das man sich überlegt hat, ist mittlerweile einen halben Bildschirm hoch und hat so viele Abzweigungen, dass es auch einfach nicht mehr hübsch aussieht.

Ich glaube, hier wäre der Punkt, an dem man dann die etwas fortgeschritteneren Sachen ausprobiert. Das ganze Circuit-System, wo man basierend auf Dingen andere Dinge tun kann. Wenn eine Kiste voll mit Eisenplatten ist, dann die Eisenschmelze abstellen, dies das. Außerdem könnte man ja mal einen Blick auf die Community oder Youtube-Videos werfen, wie man seine Basis besser aufbaut, damit alles effektiver ist. Das Problem: Ich habe darauf gar keine Lust. Ich wollte nur ein paar Transportbänder bauen und mir kein hochkomplexes logistisches Konzept ausdenken und auch nicht stundenlang Tutorials angucken.


Versteht mich nicht falsch, Factorio ist ein tolles Spiel, das ich seit sechs Jahren gerne ab und an spiele, aber ich… habe nach zehn Stunden einfach keine Lust mehr. Entweder baue ich noch mehr vom selben, was einfach nur langweilig ist, weil es sehr viel Geklicke ist, oder ich müsste mich tief damit beschäftigen, was mir für ein Spiel einfach zu viel Arbeit ist.

Komischerweise habe ich ja schon immer eine Tendenz zu solchen Endlosspielen, ich liebe ja auch Anno sehr. Aber auch das artet irgendwann in Arbeit aus, so richtig perfektioniert habe ich da auch noch keine Spielpartie, sondern immer vorher die Lust verloren.

Vielleicht könnte ich ja mal daraus lernen und nicht schon wieder eine neue Runde starten?


Insgesamt ist Factorio ja etwas wie programmieren, nur dass es sich bei letztem lohnt, die extra Meile zu gehen und zu lernen, wie man seinen Spaghetticode besser macht, weil man im Zweifelsfall am Ende Geld damit verdienen kann.


Was ich an Factorio mag, ist ja die Tatsache, dass man mal eben reinspringen kann, und 10 Minuten ein paar Dinge herumbaut, oder repariert, dafür ist echt schön. Man weiß immer genau, was man gerade zu tun hat. Letztens gab es eine Ankündigung, dass sie Factorio für die Switch umgesetzt haben und ich freute mich kurz, weil ich mir das ganz gut auf dem Sofa vorstellen konnte, dann las ich aber davon, dass die Startup Time 70 Sekunden oder so sind, da verging mir direkt wieder die Lust. Ich warte doch keine siebzig Sekunden, das sind ja fast zwei Minuten! Vier Mark!

(Ich schaute später mal bei der Mac-Version und der “Loading Sprites“-Step dauert auch ganz schön lang, bestimmt 30-40 Sekunden. Dafür kann ich Factorio auf dem Mac aber auch einfach die ganze Zeit im Hintergrund anlassen, auf der Switch muss es sich seinen Multitasking-Platz ja mit Mario Kart und Animal Crossing teilen)

Gitarren

Letztens, als ich diesen Kurzeintrag über die Hagstrom Fantomen schrieb, dachte ich mir schon, dass es vielleicht passend wäre, diese Liste der Wunsch-Gitarren ins Wiki zu übernehmen, weil warum nicht.

Eine einfache Text-Liste war mir aber zu langweilig, irgendwelche Bilder aus dem Internet klauen mag ich aber auch nicht, also überlegte ich mir, dass ich sie wohl abmalen muss und die Idee verselbstständigte sich etwas. Was mache ich mit den Bildern? Wäre ja lustig, wenn die nebeneinander hängen würden, als hingen sie an einer Wand. Wenn sie nun so da hängen, wäre es ja aber auch noch witziges Easteregg, wenn man sie bewegen könnte… und natürlich müssten sie kaputt gehen, wenn man sie nicht vernünftig auf einen Wandhalter hängt.

knuspermagier.de_wiki_listen_gitarren.png

Leider machen mir die besonders sinnlosen Sachen am meisten Spaß. Anfangs dachte ich, ich male die Gitarren in einem Vektor-Programm, damit ich sie beim Aufprall schöner zerstören kann, also richtig den Hals rausbrechen. Nach fünf Minuten war es mir allerdings zu aufwändig, die Kurven ordentlich zu ziehen und ich verwarf die Idee. Eventuell habe ich auch einfach gar keine Ahnung von Vektorprogrammen und es wäre vielleichter gegangen, als einzelne Punkte zu setzen und dann die Bézierkurven zu ziehen bis es auf die Gitarrenrundung passt. Es kam mir aber auch ganz gelegen, denn irgendwie male ich auch einfach gerne in Procreate.

Um trotzdem einen kleinen Zerstörungseffekt hinzubekommen, kam mir die Idee, dass ich das Bild einfach in zwei Teile schneide und ein bisschen herumdrehe, dass es irgendwie durcheinander aussieht. Dazu nehme ich zwei <canvas>-Elemente und male in jedes eine Hälfte der Gitarre und ✨schwupps✨. Bisher hatte ich keine Gitarre, bei der das super dumm aussah, weil der Body mehr als die Hälfte des Gesamtbildes groß ist, oder so.

screenshot-2022-10-01-at-23.03.17.png

Das ganze Dragging wollte ich erst per Hand machen, also einfach mit .addEventListener('drag', […]), aber da stieß ich auch schnell an Grenzen, es ging schon damit los, dass ich das Ghost-Image, also das Bild, was der Browser halt anzeigt, wenn man einen Drag-Vorgang startet, nicht weg bekam und alle Stack Overflow-Tricks nicht funktionierten. Da ich eh schon vermutete, dass ich für die ein oder andere Animation GSAP einsetzen werde, schaute ich, ob die zufällig was dafür haben und fand das Draggable-Plugin, das ziemlich gut funktioniert. Super wäre noch das Intertia-Plugin, dann wäre das noch alles etwas physikalischer, aber das kostet leider Geld.

Am Anfang hatte ich ein paar Probleme mit den Koordinatensystemen, in denen sich die einzelnen Elemente befanden, und das Snapping funktionierte nicht so richtig, wie ich das wollte, aber nach genug Factorio spielen löste sich das auch auf, hatte ein position: relative auf dem richtigen Container vergessen.

Joa, ich wünschte, ich könnte noch mehr dazu berichten, aber im Großen und Ganzen sind es nur ein paar Zeilen Code und die größte Arbeit war es natürlich, die Gitarrenbilder herzustellen. Ich bin aber zufrieden. Es sieht witzig aus und irgendwie macht es Spaß die Gitarren herumzubewegen und fallen zu lassen. War ein Spaßiges kleines Ding und ich hab wenigstens wieder ein bisschen mehr mit GSAP gemacht. Der Code ist natürlich einfach komplett inline, das hier ist schließlich mein Blog, da kann ich machen, was ich will!


Wenn ich Lust habe, werde ich noch die Farin Urlaub Signature von Cyan Guitars hinzufügen.