knuspermagier.de

Der privateste Blog von Philipp.

I wanted to find if a particular http response was successful, so “anything in the 200s”. How did I write?

Notes from my journey from Rust to … TypeScript? auf blog.chiselstrike.com

In diesem längeren Artikel schreibt Glauber Costa von seiner magischen Reise von Rust zu TypeScript. Diese ganze Sache ist mir relativ egal, aber ein Detail fand ich ganz spannend. Costa ist jahrelanger C++-Entwickler und unter dem obigen Zitat befindet sich folgendes Code-Beispiel:

const success = req.ret / 100 == 2

Wir erinnern uns, er will herausfinden, ob der HTTP-Statuscode irgendwo zwischen 200 und 299 liegt und benutzt dafür diese Division. In C++ und (wahrscheinlich) allen anderen Sprachen, die ein vernünftiges Typ-System haben macht das eine Integer-Division und das Ergebnis ist halt immer 2, egal ob der Statuscode nun 200, 201 oder 299 ist. Der Rest wird abgeschnitten. In JavaScript kommt halt 2.01 oder 2.99 raus und damit funktioniert dieser clevere Code nicht.

Ich selber wäre niemals im Leben auf diese Code-Zeile gekommen und bei einem Code Review hätte ich sie wahrscheinlich auch als zu clever! gekennzeichnet und die Verfasser:in darauf hingewiesen, das bitte mal leserlicher zu schreiben. Aber mit dem Hintergrund, den Costa hat, ergibt es total Sinn, wie er auch selber schreibt:

I swear to you that this makes total sense in the minds of anyone coming from Rust and C++ […]: When you are used to dealing with low-level code, you learn to fear the processor ‘s branch predictor a bit and it is common to avoid branches when possible (although in this case it would likely predict well). Although division is usually not the fastest processor operation either, at least it is consistent, and in many cases you can rewrite them with shifts and bitwise operations (not in this case), so it is a natural way for us to do it.

Immer ganz spannend, solche Einblicke in das Denken anderer Personen zu bekommen.

Ich habe mal eine Seite angelegt, auf der alle Kirby-Plugins aufgelistet sind, weil, keine Ahnung, ich mal ein bisschen sortieren wollte und auch ein bisschen an einer Art Portfolio arbeite. Ich dachte, es wären mehr als drei. Aber naja, es kommen noch ein paar dazu!

kirby-heic-convert v1.0.0

Wer kennt es nicht. Man exportiert ein Foto aus Photos.app, oder Airdroppt sich was vom iPhone und hat eine .heic-Datei, die man schnell in seinen Kirby-Blog werfen will. Leider unterstützt Kirby keine derartigen Dateien, was Sinn ergibt, da Browser sie gar nicht anzeigen können. Da ich zu faul bin, die Bilder immer im Finder vorher zu konvertieren, schrieb ich ein kleines Plugin, welches die Dateien beim Upload direkt in .jpg wandelt. Danke an heif-convert von libheif.

kirby-secret-links v1.0.0

carbon.png

Mal wieder ein neues Kirby-Plugin. Mal wieder etwas sehr spezielles. Stellt euch vor ihr habt eine Kirby-Seite, oder einen Blog oder so, der aber nur für eine begrenzte Anzahl von Menschen zugänglich ist, zum Beispiel, alle die eingeloggt sind. Nun möchtet ihr aber doch mal eine Seite teilen, ohne direkt einen User-Account anlegen zu müssen, oder die entsprechende Person soll sich nicht einloggen müssen, nur um einen kleinen Text zu lesen, oder was auch immer.

Dafür gibt es nun kirby-secret-links! Es ist etwas... anstrengender zu installieren, siehe die Anleitung im Github. Weil ich illuminate/encryption benutze, wird auch ziemlich viel Laravel-Zeug geladen per Composer, gefällt mir auch nicht so dolle, aber ich wollte etwas, wo ich mir sicher sein kann, dass es funktioniert.

Eine Besonderheit des Plugins ist, dass es nichts Speichern muss und der Link direkt alle Informationen (also um welche Seite es geht und wann der Link abläuft) enthält. Daher die Encryption-Geschichte. Nachteil: Die Links sind natürlich relativ lang, Base64 sei dank. Für meinen Anwendungsfall ist das aber ausreichend so.

So, wer weiß, welches Plugin, was fast keiner braucht, ich als nächstes entwickeln werde!

Die Ladekabelfalle

ladekabel.png

Schnorchel

schnorchel2.png

Hitzewelle

40_grad.png

(Ebenfalls on-topic: Daniel)

Stillleben

9afbba33-22c9-4cbe-b2aa-745c9d4cb42d.png

Deichkind
Hurricane Festival 2022 →

So ein Deichkind-Konzert muss schon etwas Besonderes sein. Dieser Festival-Auftritt ist schon beeindruckend. So viele Kostümwechsel und Action auf der Bühne. Sehenswert!

Blöde Hosentasche

schrauben.png