Passkeys: Komfort vs. Kontrolle – Eine wachsende Besorgnis

2025-09-02
Passkeys: Komfort vs. Kontrolle – Eine wachsende Besorgnis

Die Umstellung auf Passkeys als Ersatz für Benutzernamen und Passwörter zielt zwar auf erhöhte Sicherheit ab, birgt aber auch grundlegende Probleme. Das Attestierungssystem ermöglicht es Websites, detaillierte Geräteinformationen zu sammeln, wodurch Regierungen Benutzer auf bestimmte Hardware-Authentifikatoren beschränken können. Die Interoperabilität zwischen Passwortmanagern ist begrenzt, was zu Vendor Lock-in führt. Heimliche automatische Registrierungstaktiken von Diensten binden Benutzer subtil an deren Ökosysteme. Der Autor äußert Bedenken hinsichtlich der zunehmenden Abhängigkeit von Technologie-Giganten und komplexen Lösungen, die zu eingeschränktem Datenzugriff, erhöhter Authentifizierungs-Komplexität und letztendlich zu einem Verlust der Benutzerautonomie führen können.

Mehr lesen
Technologie

Ihr MCP braucht keine 30 Tools: Code reicht aus

2025-08-18
Ihr MCP braucht keine 30 Tools: Code reicht aus

Dieser Artikel untersucht einen neuartigen Ansatz mit einem MCP-Server mit nur einem Tool, der Programmiercode als Eingabe akzeptiert. Der Autor weist auf die Herausforderungen mit CLI-Tools hin, wie z. B. Plattform- und Versionsabhängigkeit sowie mangelnde Dokumentation, was die Verwendung für Agent-Tools erschwert. Im Gegensatz dazu kann ein MCP-Server den Zustand beibehalten und ein einzelnes Tool (z. B. einen Python-Interpreter, der eval() ausführt) verfügbar machen, sodass Agent-Tools Sitzungen besser verwalten und Tools kombinieren können. Der Autor demonstriert die Effektivität dieses Ansatzes mit pexpect-mcp, das den MCP-Server in einen zustandsbehafteten Python-Interpreter verwandelt, wodurch das Debugging vereinfacht und die Effizienz gesteigert wird. Darüber hinaus untersucht der Autor den Ersatz des Playwright-MCP durch einen, der die Playwright-API über JavaScript verfügbar macht, wodurch die Anzahl der Tool-Definitionen reduziert und die Datenübertragungseffizienz verbessert wird. Obwohl Sicherheitsbedenken bestehen, argumentiert der Autor, dass dieser Ansatz ein erhebliches Potenzial hat und weiterer Erforschung bedarf.

Mehr lesen
Entwicklung Agent-Tools

Code ist alles, was Sie brauchen: Die Grenzen von Multi-Component Pipelines (MCPs)

2025-07-03
Code ist alles, was Sie brauchen: Die Grenzen von Multi-Component Pipelines (MCPs)

Dieser Artikel hinterfragt die Praktikabilität von Multi-Component Pipelines (MCPs) für viele Aufgaben und argumentiert, dass ihre starke Abhängigkeit von Inferenz sie ineffizient und schwer zu skalieren macht. Der Autor verwendet ein persönliches Beispiel – die Konvertierung von reStructuredText in Markdown – um einen überlegenen Ansatz zu demonstrieren: die Verwendung von LLMs zur Generierung von Code, der die Aufgabe ausführt, gefolgt von einer LLM-basierten Validierung. Dieses Verfahren reduziert die Abhängigkeit von Inferenz, verbessert die Zuverlässigkeit und skaliert gut, insbesondere bei sich wiederholenden Aufgaben. Obwohl die Stärken von MCPs in Nischen-Szenarien anerkannt werden, kommt der Autor zu dem Schluss, dass ihre inhärenten Grenzen die Automatisierung im großen Maßstab behindern. Die Zukunft, so wird vorgeschlagen, liegt in der Entwicklung effektiverer Codegenerierungsmethoden, kombiniert mit LLM-Validierung und -Erklärung, um die Benutzerfreundlichkeit und Anwendbarkeit zu verbessern.

Mehr lesen
Entwicklung

Programmieragenten: Eine neue Methode zur Messung der Entwicklererfahrung

2025-06-19
Programmieragenten: Eine neue Methode zur Messung der Entwicklererfahrung

Ein 24-stündiger Programmier-Sprint zeigte die schlechte Entwicklererfahrung auf, die durch unzureichende Tools und Prozesse verursacht wurde, darunter fehlende Dokumentation und fehlerhafte APIs. Programmieragenten bieten jedoch eine Lösung. Der Autor verwendete Agenten, um verschiedene Sprachen und Tools objektiv zu bewerten und Entwicklererfahrungs-Faktoren wie Test Coverage, Qualität der Fehlerberichte und die Stabilität des Ökosystems zu quantifizieren. Das Feedback der Agenten spiegelte die Erfahrungen menschlicher Entwickler eng wider und bietet einen neuen Ansatz zur Verbesserung der Codequalität und der Entwicklungs-Workflows.

Mehr lesen
Entwicklung

Agentenbasierte Programmierung: Praktische Tipps und Tricks

2025-06-12
Agentenbasierte Programmierung: Praktische Tipps und Tricks

Dieser Beitrag beschreibt die Erfahrungen des Autors mit agentenbasierter Programmierung unter Verwendung von Claude Code, wobei der Fokus auf der Maximierung der Effizienz liegt. Zu den wichtigsten Strategien gehören die Verwendung des günstigeren Sonnet-Modells, die Deaktivierung von Berechtigungsprüfungen, die Optimierung der Werkzeugnutzung und die Wahl von Go aufgrund seiner Einfachheit und effizienten Tests. Der Autor betont das Schreiben von einfachem, stabilem und parallelisierbarem Code sowie strategisches Refactoring. Obwohl das Gebiet sich schnell weiterentwickelt, bleiben Kernprinzipien wie Einfachheit, Stabilität, Beobachtbarkeit und intelligente Parallelisierung entscheidend für den Erfolg.

Mehr lesen

KI: Der unumkehrbare Wandel

2025-06-04
KI: Der unumkehrbare Wandel

Dieser Blogbeitrag beschreibt, wie KI, insbesondere Claude Code, den Programmierworkflow des Autors revolutioniert hat, die Effizienz gesteigert und erheblich Zeit freigesetzt hat. Der Autor argumentiert, dass die Auswirkungen der KI unumkehrbar sind und unsere Lebens- und Arbeitsweise verändern, trotz anfänglicher Herausforderungen. Die rasche Akzeptanz von KI in verschiedenen Sektoren wird hervorgehoben, wobei ihre transformative Kraft in Kommunikation, Lernen und alltäglichen Aufgaben deutlich wird. Der Autor ermutigt dazu, das Potenzial der KI mit Neugier und Verantwortung zu nutzen, anstatt mit Angst und Widerstand.

Mehr lesen

Rusts `Any`-Trait unterstützt endlich Upcasting

2025-03-30
Rusts `Any`-Trait unterstützt endlich Upcasting

Rust 1.86 behebt endlich ein langjähriges Problem mit dem `Any`-Trait: die Unfähigkeit, von `dyn Any` upzucasten. Das bedeutet, Entwickler können jetzt Methoden des `Any`-Traits, wie `downcast_ref`, auf Traits verwenden, die von `Any` erben. Dieser Fix eliminiert den Bedarf an Hacks, die zuvor benötigt wurden, um diese Funktionalität zu erreichen, und verbessert die Lesbarkeit und Wartbarkeit des Codes. Dies ist eine gute Nachricht für Rust-Entwickler, die jahrelang auf diese Workarounds angewiesen waren.

Mehr lesen
Entwicklung Any-Trait Upcasting

Rusts rand Crate: Ein Dependency-Albtraum für die Zufallszahlengenerierung

2025-02-08
Rusts rand Crate: Ein Dependency-Albtraum für die Zufallszahlengenerierung

Dieser Artikel befasst sich mit den Abhängigkeitsproblemen des Rust-Crates `rand`, das zur Erzeugung von Zufallszahlen verwendet wird. Der Autor hebt die überraschend große Anzahl von Abhängigkeiten hervor, die zu überlangen Kompilierzeiten und einem aufgeblähten Code führen. Der Abhängigkeitsbaum von `rand` enthält zahlreiche Crates wie `libc`, `zerocopy` und `ppv-lite86`, die erheblich zur Zeilenzahl und zum Kompilieraufwand beitragen. Es werden potenzielle Lösungen vorgeschlagen, darunter die Integration einiger Funktionen in die Standardbibliothek oder die Verbesserung des Abhängigkeitsmanagements von `rand`. Dies führt zu einer Diskussion über die Vollständigkeit der Rust-Standardbibliothek und das Abhängigkeitsmanagement externer Crates.

Mehr lesen
Entwicklung rand Crate

Der Fall für weniger Abhängigkeiten in Rust

2025-01-24
Der Fall für weniger Abhängigkeiten in Rust

Armin Ronacher, ein bekannter Entwickler, beklagt in einem kürzlich erschienenen Blogbeitrag die übermäßige Abhängigkeit von externen Kisten im Rust-Ökosystem. Er argumentiert, dass übermäßige Abhängigkeiten zu ständigen Updates, Patches und Sicherheitsaudits führen, Entwickler überlasten und oft unnötigen Code-Bloat verursachen. Er befürwortet eine "Do-it-yourself-"Philosophie und ermutigt Entwickler, bei Bedarf ihren eigenen Code zu schreiben, anstatt blind auf externe Bibliotheken zu vertrauen. Er verwendet die Kiste `terminal_size` als Beispiel und veranschaulicht, wie eine einfache Funktion von mehreren Kisten abhängt und zahlreiche Updates durchlaufen hat, wodurch die Nachteile der Überabhängigkeit hervorgehoben werden. Der Beitrag fordert einen Perspektivwechsel in der Rust-Community, der weniger Abhängigkeiten priorisiert und Entwickler feiert, die Low-Dependency-Bibliotheken erstellen.

Mehr lesen
Entwicklung