Ein Listener statt einer Client-Komponente pro Button
In dem Moment, in dem du einer Komponente Klick-Analytics hinzufügst, wird sie zu einer Client-Komponente, die JavaScript ausliefert. Mach das über eine ganze Website hinweg, und allein das Tracking bläht dein Bundle auf. Hier ist die Alternative, die seit jeher in der Plattform steckt: ein einziger delegierter Listener, deklarative Data-Attribute und Komponenten, die reines serverseitig gerendertes HTML bleiben.
Ein flüssiges Akkordeon mit null JavaScript
Alle greifen zu React-State und einem höhenmessenden Hook, um ein Akkordeon zu bauen. Der Browser liefert seit Jahren ein natives — und seit 2024 animiert es das Öffnen und Schließen mit reinem CSS. Hier die vollständige Technik: details[name], ::details-content, interpolate-size und die eine Eigenschaft, die auch das Schließen animiert.
Einen Drittanbieter-Wert im selben Moment abfangen, in dem er auf window landet
Ein Skript, das du nicht kontrollierst, schreibt sein Ergebnis zu einem unvorhersehbaren Zeitpunkt in eine globale Variable auf window. Der meiste Code liefert sich dabei ein Wettrennen mit einem Timeout oder verschwendet den main thread mit Polling. Hier ist der Accessor-Property-Trick, der das Schreiben in ein Event verwandelt — plus der getter, den du nicht vergessen darfst, und wie du den Wert komplett ersetzen kannst.
Text mit reinem CSS an seinen Container anpassen — ohne JavaScript
Jeder schreibt einen JavaScript-Hook, der die font-size verkleinert, bis der Text in einen Container passt. Hier ist eine voll funktionsfähige Alternative ganz ohne JS — mit Container-Query-Einheiten, clamp() und sprachabhängiger Silbentrennung, samt der Kaskaden-Falle, an der viele aufgeben.
next/dynamic wird dich nicht retten: Warum CMS-gesteuerte Next.js-Seiten jeden Chunk ausliefern
Unsere CMS-gesteuerten Next.js-Seiten lieferten auf jeder Route alle ~100 Section-Komponenten aus – trotz lehrbuchmäßigem Einsatz von next/dynamic. Wir haben jede Lösung auf Bundler-Ebene ausgereizt (direktes import(), Datei-Splitting, Turbopack-Konfiguration, webpack splitChunks), bevor wir die wahre Ursache fanden: Erreichbarkeit, nicht Chunking. Codegen zur Build-Zeit plus rewrites senkten das First-Load-JS um 53%.
Ich hole meine Boards aus Miro nach Obsidian
Der Export-Button in Miro liefert dir ein PNG oder PDF — ein Foto der Daten, nicht die Daten selbst. Wenn deine Boards load-bearing Denkkarten aus jahrelanger Arbeit sind, gehören sie in Obsidian: editierbar, durchsuchbar, im lokalen Vault. Wie ich Boards per REST API aus Miro gezogen und nach Excalidraw bzw. Obsidian Canvas konvertiert habe — mit Positionen, Farben, Fonts, Curved Connectors, Mindmap Nodes — und die Lehre reicht weiter als Miro: jedes SaaS gehört mit einem Exit Plan betrachtet, BEVOR du es zum ersten Mal öffnest.
CRAFT: eine Methode, um AI zu nutzen, ohne das eigene Können zu verlieren
Eine Diagnose ohne Heilmittel ist nur Angst. Nach dem Beitrag über AI-bedingte Kompetenzaushöhlung folgt jetzt das Rezept: CRAFT – fünf Prinzipien (Challenge First, Review Adversarially, Ask Why Not What, Friction on Purpose, Test Your Understanding) unter einem einzigen Axiom: AI erledigt, was du bereits beherrschst; du übernimmst, was du noch lernst. Eine praktische, einprägsame Methode, um AI täglich einzusetzen, ohne dabei still und leise Fähigkeiten einzubüßen.
Die Stille, die AI ausgeschaltet hat
Lohnt es sich noch, Programmieren zu lernen, wenn es AI gibt? Die laute Antwort ist auf beiden Seiten falsch. Mit der Evidenzbasis 2025–2026 (Nature, Anthropic, AI & Society) lautet die Frage nicht "AI oder nicht", sondern welche Skills du an AI abgibst und welche du bei dir behältst — und eine Sache hat sich wirklich geändert: Früher hat dich die Realität durch Reibung zum Lernen gezwungen, AI hat diesen Druck leise ausgeschaltet.
Claude Code Multi-Profile, v2: eine saubere XDG-Architektur
Nach einem Monat mit dem alten Alias-Ansatz habe ich mein Claude-Code-Multi-Profile-Setup auf eine XDG-konforme Struktur unter ~/.config/claude-profiles/ umgebaut. Der eigentliche Grund war keine Ordnungsliebe — ich habe entdeckt, dass ~/.claude.json eine separate Datei im Home-Root ist, in der die per --scope user hinzugefügten MCP-Server still vor sich hin lebten.
Claude Code Agents schreiben, die dich nicht anlügen
Zwei Regeln für zuverlässige Claude Code Agent-Pipelines: ein Agent pro Spezialisierung, und Shell-Befehle statt Prompts überall dort, wo quantitative Antworten gefragt sind.
Mehrere Claude Code Accounts auf einem Gerät
Wie man zwei (oder mehr) Claude Code Accounts parallel nutzt — persönlich und geschäftlich — mit vollständiger Isolation durch eine einzige Umgebungsvariable.
Wie man Claude Desktop mit Obsidian verbindet — Eine Reise durch 4 MCP-Server
Eine echte Geschichte über die Suche nach einem stabilen Weg, das Obsidian-Vault-Refactoring über Claude zu automatisieren. Was kaputt ging, was funktionierte, und warum VaultForge die einzige funktionierende Option war.
Schwarze Löcher als rekursive Universen: Von der Physik zum Sinn der Existenz
Was wäre, wenn jedes Schwarze Loch ein Urknall eines neuen Universums ist? Eine Untersuchung rekursiver Kosmologie, Hawking-Strahlung und kognitiver Schließung.
KI hat das CMS getötet — zumindest für einfache Websites
Warum traditionelle Content-Management-Systeme für Portfolios, Blogs und Landing Pages unnötig werden — und wie KI-Tools die gesamte CMS-Schicht ersetzen.
Perplexity AI mit Obsidian über MCP verbinden — Notizen direkt aus dem Chat
Richten Sie Perplexity Desktop ein, um Ihren Obsidian Vault über den MCP Filesystem Server zu lesen und zu beschreiben. Recherchieren Sie im Web und speichern Sie in Ihren Notizen — in einem Gespräch.
Täglicher AI News Digest mit Claude Code CLI und Obsidian — Null Abhängigkeiten
Wie ich einen täglichen Nachrichtenrecherche-Agenten mit einem 6-Zeilen Bash-Skript, Claude Code Headless-Modus und macOS launchd gebaut habe.
Next.js Dark Mode ohne Flackern oder React 19 Warnungen
Wie man next-themes durch Zustand + useServerInsertedHTML ersetzt, für flackerfreien Dark Mode in Next.js 15+ ohne React 19 Script-Warnungen.
Wie ich 94 Render-blockierende CSS-Dateien in Next.js 16 mit einem kaum dokumentierten Turbopack-Feature eliminiert habe
Nach Tagen des Ausprobierens jedes Ansatzes — von experimental.inlineCss bis MutationObserver-Hacks — entdeckte ich Turbopack Import Attributes, die das Render-blockierende CSS-Problem im Next.js App Router lösen.
Next.js Memory Leak: Fetch + Standalone-Modus — 2 Jahre ohne Fix
Next.js patcht den globalen fetch und fügt eine Cache-Schicht hinzu, die bei jeder Anfrage Speicher verliert. In Docker/K8s führt dies alle paar Stunden zu OOM-Crashes. Der Bug existiert seit Next.js 14 und ist in 16.2.x noch ungelöst.