Category: Entwicklung

Zeichenketteninterpolation in AmigaDOS: Über die geschweiften Klammern {} hinaus

2025-03-22

Dieser Blogbeitrag untersucht die Flexibilität und Eigenheiten der Zeichenketteninterpolation in AmigaDOS-Shell-Skripten. Während AmigaDOS standardmäßig '<' und '>' für die Interpolation verwendet, erlaubt es die Anpassung über die Direktiven '.BRA' und '.KET'. Experimente zeigen die erfolgreiche Verwendung verschiedener Zeichenpaare, einschließlich druckbarer und nicht druckbarer ASCII-Zeichen (wie BEL und NAK). Dies unterstreicht die Robustheit des AmigaDOS-Skript-Parsers und seine Widerstandsfähigkeit beim Umgang mit ungewöhnlichen Eingaben.

Mozilla.ai Open-Source-Projekt: OpenStreetMap-Kartierung mit KI beschleunigen

2025-03-22
Mozilla.ai Open-Source-Projekt: OpenStreetMap-Kartierung mit KI beschleunigen

Mozilla.ai hat ein Open-Source-Projekt namens OpenStreetMap AI Helper Blueprint veröffentlicht, das den Kartierungsprozess auf OpenStreetMap beschleunigen soll. Das Projekt kombiniert geschickt das Objekterkennungsmodell YOLOv11 und das Segmentierungsmodell SAM2, um Kartenmerkmale (z. B. Schwimmbäder) automatisch zu identifizieren und zu umreißen und so die Effizienz zu steigern. Benutzer trainieren Modelle in bereitgestellten Colab-Umgebungen und überprüfen die Ergebnisse dann manuell, wodurch die Kartierungsgeschwindigkeit deutlich verbessert und gleichzeitig die Qualitätskontrolle gewährleistet wird. Dies zeigt, wie leichtgewichtige, lokalfreundliche KI-Modelle communitygesteuerte Projekte verbessern können, ohne auf große Sprachmodelle angewiesen zu sein.

Entwicklung

Landrun: Eine leichte und sichere Linux-Sandbox

2025-03-22
Landrun: Eine leichte und sichere Linux-Sandbox

Landrun ist eine leichte Linux-Sandbox, die Landlock LSM verwendet und Kernel-Level-Sicherheit mit minimalem Overhead bietet. Sie ermöglicht eine feinkörnige Zugriffskontrolle für Verzeichnisse, unterstützt Lese- und Schreibpfade und optionale Ausführungsberechtigungen. Eine TCP-Netzwerkzugriffskontrolle (binden und verbinden) ist ebenfalls enthalten. Benötigt Linux Kernel 5.13 oder höher mit aktiviertem Landlock LSM (Kernel 6.8 oder höher für Netzwerkbeschränkungen). Landrun bietet eine Kommandozeilen-Schnittstelle zur einfachen Konfiguration der Sandbox-Berechtigungen, einschließlich Read-Only, Read-Write, Ausführung und spezifischer TCP-Portbindungen und -Verbindungen. Ein Best-Effort-Modus sorgt für eine elegante Herabstufung auf älteren Kerneln. Ideal zum sicheren Ausführen nicht vertrauenswürdigen oder potenziell schädlichen Codes.

Entwicklung Kernelsicherheit

Zwei Berichte beleuchten Wissenslücken und Best Practices für die CRA-Compliance in Open Source

2025-03-22
Zwei Berichte beleuchten Wissenslücken und Best Practices für die CRA-Compliance in Open Source

Die Linux Foundation hat zwei bahnbrechende Forschungsberichte veröffentlicht, die community-getriebene Strategien zur Bewältigung der Sicherheit von Open-Source-Software und des europäischen Gesetzes zur Cyberresilienz (CRA) untersuchen. Der erste Bericht analysiert, wie drei Projekte der Linux Foundation die Mindestanforderungen der CRA an die Compliance erfüllen, und teilt Best Practices. Der zweite Bericht zeigt erhebliche Wissenslücken im Open-Source-Ökosystem hinsichtlich des CRA-Bewusstseins auf, wobei viele Befragte mit dem Gesetz nicht vertraut sind und keine Compliance-Bereitschaft aufweisen. Die Berichte empfehlen Herstellern, eine aktivere Rolle in der Open-Source-Sicherheit zu übernehmen und fordern mehr Finanzmittel und rechtliche Unterstützung, um bessere Sicherheitspraktiken zu fördern.

FizzBee: Modellierung von gegenseitigem Ausschluss und die Fallstricke von Redlock

2025-03-22
FizzBee: Modellierung von gegenseitigem Ausschluss und die Fallstricke von Redlock

Dieser Artikel beschreibt die Erfahrungen des Autors bei der Verwendung von FizzBee, einer neuen formalen Spezifikationssprache, die auf Starlark basiert, um Algorithmen für den gegenseitigen Ausschluss zu modellieren und Probleme mit dem Redlock-Algorithmus zu untersuchen. Durch die Modellierung kritischer Abschnitte, Sperren, Leasing und Fencing-Token zeigt der Autor die Grenzen der Fehlertoleranz von Redlock auf und zeigt letztendlich, dass Fencing-Token Probleme mit dem gegenseitigen Ausschluss nicht vollständig lösen. Der Autor schließt mit einer Diskussion über die Benutzerfreundlichkeit und die Nachteile von FizzBee und hebt die Bedeutung formaler Spezifikationen im Algorithmusdesign hervor. Die praktische Übung hat unerwartet subtile Mängel im Verständnis des Autors von Fencing-Tokens aufgezeigt und den Wert formaler Methoden unterstrichen.

Tieftauchen in PyTorch: Tensoren, Autograd und Kernel-Programmierung

2025-03-22

Dieser Blogbeitrag bietet eine detaillierte Erkundung des inneren Aufbaus von PyTorch, einschließlich der Datenstrukturen von Tensoren, der automatischen Differentiation (Autograd) und der Kernel-Programmierung. Er beginnt mit der Erklärung der zugrundeliegenden Implementierung von Tensoren, einschließlich des Konzepts von Strides und deren Verwendung zum Erstellen von Tensor-Ansichten. Anschließend wird die Funktionsweise von Autograd vertieft und gezeigt, wie Gradienten mittels Rückwärtsausbreitung berechnet werden. Abschließend bietet der Beitrag eine praktische Anleitung zum Schreiben von PyTorch-Kerneln, einschließlich der Nutzung der PyTorch-Tools zur Fehlerprüfung, Typdispatch und Parallelisierung. Dies ist ein ausgezeichnetes Tutorial für Entwickler mit PyTorch-Erfahrung, die den internen Aufbau verstehen oder zum Code beitragen möchten.

Entwicklung Kernelentwicklung

Wiederherstellung nach versehentlichem Löschen von /lib unter Linux

2025-03-22

Dieser Beitrag beschreibt, wie man ein Linux-System wiederherstellt, nachdem versehentlich das wichtige Verzeichnis `/lib` gelöscht wurde. Der Autor untersucht verschiedene Methoden, von der Verwendung vorhandener Tools wie einer statischen Busybox bis hin zur Erstellung und Übertragung eines minimalen, statisch kompilierten C-Programms, um wichtige Dateien zu ersetzen. Die schrittweise Anleitung behandelt Techniken mit integrierten Bash-Befehlen und Netzwerkübertragungen und bietet eine Lösung, um eine Neuinstallation des Betriebssystems zu vermeiden.

FastOpenAPI: Ein Pydantic-basierter OpenAPI-Generator

2025-03-22
FastOpenAPI: Ein Pydantic-basierter OpenAPI-Generator

FastOpenAPI ist eine Bibliothek zum Generieren und Integrieren von OpenAPI-Schemata mit Pydantic und verschiedenen Frameworks. Ziel ist eine benutzerfreundliche Erfahrung ähnlich wie bei FastAPI. Unterstützt werden Falcon, Flask, Quart, Sanic, Starlette und Tornado mit FastAPI-ähnlichem Routing über Proxy-Routing. Einfache Installation per pip, Swagger UI und ReDoc UI für komfortable Dokumentation. Umfangreiche Beispiele und Benchmarks erleichtern die Verwendung und Leistungsbewertung.

Entwicklung Framework-Integration

Die Evolution der Anwendungsarchitektur und der Aufstieg der leichten Orchestrierung

2025-03-22
Die Evolution der Anwendungsarchitektur und der Aufstieg der leichten Orchestrierung

Von der Drei-Schichten-Architektur der 90er Jahre bis zur heutigen Microservice-Welt hat die Anwendungsarchitektur eine dramatische Veränderung erfahren. Um Operationen in verteilten Backends zu koordinieren, entstand die Orchestrierungsschicht. Bestehende DIY-Lösungen sind jedoch komplex und schwer zu warten, während dedizierte Orchestrierungssysteme ihre eigenen Komplexitäten einführen. Dieser Artikel präsentiert einen neuen Ansatz: die Integration der Orchestrierungsfunktionalität in eine leichtgewichtige Bibliothek und die Verwendung einer Datenbank zur Persistenz des Ausführungszustands. Dies eliminiert die separate Orchestrierungsschicht, vereinfacht Entwicklung, Test und Debugging und führt letztendlich zu zuverlässigeren und effizienteren Anwendungsarchitekturen.

Ruby: Die unerwartete Sprache der KI-Revolution?

2025-03-22

Große Sprachmodelle (LLMs) sind hervorragend in der Codegenerierung, aber ihre begrenzten Kontextfenster behindern die Arbeit mit großen Codebasen. Dieser Artikel untersucht die „Power“ der KI-unterstützten Programmierung: Wie viele Token braucht man, um ein Programm auszudrücken? Der Autor argumentiert, dass Python Go für LLMs übertrifft, da es prägnanter ist und mehr Funktionen innerhalb der Token-Grenze ermöglicht. Darüber hinaus wird Ruby, bekannt für seine Eleganz und Kürze, als ideale Sprache für LLMs vorgeschlagen, da es Token effizient nutzt. Obwohl Herausforderungen wie die Typprüfung bestehen bleiben, macht das menschenzentrierte Design von Ruby es ironischerweise zu einem potenziellen Spitzenreiter für LLMs.

Entwicklung

Einschränkungen bei der Anwendung von Code-Vorschlägen auf GitHub

2025-03-22
Einschränkungen bei der Anwendung von Code-Vorschlägen auf GitHub

Dieser Text listet verschiedene Einschränkungen auf, die bei der Anwendung von Code-Vorschlägen im Code-Review-Prozess von GitHub auftreten können. Dazu gehören: Keine Code-Änderungen vorgenommen, Pull Request geschlossen oder gemerged, Anzeige einer Teilmenge der Änderungen, nur ein Vorschlag pro Zeile anwendbar, Anwendung von Vorschlägen auf gelöschten Zeilen wird nicht unterstützt, Vorschlag bereits angewendet oder als gelöst markiert, Vorschläge aus ausstehenden Reviews können nicht angewendet werden und Vorschläge in mehrzeiligen Kommentaren sind nicht erlaubt. Diese Einschränkungen gewährleisten die Integrität und Genauigkeit des Code-Review-Prozesses.

Entwicklung

Keine Angst vor neuen Typen: Lektionen aus Go und C

2025-03-22

Viele Entwickler zögern, neue Typen in ihren Codebasen zu erstellen. Dieser Artikel argumentiert, dass dies aus der Angst rührt, das wahrgenommene „große Design“ zu verändern und Komplexität hinzuzufügen. Der Autor behauptet jedoch, dass die Erstellung eines neuen Typs die Lesbarkeit und Wartbarkeit des Codes deutlich verbessert, wenn eine Reihe von Werten natürlich zusammengehört. Am Beispiel von Go werden die Vorteile der Erstellung kleiner, zweckgebundener Typen wie einer `CreateSubscriptionRequest`-Struktur hervorgehoben, die die Datenverwaltung in Funktionsaufrufen vereinfacht. Der Autor ermutigt Entwickler, ihre Bedenken hinsichtlich der Erstellung neuer Typen zu überwinden und betont, dass diese Praxis in den C- und Go-Kulturen üblich und akzeptiert ist, sofern der Zweck des Typs durch seinen Namen klar vermittelt wird.

Entwicklung

Zentralisierte Autorisierung: Die nächste geteilte Plattform?

2025-03-22
Zentralisierte Autorisierung: Die nächste geteilte Plattform?

Dieser Artikel untersucht die Vorteile und Herausforderungen zentralisierter Autorisierungssysteme. Traditionell ist die Autorisierung dezentral über verschiedene Anwendungen verteilt, was zu Ineffizienzen und Managementproblemen führt. Ein zentralisiertes System bietet Standardisierung, Kostenreduzierung und verbesserte Compliance, erfordert aber die Bewältigung von Herausforderungen in Bezug auf Ausdruckskraft, Leistung, Isolation und Integration. Der Artikel beschreibt, wie Open-Source- (Topaz) und kommerzielle (Aserto) Plattformen diese Hürden überwinden und eine effiziente, sichere und einfach zu verwaltende Autorisierung auf Unternehmensebene ermöglichen.

Lange Optionen in Skripten verwenden

2025-03-22

Viele Kommandozeilenprogramme unterstützen kurze (-f) und lange (--force) Optionen. Während kurze Optionen für die interaktive Verwendung praktisch sind, sind lange Optionen in Skripten weitaus überlegen. Ihre bessere Lesbarkeit und selbsterklärende Natur verbessern die Wartbarkeit und das Verständnis. Beispielsweise ist in Git `git switch --create release-{today} origin/main` deutlich übersichtlicher als `git switch -c my-new-branch`, insbesondere in komplexen Skripten.

Entwicklung lange Optionen

Frink: Ein praktisches Rechenwerkzeug und eine Programmiersprache

2025-03-21

Frink ist ein leistungsstarkes Rechenwerkzeug und eine Programmiersprache, die entwickelt wurde, um physikalische Berechnungen zu vereinfachen, genaue Ergebnisse zu gewährleisten und ein wirklich nützliches Werkzeug bereitzustellen. Es verfolgt Einheiten (Fuß, Meter, Kilogramm, Watt usw.) während aller Berechnungen, ermöglicht die transparente Mischung von Einheiten und hilft bei der Überprüfung der Ergebnisse. Frink enthält auch eine große Datenbank physikalischer Konstanten, unterstützt mehrere Sprachen, erweiterte mathematische Funktionen, Einheitenumrechnungen, Datums-/Zeitberechnungen, reguläre Ausdrücke und Grafiken. Es unterstützt sogar objektorientierte Programmierung und Aufrufe von Java-Code. Es läuft auf verschiedenen Betriebssystemen und Geräten und wird über Java Web Start automatisch aktualisiert.

Entwicklung Einheitenverfolgung

MySQL Transaktionen pro Sekunde vs. fsyncs pro Sekunde: Das Rätsel gelöst

2025-03-21

Dieser Artikel untersucht die Diskrepanz zwischen dem theoretischen und dem tatsächlichen Durchsatz von MySQL-Transaktionen. Ein Benchmark zeigt, dass die Schreibgeschwindigkeit von MySQL deutlich höher ist als theoretisch vorhergesagt (basierend auf der Latenz von fsync()). Weitere Untersuchungen ergaben, dass MySQL Group Commit verwendet, um Schreibvorgänge im WAL und Binlog zu bündeln, und dass das Dateisystem/die Festplatte wahrscheinlich ein ähnliches Batch-Verfahren verwendet, wodurch die Effizienz gesteigert wird. Der Autor analysiert auch die Leistung des invertierten Index und erklärt die Diskrepanz zwischen theoretischen Modellen und realer Leistung.

Entwicklung

Schreiben Sie Ihr eigenes x86-Betriebssystem: Ein praktischer Leitfaden

2025-03-21

Dieses Buch ist ein praktischer Leitfaden zum Schreiben Ihres eigenen x86-Betriebssystems. Es führt Sie durch den Prozess, von der Einrichtung Ihrer Entwicklungsumgebung bis zur Implementierung von Multitasking, mit detaillierten Erklärungen und Codebeispielen in jedem Schritt. Die Autoren teilen ihre Erfahrungen und bieten Links für weiterführende Literatur. Behandelte Themen umfassen Speicherverwaltung, Unterbrechungsbehandlung, virtuellen Speicher, Dateisysteme und Systemaufrufe, was es für Leser mit einigen Erfahrungen in der Systemprogrammierung geeignet macht.

Entwicklung Kernelprogrammierung

Ubuntu erwägt Umstellung auf Rust-Utilities als Standard

2025-03-21

Ubuntu plant, in seiner kommenden Version 25.10, viele traditionelle GNU-Utilities durch Implementierungen in Rust zu ersetzen, beispielsweise aus dem uutils-Projekt. Um die Eignung dieser Rust-Tools zu testen, veröffentlichte Jon Seager, Canonical's VP of Engineering, oxidizr, ein Kommandozeilen-Utility zum einfachen Aktivieren oder Deaktivieren. Das Ziel ist, die Stabilität und Sicherheit von Ubuntu zu verbessern und mehr Entwickler zur Mitarbeit zu bewegen. Die Reaktionen der Community sind gemischt, aber dieser Schritt könnte die Rust-Adoption und die zukünftige Entwicklung von Linux-Distributionen erheblich beeinflussen.

Entwicklung

Hyperbrowser MCP Server: Web Scraping und Datenextraktion leicht gemacht

2025-03-21
Hyperbrowser MCP Server: Web Scraping und Datenextraktion leicht gemacht

Hyperbrowser stellt seinen Model Context Protocol (MCP) Server vor, ein leistungsstarkes Tool zum Scrapen von Webseiten, Extrahieren strukturierter Daten und Crawlen von Websites. Er vereinfacht auch den Zugriff auf allgemeine Browser-Agents wie OpenAIs CUA, Anthropics Claude Computer Use und Browser Use. Der Server bietet Funktionen wie Web Scraping, Web Crawling, Extraktion strukturierter Daten, Bing-Suche und verschiedene Browser-Automatisierungsfunktionen. Die Installation ist einfach: Führen Sie einfach `npx hyperbrowser-mcp ` aus und konfigurieren Sie die entsprechenden Konfigurationsdateien.

Entwicklung

ClickHouse-Sperrkonflikt: Ein jahrelanger Performance-Engpass

2025-03-21

Tinybird hatte ein Jahr lang ein Problem mit extrem niedriger CPU-Auslastung in einem ihrer ClickHouse-Cluster während Spitzenlastzeiten. Die Ursache wurde als Context-Sperrkonflikt identifiziert. Durch Hinzufügen einer Metrik `ContextLockWaitMicroseconds` zur Überwachung der Sperrwartezeiten und durch Neugestaltung des Context-Sperrmechanismus – Ersetzen eines einzelnen globalen Mutex durch Lese-Schreib-Mutexe – wurde die Leistung deutlich verbessert. Der Artikel beschreibt detailliert die Verwendung der Clang-Thread-Sicherheitsanalyse zum Debuggen und Beheben von Nebenläufigkeitsproblemen sowie Benchmark-Ergebnisse, die eine 3-fache Steigerung des QPS und erhebliche Verbesserungen der CPU-Auslastung zeigen.

Entwicklung Nebenläufigkeit

Fachbegriffe, die Sie wahrscheinlich falsch aussprechen

2025-03-21

Dieser Artikel beleuchtet häufige Fehlpronunziationen von Fachbegriffen, die einem autodidaktischen Solo-Entwickler begegnet sind. Er listet Beispiele wie Asus (AY-soos, nicht AY-sis), Debian (DEHB-eee-in, nicht DEE-bee-inn) und viele mehr auf und betont das Fehlen einer inneren Logik in diesen Aussprachen. Der Autor schlägt vor, Googles Aussprache-Widget als hilfreiche Ressource zu verwenden und liefert eine umfassende Liste korrekt ausgesprochener Begriffe, darunter Atlassian, Daemon, Gaussian, GIF, Gnome, GNU, JSON, Kernighan, LaTeX, Linus, Poisson, Pypi, Qt, Redis, Regex, Repo, Sudo, SUSE, SQL, SQLite, Ubuntu und Vite. Dies ist eine wertvolle Ressource für Entwickler und Technologie-Enthusiasten.

Entwicklung Fachbegriffe Aussprache

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-03-21
arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

arXivLabs ist ein Framework, das es Mitarbeitern 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 der Benutzerdaten angenommen und akzeptiert. arXiv verpflichtet sich zu diesen Werten 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

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-03-21
arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

arXivLabs ist ein experimentelles Framework, das es Mitarbeitern 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 der Benutzerdaten angenommen und akzeptiert. arXiv verpflichtet sich zu diesen Werten 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

Leichtgewichtiges Versionskontrollsystem: Game of Trees veröffentlicht

2025-03-21

Game of Trees (Got) ist ein leichtgewichtiges, benutzerfreundliches Versionskontrollsystem, das Benutzerfreundlichkeit und Einfachheit priorisiert. Es befindet sich derzeit in der Entwicklung und richtet sich hauptsächlich an OpenBSD-Entwickler. Es verwendet Git-Repositories für versionierte Daten. Funktionen, die noch nicht in Got implementiert sind, können mit Git gehandhabt werden, und beide Systeme können gleichzeitig am selben Repository arbeiten. Unter der BSD-Lizenz ist die Software kostenlos und wiederverwendbar.

Entwicklung

Mathup: Ein schneller Parser für mathematische Ausdrücke

2025-03-21

Mathup ist ein leichtgewichtiges Tool, das einfache mathematische Ausdrücke, die in einer von AsciiMath inspirierten Markup-Sprache geschrieben sind, in strukturiertes MathML übersetzt. Es ist schneller als MathJax, da es nur die Ausdrücke parst und übersetzt und das Rendern dem Browser überlässt. Mathup unterstützt eine breite Palette an mathematischen Symbolen und Funktionen, darunter Brüche, tiefgestellte/hochgestellte Zeichen, Matrizen und Tensoren. Es bietet umfangreiche Anpassungsmöglichkeiten für Schriftarten, Farben und Hintergründe. Entwickler können es in der Kommandozeile, auf einem Server oder im Browser verwenden, um mathematische Ausdrücke schnell und effizient zu verarbeiten.

Screen: Ein reiner PHP-Terminalemulator für reichhaltige textbasierte Benutzeroberflächen

2025-03-21
Screen: Ein reiner PHP-Terminalemulator für reichhaltige textbasierte Benutzeroberflächen

Screen ist eine Terminalemulator-Bibliothek, die vollständig in PHP geschrieben wurde und die Erstellung von reichhaltigen, textbasierten Benutzeroberflächen in jeder PHP-Anwendung ermöglicht. Ursprünglich entwickelt, um Konflikte mit ANSI-Escape-Codes in der Multiprozess-TUI von Solo für Laravel zu lösen, erstellt Screen einen virtuellen Terminal-Puffer, um ANSI-Operationen (Cursorbewegung, Farbänderungen, Bildschirmauslöschung) sicher zu handhaben. Dies gewährleistet eine konsistente Darstellung und unterstützt Unicode, mehrbyte Zeichen, Scrollen und eine breite Palette von ANSI-Escape-Codes. Eine umfassende Testsuite mit einem neuartigen visuellen Vergleichssystem garantiert eine präzise Emulation.

Open-Source-Website-Vorlage basierend auf NeRFies und UMI-On-Legs

2025-03-21

Diese Website-Vorlage wurde von den hervorragenden Designs von AnyCar UMI-On-Legs und NeRFies modifiziert, mit vereinfachtem Code. Sie ist unter der Creative Commons Attribution-ShareAlike 4.0 International Lizenz lizenziert, die kostenlose Modifikation und Verwendung erlaubt, erfordert aber einen Link zurück zur NeRFies-Seite in der Fußzeile und die Entfernung unerwünschten Analysecodes.

Entwicklung Website-Vorlage

Sicherer und effizienter RDP-Client auf Basis von Rust: IronRDP

2025-03-21
Sicherer und effizienter RDP-Client auf Basis von Rust: IronRDP

IronRDP ist eine Sammlung von Rust-Kisten, die eine sichere Implementierung des Microsoft Remote Desktop Protokolls (RDP) bereitstellen. Es unterstützt verschiedene Codecs, darunter unkomprimierte Roh-Bitmaps, RLE, RDP 6.0 Bitmap-Komprimierung und Microsoft RemoteFX. Ein vollwertiger asynchroner RDP-Client ist enthalten, zusammen mit einem blockierenden Beispiel für einfachere Integration. Das Projekt beschreibt auch detailliert, wie RemoteFX auf dem Server aktiviert wird, um die Grafikleistung zu verbessern.

Entwicklung

Spielzeug-Compiler für Python-Ausdrücke mit MLIR und E-Graphs

2025-03-21
Spielzeug-Compiler für Python-Ausdrücke mit MLIR und E-Graphs

Dieser Artikel beschreibt einen Spielzeug-Compiler für Python-Ausdrücke, der mit MLIR und der egglog-Bibliothek erstellt wurde. Der Compiler nutzt E-Graphs für Gleichheitssättigung und Term-Rewriting, um Python-Ausdrücke zu optimieren, bevor sie in MLIR kompiliert werden. Er umfasst Module für die Ausdrucksmodellierung, eingebaute Funktionen, Term IR, eine Transformationsschicht, eine Optimierungsschicht und die MLIR-Codegenerierung sowie ein LLVM-Backend. Durch die symbolische Interpretation von Python-Funktionen, die Konvertierung in eine IR-Darstellung, die Anwendung von Optimierungsregeln und die schließlich effiziente Generierung von MLIR-Code erreicht der Compiler die Kompilierung und Ausführung über LLVM.

Entwicklung

Torch Linsenmacher: Differenzierbare Optik mit PyTorch

2025-03-21

Torch Lens Maker ist eine Open-Source Python-Bibliothek für differenzierbare geometrische Optik, basierend auf PyTorch. Das ehrgeizige Ziel ist es, komplexe reale optische Systeme (Linsen, Spiegel usw.) mit moderner Computertechnik und hochmoderner numerischer Optimierung zu entwerfen. Der Kern ist die differenzierbare geometrische Optik: 3D-Kollisionserkennung und optische Gesetze, implementiert in PyTorch. Durch die geschickte Behandlung von optischen Elementen als Schichten in einem neuronalen Netzwerk und die Nutzung der automatischen Differenzierung und Optimierungsalgorithmen von PyTorch wird das Linsendesign überraschend ähnlich zum Training eines neuronalen Netzwerks, wodurch die Leistungsfähigkeit moderner Machine-Learning-Tools freigeschaltet wird. Das Projekt befindet sich in einem frühen Stadium und der Autor sucht nach Finanzierung, um die Entwicklung fortzusetzen.

Entwicklung Linsendesign
1 2 132 133 134 136 138 139 140 214 215