knuspermagier.de
Der privateste Blog von Philipp.

Testing Coolify

Letztens empfahl Felix auf Mastodon eine Software namens Coolify. Das ist so eine Art self-hosted… Heroku. Also es ist vor allem eine schöne UI um Docker Container zu managen. Ich werde es die nächsten Tage mal ausprobieren, also im Zuge meiner großen Server-Konsolidierung und berichten, wie es sich schlägt. Abgesehen vom Namen bin ich schon ziemlich angetan bisher!

Die Silo-Frage

Letztens kam der Trailer für die Apple TV+-Adaption der Roman-Trilogie Silo von Hugh Howey raus. Ich wollte die Bücher schon länger lesen, kam aber nicht dazu und wollte mir den Trailer auch nicht angucken, bevor ich es nicht gelesen habe um mir nicht meine Fantasie von Tim Apples Vorstellung kaputt zu machen.

Also griff ich zum Hörbuch-Service meines Vertrauens, nämlich Bookbeat, und schaute, ob sie das Buch zufällig da haben. Vorzugsweise in Deutsch, da ich verdammt faul geworden bin, seitdem ich mich nicht mehr selbst gatekeepe.

Ich hörte also Buch eins durch und war sehr begeistert. Bevor ich das nächste Buch startete schaute ich erstmal auf die Längen der Hörfassungen und war etwas durcheinander. Die deutsche Version des ersten Buchs ist ähnlich lang wie die englische, die des zweiten Buchs allerdings um einiges kürzer. Wie ist das zu erklären? Das deutsche Buch hat zwar ein paar Seiten weniger, als das Englische, aber nichts, was diesen Unterschied erklären würde.

Hier eine hilfreiche Tabelle:

Buch Seiten (de) Seiten (en) Länge (de) Länge (en)
Wool 531 594 16h 03min 15h 00min
Shift 412 579 10h 51min 14h 35min
Dust 462 482 12h 54min 10h 53min

(Mal von alllem anderen abgesehen, woher kommt diese Faszination, Bücher im Deutschen einfach andere englische Namen zu geben? Silo, Level, Exit? Ist doch einfach nur verwirrend.)


Jetzt fällt mir beim Erstellen dieses Blogposts auf, das ich anscheinend von einer falschen Zahl ausging. Irgendwo fand ich wohl eine englische Hörbuchversion von Shift, die um die 16 Stunden lang war und sechs Stunden Unterschied zur deutschen Version fand ich mysteriös genug um nachzuforschen, ich fragte sogar beim Verlag nach, der mir bestätigte, dass nichts gekürzt wurde.

Bei der Recherche für die Tabelle schaute ich bei Audible und da ist die Länge mit 14h 35min angegeben, was ja nur noch so dreieinhalb Stunden unterschied wären. Das deckt sich nun etwa mit dem Unterschied der Seitenzahlen, was ja immerhin beträchtlichen 30% entspricht.

Statt mich zu wundern, warum die deutsche Hörbuch-Version so kurz ist, frage ich mich also eher, warum das deutsche Buch 30% kürzer ist, während die anderen beiden Bände nur wenige Seiten weniger enhalten. Aber gut, Seitenzahlen sind eh komische Angaben, die von verschiedensten Sachen abhängig sind.

Case also direkt wieder closed. Sorry, für die gestohlene Zeit. Statt diesem Blogpost solltet ihr lieber diese wundervolle Trilogie lesen!

philipps.photos logo

OpenAI im Tagebuch

Eine kleine Abendspielerei: Ich wollte, nun auch mal eine der OpenAI-APIs in einem meiner Projekte benutzen! Zum Glück gestaltet sich das sehr einfach.

composer require openai-php/client

Doch welches Projekt eignet sich? Eigentlich dachte ich zuerst an einen Knopf hier im Blog, der Posts zusammenfasst und einen Text für den Toot erzeugt, oder so. Aber es kam mir noch eine Idee, die schneller ging und vielleicht auch günstiger ist, denn jeder Token, der verarbeitet werden muss kostet bares Geld! Wie wäre es, wenn mein Tagebuch mir inspirierende Fragen zu meinem Tag stellt?

$client = \OpenAI::client('xyz');

$result = $client->completions()->create([
            'model' => 'text-davinci-003',
            'temperature' => 0.9,
            'max_tokens' => 100,
            'prompt' => 'Stelle mir eine inspirierende Frage über meinen Tag, die ich beantworten kann um eine gute Seite in meinem Tagebuch zu verfassen. Bitte sprich mich immer mit "du" oder "dich" an. Es sollte sich immer um den vergangenen Tag handeln.',
]);

Zuerst gab er mir nur sehr kurze und abgeschnittene Fragen zurück, das lag daran, dass max_tokens standardmäßig wohl sehr kurz ist. Hier ein Video vom Ergebnis:

Verrückt, wie schnell das geht.

Natürlich müsste ich für jeden Button-Click jetzt noch so einen Katsching-Soundeffekt einbauen, denn jeder Klick spült OpenAI Bruchstücke von Cents in die Taschen. Da muss ich vorsichtig sein!

Eine iPad-Sonos-Steuerapp

Vor ein paar Monden fand ich ein altes iPad Mini, welches ich mir 2014 kaufte. Es funktionierte noch blendend und es wäre ja schade, wenn es weiter sein Dasein im Schrank fristen müsste, bis der Akku sich entscheidet aufzuplatzen, wie bei allen meinen sonstigen alten Apple-Geräten.

Also suchte ich nach einem Verwendungszweck. Ich fand so herumhängender Smart-Home-Steuerzentralen schon immer ganz nett, aber ich will mit kein iPad an die Wand hängen und eigentlich muss ich nichts in meinem Smart Home wirklich steuern.

Was aber ganz cool wäre, wäre ein Ding, mit dem man schnell Musik oder Hörspiele anmachen kann, ohne ewig zu überlegen, ob man es nun bei Spotity hat oder in der Plex-Bibliothek oder wo auch immer. Einfach so ein Speed-Dial für die drei Lieblingsalben, -playlists oder die neuste Folge der Drei Fragezeichen.

Weiterlesen →

philipps.photos logo

DNS außerhalb des Registrars

Wie viele Internet-Leute bin ich Domain-Messi. Also zumindest habe ich ziemlich viele. Immerhin sind sie nur auf zwei oder drei Registrare verteilt, trotzdem ist es ab und zu nervig, wenn man mal wieder einen DNS-Eintrag verändern will und nicht sofort weiß, wo man jetzt die Domain gekauft hat. Ganz abgesehen davon sind die Interfaces sowohl bei INWX, als auch bei Gandi ziemlich schrottig.

Wie wäre es also, die DNS-Server-Sachen komplett unabhängig vom Registrar, in einem wunderschönen Interface zu managen, am besten noch per API und alles? Ich dachte schon ab und zu mal über Amazon Route 53 oder so nach, aber die 50 Cent extra pro Domain, die das damals kostete schreckten mich immer ab. Vor allem, weil das ja mehr ist, als eine .de-Domain im Jahr überhaupt kostet.

dalle-2023-03-06-00.20.02-a-network-of-computers-on-the-internet-connected-by-a-series-of-tubes-in-the-background-is-a-rising-su.png
Das Internet, schematische Darstellung

Ich machte mal wieder eine kleine Mastodon-Umfrage und erlangte ein paar Einsichten.

Allgemein frage ich öfter mal was bei Mastodon und zumindest in diesem ganzen Programmier/Sysadmin-Space funktioniert das fast besser als jede Twitter-#followerpower damals. Ich mag das sehr! Da Mastodon aber ja so ein kleines Such-Problem hat, man also Sachen nicht so gut wiederfindet, habe ich nun vor, auch mal über die Ergebnisse zu schreiben. Damit wir alle was davon haben!

Zurück zum Thema. Folgende Dinge wurden mir von verschiedenen Personen empfohlen, die ich jetzt nicht nochmal gesondert verlinken werde, da man die genaue Zuordnung ja oben im Thread entnehmen kann. Danke an alle!

Bei Scaleway habe ich sonst nichts, Cloudflare ist mir nicht europäisch genug und einen eigenen DNS-Server hosten will ich auf keinen Fall. Bleiben also noch zwei Anbieter für eine tiefere Recherche: desec.io und die Hetzner DNS Console.

Ersteres sieht ganz nett aus und wird von einem Verein aus Berlin betrieben. Tatsächlich gibt es aber anscheinend noch kein Two-Factor Auth (immerhin auf der Roadmap). Wäre der zweite Kandidat jetzt nicht Hetzner gewesen, die ich ja eh schon für den ganzen Server-Kram benutze, hätte ich es mir vielleicht nochmal genauer angeschaut, aber so war meine Entscheidung relativ schnell gefallen.

Ich habe gerade die Zone für die erste meiner Domains angelegt und es hat geklappt! Also das anlegen. Ich bin begeistert. Gegebenenfalls werde ich mich vielleicht auch nochmal mit DNSControl beschäftigen, damit ich die ganze Sache vielleicht in ein Git-Repo schieben kann, falls ich doch nochmal von Hetzner wegwechseln will.

Update

Jan hat mir mitgeteilt, dass desec doch schon 2FA hat und Hetzner kein DNSEC unterstützt. Ich werd mich mal genauer damit beschäftigen, ob man letzteres wirklich braucht und meine Entscheidung gegebenenfalls nochmal überdenken! Hätte ich nur schon eine DNSControl-Datei angelegt!!

Bewertungen

Vor etlichen Monden baute ich hier ein neues Template ein für alle meine gehaltvollen Serien- und Film-Bewertungen. Dieses nutzte ich in letzter Zeit auch und ab und zu und seit Wochen steht also “Bewertungsseite bauen” auf meiner Todo-Liste. Eine Seite, auf der alle Bewertungen zusammengefasst sind.

Tja und nun ist es passiert, Johannes kam mir zu vor und hat auf seinem Blog einfach schon eine solche Seite eingebaut und das obwohl er im Februar auch noch 100km Fahrrad gefahren ist. Respekt.

image.png
Ja, date('d.m.Y') funktioniert so nicht, aber der Rest ist gut!

Das kann ich natürlich nicht auf mir sitzen lassen, dachte ich, also warf ich kurz den Copilot an, der mir den Großteil der Seite schnell zusammen-ai'te und schwupps, da ist sie, die Bewertungsübersichtsseite.

(Und es sind weniger als gedacht -- und was war zwischen 2017 und 2022 los, da muss ich doch auch mal was bewertetet haben! Mh. Ich werde auf jeden Fall noch letterboxd und das Lesetagebuch integrieren müssen.)

Brot, Evolution und VMs

Hans hat sich beschwert gewundert, dass es seit sieben Tagen keinen Blogpost gab, und da dachte ich, ich schreibe einfach mal etwas. Warum auch nicht. Hier ein paar ungeordnete Gedanken:

  • Ich möchte mal dieses Brot-Rezept ausprobieren, muss dafür aber erstmal Hefe kaufen!
  • Ich höre gerade the The Greatest Show on Earth, allerdings in einer deutschen Übersetzung, die etwas sehr hölzern vorgetragen wird. Trotzdem sehr interessant, auch wenn ich wirklich nicht von der Evolution überzeugt werden muss — ich wollte nur mal genauer wissen, wie sie funktioniert. Das Buch ist allerdings randvoll mit Fakten und ich glaube so richtig alles werde ich als Hörbuch nicht mitnehmen können. Vielleicht muss ich es doch nochmal wirklich lesen.
  • Inspiriert von meinem Freelance-Job baue ich gerade eine Kleinigkeit mit Laravel und Livewire, mal sehen, ob ich es fertig bekomme. Wäre ja schön!
  • Gleichzeitig arbeite ich daran, endlich, über ein Jahr, nachdem ich das letzte Mal darüber geschrieben habe, meine Hetzner-Rechnung zu reduzieren. Dazu sortiere ich ordentlich aus und versuche möglichst viel ins Homelab zu verschieben, aber so, dass ich auf Dinge zugreifen kann, ohne ständig Tailscale auf dem Handy laufen haben zu müssen, weil das so viel Strom frisst!
  • Vor ein paar Tagen installierte ich mal wieder Umami um zu schauen, ob überhaupt Leute den Blog besuchen. Keine Sorge, es setzt keine Cookies und loggt auch ansonsten sehr anonym und sicher wird es mir in zwei Wochen wieder egal sein.
  • Ich habe mir nun die Trail von Github Copilot angelacht, nachdem ich es bei ein paar anderen Menschen sah und ich bin… begeistert. Es hat mir schon ziemlich viel Tipparbeit abgenommen und hilft sogar irgendwie beim Entdecken von Features in Themen, in denen ich noch nicht so tief drin stecke, wie z. B. Livewire.
  • Musikalisch gesehen kam letzte Woche das neue Deichkind-Album und es gefällt mir ganz gut. Leider kennt man die ganzen neuen Lieder ja schon immer schon ewig im Voraus.
  • Dieser junge Mann covert fleißig Stoppok-Songs und ich finde das ziemlich gut!

Tailwind CSS

Aktuell arbeite ich an einem Projekt, das Tailwind CSS einsetzt und, ihr werdet es nicht glauben, ich glaubte es ja selber nicht, aber, ich mag es?

Ich habe mich wirklich jahrelang dagegen gewehrt und lieber in jedem Projekt neue Utility-Klassen wir flex text-center und text-sm geschrieben. Mir gefiel dir ganze Magic nicht, die Tailwind machte und dachte mir, als alter CSS-Veteran, der das schon seit 20 Jahren macht, schreibe ich meinen Code noch selber.

Doch fängt man einmal an, kommt man so schnell nicht wieder davon los, fürchte ich. Mal schauen, ob ich dazu komme es auch mal in einem meiner Quatschprojekte einzusetzen und wie lange die Honeymoon-Phase anhalten wird, aber aktuell gefällt es mir wirklich noch sehr gut.