Category: Entwicklung

Wohin geht die Zeit der Entwickler? Eine 40-jährige Studie enthüllt die Antwort

2025-05-22

Jahrzehntelang haben Entwickler den größten Teil ihrer Zeit damit verbracht, Systeme zu verstehen. Untersuchungen zeigen, dass dies von 1979 bis 2018 konstant hoch blieb, etwa 58 %, selbst wenn die Navigationszeit berücksichtigt wird. Der Artikel argumentiert, dass das Verstehen eines Systems im Wesentlichen ein Entscheidungsprozess ist und das Lesen von Code lediglich eine ineffiziente und nicht skalierbare Methode zur Informationsbeschaffung darstellt. Der Autor führt das Konzept der „Formbaren Entwicklung“ ein und befürwortet die Erstellung kundenspezifischer Tools, die auf spezifische Probleme zugeschnitten sind, wodurch die Abhängigkeit vom Lesen von Code reduziert und die Entwicklungseffizienz gesteigert wird. Der Artikel endet mit der Empfehlung von Glamorous Toolkit, einer formbaren Entwicklungsumgebung, die entwickelt wurde, um die Diskussion „Wie man keinen Code liest“ zu erleichtern.

Bösartige npm-Pakete zielen auf React, Vue und Vite Entwickler ab

2025-05-22
Bösartige npm-Pakete zielen auf React, Vue und Vite Entwickler ab

Sicherheitsforscher haben bösartige npm-Pakete entdeckt, die die Ökosysteme von JavaScript-Entwicklern, die React, Vue und Vite verwenden, angreifen. Diese Pakete enthielten Nutzlasten, die für bestimmte Daten im Jahr 2023 zur Detonation vorgesehen waren, wobei einige ohne Enddatum blieben und eine anhaltende Bedrohung darstellen. Der Angreifer hat auch legitime Pakete hochgeladen, um eine Fassade der Legitimität zu schaffen. Betroffene Entwickler sollten ihre Systeme sofort überprüfen, um sicherzustellen, dass die bösartigen Pakete entfernt wurden.

Defuddle: Ein leistungsstarker Reiniger für Webseiteninhalte

2025-05-22
Defuddle: Ein leistungsstarker Reiniger für Webseiteninhalte

Defuddle ist ein robustes Tool zum Bereinigen von Webseiteninhalten. Es entfernt unnötige Elemente wie Kommentare, Seitenleisten, Kopf- und Fußzeilen und andere überflüssige Elemente und lässt nur den Hauptinhalt übrig, wodurch saubere und lesbare HTML-Dokumente erstellt werden. Es verarbeitet verschiedene Formate, darunter Fußnoten, mathematische Gleichungen und Codeblöcke, und extrahiert Metadaten wie schema.org-Daten. Defuddle funktioniert gut mit Obsidian Web Clipper und dient als Alternative zu Mozilla Readability. Es ist als Browser-Version und als Node.js-Version verfügbar, wobei letztere die Markdown-Konvertierung unterstützt.

Entwicklung Webseitenbereinigung

Windows 11 App-Update: Paint, Snipping Tool und Editor erhalten KI-Boost

2025-05-22
Windows 11 App-Update: Paint, Snipping Tool und Editor erhalten KI-Boost

Microsoft veröffentlicht Updates für Paint, Snipping Tool und Editor für Windows Insider im Canary- und Dev-Channel unter Windows 11. Paint bietet jetzt einen KI-Sticker-Generator, ein intelligentes Objektauswahl-Tool und eine neue Willkommens-Erfahrung; Snipping Tool fügt perfekte Screenshots und einen Farbwähler hinzu; und der Editor erhält eine KI-Schreibfunktion für schnelles Texten. Die meisten neuen Funktionen erfordern einen Copilot+ PC und die Anmeldung mit einem Microsoft-Konto, einige benötigen ein Microsoft 365-Abo.

Entwicklung App-Update

Gleitkomma-Hölle: Warum Ihre multivariate Normalverteilungsstichproben in R nicht reproduzierbar sind

2025-05-22
Gleitkomma-Hölle: Warum Ihre multivariate Normalverteilungsstichproben in R nicht reproduzierbar sind

Dieser Beitrag beschreibt die Fehlersuche der Autorin, die Kollegen bei der Lösung eines Reproduzierbarkeitsproblems in ihrem R-Code half, das die Stichprobenziehung aus einer multivariaten Normalverteilung betraf. Das Problem rührte nicht von Fehlern in R oder dem MASS-Paket her, sondern von den inhärenten Eigenheiten der Gleitkommaarithmetik. Trotz der Verwendung von `set.seed()` zur Steuerung des Zufallszahlengenerators (RNG) ergab derselbe Code auf verschiedenen Maschinen unterschiedliche Ergebnisse aufgrund von Gleitkomma-Rundungsfehlern in `MASS::mvrnorm()`. Eine eingehende Analyse ergab, dass `MASS::mvrnorm()`, das die Eigenwertzerlegung verwendet, sehr empfindlich auf kleine Eingangsstörungen reagiert und möglicherweise die Vorzeichen von Eigenvektoren umkehrt, was die Reproduzierbarkeit beeinträchtigt. `mvtnorm::rmvnorm()`, das die Cholesky-Zerlegung verwendet, erwies sich als robuster. Die Autorin empfiehlt die Verwendung von `mvtnorm::rmvnorm()` mit `method = "chol"` zur Verbesserung der Reproduzierbarkeit.

Entwicklung Gleitkommaarithmetik

Asynchrone Programmierung in Rust: Pin und Pin-Project meistern

2025-05-22

Dieser Artikel befasst sich mit den Feinheiten der Verwendung von Pin und des pin-project-Crates in der asynchronen Programmierung in Rust. Ausgehend von assoziierten Typen und Typableitung in Futures entwickelt der Autor die Notwendigkeit von Pin, um Speicherprobleme zu lösen, die durch veränderliche Leihgaben und Bewegungen innerhalb der Zustandsmaschinenimplementierung asynchroner Funktionen entstehen. Der Artikel erklärt ausführlich die Funktion von Pin, seine Verwendung und wie pin-project den Code vereinfacht, was letztendlich zu einer sicheren und robusten asynchronen Zustandsmaschine führt. Er hebt auch subtile Überlegungen bei der Verwendung von pin-project hervor.

Entwicklung

Glitch stellt App-Hosting im Juli 2025 ein

2025-05-22
Glitch stellt App-Hosting im Juli 2025 ein

Glitch, eine beliebte Plattform für die App-Entwicklung, hat angekündigt, ihren App-Hosting-Service am 8. Juli 2025 einzustellen. Die Entscheidung beruht auf hohen Wartungskosten und dem Aufkommen vieler überlegenere Alternativen in den letzten Jahren. Das Glitch-Team erklärte, es werde die Nutzer bei der Migration ihrer Projekte umfassend unterstützen und Code-Downloads, Subdomain-Weiterleitungen und weitere Services anbieten, um die Datensicherheit und Projektfortführung zu gewährleisten. Obwohl es eine bittersüße Entscheidung ist, stellt sie einen wichtigen Schritt für Glitch dar, sich an die sich verändernde Entwicklerlandschaft anzupassen.

rtcollector: Ein leichter, RedisTimeSeries-nativer Observability-Agent

2025-05-22
rtcollector: Ein leichter, RedisTimeSeries-nativer Observability-Agent

rtcollector ist ein leichter, plugin-basierter Agent zum Sammeln von System- und Anwendungsmetriken und zum Senden an RedisTimeSeries. Entwickelt für das Redis Stack-Ökosystem, bietet er einen modularen, YAML-konfigurierbaren Ansatz, der es Entwicklern ermöglicht, Metriken einfach zu sammeln und zu verwalten, ohne den Ballast größerer Lösungen. Derzeit werden Linux- und macOS-Systeme unterstützt, mit Docker-Integration und geplanter Unterstützung für ClickHouse-, MQTT- und HTTP POST-Ausgaben. rtcollector bietet eine flexible und effiziente Möglichkeit zur Überwachung Ihrer Systeme.

Entwicklung Überwachungsagent

Poireau: Ein leichter Debugger für Stichprobenallokationen

2025-05-22
Poireau: Ein leichter Debugger für Stichprobenallokationen

Poireau ist eine leichtgewichtige Bibliothek zum Debuggen von Speicherallokationsproblemen. Sie erzeugt eine statistisch repräsentative Übersicht über den Heap-Speicherbedarf einer Anwendung, indem sie einen kleinen Bruchteil der Aufrufe von malloc/calloc usw. abfängt, mit minimalem Einfluss auf die Leistung. Poireau verwendet Linux perf für das Tracing und ein externes Skript für die Analyse, um Speicherlecks und andere Probleme zu finden. Seine Vorteile sind geringe Intrusivität, einfache Prüfung und Eignung für den produktiven Einsatz, sogar mit Informationsbereitstellung nach einem Absturz.

Entwicklung Speicherdebugging

Grafische Fehlersuche der Hilbert-Kurve: Eine visuelle Programmierreise

2025-05-22

Der Autor befürwortet einen minimalistischen Programmierstil und verwendet Lua und LÖVE, um eine rekursive Funktion zur Berechnung der Hilbert-Kurve grafisch zu debuggen. Durch iterative Verbesserungen der Visualisierung, darunter ein Textprotokoll, ein Wiedergabeprotokoll, eine Oberflächenzeichnung und eine „explodierte Ansicht“, klärt der Autor die Komplexität des Algorithmus. Der Prozess gipfelt in einer ausgefeilten Debugging-Benutzeroberfläche, die wertvolle Einblicke und wiederverwendbare Muster für zukünftige Debugging-Aufgaben bietet.

Entwicklung grafisches Debugging

Bewältigung des hohen Speicherverbrauchs beim Parsen großer JSON-Dateien mit Pydantic

2025-05-22
Bewältigung des hohen Speicherverbrauchs beim Parsen großer JSON-Dateien mit Pydantic

Hoher Speicherverbrauch ist ein häufiges Problem bei der Verwendung von Pydantic zum Verarbeiten großer JSON-Dateien. Dieser Artikel analysiert die Gründe für den hohen Speicherverbrauch mit dem Standard-JSON-Laden von Pydantic und schlägt zwei Lösungen vor: die Verwendung der ijson-Bibliothek für die inkrementelle JSON-Analyse, um den Speicherverbrauch während der Analyse zu reduzieren, und die Konvertierung von Pydantic-Modellen in Dataclasses mit `slots`, um den Speicherverbrauch des Objekts zu reduzieren. Experimentelle Ergebnisse zeigen, dass die Kombination dieser beiden Methoden den Speicherverbrauch auf ein Viertel des ursprünglichen Werts reduzieren kann, wodurch der Speicherengpass bei der Verarbeitung großer JSON-Dateien effektiv behoben wird.

Entwicklung

Über das Sortieren hinaus: Deep Learning für ordnungsunabhängige Transparenz

2025-05-22
Über das Sortieren hinaus: Deep Learning für ordnungsunabhängige Transparenz

Traditionelles Transparenz-Rendering basiert auf der Tiefensortierung, was in komplexen Szenen zu Artefakten führen kann. Dieser Eurographics 2025-Beitrag untersucht ordnungsunabhängige Transparenz (OIT), eine Technik, die transparente Objekte präzise ohne Tiefensortierung rendert. Er behandelt traditionelle OIT-Ansätze (exakt, approximativ und hybrid) und Deep-Learning-Methoden und analysiert deren Umfang, Leistung und Genauigkeit für realistischere Transparenz in Spielen, Simulationen und Filmen.

Entwicklung Transparenz-Rendering

Steht Ihr Autorisierungssystem kurz vor dem Zusammenbruch? Fünf Warnzeichen

2025-05-22
Steht Ihr Autorisierungssystem kurz vor dem Zusammenbruch? Fünf Warnzeichen

Dieser Artikel beschreibt fünf Anzeichen, die auf potenzielle Probleme mit Ihrem Anwendungs-Autorisierungssystem hinweisen: Berechtigungen sind ein einfaches Wörterbuch; die Aktualisierung von Rollenberechtigungen erfordert Änderungen an vielen Stellen; Unfähigkeit, klar auf die Frage „Was kann ein Administrator tun?“ zu antworten; zukünftiger Bedarf an benutzerdefinierten Rollen und Berechtigungen; Pläne, den Monolithen in Microservices aufzuteilen. Der Artikel schlägt vor, ein deklaratives Autorisierungsmodell zu verwenden, die Autorisierungslogik in einem einzigen Dienst zu zentralisieren und eine Autorisierungsplattform zu wählen, die für Skalierbarkeit und verteilte Systeme entwickelt wurde, wie Oso, um diese Probleme zu lösen.

Entwicklung

Kritik an irreführenden Benchmarks in formalen Methoden

2025-05-22
Kritik an irreführenden Benchmarks in formalen Methoden

Ein Artikel verwendet irreführende Statistiken bei der Anwendung formaler Methoden zur Verifikation von Betriebssystemcode. Der Autor kritisiert die fehlerhafte Methodik, einfach „Proof-to-Code-Verhältnisse“ zu vergleichen, da dies die Vollständigkeit und Komplexität der Spezifikationen ignoriert. Der Artikel weist darauf hin, dass die Größe des Beweises eine annähernd quadratische Beziehung zur Größe der Spezifikation hat und die Komplexität der Spezifikation viel wichtiger ist als die Codegröße. Durch die Analyse mehrerer verifizierter Systeme präsentiert der Autor umfassendere Daten, einschließlich Codegröße, Spezifikationsgröße und Beweisgröße, und hebt die Rolle der Modularität bei der Reduzierung der Verifikationskosten hervor, merkt aber auch an, dass komplexe Systeme wie seL4 schwer zu modularisieren sind. Schließlich appelliert der Autor an die Forschungsgemeinschaft, die sinnlose Metrik des „Proof-to-Code-Verhältnisses“ nicht mehr zu verwenden.

Entwicklung

DockFlow: macOS Dock-Layouts mit einem Klick wechseln

2025-05-22
DockFlow: macOS Dock-Layouts mit einem Klick wechseln

Ein Entwickler, frustriert vom ständigen Neuordnen seines macOS Docks für verschiedene Arbeitsabläufe, hat DockFlow entwickelt. Diese Produktivitäts-App ermöglicht das Umschalten zwischen vorkonfigurierten Dock-Layouts (Design, Codierung, Schreiben, Meetings usw.) mit einem einzigen Klick. Schluss mit der Suche nach Apps oder dem Ziehen von Symbolen – DockFlow optimiert Ihren Workflow und steigert Fokus und Produktivität.

Entwicklung

Winamp 2.9 neu aufgelegt in Godot: Eine plattformübergreifende Nostalgie-Reise

2025-05-22
Winamp 2.9 neu aufgelegt in Godot: Eine plattformübergreifende Nostalgie-Reise

Ein Entwickler hat den klassischen Musikplayer Winamp 2.9 mit der Godot Engine neu implementiert und erreicht so volle plattformübergreifende Kompatibilität. Ursprünglich als Einsendung für den Tool Jam 5 gedacht, entwickelt sich das Projekt zu einem anpassbaren Player, der das alte Internet-Feeling einfängt und gleichzeitig moderne Tools für jede Plattform nutzt. Es bietet grundlegende Wiedergabefunktionen, Playlist-Funktionalität, einen funktionierenden 10-Band-Equalizer und Visualisierungen. Der Entwickler betont, dass es sich um ein kostenloses, nicht kommerzielles Projekt handelt; alle Rechte liegen bei den jeweiligen Eigentümern.

Entwicklung

Fehlgeschlagene Installation von Python-Paketen: aiohttp, cryptography, grpcio und s3fs

2025-05-22
Fehlgeschlagene Installation von Python-Paketen: aiohttp, cryptography, grpcio und s3fs

Während der Installation von Python-Paketen sind vier Pakete, aiohttp, cryptography, grpcio und s3fs, fehlgeschlagen. aiohttp ist aufgrund eines Compiler-Fehlers mit einem unbekannten Typennamen „__pyx_vectorcallfunc“ fehlgeschlagen, wahrscheinlich aufgrund einer Inkompatibilität der Compiler- oder Cython-Version. cryptography ist fehlgeschlagen, weil seine Abhängigkeit, das Paket asn1, rustc 1.65.0 oder höher erfordert, während die aktuelle Version 1.63.0 ist. grpcio ist aufgrund eines C++-Compilerfehlers fehlgeschlagen, der die Kompilierung der Erweiterung verhindert hat. s3fs zeigte denselben Fehler wie aiohttp, was ebenfalls auf Probleme mit der Kompatibilität der Compiler- oder Cython-Version hindeutet. Andere Pakete wie boto3 und requests wurden erfolgreich installiert.

Entwicklung

Whenish: Termine planen direkt in iMessage

2025-05-22
Whenish: Termine planen direkt in iMessage

Whenish vereinfacht die Terminplanung durch direkte Integration in iMessage. Benutzer erstellen Datumsumfragen, wählen ihre Verfügbarkeit und erhalten Echtzeitantworten – alles innerhalb des Chats. Schluss mit endlosen Nachrichtenketten und App-Wechseln: Einfach auf das Whenish-Symbol tippen, Daten auswählen und senden. Perfekt für die Koordinierung von Gruppentreffen, Wochenendausflügen, Familienveranstaltungen oder Arbeitsmeetings.

Entwicklung

DIY iOS Musikplayer: Ein Entwickler lehnt sich gegen Apples Lock-in auf

2025-05-22

Frustriert über die Einschränkungen und das Abonnementmodell von Apple Music, hat ein Entwickler seinen eigenen iOS-Musikplayer von Grund auf neu erstellt. Der Player bietet lokale Dateiwiedergabe, iCloud-Synchronisierung und Volltextsuche und nutzt clever SQLites FTS5 für eine effiziente Fuzzy-Suche. Die Entwicklung umfasste einen Wechsel von React Native zu SwiftUI und eine Backend-ähnliche Architektur für einen optimierten Datenfluss und Concurrency. Obwohl das Endergebnis die Bedürfnisse des Entwicklers erfüllt, hebt die Erfahrung die restriktiven Entwicklertools und App-Verteilungsrichtlinien von Apple hervor, die die persönliche App-Entwicklung im Gegensatz zur einfachen Softwareentwicklung im Zeitalter der KI behindern.

Entwicklung iOS Entwicklung

Ruby 3.5: Sechsmal schnellere Objekterzeugung durch Inlining von Class#new

2025-05-22
Ruby 3.5: Sechsmal schnellere Objekterzeugung durch Inlining von Class#new

Ruby 3.5 erreicht eine deutliche Beschleunigung der Objekterzeugung, bis zu sechsmal schneller, durch das Inlining der Methode `Class#new`. Der Artikel beschreibt diese Optimierung detailliert, zeigt Benchmark-Ergebnisse, analysiert Performance-Engpässe und erklärt das Inlining-Verfahren. Durch die Eliminierung des Mehraufwands von Methodenaufrufen, die Reduzierung der Parameterkopie und die Verbesserung der Inline-Cache-Trefferquote behebt diese Optimierung effektiv Performance-Probleme bei der Objekterzeugung in Ruby, führt aber auch zu kleinen Inkompatibilitäten mit früheren Versionen.

Entwicklung

Rückblick auf den Bug-Rat: Behebung der Mängel von GitHub Issues

2025-05-22

Der Autor beschreibt seine Erfahrung mit der Verwendung von BugSplat für Projektmanagement im Silicon Valley, wobei vier Schlüsselprinzipien eingehalten wurden: Alle Aufgaben werden als Bugs erfasst, Bugs haben ein einheitliches und detailliertes Schema, jeder Bug wird nur einer Person zugewiesen und flexible Abfragefunktionen sind vorhanden. Der Autor stellt fest, dass heutige Systeme wie GitHub Issues weit hinter der Effizienz von BugSplat zurückbleiben, da ihnen ein umfassendes Schema fehlt, die Verantwortlichkeiten diffus sind und die Abfragefunktionen begrenzt sind. Der Artikel endet mit der Beschreibung, wie das Team des Autors das Open-Source-Projekt Gitea verbessert, um diese Mängel zu beheben und schließlich die Möglichkeit zu erhalten, Bug-Listen nach Priorität zu sortieren.

Entwicklung

Abenteuer in der symbolischen Algebra mit Anthropics MCP-Protokoll

2025-05-22

Dieser Beitrag beschreibt ein Experiment mit Anthropics Model Context Protocol (MCP), um die Einschränkungen von LLMs in der symbolischen Mathematik zu überwinden. MCP ermöglicht es LLMs, externe Tools aufzurufen. Der Autor integrierte ein LLM mit SymPy, einem Computeralgebrasystem, um eine gedämpfte harmonische Oszillatorgleichung zu lösen. Obwohl das MCP-Ökosystem noch unausgereift ist und Sicherheitsrisiken birgt (lokale Ausführung!), unterstreicht die erfolgreiche Integration das Potenzial dieses Ansatzes. Die Kombination von LLMs mit spezialisierten Tools wie SymPy könnte die Art und Weise, wie wir mit komplexen mathematischen Berechnungen interagieren, revolutionieren.

Entwicklung

SQLite-JS: Erweitern Sie SQLite mit JavaScript

2025-05-22
SQLite-JS:  Erweitern Sie SQLite mit JavaScript

SQLite-JS ist eine leistungsstarke Erweiterung, mit der Sie benutzerdefinierte SQLite-Funktionen, Aggregate, Fensterfunktionen und Sortierregeln mithilfe von JavaScript erstellen können. Dies ermöglicht eine flexible und leistungsstarke Datenmanipulation direkt in Ihrer SQLite-Datenbank. Es unterstützt skalare Funktionen (Verarbeitung einzelner Zeilen), Aggregatfunktionen (Verarbeitung mehrerer Zeilen), Fensterfunktionen (Zugriff auf den vollständigen Datensatz) und benutzerdefinierte Sortierregeln (Definieren von Sortierreihenfolgen). Erstellen Sie Funktionen, um Berechnungen, Textmanipulationen und Datenumwandlungen mit einfachen SQL-Anweisungen durchzuführen. Beispiele hierfür sind die Berechnung von Alter, Median, gleitenden Durchschnitten und mehr. Die direkte Auswertung von JavaScript-Code wird ebenfalls für komplexe Aufgaben unterstützt. Bei Verwendung mit sqlite-sync werden benutzerdefinierte Funktionen automatisch auf einem SQLite Cloud-Cluster repliziert.

Entwicklung Datenbankerweiterung

Forge: Eine skalierbare und sichere GitHub Actions Runner-Plattform auf AWS

2025-05-22
Forge: Eine skalierbare und sichere GitHub Actions Runner-Plattform auf AWS

Forge ist eine skalierbare, sichere und vollautomatisierte Multi-Tenant-Plattform zum Ausführen von kurzlebigen GitHub Actions Runnern auf AWS. Entwickelt von Plattform-Ingenieuren für Plattform-Teams, vereinfacht Forge die Bereitstellung und Verwaltung von GitHub Actions. Sie automatisiert die Bereitstellung und das Lifecycle-Management von kurzlebigen GitHub Actions Runnern über EC2 und EKS und bietet Multi-Tenant-Isolation, Drift-Behebung und integrierte Beobachtbarkeit. Sie unterstützt verschiedene Betriebssysteme, GitHub Cloud und GHES und verfügt über eine kostenbewusste Planung, flexible Infrastruktur und Multi-Runner-Deployments. Eine umfassende Anleitung zum schnellen Einstieg hilft Benutzern, Forge schnell zu implementieren und an ihre Bedürfnisse anzupassen.

Entwicklung Multi-Tenant

4D-Rotations-Curved-Space-Shader mit three.js

2025-05-22
4D-Rotations-Curved-Space-Shader mit three.js

Ein GLSL-Shader, erstellt mit three.js, der gekrümmten Raum simuliert, indem 3D-Modelle mithilfe von 4D-Rotation und stereographischer Projektion auf eine 4D-Einheitssphäre projiziert werden. Ursprünglich in HLSL für das Unity-Spiel Sfera geschrieben, ermöglicht dieser Shader Benutzern das Zoomen, Drehen und Steuern der Kameraperspektive, um animierte Modelle in einem gekrümmten Raum zu erleben. Eine Online-Demo und ein Video-Tutorial sind verfügbar. Modelle werden zur Laufzeit aus dem three.js-Repository geladen.

Entwicklung 4D-Grafik

Optimierung eines Rust AV1-Decoders: Vermeidung unnötiger Nullsetzungen und Optimierung von Strukturvergleichen

2025-05-22
Optimierung eines Rust AV1-Decoders: Vermeidung unnötiger Nullsetzungen und Optimierung von Strukturvergleichen

Durch den Vergleich der Leistung des Rust-basierten AV1-Decoders rav1d mit dem C-basierten dav1d identifizierte der Autor mithilfe eines Sampling-Profilers zwei Performance-Engpässe. Der erste war die unnötige Nullsetzung eines Puffers in rav1d auf ARM-Architektur, was zu Leistungseinbußen führte. Der zweite war eine ineffiziente Implementierung von Strukturvergleichen in rav1d. Durch die Verwendung von `MaybeUninit` zur Vermeidung unnötiger Nullsetzungen und die Optimierung von Strukturvergleichen verbesserte der Autor die Leistung von rav1d um fast 2%.

Entwicklung

OpenAIs o3-Modell findet Zero-Day-Schwachstelle im Linux-Kernel

2025-05-22
OpenAIs o3-Modell findet Zero-Day-Schwachstelle im Linux-Kernel

Dieser Beitrag beschreibt, wie der Autor mit OpenAIs o3-Modell eine Zero-Day-Schwachstelle (CVE-2025-37899) im Linux-Kernel gefunden hat. Bei der Prüfung von ksmbd nutzte der Autor o3 zur Codeanalyse und entdeckte erfolgreich eine Use-After-Free-Schwachstelle im SMB-Befehlshandler 'logoff'. o3 verstand die komplexe Logik von gleichzeitigen Verbindungen und Objektfreigaben und identifizierte so den Fehler. Darüber hinaus fand o3 eine weitere Schwachstelle, CVE-2025-37778, wieder. Der Autor argumentiert, dass o3 einen bedeutenden Fortschritt in der Code-Begründungsfähigkeit darstellt und Sicherheitsforschern ein leistungsstarkes neues Werkzeug bietet, um die Effizienz erheblich zu steigern.

Entwicklung

OCR für Code: Screenshots in Code verwandeln

2025-05-22
OCR für Code: Screenshots in Code verwandeln

Pieces hat die OCR-Technologie verfeinert, um Code aus Screenshots präzise zu erkennen. Aufbauend auf der Tesseract-Engine wurden Vor- und Nachverarbeitungsschritte hinzugefügt, um verschiedene Programmierumgebungen (heller/dunkler Modus), verrauschte Hintergründe und Bilder mit niedriger Auflösung zu handhaben. Die Bildvorverarbeitung, einschließlich der Umkehrung des dunklen Modus, der Rauschreduzierung und der Auflösungserhöhung, sowie die Nachverarbeitung zur Wiederherstellung der Einrückung des Codes verbessern die Genauigkeit erheblich. Sie verwenden die Levenshtein-Distanz zur Bewertung der Modellleistung und haben experimentell eine effiziente Methode zum Hochskalieren von Bildern ausgewählt. Diese Technologie ermöglicht es Entwicklern, Screenshots von Code einfach in editierbaren Code umzuwandeln und so die Entwicklungseffizienz zu steigern.

Entwicklung Codeerkennung

Von 14 Entwicklern zu einem hocheffektiven Team: Eine Geschichte von Spezialisierung vs. Generalisierung

2025-05-22
Von 14 Entwicklern zu einem hocheffektiven Team: Eine Geschichte von Spezialisierung vs. Generalisierung

Ein 14-köpfiges Entwicklerteam kämpfte mit schlechter Kommunikation und geringer Effizienz. Sie probierten verschiedene Lösungen aus, darunter asynchrone Daily Standups und die Aufteilung des Teams, konnten aber die Ursache nicht beheben. Schließlich gaben sie die Spezialisierung auf und führten ein generalistisches Modell ein, das die Teammitglieder befähigte, mehrere Fähigkeiten zu beherrschen und die Verantwortung für alle Aspekte des Produkts zu teilen. Dieser Wechsel brachte unerwartete positive Ergebnisse: flüssigere Zusammenarbeit, deutlich verbesserte Effizienz, schnellere Lieferung, höhere Qualität und optimierte Ressourcennutzung. Das generalistische Modell brachte jedoch auch Herausforderungen mit sich, wie z. B. den Abgang einiger Mitglieder und eine erhöhte Arbeitsbelastung. Der Autor argumentiert, dass es keine universell besten Praktiken gibt; was für Ihr Team funktioniert, ist am besten, und kontinuierliche Verbesserung und Experimente sind der Schlüssel.

Entwicklung Generalist

Kompakte Objektkopffelder in Java werden zu Produktmerkmal

2025-05-22

JEP 519 macht das experimentelle Feature "Kompakte Objektkopffelder" zu einem vollständigen Produktmerkmal in Java. Zuerst in JDK 24 eingeführt, um das Layout von Objektkopffeld zu optimieren und die Leistung zu verbessern, wurde es bei Oracle und Amazon ausgiebig getestet und hat seine Stabilität und Leistungsverbesserungen bewiesen. Die Option `-XX:+UnlockExperimentalVMOptions` wird nicht mehr benötigt. Zukünftige Erweiterungen für mehr Objektkopffeld-Bits sind geplant, wobei die Projekte Valhalla und Lilliput Lösungen bereitstellen.

Entwicklung
1 2 79 80 81 83 85 86 87 214 215