Train Dreams (3/5)

Das Filmplakat zeigt eine dramatische Landschaft mit hohen Bäumen, die sich gegen den Himmel abheben. Im Vordergrund steht ein Mann mit einem Hut und einer Axt, während der Titel "TRAIN DREAMS" und Informationen zu den Hauptdarstellern sowie dem Veröffentlichungsdatum auf Netflix angezeigt werden.

Huch, was war das denn? Olli Schulz hat Train Dreams in der letzten Episode von Fest & Flauschig empfohlen und nachdem der Streifen auch an anderen Stellen gelobt wurde, habe ich ihn mir heute spontan angesehen.

Schon die ersten 20 Minuten haben mich extrem an Robert Seethalers Ein ganzes Leben erinnert, das ich 2016 sehr gemocht habe. Vor 2 oder 3 Jahren erinnere ich mich, auch die Verfilmung gesehen und für gut befunden zu haben.

Zurück zum erwähnten Huch: Wer Seethalers Roman gelesen oder die Verfilmung gesehen hat, kann nicht übersehen, dass es sich de facto um die gleiche Geschichte handelt. Ich bin ehrlich gesagt sprachlos aber schon eine kurze Recherche hat gezeigt, das ich nicht der Einzige bin, dem das aufgefallen ist und das andere sich an dem Thema schon 2016 abgearbeitet haben.

In diesem Fall scheint Seethaler der Kopist zu sein, da sein Buch schlicht 14 Jahre nach dem von Johnson veröffentlicht wurde. Auch hat Seethaler angeblich zugegeben, Train Dreams gelesen zu haben, aber beim Schreiben seines Werkes keine Sekunde daran gedacht zu haben. Ich glaube, das nennt man dann unbefleckte Empfängnis.

Nun gut, zurück zum Film: Ja der ist richtig gut gemacht, aber mir persönlich vom Flow zu langsam. Vielleicht lag das aber auch schlicht daran, das ich die Handlung quasi schon kannte und mental schon vorgespult (sagt man das heute eigentlich noch?) habe.

Wir haben uns getraut

Ich gebe zu, der Titel ist vielleicht etwas reißerisch, denn wir haben heute nicht geheiratet. Also nicht wirklich zumindest, aber vielleicht doch so ein bisschen. Denn heute waren unsere neuen Eheringe endlich abholbereit, und jetzt tragen wir unsere Dritten an den Händen. Ich weiß, das klingt ein bisschen verrückt und das ist es auch irgendwie.

Zwei Hände liegen auf einem Holztisch, wobei die linke Hand einer Person einen schmalen Ring trägt. Die rechte Hand gehört einer anderen Person und zeigt einen Ring sowie einen leichten Unterschied in der Hautfarbe.

Als wir 2008 geheiratet haben, hatten wir natürlich Eheringe. Ich bin ziemlich sicher, dass sie uns damals gefallen haben. Aber vor allem waren sie eins, nämlich günstig. Ich schätze das wir insgesamt 250 Euro für beide Ringe bezahlt haben. Wir hätten uns damals auch teurere Ringe leisten können, aber ich war schlicht zu geizig mehr Geld für etwas auszugeben, das ich nur an der Hand trage. Ringe erschienen mir immer die unwichtigste Sache überhaupt am Heiraten.

Einige Jahre später hat sich dann der Stein aus dem Ring meiner Frau verabschiedet. Meine Frau hat in den folgenden Jahren immer wieder Andeutungen gemacht, dass sie gern neue Ringe hätte. Ich habe ernsthaft in Erwägung gezogen, einen neuen Stein in den Billo-Ring meiner Frau einsetzen zu lassen, aber irgendwie hab ich mich mit dem Teil am Ende nicht über die Schwelle eines Juweliers getraut. Ein bisschen Stolz habe ich ja auch.

Jedenfalls haben wir die Ringe bis zu jenem Moment im Jahr 2016 getragen, als meine Frau mich vor dem Schaufenster eines Juweliers gefragt hat, ob wir nicht mal reingehen wollen, um nach neuen Ringen zu schauen. Ich verstehe bis heute nicht, wie sie genau diesen Moment als den passenden erkannt hat, ihrem störrischen Mann neue Eheringe unterzujubeln. Aber es hat geklappt und wir sind mit wirklich wunderschönen Silber-Eheringen aus dem Laden stolziert. Die Ringe waren nicht dramatisch teurer, als die ich damals zur Hochzeit gekauft hatte. Ich war beschämt und irgendwie glücklich zugleich, auch wenn ich das nie zugegeben hätte.

Fast forward Sommer 2019. Die Hochphase einer sehr anstrengenden Zeit in unserer Ehe, in der wir beide nicht wussten, ob wir zusammenbleiben werden oder nicht. Während eines Sonntagsspaziergangs im Garten von Schloss Nymphenburg ist dann mal wieder einer dieser damals üblichen Streits vom Zaun gebrochen. Ich erinnere mich, wie egal mir an diesem Punkt bereits alles war. Deshalb war es für mich auch nur konsequent, den Ring der meiner Frau so viel bedeutet hat vom Finger zu nehmen, und im hohen Bogen in die Büsche zu befördern. 3 Minuten später stand ich in meiner grenzenlosen Dummheit in eben jenen Büschen, auf der Suche nach dem Ring. Vergebens, natürlich.

Bis zum 14. Februar 2026 sind wir dann ohne Eheringe an den Händen unterwegs gewesen und für mich hat das auch immer gut funktioniert. Sämtliche Versuche meiner Frau, uns mit neuen Ringen auszustatten habe ich erfolgreich abgewehrt. Aber sie hat nie wirklich locker gelassen,

Irgendwann, vor allem weil ich von der Apple Watch weg wollte, habe ich dann vorgeschlagen, dass wir uns ja Oura-Ringe kaufen könnten. Das war natürlich blühender Unsinn und hat alle meine vorher sorgsam aufgebauten Argumente gegen Ringe sofort vaporisiert. Ich glaube, seit diesem Tag wusste meine Frau, das ich irgendwann umkippen werde.

Und dieser Tag war heute vor 4 Wochen. Ich habe mich wirklich mit der Absicht ins Auto gesetzt, neue Eheringe zu kaufen. Die Vehemenz mit der meine Frau die Frage nach neuen Ringen in allen möglichen und unmöglichen Situationen eingewoben hat, hat mich über die Jahre vermutlich einfach mürbe gemacht. Ich wollte die Frage nicht mehr hören und noch weniger meine konstruierten Argumente dagegen.

Als wir aus dem Auto ausgestiegen sind, habe ich noch halb im Scherz “Aber maximal tausend Euro!” gesagt. Nach dem 4 Geschäft keimte leise Hoffnung, das wir keine Ringe mehr finden werden, aber im letzten Geschäft waren sie plötzlich da, unsere neuen Eheringe.

Meine Frau hatte sich von der Verkäuferin alle möglichen Ringe im vermeintlichen Budget geben lassen, aber ich bin immer wieder zur Vitrine nebenan gepilgert und habe meine Frau Ringe gezeigt, die wir auch unbedingt probieren sollten. Sie hat mich total entgeistert angeschaut und gefragt, ob ich das ernst meine, schließlich wären die Ringe mehrfach über dem Budget. Meine Antwort war, dass das unsere dritten und bitte auch letzten Ringe sind. Und wenn wir in 20 Jahren draufschauen, sollen sie uns noch immer gefallen.

Long story short: Wir haben unsere dritten Eheringe und sie sind wirklich schön. Meine Frau ist sehr glücklich und vielleicht habe ich zumindest ein bisschen was von meinem Verhalten der letzten Jahre bereut.

Today I launched my first iOS app

Today is the day I launched my first iOS app, and that sentence still feels slightly unreal.

A few days ago, I wrote about falling into a new rabbit hole of building iOS apps (sorry, German only) and why creating iOS apps has been a quiet dream for a long time. Not in a “startup” or “side hustle” sense, but in the idea of building small, delightful tools that live on a device people carry every day. Tools that feel calm, intentional, and finished.

For years, that idea stayed abstract. Even with a few Swift courses during Covid, my skills weren’t enough to deliver on what were probably overly ambitious ideas. And then there also was just everything else, work, family, life.

Today, with coding assistants capable of generating large parts of an app, the entry barrier felt low enough that I decided to try again.


Coding assistants are incredibly good at getting ideas onto the screen, and the generated code is often surprisingly solid. In my experience, it helps if you understand the fundamentals such as software architecture, how user interfaces are composed, and how system permissions work.

I personally believe that understanding your own code is essential. Without that, a codebase quickly becomes overly complex once exceptions and edge cases accumulate. Keeping an app well-structured and efficient still requires human judgment.

But the most important aspect is, that you need to understand the core use-case of your app and really try to focus on that as clearly as possible. Keep away from adding more and more features, just because it’s cheap. This will in the end kill your app.


A lot of this experience was surprisingly fun, at least most of the time. But a few things nearly killed the project.

Widgets for example look simple, but they are not. Once they become interactive, they are essentially small apps with their own constraints.

Making them work reliably meant sharing core logic and data with the main app, without corrupting the database along the way. It took time to understand that properly, and I also realized why many apps simply don’t offer widgets at all.

Another beast is notifications. Getting notifications to show up is easy. Getting them to be reliable is not, at least if you don’t want to run servers to manage notifications for users, which I don’t.

In particular, badge counts turned out to be more subtle than expected. After several evenings of trial and error, the final solution felt obvious in hindsight, which is usually a sign that the learning actually stuck.

And then there was the whole Apple developer experience. App Store Connect, at least to me, feels like a CRM from the 90s. It’s easy to get lost in its many sections, nested views, and hidden requirements. Adding in-app purchases, even when they are purely voluntary donations, comes with a surprising amount of bureaucracy.

The App Store review process itself also requires patience. Reviews take time, and feedback can be very detailed. That said, Apple clearly takes this responsibility seriously. I genuinely appreciate that. The strict review process enforces a minimum level of quality across the platform.

This becomes especially noticeable when working with Apple Health. If you want to read or write Health data, Apple is extremely precise about user flows, wording, and disclosure. Every screen, every explanation, every sentence matters.

This all can be exhausting, but it also explains why the platform works the way it does.

Bottom line

Putting something together that just works is easy. Putting something together that works reliably across edge cases and offers a good experience throughout the core use cases is hard work.

In that sense, it does help to be a perfectionist, at least about the things that matter. And that difference mattered more than I expected.

Der Tiger (1/5)

Das Poster für den Film "Der Tiger" zeigt fünf Kriegsgefangene, die sich in militärischer Kleidung um einen Panzer gruppieren, während im Hintergrund eine zerstörte Stadtlandschaft zu sehen ist. Der Titel des Films steht dominant in großen Buchstaben oben auf dem Poster.

Von allen Filmen, in denen vermeintliche Helden an der Front irgendwen suchen und retten müssen, ist Der Tiger (1/5) mit Abstand der dümmste. Auch, aber nicht nur, weil Panzer bekanntlich nicht gerade leise sind und viel Diesel für eine mickrige Reichweite brauchen.

Am Anfang ist zumindest noch etwas Spannung da, aber dann driftet der Film komplett in eine merkwürdige Richtung ab. Spätestens beim Ende wird dann klar, das hier irgendwer gewillt war, ein deutsches Apocalypse Now abzuliefern. Das ist wirklich krachend gescheitert.

Apple-App-Store-Review-Hölle

Ein Update aus der Apple-App-Store-Review-Hölle: Du musst Nutzer:innen erklären, warum im nächsten Screen die Apple-Health-Abfrage kommt. Du darfst sie aber nicht bitten, diese zu erlauben.

Aufgeräumtes Zuhause

Felix hat vor kurzem dazu aufgerufen, das man sich ein Zuhause im Netz baut. Mein Blog ist im Grunde schon seit 2002 mein Zuhause, auch wenn es viele Jahre gab in denen es brach lag und ich mehr als einmal mit dem Gedanken gespielt habe, es endgültig zu löschen. Zum Glück habe ich diese Entscheidung immer ausgesessen, auch wenn ich in der Vergangenheit nicht immer so egal unterwegs war.

So wie bei Felix und vielen anderen auch, ist meine Webseite mein kleiner Hobbykeller im Internet, oder anders gesagt, eine einzige Dauerbaustelle. Man schraubt hier, man optimiert da und so gedeiht alles vor sich hin.

Heute, während ich kränkelnd auf der Couch saß und mich frage, was die nächste belanglose Ablenkung auf Netflix sein kann, die einfach nur leise durch mein von Ibuprofen vernebeltes Hirn rieselt, habe ich mit etwas Abscheu auf eben jenen Hobbykeller geschaut. Im Second-Screen, wie man das eben heute so macht.

Ein überladener Tisch mit Stapeln von Magazinen und Zeitschriften, darunter Comics und ältere Ausgaben von Playboy. Verschiedene Sammelgegenstände wie Geschirr und Küchenutensilien stehen im Hintergrund.
Symbolbild Rumpelkammer (Foto: Mr. Brown, Unsplash)

Dann kam die Erkenntnis: Mein Hobbykeller ist eine Rumpelkammer. Vollgestellt bis unter die Decke mit nutzlosem Zeug, das vermutlich niemand jemals braucht, mir aber wichtig genug erschien es irgendwann mal in den Raum zu stellen. Alles ruft laut hier, und schenk mir Aufmerksamkeit.

Klassischer Feature Creep. Vermutlich die größte Gefahr von Vibe-Coding. Man kann sich ja ganz einfach alles bauen lassen, was man sich so einbildet. Sehr verlockend, aber am Ende zerstört man damit nicht nur das Produkt sondern verliert auch seine User.


Flucht nach vorne, damit muss jetzt Schluss sein. Das Theme ist jetzt dramatisch entschlackt und verzichtet auf säntliche Spielerein. Im nächsten Schritt sind dann radikal alle selbstgeschraubten Skripte und auch die Fotogalerie rausgeflogen. Damit steht ab jetzt der eigentliche Inhalt im Vordergrund und das ganze technische Gedöns und Gerümpel steht, versteckt vor dem Blick des geneigten Besuchers in der Abstellkammer. Das fühlt sich herrlich aufgeräumt und befreiend an.

Sieben Fischköpfe liegen auf einem weißen Untergrund, einige in verschiedenen Größen und leicht unterschiedlichen Winkeln angeordnet. Die Köpfe haben eine glänzende, silbrige Oberfläche mit charakteristischen Augen und Kiemen.
Symbolbild alles ordentlich aufgeräumt (Foto: Gunnar Ridderström, Unsplash)

In diesem Sinne: Baut euer Eigenheim im Netz, aber räumt von Zeit zu Zeit auch mal auf.

Mac aufräumen mit Pearcleaner #stuffthatworks

Ich habe im Laufe der Jahre mehr “Aufräumtools” für meinen Mac gekauft, als ich zugeben möchte. Alle diese Tools eint, das sie auf hübschen Webseiten mit großen Versprechen und einem meist erschreckend hohen Preisschild angeboten werden. Kurz nach dem Kauf hat sich dann aber schon Ernüchterung eingestellt, mal wieder auf Marketingversprechen und Empfehlungswebsites hereingefallen zu sein. Und kurz darauf hat die Suche nach einem neuen Mac-Cleaner begonnen.

Seit ein paar Monaten habe ich diesen Teufelskreis dank Pearcleaner endgültig durchbrochen. Dieses kostenlose Open-Source-Tool liefert genau das, was kommerzielle Lösungen in der Regel nur versprechen: Apps werden nicht nur gelöscht, sondern wirklich entfernt, inklusive aller Einstellungen, Caches, alter Support-Dateien und verwaister Reste längst deinstallierter Programme. Dinge, von denen man meist gar nicht weiß, dass sie noch existieren.

Das Bild zeigt eine Benutzeroberfläche eines Dateimanagers mit einer Suchleiste oben. Auf der linken Seite sind verschiedene Ordner und Anwendungen aufgelistet, während auf der rechten Seite eine Liste von Dateien mit dem Namen "Reeder" und anderen dazugehörigen Elementen angezeigt wird.

Garniert wird das Ganze von einem Sentinel-Monitor der Apps automatisch sauber entfernt, sobald sie im Papierkorb landen. Der Ressourcenverbrauch ist dabei so gering, dass man ihn praktisch vergessen kann.

Als Bonus lassen sich ungenutzte Sprachpakete und unnötige Architekturen aus Universal-Apps entfernen, das spart auf meinem Mac regelmäßig mehrere Gigabyte. Mein Xcode konnte ich so beispielsweise um satte 3,4 GB schmaler machen. Und ein grafisches Frontend for Brew gibt es auch noch oben drauf.

Die Benutzeroberfläche des Homebrew-Managers zeigt eine Liste installierter Anwendungen wie Firefox und Visual Studio Code. Jede Anwendung hat Größenangaben und Schaltflächen zum Deinstallieren.

Pearcleaner ersetzt für mich eine ganze Kategorie meist kostenpflichtiger Tools. Es ist unaufgeregt, robust und tut genau das, was es soll, und bekommt an dieser Stelle meine ausdrückliche Empfehlung.

Ein kurzes Winken aus dem Kaninchenbau

Der eine oder andere wird sich vielleicht fragen, warum hier aktuell relativ wenig neue Artikel erscheinen. Ich finde das gar nicht so ungewöhnlich, immerhin habe ich keinen Urlaub mehr, und die wenige freie Zeit muss für Freunde, Familie und meine viel zu vielen Projekte und Hobbys reichen. Und da ich mir keinen Druck mache, hier etwas aufschreiben zu müssen, gibt es hier aktuell halt weniger zu lesen.

Ein weiterer Grund ist, dass ich mal wieder in einen neuen Kaninchenbau gestolpert bin und angefangen habe, meine eigenen iOS-Apps zu schreiben. Das macht dermaßen viel Spaß und ich ärgere mich, dass ich nicht schon viel früher damit angefangen habe. Irgendwas programmiert habe ich ja eigentlich schon immer, angefangen mit ersten Batch-Skripten als Jugendlicher und Turbo Pascal in der Schule, später Visual Basic, Java und auch PHP, letzteres vor allem für die Automatisierung meines Zuhauses. Aber iOS-Entwicklung war irgendwie immer eine Nummer zu groß für mich.

Während der Pandemie hatte ich schon mal einen Anlauf genommen und mir einige Swift-Kurse reingezogen. Das war zäh, und etwas Vorzeigbares ist nie daraus entstanden, vermutlich auch, weil meine Ideen viel zu groß waren und ich realisiert habe, dass ich mit meinen Fähigkeiten Monate, vielleicht sogar Jahre bräuchte, um sie zu realisieren. Diese Geduld hatte ich damals nicht.

Jetzt, ein paar Jahre später, passt plötzlich alles zusammen:

  • Viele Jahre, in denen ich beruflich Verantwortung für Softwareprodukte hatte und sehr viel darüber gelernt habe, das vor allem die fehlende Vision und das fehlende Verständnis über den Anwender, neben einem klaren Nein zu noch mehr Features ein Produkt zerstören.
  • Mein generelles Verständnis über Softwareentwicklung und meine rudimentären Swift-Grundlagen von damals.
  • Ausgereiftere Entwicklungstools die einem mittlerweile schon von Haus aus sehr viel abnehmen.
  • Und ja, natürlich auch Coding-Assistenten, die nicht nur beim Boilerplate und Standard-Patterns helfen, sondern auch wirklich gut Dinge automatisiert umsetzen können, von denen man selbst keine Ahnung hat und dann nur staunend daneben sitzt.

Das auch andere von dieser Entwicklung profitieren, sieht man an der Schwemme von Apps und Services die gerade auf den Markt geworfen werden. Leuten, die sehr schnell sehr viel Code erzeugen können, aber wenig Gefühl dafür haben, ob das Ergebnis wirklich gut ist. Diese Apps sind oft ungetestet, fragil und mit dem alleinigen Ziel der schnellen Monetarisierung gebaut. Im besten Fall kosten sie dem Anwender nur etwas Lehrgeld und erzeugen Frust, im schlimmsten Fall sind sie echte Datenschutzrisiken.

Die reine technische Funktion wird damit zur Commodity, aber es reicht nicht mehr, dass eine App “einfach nur funktioniert”. Ich behaupte, das Menschen in Zukunft nicht mehr für Features an sich bezahlen, sondern für Vertrauen, Datensicherheit und eine herausragende User Experience. In einer Welt voller generischer Massenware wird die persönliche Handschrift und die Sorgfalt zum eigentlichen Wettbewerbsvorteil.

Sanus per Aquam

Seit einiger Zeit gönnen wir uns 2-3 mal im Jahr ein sogenanntes Wellness-Wochenende. Zwischen dem Check-in am Freitagnachmittag und dem Check-out am Sonntag wird das Hotel in aller Regel nicht verlassen und für 2 Tage reduziert sich der Tagesablauf auf den steten Wechsel zwischen Sauna, Pool, Essen und Schlafen.

Noch vor gar nicht so langer Zeit habe ich sehr vehement gesagt, dass ich zum Entspannen nicht einfach nur nichts machen kann, sondern auch aktive Bewegung an der frischen Luft, am liebsten in Form von Wandern oder Mountainbiken brauche. Weihnachten 2023 auf Fuerteventura hat mir dann die Augen geöffnet, wie entspannend es sein kann, wenn man sich einfach mal auf das fokussiert, was direkt vor der eigenen Nase ist und das aktive Verpassen von Möglichkeiten zum Programm macht.

Na ja, dieses Wochenende war jedenfalls aktives Nichtstun und das Verpassen von Möglichkeiten angesagt. Das war schon alles sehr toll nur habe ich das Gefühl, das es mindestens doppelt so lang hätte sein müssen, um das übliche Entspannungsniveau zu erreichen. Dass ich so früh im Jahr den Wunsch nach so viel Entspannung verspüre, macht mir etwas Sorge.

Zwei Menschen liegen entspannt auf einer Decke. Im Hintergrund ist ein heller Raum mit großen Fenstern, Pflanzen und einer gemütlichen Sitzgelegenheit zu sehen.

Ein moderner Wellnessbereich mit einem kleinen Pool, umgeben von Steinwänden und beleuchtet mit sanftem, violettem Licht. Im Vordergrund sind Liegen mit grauen Decken und ein Tisch mit einer Lampe zu sehen.