Category: Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Kooperationen

2025-05-17
arXivLabs: Experimentelle Projekte mit Community-Kooperationen

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 diesen Werten und arbeitet nur mit Partnern zusammen, die sich daran halten. Haben Sie eine Idee für ein Projekt, das der arXiv-Community einen Mehrwert bietet? Erfahren Sie mehr über arXivLabs.

Entwicklung

Racket v8.17 veröffentlicht: Leistungsverbesserungen und neue Funktionen

2025-05-17

Die Version 8.17 der Programmiersprache Racket ist jetzt verfügbar! Dieses Release bietet zahlreiche Verbesserungen, darunter ein schlankeres DrRacket-Kernpaket, Unterstützung für Baumlisten in Typed Racket, einen verbesserten Paketmanager, höhere Genauigkeit bei numerischen Funktionen und Unterstützung für Mausereignisse in Windows-Terminals. Darüber hinaus wurden der HTTP-Client, die JSON-Verarbeitung und die Redex-Bibliothek optimiert. Dieses Update ist ein Beweis für die lebendige Racket-Community mit Beiträgen vieler Entwickler.

Entwicklung

Produktivität in der Tasche: Ausführen eines vollständigen Linux-Desktops auf Ihrem Telefon

2025-05-17
Produktivität in der Tasche: Ausführen eines vollständigen Linux-Desktops auf Ihrem Telefon

Für eine kürzlich erfolgte zweiwöchige Reise hat der Autor eine vollständige Linux-Desktopumgebung mit einem Pixel 8 Pro, einer Xreal Air 2 Pro AR-Brille und einer faltbaren Tastatur aufgebaut. Durch Ausführen von arm64-Binärdateien in einem chroot auf Android konnte er Entwicklungstools wie Neovim und Flutter verwenden und von Cafés, Parks und sogar Flugzeugen aus arbeiten. Obwohl das Setup einige Komplexitäten mit sich brachte – Rooten des Telefons und Auswahl der richtigen Linux-Distribution (Void Linux war die Gewinnerin) –, bietet diese ultraportable Workstation unvergleichliche Freiheit und Flexibilität und befreit Entwickler von ihren Schreibtischen.

Entwicklung mobile Entwicklung

Mystical: Eine magische Kreisvisualisierung von PostScript

2025-05-17

Mystical ist eine neuartige Programmiersprache, die PostScript-Code als magischen Kreis ähnelnde Ringstrukturen visualisiert. Programme sind in Ringen organisiert, die ausführbare Arrays, nicht ausführbare Arrays und Dictionaries umfassen, wobei jedes eine einzigartige visuelle Darstellung hat. Operatoren, Variablen und Schlüsselwörter werden durch Sigils (Symbole) dargestellt, die mit Text in den Ringen kombiniert werden. Mystical verfügt derzeit über keinen eigenen Interpreter; die Visualisierung erfordert eine manuelle Übersetzung in PostScript zur Ausführung.

Entwicklung magische Kreise

GitHub Diff-Schwachstelle: Ausnutzung der Unicode-Zeichenersetzung

2025-05-17
GitHub Diff-Schwachstelle: Ausnutzung der Unicode-Zeichenersetzung

Ein Curl-Mitwirkender, James Fuller, hat eine Schwachstelle im GitHub Diff-Viewer entdeckt. Böswillige Akteure könnten ASCII-Zeichen durch visuell identische Unicode-Zeichen ersetzen und so den Code unbemerkt ändern. Dies könnte zur Manipulation von URLs und anderen schwerwiegenden Folgen führen. Während der GitHub Diff-Viewer keine Warnung ausgab, zeigten andere Plattformen wie Gitea solche Änderungen an. Das Curl-Projekt reagierte mit der Implementierung von CI-Prüfungen zum Erkennen bösartiger Unicode-Zeichen und bereinigte UTF-8-Sequenzen. Dies unterstreicht die Notwendigkeit proaktiver Maßnahmen zur Code-Sicherheit, um potenzielle Angriffe zu verhindern.

Basilisk II Blackscreen-Bug: Zwölf Jahre Debugging-Odyssee

2025-05-17

Vor zwölf Jahren plagte ein Blackscreen-Bug im Basilisk II-Emulator Benutzer neuerer Windows-Versionen. Der Autor verfolgte durch sorgfältiges Debugging den Fehler auf ein subtiles Detail der Speicherzuweisung zurück: Die Reihenfolge von zwei Speicherzuweisungen unter Windows führte dazu, dass das Laden des ROMs des Emulators fehlschlug. Die Lösung bestand darin, den Speicherzuweisungscode zu ändern, wodurch dieses langjährige Problem behoben und Debugging-Fähigkeiten sowie ein tiefes Verständnis des Betriebssystems demonstriert wurden.

Entwicklung

CSS contrast-color(): Automatisierung des Farbkontrasts für Barrierefreiheit

2025-05-17
CSS contrast-color(): Automatisierung des Farbkontrasts für Barrierefreiheit

Die neue CSS-Funktion `contrast-color()` vereinfacht die Farbauswahl, indem sie automatisch schwarzen oder weißen Text wählt, um mit einer gegebenen Hintergrundfarbe zu kontrastieren. Dieser Artikel untersucht die Verwendung, vergleicht die Algorithmen WCAG 2.1 und APCA zur Kontrastrechnung und untersucht, wie man `prefers-contrast`-Media-Queries für bessere Barrierefreiheit verwendet. Obwohl derzeit auf Schwarz/Weiß beschränkt, könnten zukünftige Iterationen mehr anpassbare Optionen bieten. Die Funktion vereinfacht die Entwicklung und verbessert die Barrierefreiheit, insbesondere bei der Verwaltung mehrerer Farbzustände.

Entwicklung Farbkontrast

Rust 10 Jahre: Eine Geschichte von Community und Infrastruktur

2025-05-17
Rust 10 Jahre: Eine Geschichte von Community und Infrastruktur

Zum 10. Jahrestag der Programmiersprache Rust blickt der ursprüngliche Autor Graydon Hoare auf deren Entwicklung zurück. Es ist nicht nur die Geschichte einer Programmiersprache, sondern die Erzählung einer großen Community, die gemeinsam eine geteilte technische Infrastruktur aufbaut und pflegt. Der Erfolg von Rust beruht auf dem Bedarf an robuster Infrastruktur und den langfristigen Investitionen von Organisationen wie Mozilla sowie der Arbeit tausender Freiwilliger. Rust hat sich von einem einfachen Prototyp zu einer leistungsstarken Sprache mit einem riesigen Ökosystem und vielen Anwendungen entwickelt. Die Zukunft erfordert die kontinuierliche Gewinnung von Talenten, die Aufrechterhaltung von Stabilität und Kompatibilität sowie die weitere Verbesserung der Qualität.

Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Mitwirkenden

2025-05-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 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

OBNC: Ein Oberon-Compiler

2025-05-17

OBNC ist ein Compiler für die Programmiersprache Oberon von Niklaus Wirth, der die endgültige Version von 2016 implementiert. Er übersetzt Oberon-Quellcode in die niedrigere Programmiersprache C. Der übersetzte Code wird dann mit dem C-Compiler und dem Linker des Host-Betriebssystems kompiliert und verlinkt. Der Build-Befehl `obnc` führt all diese Aufgaben aus und verfolgt, welche Dateien kompiliert oder neu kompiliert werden müssen. Der Compiler wird unter der GNU General Public License veröffentlicht, während die Bibliotheken unter der Mozilla Public License veröffentlicht werden. Mit der Mozilla-Lizenz kann ein mit OBNC kompiliertes Oberon-Projekt unter jeder beliebigen Lizenz veröffentlicht werden. Das Quellpaket `obnc` enthält den Compiler mit einem Build-Tool, einem Dokumentationsgenerator und einer kleinen Basisbibliothek von sieben Modulen, die in den Oakwood-Richtlinien für Oberon-2-Compilerentwickler definiert sind. Es enthält auch eine (nicht standardmäßige) Bibliothek namens `ext`, die die Basisbibliothek um Module für den Zugriff auf Kommandozeilenargumente und Umgebungsvariablen, das Drucken auf den Standardfehlerstrom, die Konvertierung von Zahlen in Zeichenketten und umgekehrt sowie für die Anpassung des Trap-Handlers erweitert. Die `ext`-Bibliothek wurde früher als separates Paket vertrieben, ist aber jetzt der Einfachheit halber im Hauptpaket enthalten. OBNC ist in C implementiert und sollte auf jedem POSIX-kompatiblen Betriebssystem kompiliert werden können. Um OBNC zu erstellen, benötigen Sie außerdem den Boehm-Demers-Weiser-Garbage-Collector GC. Weitere Anweisungen finden Sie in der README-Datei im Stammverzeichnis des Pakets. Für MS Windows-Benutzer gibt es auch eine vorkompilierte Version von OBNC mit allen Abhängigkeiten (GC, SDL, Gawk und TCC). Hinweis: Ausgabedateien, die von OBNC Version 0.15 oder früher generiert wurden, sind nicht mit OBNC 0.17 kompatibel. Wenn Sie eine frühere Version verwendet haben, müssen Ihre Module neu kompiliert werden; löschen Sie einfach das generierte .obnc-Verzeichnis in Ihren Modulverzeichnissen, bevor Sie die neue Version verwenden.

Entwicklung

Echtzeit-Beleuchtung und Normal Mapping auf dem N64: Eine beeindruckende Leistung des Reverse Engineering

2025-05-17

Dieser Artikel beschreibt eine beeindruckende Technik zur Erzeugung von Echtzeit-Beleuchtung und Normal Mapping auf dem Nintendo 64. Durch geschickte Nutzung von Palettentexturen und CPU-seitigem Shading umgeht der Autor die Hardware-Einschränkungen des N64 und erzielt überraschend beeindruckende visuelle Ergebnisse. Die Technik beinhaltet die Komprimierung von Diffus- und Normalinformationen in eine gemeinsame Palette und die Aktualisierung der Palette zur Laufzeit über die CPU, um Lichteffekte zu simulieren. Obwohl das Verfahren einige Einschränkungen aufweist, wie z. B. die fehlende Unterstützung von Punktlichtquellen und Schatten, ist seine Innovationskraft bemerkenswert und eröffnet neue Möglichkeiten für die Grafikrendering auf der N64-Plattform.

Entwicklung

Meta veröffentlicht Pyrefly: Ein Python-Typprüfer in Rust

2025-05-17
Meta veröffentlicht Pyrefly: Ein Python-Typprüfer in Rust

Meta hat eine Alpha-Version von Pyrefly veröffentlicht, einem Open-Source-Python-Typprüfer und einer IDE-Erweiterung, die in Rust geschrieben wurde. Pyrefly zielt darauf ab, die Typkonsistenz in Python-Code zu verbessern und hilft dabei, Fehler frühzeitig vor der Laufzeit zu erkennen. Es unterstützt die IDE-Integration und die Verwendung über die Befehlszeile, wobei Leistung und Typinferenz im Vordergrund stehen und es auch bei nicht annotiertem Code effektiv funktioniert. Pyrefly baut auf Metas Pyre auf und soll ein leistungsfähigerer und erweiterbarer Typprüfer sein, der mit der Python-Community zusammenarbeitet, um das Python-Typsystem zu verbessern.

Entwicklung

NixOS: Die perfekte Linux-Distribution? Meine Erfahrungen und Lehren

2025-05-17
NixOS: Die perfekte Linux-Distribution? Meine Erfahrungen und Lehren

Ich war von NixOS und seinem Versprechen der perfekten Systemreproduzierbarkeit durch eine einzige Codekonfiguration begeistert. Nach einem Jahr habe ich es aufgegeben. Die Lernkurve ist steil, die Dokumentation mangelhaft, die Fehlermeldungen undurchsichtig und es gibt unzählige Wege, dasselbe zu erreichen. Obwohl es ein stabiles System erzeugt, habe ich unzählige Stunden mit Problemen wie der Thunderbolt-Dock-Kompatibilität und der Einrichtung von Entwicklungsumgebungen über mehrere Technologie-Stacks verbracht. Ich bin zu Bazzite und Bluefin (basierend auf Fedora Silverblue) gewechselt, die eine benutzerfreundlichere Erfahrung durch Flatpak, Homebrew und Distrobox bieten und gleichzeitig die Vorteile der Unveränderlichkeit beibehalten. NixOS eignet sich hervorragend für Serverumgebungen, in denen Reproduzierbarkeit von größter Bedeutung ist, aber für den durchschnittlichen Desktop-Benutzer sind die hohen Lernkosten und die Komplexität nicht lohnenswert. Die wichtigste Erkenntnis: Manchmal ist "Ich möchte mich nicht kümmern" ein völlig gültiger Ansatz für die Systemadministration.

Zwei Faustregeln für effizienten Code

2025-05-17

Dieser Artikel beschreibt zwei praktische Tipps zur Verbesserung der Code-Effizienz: das Verschieben von `if`-Bedingungen nach oben und von `for`-Schleifen nach unten. Das Verschieben von `if`-Bedingungen in die aufrufende Funktion reduziert Verzweigungen, vereinfacht den Kontrollfluss und verbessert die Lesbarkeit. Das Verschieben von `for`-Schleifen dorthin, wo Batches von Daten verarbeitet werden, nutzt die Vorteile der Batchverarbeitung, verbessert die Leistung und ermöglicht möglicherweise die Vektorisierung. Diese beiden Tipps ergänzen sich und verbessern die Code-Effizienz, insbesondere bei der Verarbeitung großer Datenmengen.

Entwicklung

Über 75 offene Probleme in der Computergeometrie

2025-05-17

Das Projekt der offenen Probleme ist eine Website, die über 75 ungelöste Probleme in der Computergeometrie und verwandten Gebieten zusammenfasst. Im Jahr 2001 mit 30 anfänglichen Problemen gestartet, ist es jetzt eine umfassende Ressource, die nach Themen wie konvexe Hüllen, Graphentheorie und Voronoi-Diagramme kategorisiert ist. Obwohl keine neuen Einreichungen mehr akzeptiert werden, fördert die Website Updates bestehender Probleme, insbesondere solcher, die gelöst wurden (vollständig oder teilweise), und fördert so die Zusammenarbeit und den Fortschritt im Bereich.

Erstellung eines RISC-V-Hypervisors im Starina-Betriebssystem: Von Hello World zum Booten von Linux

2025-05-17
Erstellung eines RISC-V-Hypervisors im Starina-Betriebssystem: Von Hello World zum Booten von Linux

Dieser Beitrag dokumentiert die Reise des Autors bei der Erstellung eines leichtgewichtigen, auf der RISC-V-H-Erweiterung basierenden Hypervisors im Starina-Betriebssystem. Unter Verwendung der QEMU-Emulation der RISC-V-H-Erweiterung implementierte der Autor schrittweise den Einstieg in den Gastmodus, die Behandlung von Systemaufrufen, ein einfaches Hello-World-Programm und schließlich das Booten des Linux-Kernels. Herausforderungen wie Seitentabellenverwaltung, Einrichtung des Gerätebaums, Timerunterstützung und MMIO wurden bewältigt, wobei detaillierte Schritte und Lösungen bereitgestellt wurden. Der Beitrag endet mit einem erfolgreichen Linux-Boot im Starina-Hypervisor.

Entwicklung

Publisher: Open-Source Semantic Model Server für Malloy

2025-05-17
Publisher: Open-Source Semantic Model Server für Malloy

Publisher ist ein Open-Source Semantic Model Server, der auf der Malloy Datensprache basiert. Er ermöglicht die Erstellung von reichhaltigen semantischen Datenmodellen – mit Definition von Bedeutung, Beziehungen und Kontext Ihrer Daten – und stellt diese über eine Server-Schnittstelle bereit. Anwendungen, KI-Agenten und Benutzer können Daten konsistent und zuverlässig abfragen und das gemeinsame Verständnis nutzen, das im Malloy-Modell definiert ist. Publisher löst das Problem unzuverlässiger Antworten, wenn die Bedeutung der Daten unklar ist. Er verwendet Malloy-Abfragen, kompiliert diese im Hintergrund in SQL und liefert so zuverlässige Antworten, ohne die Datenbedeutung in jedem Tool neu definieren zu müssen. Er besteht aus drei Hauptkomponenten: einem Server, einem SDK und einer Referenzanwendung und unterstützt verschiedene Datenbanken und KI-Anwendungen.

Entwicklung semantisches Modell

Popcorn: Elixir im Browser ausführen

2025-05-17

Popcorn ist eine neue Bibliothek, die die Ausführung von Elixir-Code in Webbrowsern ermöglicht. Sie nutzt die AtomVM-Laufzeitumgebung, um kompilierten Elixir-Code clientseitig auszuführen und bietet APIs für die Interaktion zwischen Elixir und JavaScript, Serialisierung und Kommunikation, während gleichzeitig die Reaktionsfähigkeit des Browsers gewährleistet wird. Die Bibliothek befindet sich derzeit in der Entwicklung, die API ist instabil, aber es gibt drei lauffähige Beispiele: ein einfaches Elixir REPL, interaktive Tutorials und eine Implementierung des Spiel des Lebens. Entwickler können Popcorn verwenden, indem sie es als Abhängigkeit in ihrer `mix.exs` hinzufügen und den JS- und Elixir-WASM-Einstiegspunkt einrichten. Es verbindet JS und Elixir über Nachrichtenaustausch und ermöglicht die direkte Ausführung von JS aus Elixir. Die Elixir-Seite verwendet das Modul `Popcorn.Wasm`, während die JS-Seite die Klasse `Popcorn` verwendet.

Entwicklung

MCP: Schnelle Adoption, Wachstumsschmerzen und ein Aufruf zum Handeln

2025-05-17
MCP: Schnelle Adoption, Wachstumsschmerzen und ein Aufruf zum Handeln

Dieser Artikel antwortet auf eine Kritik am MCP-Protokoll, einem Standard zum Aufrufen von Tools von LLMs. Der Autor argumentiert, dass die Kritik sich zu sehr auf Transportmechanismen (z. B. WebSockets) konzentriert, während der Kernwert von MCP übersehen wird: OAuth 2.0-Authentifizierung und die Fähigkeit von LLMs, mit der realen Welt zu interagieren. Obwohl Probleme wie die Toolsicherheit und die Kompatibilität von Multi-Tenant-Servern anerkannt werden, betont der Autor die schnelle Adoption von MCP und die Bemühungen der Community, diese Herausforderungen zu bewältigen. Der Autor schließt mit einem Aufruf zum Handeln für Entwickler, um an der Gestaltung einer sicheren und zuverlässigen Zukunft für MCP teilzunehmen.

Entwicklung

Ein Katalog neuartiger Betriebssysteme: Die Zukunft des Computings neu denken

2025-05-17
Ein Katalog neuartiger Betriebssysteme: Die Zukunft des Computings neu denken

Nach dem Hype um LLMs hat sich eine Welle der Entwicklung neuer Betriebssysteme gebildet. Dieser Artikel listet verschiedene solcher Projekte auf, darunter den UXN/Varvara Personal Computing Stack, das web-forschungsorientierte Betriebssystem Nette.io und Lisp-basierte Systeme wie Interim und ChrysaLisp. Diese Projekte demonstrieren innovative Ansätze im Betriebssystemdesign, wie die Neugestaltung der Desktop-Oberfläche von DesktopNeo und das intentionsbasierte Betriebssystemdesign von MercuryOS. Diese Bemühungen stellen mutige Erkundungen der Zukunft des Computings dar und wecken die Leidenschaft für Innovationen im Bereich Betriebssysteme neu.

Entwicklung

Fahmatrix: Eine leichte Pandas-Alternative für Java

2025-05-17
Fahmatrix: Eine leichte Pandas-Alternative für Java

Fahmatrix ist eine leichte, moderne Java-Bibliothek für die Arbeit mit tabellarischen Daten, inspiriert von Pythons Pandas und darauf ausgelegt, das Datenverständnis auf der JVM zu vereinfachen. Sie bietet eine intuitive API zum Lesen und Vorschauen von CSV-Dateien, zum Filtern von Zeilen und Auswählen von Spalten sowie kommende Funktionen wie Aggregationen, Gruppierung und Sortierung. Fahmatrix hat derzeit keine externen Abhängigkeiten und kann als JAR-Datei von GitHub heruntergeladen oder über Maven/Gradle verwendet werden (wird in zukünftigen Versionen hinzugefügt). Zu den Hauptfunktionen gehören das Laden von CSV-Dateien in DataFrames, das formatierte Ausgeben von Daten, head()/tail()-Funktionen, verschiedene Aggregationsfunktionen, das Filtern von Zeilen und Auswählen von Spalten, groupBy und Pivot-Tabellen, der Datenexport sowie Typinferenz und -konvertierung. Fahmatrix ermöglicht es Java-Entwicklern, effizient mit tabellarischen Daten zu arbeiten, ohne die JVM verlassen zu müssen.

Entwicklung

Home Assistant: Die Erfahrungen eines Kernel-Entwicklers mit Heimautomation

2025-05-17

Ein Kernel-Entwickler berichtet über seine einjährige Erfahrung mit Home Assistant, einem Open-Source-System für die Heimautomation. Der Artikel untersucht die Gesundheit des Home-Assistant-Projekts, wobei das Gleichgewicht zwischen Geschäftsmodell und Open-Source-Community, die aktive Entwicklerbasis und der Übergang zur Open Home Foundation hervorgehoben werden. Die Installation ist zwar offiziell mit einem dedizierten Betriebssystem empfohlen, aber auf normalen Linux-Systemen relativ einfach, erfordert aber technisches Know-how. Home Assistant verbindet verschiedene Haushaltsgeräte über Integrationen, deren Qualität variiert, aber insgesamt eine leistungsstarke Funktionalität bietet. Sicherheitsaspekte werden angesprochen, wobei potenzielle Risiken anerkannt, aber die Sicherheitsrichtlinien des Projekts und die Auditmechanismen erwähnt werden, die einige Schwachstellen mindern. Letztendlich ermöglicht Home Assistant Benutzern die Kontrolle über ihr Heimnetzwerk und ihre Geräte und bietet eine überzeugende Alternative zu Cloud-Diensten.

Entwicklung

rapidhash: Extrem schnelle, hochwertige und plattformunabhängige Hash-Funktion

2025-05-17
rapidhash: Extrem schnelle, hochwertige und plattformunabhängige Hash-Funktion

rapidhash, der offizielle Nachfolger von wyhash, ist eine extrem schnelle, hochwertige und plattformunabhängige Hash-Funktion. Sie erreicht über 70 GB/s auf Apples M4-CPUs und besteht alle Tests in SMHasher und SMHasher3. Optimiert für AMD64 und AArch64, ist sie kompatibel mit gcc, clang, icx und MSVC, ohne auf maschinenspezifische Befehlssätze angewiesen zu sein. Die Kollisionswahrscheinlichkeit ist außergewöhnlich niedrig und nähert sich dem theoretischen Ideal. Dies macht rapidhash zu einer überlegenen Wahl für performancekritische Anwendungen.

Entwicklung

xtool: Plattformübergreifender Xcode-Ersatz

2025-05-17
xtool: Plattformübergreifender Xcode-Ersatz

xtool ist ein plattformübergreifendes Tool (Linux/WSL/macOS), das die Kernfunktionalität von Xcode mithilfe offener Standards repliziert. Erstellen und deployen Sie iOS-Apps mit SwiftPM, ohne Xcode zu benötigen. Zu den Hauptfunktionen gehören das Erstellen von SwiftPM-Paketen in iOS-Apps, das Signieren und Installieren von Apps sowie die programmgesteuerte Interaktion mit Apple Developer Services. Es bietet auch eine XKit-Bibliothek zur Interaktion mit Apple-Diensten und iOS-Geräten in Ihren eigenen Apps.

Entwicklung

Microsofts neue Befehlspalette: Eine verbesserte Version von PowerToys Run

2025-05-17
Microsofts neue Befehlspalette: Eine verbesserte Version von PowerToys Run

Microsoft hat still und heimlich die Command Palette veröffentlicht, eine überarbeitete Launcher-App für Windows, die PowerToys Run ablöst. Dieses aktualisierte Tool bietet schnellen Zugriff auf Befehle, Apps und Entwicklungstools, darunter Suchfunktionen für Apps, Dateien und Ordner; Berechnungen; Systembefehle; und die Möglichkeit, Websites und Websuchen durchzuführen. Besonders wichtig ist, dass die Command Palette erweiterbar ist, sodass Benutzer benutzerdefinierte Befehle und Funktionen hinzufügen können, was sie zu einem leistungsstarken Werkzeug für Entwickler und Power-User macht. Die Window-Walker-Funktionalität ist ebenfalls integriert, um das Umschalten zwischen Fenstern zu vereinfachen.

Entwicklung

Home Assistant: Der Weg eines Kernel-Entwicklers zur Smart-Home-Freiheit

2025-05-17

Ein Kernel-Entwickler berichtet über seine Erfahrungen mit Home Assistant, einem Open-Source-System zur Heimautomation, um sein Smart Home zu verwalten. Der Artikel beschreibt, wie Home Assistant reale Probleme gelöst hat: Ersetzen eines defekten Solarpanel-Überwachungssystems nach dem Konkurs von SunPower, Erstellen virtueller Sensoren zur Berechnung des Energieverbrauchs des Haushalts mithilfe von „Helpers“, lokale Steuerung von Mitsubishi-Wärmepumpen ohne Cloud-Abhängigkeit und Verwendung eines Refoss-Stromverbrauchsmessgeräts, um den Energieverbrauch von Haushaltsgeräten präzise zu verfolgen und Probleme zu diagnostizieren. Home Assistant bietet vollständige Kontrolle, erfordert aber eine technische Lernkurve.

Entwicklung

Rustls: Signifikante Performance-Verbesserungen in der speichergesicherten TLS-Implementierung

2025-05-16
Rustls: Signifikante Performance-Verbesserungen in der speichergesicherten TLS-Implementierung

Rustls, eine speichergesicherte TLS-Implementierung mit Fokus auf Performance, hat signifikante Performance-Verbesserungen veröffentlicht. Durch Optimierung der Session-Wiederaufnahme-Mechanismen – insbesondere durch Ersetzen von Mutexen zur Reduzierung von Contention bei gleichzeitigen Server-Verbindungs-Handshakes und Verringerung der Anzahl der standardmäßig gesendeten Stateless-Resumption-Tickets – zeigt Rustls 0.23.17 eine deutlich verbesserte Performance auf Multi-Core-Servern und erreicht nahezu lineare Skalierbarkeit. Die Server-Latenz für die Kern-TLS-Handshake-Bearbeitung ist in unseren Benchmarks etwa 2x niedriger als bei OpenSSL. Dies macht Rustls zu einer sehr wettbewerbsfähigen TLS-Lösung und bietet sicherere und effizientere Verbindungen im Internet.

Entwicklung

Ein Code-Bearbeitungsagent in 94 Zeilen Ruby

2025-05-16

Dieser Artikel hinterfragt die vermeintliche Schwierigkeit, einen Code-Bearbeitungsagenten zu bauen, und präsentiert einen voll funktionsfähigen Agenten, der in nur 94 Zeilen Ruby mit dem RubyLLM-Gem geschrieben wurde. Der Agent nutzt ein großes Sprachmodell (LLM) und drei Tools – Datei lesen, Dateien auflisten und Datei bearbeiten – um Code-Bearbeitungsaufgaben zu erledigen. Der Autor beschreibt die Implementierung jedes Tools detailliert und demonstriert die Fähigkeiten des Agenten, indem er ein ASCII-Minesweeper-Spiel erstellt. Ein Tool zur Ausführung von Shell-Befehlen wird hinzugefügt, um die Funktionalität zu verbessern, was zu einem selbttestenden Code-Bearbeitungsagenten führt.

Entwicklung

Solidis: Ein Hochleistungs-RESP-Client für Redis, basierend auf SOLID-Prinzipien

2025-05-16
Solidis: Ein Hochleistungs-RESP-Client für Redis, basierend auf SOLID-Prinzipien

Solidis ist ein moderner RESP-Client, der nach SOLID-Prinzipien entwickelt wurde, keine Abhängigkeiten hat und auf Enterprise-Performance ausgelegt ist. Er unterstützt die Protokolle RESP2 und RESP3 und ist für moderne JavaScript/TypeScript-Anwendungen optimiert. Solidis bietet zwei Client-Implementierungen: einen Basis-Client für minimale Bundle-Größe und einen Featured-Client mit allen vorinstallierten RESP-Befehlen. Er unterstützt auch erweiterte Funktionen wie Transaktionen, Pipelining, Pub/Sub, automatische Wiederverbindung, robuste Typsicherheit und Erweiterbarkeit.

Entwicklung

Google Closure Library wiederbelebt: Rettung der ClojureScript-Stabilität

2025-05-16

Die Stabilität der Google Closure Library (GCL) begann um 2019 zu sinken, wobei Google im vergangenen August schließlich die Wartung einstellte. Ein Team hat GCL geforkt, um das ClojureScript-Ökosystem zu erhalten, mehrere Breaking Changes rückgängig gemacht und es an die neueste Version des Google Closure Compiler angepasst. Dies stellt die Funktionalität vieler älterer ClojureScript-Bibliotheken wieder her und bietet eine solide Grundlage für ClojureScript in verschiedenen JavaScript-Kontexten über Browser hinaus. Es bietet eine leistungsstarke, frameworkunabhängige Lösung für Aufgaben wie DOM-Manipulation, Internationalisierung und Animation, ohne das endgültige JavaScript-Artefakt aufzublähen.

Entwicklung
1 2 85 86 87 89 91 92 93 214 215