Category: Entwicklung

AgentAPI: Eine vereinheitlichte HTTP-API zur Steuerung von Codierungsagenten

2025-04-17
AgentAPI: Eine vereinheitlichte HTTP-API zur Steuerung von Codierungsagenten

AgentAPI ist eine leistungsstarke HTTP-API zur Steuerung von KI-Codierungsagenten wie Claude Code, Goose, Aider und Codex. Sie bietet eine vereinheitlichte Chat-Oberfläche, die die Interaktion über einfache API-Aufrufe ermöglicht. Benutzer können sogar einen MCP-Server erstellen, bei dem ein Agent einen anderen Agenten steuert. AgentAPI verarbeitet die Terminalausgabe automatisch, entfernt redundante Informationen und analysiert sie in einzelne Nachrichten, wodurch die Interaktion vereinfacht wird. Obwohl große Sprachmodelle in Zukunft möglicherweise offizielle SDKs veröffentlichen, zielt AgentAPI darauf ab, ein universeller Adapter zu sein, sodass Entwickler problemlos zwischen KI-Codierungsagenten wechseln können.

Entwicklung HTTP-API

Ubuntu 25.04: Plucky Puffin – Verbesserte Leistung und Sicherheit

2025-04-17
Ubuntu 25.04: Plucky Puffin – Verbesserte Leistung und Sicherheit

Canonical hat Ubuntu 25.04, Codename "Plucky Puffin", veröffentlicht. Es enthält GNOME 48, eine verbesserte Installations- und Boot-Erfahrung und ein neues "devpack" für das Spring Framework. Diese Version bietet Leistungsverbesserungen für KI-Workloads auf Intel-GPUs und Unterstützung für vertrauliches Computing mit AMD SEV-SNP. Der Linux 6.14-Kernel enthält verbessertes Scheduling und einen neuen NTSYNC-Treiber für bessere Leistung von Windows-Spielen unter Wine und Proton. Ubuntu 25.04 enthält außerdem die neuesten Toolchains, verbesserte Verwaltungsfunktionen und Netzwerkkontrollen sowie erweiterte Unterstützung für Intel Core Ultra-Prozessoren und ARM64-Hardware.

Entwicklung

MCP-Server zur Ausführung von Python-Code in einer Sandbox

2025-04-17
MCP-Server zur Ausführung von Python-Code in einer Sandbox

Dieser Artikel beschreibt einen Model Context Protocol (MCP)-Server, der Python-Code in einer Sandbox mithilfe von Pyodide in Deno ausführt und so eine Isolation vom Betriebssystem bietet. Der Server unterstützt verschiedene Modi: Standard-Ein-/Ausgabe (stdio), Server-Sent Events (SSE) und einen Warmup-Modus für Tests und Deployment. Ein Beispiel mit PydanticAI zeigt die Interaktion mit LLMs über einen Agenten mit diesem MCP-Server.

Entwicklung

Kritische Erlang/OTP SSH-Schwachstelle ermöglicht nicht authentifizierte Remote Code Execution

2025-04-17

Eine kritische Sicherheitslücke (CVE-2025-32433) wurde im Erlang/OTP SSH-Server entdeckt, die die Ausführung von nicht authentifiziertem Code aus der Ferne (RCE) ermöglicht. Betroffen sind Versionen vor OTP-27.3.3, OTP-26.2.5.11 und OTP-25.3.2.20. Angreifer können einen Fehler in der Behandlung von SSH-Protokollnachrichten ausnutzen, um nicht autorisierten Zugriff zu erhalten und beliebige Befehle ohne Anmeldedaten auszuführen. Patches sind verfügbar; aktualisieren Sie auf OTP-27.3.3, OTP-26.2.5.11 oder OTP-25.3.2.20 oder höher.

Entwicklung

Tieftauchen in 3FS: DeepSeks Open-Source-verteiltes Dateisystem

2025-04-17

DeepSeek hat 3FS (Fire-Flyer File System) veröffentlicht, ein verteiltes Dateisystem. Dieser Beitrag erklärt verteilte Dateisysteme und die Architektur von 3FS. 3FS besteht aus vier Knotentypen: Meta (Metadatenverwaltung), Mgmtd (Managementserver), Storage und Client. Es verwendet das CRAQ-Protokoll (Chain Replication with Apportioned Queries) für starke Konsistenz. Der Beitrag analysiert die Leistungsmerkmale von 3FS und beschreibt zukünftige Richtungen für Leistungstests und Verbesserungen.

Entwicklung

go-mcp: Ein Typsicheres Go SDK für die Entwicklung von MCP-Servern

2025-04-17
go-mcp: Ein Typsicheres Go SDK für die Entwicklung von MCP-Servern

go-mcp ist ein Go SDK, das die Entwicklung von MCP-Servern (Model Context Protocol) vereinfacht. Seine typsichere, intuitive Schnittstelle beschleunigt den Prozess. Die Codegenerierung stellt die statische Typisierung für Tools und Prompt-Parameter sicher und fängt Fehler bereits zur Kompilierzeit ab. Die saubere API und das entwicklerfreundliche Design erleichtern das Erlernen und die Verwendung. Das Projekt enthält umfassende Beispiele und Dokumentation und unterstützt Funktionen wie Tools, Prompts, Ressourcenverwaltung und Protokollierung. Obwohl die dynamische Hinzufügung von Tools derzeit nicht unterstützt wird, sind zukünftige Entwicklungen wie Batch-Verarbeitung, streambarer HTTP-Transport und Fortschrittsbenachrichtigungen geplant. Das Projekt ist unter der MIT-Lizenz lizenziert.

Entwicklung

Rust-Kompilierzeiten: Von 25 Minuten auf 2 Minuten

2025-04-17
Rust-Kompilierzeiten: Von 25 Minuten auf 2 Minuten

Das Feldera-Team stieß auf extrem lange Kompilierzeiten beim Kompilieren von groß angelegtem, aus SQL generiertem Rust-Code. Ein 8.562-zeiliges SQL-Programm, das in ~100.000 Zeilen Rust-Code übersetzt wurde, benötigte 25 Minuten zum Kompilieren. Techniken wie Typ-Löschung und Code-Deduplizierung führten zu minimalen Verbesserungen. Der Durchbruch gelang durch die Aufteilung des generierten Rust-Codes in 1.106 kleinere Crates, wodurch paralleles Kompilieren ermöglicht und die Kompilierzeit drastisch auf unter 2 Minuten reduziert wurde, wobei die Mehrkernprozessoren voll ausgenutzt wurden.

Einrichtung einer Linux-Entwicklungsumgebung auf Apple Silicon mit UTM

2025-04-17
Einrichtung einer Linux-Entwicklungsumgebung auf Apple Silicon mit UTM

Diese Anleitung zeigt, wie man eine Linux-Entwicklungsumgebung auf Apple Silicon Macs mit UTM virtuellen Maschinen einrichtet. Nach der Installation von UTM und cdrtools über Homebrew automatisiert ein cloud-init Skript die Installation wichtiger Entwicklungstools wie Git, Docker und die Einrichtung des SSH-Zugangs. Der Artikel beschreibt die Erstellung der VM, das Importieren von Images, die Konfiguration des cloud-init Skripts und das Entfernen temporärer Laufwerke, was zu einer funktionierenden Linux-Entwicklungsumgebung führt.

Entwicklung

Differenzierbare Programmierung: Ein tiefer Einblick von Grund auf

2025-04-17

Dieser Artikel bietet eine umfassende Erklärung der differenzierbaren Programmierung, beginnend mit der Definition von Ableitungen in der Analysis und fortschreitend zu Konzepten wie Gradienten, Richtungsableitungen und Jacobi-Matrizen. Er beschreibt drei Differentiationsmethoden: numerische Differentiation, symbolische Differentiation und automatische Differentiation (Vorwärts- und Rückwärtsmodus), wobei er deren Stärken und Schwächen vergleicht. Schließlich wird gezeigt, wie die automatische Differentiation im Rückwärtsmodus, kombiniert mit dem Gradientenabstieg, reale Optimierungsprobleme lösen kann, indem ein Beispiel für die Entzerrung von Bildern verwendet wird.

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-04-17
arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

arXivLabs ist ein Framework, das es Mitwirkenden ermöglicht, neue arXiv-Funktionen direkt auf unserer Website zu entwickeln und zu teilen. Sowohl Einzelpersonen als auch Organisationen, die mit arXivLabs zusammenarbeiten, haben unsere Werte von Offenheit, Community, Exzellenz und Datenschutz für Benutzerdaten angenommen und akzeptiert. arXiv engagiert sich für diese Werte und arbeitet nur mit Partnern zusammen, die sich an diese halten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung

Jenseits von NP: Ein intuitiveres Komplexitätsproblem

2025-04-17
Jenseits von NP: Ein intuitiveres Komplexitätsproblem

Der Autor hinterfragt die Verwendung des Halteproblems als kanonisches Beispiel für ein Problem, das schwieriger ist als NP-vollständig, und argumentiert, dass es verwirrend und unintuitiv ist. Obwohl unentscheidbar, kann die Überprüfung einer "Ja"-Antwort auf das Halteproblem durch Ausführen des Programms für eine endliche Anzahl von Schritten erfolgen. Eine leichter verständliche Alternative wird vorgestellt: das Bewegen einer Spielfigur auf einem unendlichen Gitter, um einen Zielpunkt zu erreichen. Dieses Problem ist PSPACE-vollständig in niedrigeren Dimensionen, aber seine Komplexität explodiert mit zunehmender Dimension und erreicht schließlich ACKERMANN-Vollständigkeit, was visuell eine Komplexität weit über NP-Problemen hinaus demonstriert.

Formance: Neudefinition der Interaktion zwischen Entwicklern und Finanzen

2025-04-17
Formance: Neudefinition der Interaktion zwischen Entwicklern und Finanzen

Formance hat es sich zur Aufgabe gemacht, die Interaktion von Entwicklern mit Geld als erstklassiges primitives Element neu zu definieren und es mit Finanzdienstleistungen zu kombinieren. Derzeit versteckt in berechtigungsbasierter, von Anbietern abgeschlossener Infrastruktur, muss Geld neu verdrahtet werden, um produktorientierte Unternehmen zu stärken. Die Formance-Plattform stellt agnostische Primitives als Open-Source-Pakete für Entwickler bereit, die mit dem Finanzpartner ihrer Wahl verbunden werden können. Formance ist global nativ und betreut Unternehmen weltweit rund um die Uhr, um deren Finanzanwendungen zu bauen und zu skalieren.

Entwicklung

Warum Frameworks böse sind: Ein Plädoyer für Bibliotheken

2025-04-17
Warum Frameworks böse sind: Ein Plädoyer für Bibliotheken

Dieser Artikel befasst sich mit Prinzipien des funktionalen Bibliotheksdesigns, wobei der Schwerpunkt auf Komposition und der Vermeidung von Callbacks liegt. Der Autor argumentiert, dass Frameworks schwer zu komponieren, zu erkunden und zu testen sind und die Code-Struktur einschränken. Im Gegensatz dazu bieten Bibliotheken dem Entwickler mehr Kontrolle, fördern interaktive Erkundung und unterstützen mehrere Abstraktionsebenen. Anhand eines Spiel-Engines-Beispiels wird gezeigt, wie asynchrone Workflows und ereignisbasierte Programmierung die Nachteile von Callbacks verringern können. Beispiele wie FsLab veranschaulichen die Komposition von Bibliotheken. Letztendlich plädiert der Autor für den Bau von komponierbaren, leicht zu erkundenden Bibliotheken anstelle von starren Frameworks.

Entwicklung Bibliotheksdesign

Verborgene Schätze in C's stdint.h: Über limits.h hinaus für Integer-Typdefinitionen

2025-04-17
Verborgene Schätze in C's stdint.h: Über limits.h hinaus für Integer-Typdefinitionen

Dieser Blogbeitrag beschreibt die unerwartete Entdeckung des Autors über Integer-Typdefinitionen beim Erlernen von C. In den frühen Tagen von C variierte die Größe von Integern stark zwischen verschiedenen Architekturen, was Compiler-Anbieter dazu brachte, benutzerdefinierte Typdefinitionen wie Microwares types.h zu erstellen. Später führte der ANSI-C-Standard stdint.h ein, das Standard-Typdefinitionen wie uint32_t und Maximalwertdefinitionen wie INT_MAX aus limits.h bereitstellte. Der Autor hat jedoch kürzlich entdeckt, dass stdint.h auch Definitionen wie INT8_MAX und UINT32_MAX enthält, die direkt verwendet werden können, um die maximalen und minimalen Werte von Integer-Typen bestimmter Größen zu definieren, wodurch der Code portabler wird und Fehler aufgrund von Plattformunterschieden vermieden werden.

Entwicklung Integer-Typen

Haskell-Concurrency: Ausbruch aus der Thread-Hölle

2025-04-17

Dieser Artikel beschreibt die Reise des Autors von der Entwicklung eingebetteter Systeme in C/C++/Rust zu Haskell und hebt die Vorteile von Haskell in der konkurrenten Programmierung hervor. Haskell verwendet Green Threads und ereignisgesteuerte E/A und vermeidet so die Komplexität traditioneller Thread-Modelle. Über das `async`-Paket und STM (Software Transactional Memory) bietet Haskell einen saubereren und sichereren Ansatz für konkurrente Aufgaben. Funktionen wie `concurrently`, `race` und `mapConcurrently` sowie Datenstrukturen wie `TVar` und `TBQueue` vereinfachen konkurrente Operationen und vermeiden häufige Concurrency-Probleme wie Deadlocks und Race Conditions.

Entwicklung

Pure Nix Trigonometrie-Bibliothek: Python adé, Leistung optimiert

2025-04-17
Pure Nix Trigonometrie-Bibliothek: Python adé, Leistung optimiert

Um die Netzwerklatenz zwischen seinen 17 VPS-Knoten ohne manuelle Ping-Tests zu berechnen, versuchte der Autor, die Latenz durch Berechnung der physikalischen Entfernung zwischen den Knotenkoordinaten mit Nix zu approximieren. Da native trigonometrische Funktionen in Nix fehlten, implementierte er die Funktionen sin, cos, tan, arctan und sqrt in reinem Nix und verwendete die Haversine-Formel zur Berechnung der Entfernungen und Latenzen. Dieses Projekt vermeidet externe Abhängigkeiten wie Python und verbessert so die Effizienz und Reproduzierbarkeit.

Entwicklung Trigonometrie

Typklassen in Kotlin und Datenvalidierung: Ein Ansatz mit Arrow

2025-04-17
Typklassen in Kotlin und Datenvalidierung: Ein Ansatz mit Arrow

Dieser Artikel untersucht die Verwendung von Typklassen in Kotlin zur Datenvalidierung. Anhand eines Systems zur Validierung von Benutzerportfolios in einem Fintech-Startup wird gezeigt, wie man mit der Arrow Kt-Bibliothek und Kotlins Kontext-Receivern ein generisches, wiederverwendbares Validierungsframework erstellt. Der Artikel vergleicht objektorientierte Ansätze mit Typklassen und hebt die Vorteile von Typklassen für die Wartbarkeit und Erweiterbarkeit hervor. Es wird gezeigt, wie der `EitherNel`-Typ von Arrow zur funktionalen Fehlerbehandlung verwendet werden kann. Die Funktion `zipOrAccumulate` wird im Detail erläutert.

Entwicklung Datenvalidierung

Tschüss Spotify! Meine Reise zum Selbst-Hosting meiner Musik

2025-04-17
Tschüss Spotify! Meine Reise zum Selbst-Hosting meiner Musik

Ich war Spotify leid und begab mich auf die Suche nach dem perfekten Ersatz. Ich probierte Winamp, foobar2000 und baute sogar meinen eigenen Web-Musikplayer, bevor ich mich für Jellyfin entschied. Jellyfin ist ein selbstgehosteter Media-Server, der mir jederzeit und überall Zugriff auf meine Musikbibliothek ermöglicht, ohne auf Streaming-Dienste angewiesen zu sein. Obwohl es etwas technisches Know-how erfordert, ist die Einrichtung überraschend einfach, sogar auf einem älteren Computer. In Kombination mit mobilen Apps ist Offline-Hören ein Kinderspiel. Das gab mir nicht nur digitale Autonomie, sondern öffnete auch die Tür zum Selbst-Hosting anderer Anwendungen wie Immich für die Fotoverwaltung.

ZFS-Komprimierungsparadoxon: Logische vs. physikalische Blöcke

2025-04-17

Eine mit `dd` erstellte Nulldatei mit 256 KB auf einem ZFS-Dateisystem mit aktivierter Komprimierung zeigt ein rätselhaftes Verhalten: `ls -l` zeigt die Größe als 256 KB an, aber `ls -s` und `ls -slh` zeigen eine viel kleinere Größe, fast Null. Dies liegt an der effizienten Komprimierung von ZFS, die zu einer minimalen Anzahl physikalischer Blöcke führt. Der Artikel untersucht drei Methoden zur Messung der Dateigröße: logische Größe (in Bytes), Anzahl der physikalischen Blöcke und Anzahl der logischen Blöcke. Er weist darauf hin, dass das POSIX-Feld `st_blocks` nicht angibt, welche Größe gemeldet werden soll, was zu potenziellen Änderungen des `st_blocks`-Werts beim Verschieben von Dateien zwischen Dateisystemen und sogar zu einer potenziellen Größenzunahme der Datei führen kann, die die Kapazität des neuen Dateisystems übersteigt.

Entwicklung

Datenbank-Abfrage-Engines: Push vs. Pull

2025-04-16

Dieser Artikel untersucht die Unterschiede zwischen Push-basierten und Pull-basierten Datenbank-Abfrage-Engines. Pull-basierte Systeme, ähnlich dem Iterator-Modell, sind verbrauchergesteuert, wobei Daten bei Bedarf abgerufen werden. Push-basierte Systeme hingegen sind produzentengesteuert und schieben Daten aktiv an nachgelagerte Operatoren. Push-basierte Systeme eignen sich hervorragend für die Verarbeitung von Abfrageplänen in DAG-Form (z. B. die WITH-Klausel in SQL), da sie Daten effizient an mehrere nachgelagerte Operatoren pushen können, wodurch redundante Berechnungen und unnötige Pufferung vermieden werden. Pull-basierte Systeme bieten jedoch Vorteile bei der Behandlung bestimmter Algorithmen (wie Merge-Joins und LIMIT-Klauseln). Der Artikel untersucht außerdem die Cache-Effizienz, die Code-Einfachheit und die Eignung der einzelnen Modelle in verschiedenen Szenarien und kommt zu dem Schluss, dass keines der beiden Modelle universell überlegen ist, wobei die Wahl von den spezifischen Anforderungen abhängt.

Plandex: KI-Codierungsagent für große Projekte

2025-04-16
Plandex: KI-Codierungsagent für große Projekte

Plandex ist ein terminalbasiertes KI-Entwicklungstool, das für die Bewältigung großer Codierungsaufgaben entwickelt wurde, die sich über mehrere Schritte und zahlreiche Dateien erstrecken. Es verarbeitet bis zu 2 Millionen Token Kontext direkt (~100.000 pro Datei) und kann Verzeichnisse mit 20 Millionen Token oder mehr mithilfe von Tree-Sitter-Projektmaps indizieren. Ein kumulativer Diff-Review-Sandbox hält KI-generierte Änderungen separat, bis sie bereit sind, und die Befehlsausführung wird gesteuert, um ein einfaches Rückgängigmachen und Debuggen zu ermöglichen. Plandex kombiniert Modelle von Anthropic, OpenAI, Google und Open-Source-Anbietern und bietet sowohl volle Autonomie als auch feinkörnige Steuerung, wodurch es widerstandsfähig gegenüber den Komplexitäten großer Projekte wird. Es verfügt über einen projektbewussten Chat-Modus, Git-Integration und eine entwicklerfreundliche CLI-Schnittstelle.

Entwicklung große Projekte

Programmoptimierung: Vier Ansätze, bevor Sie umschreiben

2025-04-16

Langsame Programmausführung ist ein häufiges Problem für Programmierer. Der Autor, basierend auf jahrelanger Erfahrung in der Optimierung, präsentiert vier Ansätze: 1. Verwenden Sie einen besseren Algorithmus; 2. Verwenden Sie eine bessere Datenstruktur; 3. Verwenden Sie ein niedrigeres System; 4. Akzeptieren Sie eine weniger präzise Lösung. Der Artikel verwendet Bubblesort und Selectionsort als Beispiele, um die Bedeutung der Algorithmenauswahl zu veranschaulichen und betont die Notwendigkeit, praktische Faktoren bei der Wahl von Datenstrukturen und Programmiersprachen zu berücksichtigen. Der Autor warnt vor vorzeitiger Optimierung und betont die Bedeutung eines rigorosen Profilings, bevor Optimierungsversuche unternommen werden.

Entwicklung Programmoptimierung

Codex: Ein leichter Coding-Agent für Ihr Terminal

2025-04-16
Codex: Ein leichter Coding-Agent für Ihr Terminal

Codex ist ein leichter Coding-Agent, der in Ihrem Terminal läuft und die OpenAI-API für Code-Reasoning auf ChatGPT-Niveau nutzt. Er bietet interaktive und nicht-interaktive Modi und automatisiert Code-Completion, Ausführung, Installation von Abhängigkeiten und sogar die Generierung von Unit-Tests. Ein robustes Sandbox-System gewährleistet Sicherheit. Benutzer können Anweisungen und Genehmigungsmodi anpassen und Aufgaben von einfachen Code-Erklärungen bis hin zu komplexen Refactorings bewältigen. Kompatibel mit mehreren Betriebssystemen und Open Source für Community-Beiträge, vereinfacht Codex die Entwicklungsarbeitsprozesse.

Entwicklung

Llama 3.3 Lizenz: Halten Sie sich wirklich daran?

2025-04-16
Llama 3.3 Lizenz: Halten Sie sich wirklich daran?

Obwohl Llama 3.3 von Meta als Open Source vermarktet wird, enthält die Lizenz zahlreiche Einschränkungen, die viele Entwickler übersehen. Der Artikel hebt die Pflicht hervor, "Built with Llama" deutlich sichtbar anzuzeigen, wenn das Modell oder abgeleitete Werke verteilt werden, sowie die Voranstellung von "Llama-" bei abgeleiteten Modellnamen. Die akzeptable Nutzungsbedingungen erfordern außerdem die Offenlegung bekannter Risiken des KI-Systems, wie z. B. Verzerrungen oder Ungenauigkeiten, gegenüber den Endbenutzern. Der Autor fordert Entwickler auf, die Lizenz sorgfältig zu prüfen und zu entscheiden, ob sie die Bedingungen einhalten möchten, um mögliche rechtliche Probleme zu vermeiden.

Entwicklung

OpenAIs Codex CLI: Ein lokaler KI-Coding-Agent

2025-04-16
OpenAIs Codex CLI: Ein lokaler KI-Coding-Agent

OpenAI hat Codex CLI veröffentlicht, einen lokalen Coding-Agenten, der über Ihr Terminal läuft. Codex CLI verbindet OpenAIs Modelle (einschließlich der neuen o3 und o4-mini) mit lokalem Code und Aufgaben und ermöglicht es der KI, Code zu schreiben, zu bearbeiten und Aktionen wie das Verschieben von Dateien auszuführen. Dies ist ein Schritt in Richtung OpenAIs Vision eines „agentenhaften Software-Ingenieurs“. Codex CLI ist Open Source und leichtgewichtig und wird durch ein API-Förderprogramm von 1 Million US-Dollar für Softwareentwicklungsprojekte unterstützt. Obwohl KI-Coding-Tools inhärente Risiken bergen, bietet Codex CLI einen neuen Ansatz für KI-gestützte Programmierung.

Entwicklung

RakuAST: Eine Herkulesaufgabe – die Umschreibung eines Compiler-Frontends

2025-04-16

Das RakuAST-Projekt umfasste eine vollständige Umschreibung und Neugestaltung des Compiler-Frontends der Programmiersprache Raku. Der Autor ging das Projekt an, indem er systematisch fehlgeschlagene Spezifikationstests, einen nach dem anderen, behob. Dies beinhaltete die Bewältigung der Komplexitäten der Raku-Syntax, einschließlich privater Methoden, Metamethoden und Hypermethodenaufrufe. Die größte Hürde war das komplexe Timing und die Sequenzierung innerhalb des Raku-Kompilierungsprozesses, die eine präzise Kontrolle über die Kompilierreihenfolge der Komponenten erforderten. Nach über 900 Commits erreichte das Projekt erfolgreich sein Hauptziel. Darüber hinaus wurde der Compiler selbstkompiliert, was weitere Herausforderungen bei der Verwaltung von zirkulären Abhängigkeiten und den Komplexitäten der umfangreichen Standardbibliothek mit sich brachte. Der Erfolg des Projekts wurde durch Beiträge mehrerer Community-Mitglieder unterstützt.

Entwicklung

Lösung der CVE-Krise: Professionelle Zertifizierung und obligatorische Berichterstattung von Schwachstellen

2025-04-16

Das bevorstehende Auslaufen des MITRE-CVE-Vertrags hat Kontroversen ausgelöst und zu einem Vorschlag zur Verbesserung der Softwaresicherheit geführt. Das aktuelle CVE-System ist mit ungenauen Berichten überladen, was seinen Wert mindert. Der Autor schlägt ein System vor, das auf den Attributen von Schwachstellen anstatt auf Bewertungen basiert, sowie eine professionelle Zertifizierung für Softwareentwickler (PSWE). Das Versäumnis, Schwachstellen innerhalb eines bestimmten Zeitrahmens genau zu melden, würde zum Entzug der Lizenz führen und so die Meldung von Problemen fördern. Der Vorschlag umfasst die Finanzierung und Ausbildung zukünftiger PSWEs, wobei die Zugangsprobleme angegangen werden, um letztendlich ein Win-Win-Szenario für die Softwaresicherheit und die Nachhaltigkeit von FOSS-Projekten zu schaffen.

Das UCSD p-System wiederbeleben: Eine Legende der plattformübergreifenden Kompilierung

2025-04-16
Das UCSD p-System wiederbeleben: Eine Legende der plattformübergreifenden Kompilierung

Der Autor beleuchtet das UCSD p-System, ein plattformübergreifendes Betriebssystem und Compiler aus den 1970er Jahren. Es erreichte Portabilität auf verschiedenen Maschinen (von PDP-11 bis Apple II) durch seine p-Machine-Virtual Machine. Der Autor teilt persönliche Erfahrungen mit Apple Pascal und UCSD Pascal aus seiner Schulzeit und plant, einen p-Machine-Emulator in Rust neu zu erstellen, um sein Vermächtnis fortzuführen und Probleme mit fehlender Dokumentation und veralteten Compiler-Abhängigkeiten in bestehenden Tools zu beheben.

Entwicklung

12-Faktor-Agents: Prinzipien für den Bau zuverlässiger LLM-Anwendungen

2025-04-16
12-Faktor-Agents: Prinzipien für den Bau zuverlässiger LLM-Anwendungen

Dieser Artikel untersucht die Prinzipien für den Bau zuverlässiger, skalierbarer und einfach zu wartender LLM-basierter Software – die 12-Faktor-Agents. Der Autor argumentiert, dass bestehende Agent-Frameworks in der Produktion unzureichend sind und viele so genannte „KI-Agents“ hauptsächlich aus deterministischem Code bestehen, der mit LLM-Schritten durchsetzt ist. Er schlägt Prinzipien für den Bau robusterer Agents vor und betont einen modularen Ansatz, bei dem kleine, modulare Agent-Konzepte in bestehende Produkte integriert werden, um ineffiziente Neuentwicklungen zu vermeiden. Dies ist eine wertvolle Lektüre für Ingenieure und Unternehmer, die sich auf die Entwicklung von KI-Anwendungen konzentrieren.

Entwicklung

ActorCore: Zustandsbehafteter Serverless, der überall läuft

2025-04-16
ActorCore: Zustandsbehafteter Serverless, der überall läuft

ActorCore ist ein TypeScript-Framework zum einfachen Erstellen zustandsbehafteter, KI-Agenten-, kollaborativer oder lokaler Anwendungen. Es eliminiert die Notwendigkeit von Datenbanken und ORMs und bietet blitzschnelle Lese-/Schreibgeschwindigkeiten, indem es den Zustand auf demselben Rechner wie die Berechnung speichert. Stellen Sie es auf Rivet, Cloudflare, Bun, Node.js und mehr bereit. Integrierte Ereignisse mit geringer Latenz ermöglichen Echtzeit-Zustandsaktualisierungen und die Übertragung von Änderungen. Die einzigartige Edge-Datenspeicherung sorgt für sofortige Interaktionen. Obwohl es derzeit nicht ideal für OLAP, Data Lakes, Graphdatenbanken und stark relationale Daten geeignet ist, wird es ständig verbessert und zielt darauf ab, die universelle Methode zum Erstellen und Skalieren zustandsbehafteter serverloser Anwendungen zu werden.

Entwicklung
1 2 110 111 112 114 116 117 118 214 215