Entwickler-Blog · Notizen aus der Praxis

Geek Overflow

Notizen aus .NET, WPF, Azure und dem echten Entwickleralltag.

Aktuelle Beiträge
Ein sichtbar genutzter Entwicklerarbeitsplatz mit Tastatur, Notizbuch und Monitor

Aus dem Archiv

Notizen, die im Alltag weiterhelfen.

306 Beiträge

Viele Anfragen auf einmal statt nacheinander

Für einen Vergleich habe ich 36 Anfragen an ein Sprachmodell geschickt, sauber nacheinander: Anfrage, Antwort abwarten, nächste Anfrage. Whipyard, mein Vermittler vor der Grafikkarte, hat daraus ein Desaster gemacht. In der Lücke zwischen zwei Anfragen sah es nur noch wartende Aufträge eines anderen Modells, entlud meins, lud das andere, und für meine nächste Anfrage ging es wieder zurück. Das Modell wurde 20-mal in sieben Minuten geladen, jedes Mal rund zehn Sekunden.

→

Eine Barkarte als App für die Kreuzfahrt

Auf einem AIDA-Schiff mit Getränkepaket stellt sich an jeder Bar die gleiche Frage: Was gibt es überhaupt, und was davon ist im Paket enthalten? Die gedruckte Karte liegt irgendwo auf dem Tresen und ist lang. Und ausgerechnet die zweite Frage beantwortet sie nur umständlich: Was zum Paket gehört, muss man sich aus Kategorien, Ausnahmen und Fußnoten zusammenreimen. Bis man sich durchgeblättert hat, wartet der Barkeeper schon.

→

Ein Türsteher für die Grafikkarte

Bei mir wollen inzwischen mehrere Programme lokale Modelle benutzen. WhipRadio braucht ein Sprachmodell für Moderationen, ein Musikmodell für Songs und eine Stimme für die Ansagen. Daneben laufen Chats, ab und zu Bilder. Jedes dieser Modelle hat seinen eigenen Server, und alle wollen dieselbe Grafikkarte.

→

Besucher zählen ohne Cookies und ohne JavaScript

Dieser Blog ist eine statische Jekyll-Seite. Ich wollte wissen, welche Beiträge überhaupt gelesen werden, aber ohne Analysedienst, ohne Cookie-Banner und ohne JavaScript. Herausgekommen ist ein Zähler aus drei Teilen, der seit dem Sommer läuft.

→

rsync --chmod wirkt nur mit --perms

Ich habe einen Deploy in GitHub Actions von einer SFTP-Action auf rsync umgestellt. Die alte Action war an der Node-Version der Runner gescheitert, und rsync --delete räumt ohnehin sauberer auf. Damit die Rechte stimmen, kam --chmod dazu:

→

pgrep über SSH findet sich selbst

Ich wollte auf einem Server warten, bis ein länger laufendes Skript fertig ist, und habe dafür in einer Schleife per SSH nachgesehen:

→

Debug-APK stürzt nach adb install ab

Ich wollte eine Debug-Version meiner .NET-Android-App schnell aufs Testhandy bringen, also das gebaute APK per adb install installiert. Die App stürzte sofort ab, im Log stand „Could not load System.Private.CoreLib.dll“.

→

Vorkomprimierte Dateien doppelt komprimiert

Das Blazor-WebAssembly-Frontend von DropicIsland bringt seine Dateien schon vorkomprimiert mit, als .br und .gz. Per .htaccess liefert Apache dann app.css.br aus, wenn der Browser Brotli kann, und setzt Content-Encoding: br. Nach dem ersten Deploy blieb die Seite trotzdem leer und ohne Styles.

→

Der Authorization-Header kommt bei PHP nicht an

Die PHP-API von DropicIsland arbeitet mit Bearer-Token. Lokal im Docker-Container liefen alle Tests, auf dem Strato-Webspace scheiterte jeder angemeldete Aufruf mit „No token provided“. Der Header war im Browser eindeutig gesetzt.

→

Strukturierte Antworten lokaler Modelle begrenzen

In WhipRadio, meinem Hobbyprojekt für einen Radiosender, bei dem Musik, Moderation und Sendeplan aus lokalen Modellen kommen, plant ein Modell über llama.cpp jeden Song als JSON: Titel, Stil, Songtext und eine kurze Geschichte dazu. Das Schema wird per JSON Schema vorgegeben, llama.cpp übersetzt es in eine Grammatik und erzwingt beim Erzeugen gültiges JSON. Das klang nach einer sicheren Sache. Bis ich mir die Abbrüche angesehen habe.

→
Notizbuch und Tastatur auf einem genutzten Entwicklerarbeitsplatz
Real work / no lab setup

Wer hier schreibt

Matt. Entwickler, Notizsammler, Problemlöser.

Ich schreibe über .NET, C#, WPF, Azure, Werkzeuge – und immer öfter über KI. Nicht aus dem Lehrbuch, sondern aus dem echten Entwickleralltag.

Mehr über mich

Nach Thema einsteigen

Woran ich gerade denke und arbeite.