Category: Entwicklung

Linus vs. Tanenbaum: Ein Clash der Betriebssystem-Designphilosophien

2025-02-08

Dieser Thread dokumentiert eine hitzige Debatte zwischen Linus Torvalds, dem Schöpfer von Linux, und Andrew S. Tanenbaum, dem Autor von Minix. Die zentrale Meinungsverschiedenheit dreht sich um die Designphilosophie von Betriebssystemen: Linus plädierte dafür, die Stärken spezifischer Hardware (wie des 386) voll auszuschöpfen, während Tanenbaum Portabilität und den Betrieb auf Low-End-Hardware priorisierte. Linus kritisierte die Designbeschränkungen von Minix hinsichtlich Leistung und Funktionalität, während Tanenbaum erwiderte, dass Linux zu hardwareabhängig sei. Diese Debatte beleuchtet gegensätzliche Ansätze im Betriebssystemdesign und spiegelt den Einfluss von Hardwarebeschränkungen auf die Softwareentwicklung jener Zeit wider.

Entwicklung Betriebssystemdesign

Docker Bake GA: Vereinfachung komplexer Docker-Builds

2025-02-08
Docker Bake GA: Vereinfachung komplexer Docker-Builds

Docker kündigt die allgemeine Verfügbarkeit von Docker Bake in Docker Desktop 4.38 an. Dieses leistungsstarke Build-Orchestrierungs-Tool vereinfacht komplexe Docker-Builds mithilfe einer deklarativen Konfigurationsdatei. Bake verwaltet mehrere Images, Parallelisierung und Caching für schnellere Build-Zeiten und behebt Probleme wie die Verwaltung langer Befehle und Abhängigkeiten. Es ist mit Docker Compose kompatibel und bietet erweiterte Funktionen wie Matrix-Builds und benutzerdefinierte Funktionen. Die GA-Version enthält Verbesserungen wie deduplizierte Kontextübertragungen, Berechtigungen für verbesserte Sicherheit, zusammensetzbare Attribute und Variablenvalidierung, wodurch Effizienz und Benutzerfreundlichkeit gesteigert werden.

Entwicklung

Hotline wiedergeboren: Eine Swift-Auferstehung für moderne Apple-Systeme

2025-02-08
Hotline wiedergeboren: Eine Swift-Auferstehung für moderne Apple-Systeme

Ein Projekt ist im Gange, um die klassische Mac-Online-Community-Software Hotline von 1997 wiederzubeleben, indem sie komplett in Swift und SwiftUI für moderne Apple-Systeme (iOS, macOS usw.) neu erstellt wird. Derzeit handelt es sich um eine clientseitige Anwendung zum Verbinden mit und Interagieren mit Hotline-Servern, die Funktionen wie IRC-ähnlichen Chat, private Nachrichten, forumartige News, Bulletin-Board-Posting und FTP-artige Dateiübertragungen bietet. Das Ziel ist ein moderner, Open-Source-Hotline-Client, der diese beliebte Marke für eine neue Generation wiederbeleben soll.

Entwicklung

RubyBoy: Ein Game Boy-Emulator in Ruby, jetzt mit WebAssembly!

2025-02-08
RubyBoy: Ein Game Boy-Emulator in Ruby, jetzt mit WebAssembly!

Der Autor hat einen Game Boy-Emulator namens RubyBoy in Ruby erstellt und als Gem veröffentlicht. Dieser Artikel beschreibt den Entwicklungsprozess detailliert, einschließlich der UI-Implementierung, des ROM-Ladens, der Unterstützung von MBC-Chips, der Implementierung von CPU und PPU sowie Strategien zur Leistungsoptimierung. Um die Leistung zu steigern, verwendete der Autor YJIT, vermied unnötige Hash-Erstellung, optimierte Schleifenberechnungen und nutzte die Verbesserungen in Ruby 3.3, was zu signifikanten Geschwindigkeitsverbesserungen führte. Schließlich läuft RubyBoy dank WebAssembly erfolgreich im Browser und ermöglicht plattformübergreifende Ausführung.

Entwicklung Game Boy Emulator

VS Code Remote Editing: Vollständige Invasion oder komfortable Entwicklung?

2025-02-08
VS Code Remote Editing: Vollständige Invasion oder komfortable Entwicklung?

Dieser Beitrag befasst sich mit den Sicherheitsaspekten der Remote-Editing-Funktion von VS Code. VS Code bietet zwar Remote-Editing ähnlich wie Emacs' Tramp, unterscheidet sich aber erheblich. Anstatt einer leichten Verbindung lädt VS Code einen Agenten herunter, der ein Node.js-Programm auf dem entfernten Server ausführt und ihm umfassenden Zugriff gewährt: Dateisystemnavigation, Dateibearbeitung, Starten von Shell-Prozessen und Selbstpersistenz. Der Autor argumentiert, dass dieser Ansatz zu „invasiv“ ist und Sicherheitsrisiken birgt, insbesondere auf Entwicklungs- oder Produktionsservern. Obwohl das Autorenteam einen Workaround gefunden hat, dient der Beitrag als Warnung vor potenziellen Schwachstellen.

(fly.io)
Entwicklung

Chrome Manifest V3: Ein Albtraum für Entwickler von Werbeblockern?

2025-02-08
Chrome Manifest V3: Ein Albtraum für Entwickler von Werbeblockern?

Die Überarbeitung der Chrome-Erweiterungsarchitektur Manifest V3 (MV3) von Google bereitet Entwicklern von Werbeblockern, Inhaltsfiltern und Datenschutztools weiterhin Probleme. Obwohl Google behauptet, MV3 ziele auf verbesserte Sicherheit und Leistung ab, stellen Entwickler wie die Macher von AdGuard und uBlock Origin fest, dass die Einschränkungen von MV3 weit über das Erwartete hinausgehen und die Kernfunktionalität einschränken oder sogar verhindern. Entwickler beschweren sich über die erhöhte Komplexität der Entwicklung unter MV3 und werfen Google vor, langsam auf Entwickler-Feedback zu reagieren und sogar die Funktionalität von Erweiterungen durch Änderungen der Benutzeroberfläche zu untergraben. Dies wirft Fragen nach den wahren Absichten von Google auf: Geht es um verbesserte Sicherheit und Datenschutz oder um die subtile Einschränkung der Möglichkeiten von Erweiterungen?

Entwicklung

LLMs scheitern bei komplexem OCR: Warum große Sprachmodelle mit PDFs kämpfen

2025-02-07
LLMs scheitern bei komplexem OCR: Warum große Sprachmodelle mit PDFs kämpfen

Pulse, ein Unternehmen, das Daten aus Tabellenkalkulationen und PDFs extrahieren möchte, hat eine kritische Einschränkung bei der Verwendung großer Sprachmodelle (LLMs) für OCR entdeckt. Während LLMs in der Textgenerierung und Zusammenfassung exzellent sind, versagen sie deutlich beim Umgang mit komplexen PDFs und Tabellen. Die probabilistische Natur von LLMs und ihre abstrakte Bildverarbeitung führen zu Halluzinationen, Datenverlust und Fehlinterpretationen, was erhebliche Risiken, insbesondere bei Finanz- und Gesundheitsdaten, darstellt. Darüber hinaus sind LLMs anfällig für Prompt-Injection-Angriffe, was Sicherheits- und ethische Bedenken aufwirft. Pulse hat LLMs für OCR letztendlich aufgegeben und entwickelt eine kundenspezifische Lösung, die traditionelle Computer-Vision-Algorithmen und Vision-Transformer integriert.

Entwicklung Datenextraktion

Wie KI das technische Vorstellungsgespräch verändert

2025-02-07
Wie KI das technische Vorstellungsgespräch verändert

Die zunehmende Kompetenz von KI in komplexen Aufgaben wie dem Programmieren stellt traditionelle Methoden des technischen Vorstellungsgesprächs in Frage. Der Autor berichtet von seinen Erfahrungen und hebt die Mängel von LeetCode- und Systemdesign-Interviews hervor: Überbetonung von Algorithmen und formelhaften Ansätzen, fehlende Verbindung zur realen Arbeit. KI kann mittlerweile einige technische Vorstellungsgespräche problemlos bestehen, was Unternehmen zwingt, ihre Prozesse zu überdenken. Der Autor schlägt vor, Code-Reviews in den Auswahlprozess einzubeziehen, da diese die Fähigkeit der Kandidaten, Codequalität, Sicherheit, Leistung usw. zu bewerten, besser einschätzen – entscheidend im Zeitalter der KI.

ExpenseOwl: Ein minimalistisches Ausgaben-Tracking-System

2025-02-07
ExpenseOwl: Ein minimalistisches Ausgaben-Tracking-System

Sind Sie komplexe Ausgaben-Tracking-Apps leid? ExpenseOwl bietet eine minimalistische Lösung. Es verwendet eine einfache JSON-Datei für die Datenspeicherung, bietet eine moderne Kreisdiagramm-Visualisierung der monatlichen Ausgaben und verfügt über Befehlszeilen- und Webschnittstellen. Keine komplizierte Einrichtung oder unnötige Funktionen – fügen Sie einfach Ausgaben hinzu, löschen Sie sie und zeigen Sie sie an, um Ihre Finanzen einfach zu verwalten. ExpenseOwl unterstützt auch benutzerdefinierte Kategorien und Währungen und lässt sich einfach in Docker bereitstellen.

Entwicklung Ausgaben-Tracking

Emerge Tools: Beispielprojekt für Performance-Tests von Android- und iOS-Apps

2025-02-07
Emerge Tools: Beispielprojekt für Performance-Tests von Android- und iOS-Apps

Dieses Open-Source-Projekt zeigt, wie man die Emerge-Toolsuite für Größenanalyse, Snapshot-Tests, die Erkennung von totem Code und Performance-Tests mit Beispiel-Apps für Android und iOS nutzt. Die Apps sind im App Store und bei Google Play verfügbar, und das Repository enthält umfassende Dokumentation und Beispielkonfigurationen für Gradle/fastlane.

Entwicklung

Zep AI: Aufbau der grundlegenden Gedächtnisebene für die nächste Generation von KI-Agenten

2025-02-07
Zep AI: Aufbau der grundlegenden Gedächtnisebene für die nächste Generation von KI-Agenten

Zep AI baut die grundlegende Gedächtnisebene für die nächste Generation von KI-Agenten. Ihre kontinuierlich lernende Wissensgraph-Technologie ermöglicht es KI-Systemen, ein reichhaltiges, zeitliches Verständnis aus Benutzerinteraktionen und Geschäftsdaten aufzubauen. Sie genießen das Vertrauen von Branchenführern wie Mattel und WebMD, um deren KI-Anwendungen persönlicher und genauer zu machen. Sie suchen einen leitenden Ingenieur, um skalierbare, innovative Lösungen zu entwickeln und die technische Strategie gemeinsam mit dem Gründer zu gestalten, wobei sie an allen Aspekten der Plattform von der Infrastruktur bis zum Frontend beteiligt sind. Der ideale Kandidat verfügt über mehr als 7 Jahre praktische Erfahrung als Softwareentwickler, Expertise in mindestens zwei der Sprachen Python, TypeScript oder Go und eine nachgewiesene Erfolgsbilanz im Bereich Systemarchitektur, Software im Produktionsmaßstab und Teamführung.

Entwicklung

20 Jahre Firefox Code-Signing: Von manuell zu automatisiert

2025-02-07

Dieser Artikel beschreibt die Entwicklung des Code-Signing für Firefox bei Mozilla in den letzten 20 Jahren. Anfangs war der Prozess extrem manuell und erforderte physische Maschinen, USB-Sticks und viele manuelle Schritte. Durch technologische Fortschritte automatisierte Mozilla die Signierung, von verbesserten Skripten über dedizierte Signierungsserver bis hin zur Einführung von Taskcluster und dem Autograph-Dienst. Heute findet das Code-Signing für Firefox täglich tausende Male statt und verbessert die Sicherheit der Software erheblich.

Entwicklung Code-Signing

Pantograph: Ein flüssiger und typisierter Struktureditor

2025-02-07
Pantograph: Ein flüssiger und typisierter Struktureditor

Pantograph ist ein revolutionärer strukturierter Code-Editor, der direkt auf einem typisierten Syntaxbaum arbeitet, im Gegensatz zu traditionellen Editoren, die zuerst Text parsen und dann die Typisierung überprüfen. Durch die Einführung des Konzepts der Baumsortierung und des "Reißverschluss-Editings" vereinfacht Pantograph die Bearbeitung bestehender Programme und ermöglicht es Programmierern, komplexe Codeänderungen einfacher durchzuführen, während die Typsicherheit erhalten bleibt. Es handhabt Typdifferenzen geschickt und erlaubt das Vorhandensein einiger Fehler im Programm, was ein schrittweises Debugging erleichtert. Das Design von Pantograph ist sprachunabhängig, sodass Entwickler neue Editoren basierend auf seinem Framework definieren können.

Die fünf Hüte eines Programmierers: Kontextbasierte Codierungsstile

2025-02-07

Ein erfahrener Programmierer reflektiert über jahrelange Erfahrung und beschreibt fünf verschiedene "Codierungshüte": Kapitänshut (vorsichtig, bedacht, für kritische Systeme), Pfadfinderhut (schnelle Prototypen, minimale Zeremonie), MacGyver-Hut (schnelle Experimente, unordentlicher Code akzeptabel), Kochhut (Fokus auf Code-Ästhetik) und Lehrerhut (Priorität auf Code-Klarheit und Verständnis). Der Autor argumentiert, dass die Wahl des richtigen Codierungsstils je nach Kontext entscheidend ist und eine dogmatische Bindung an eine einzige "richtige" Methode vermieden werden sollte, um optimale Effizienz zu erzielen.

Entwicklung Codierungsstile

Dynamisches LOD in Three.js: Inspiriert von Nanite

2025-02-07
Dynamisches LOD in Three.js: Inspiriert von Nanite

Dieses Projekt versucht, ein dynamisches LOD-System in Three.js zu reproduzieren, ähnlich dem Nanite von Unreal Engine 5. Es beginnt mit der Gruppierung eines Meshes in Meshlets, der Gruppierung benachbarter Meshlets, deren Zusammenführung (gemeinsame Eckpunkte), der Vereinfachung des Meshes mithilfe von meshoptimizer (Halbierung der Dreiecke, maximal 128) und schließlich der Aufteilung (derzeit in 2, Ziel ist N/2). Das Projekt befindet sich in einem frühen Stadium; zukünftige Arbeiten umfassen die Verbesserung von LODs, DAG-Schnitten und das Streaming von Geometrie zur GPU. Die Forschung umfasst Nanite, Multi-Resolution-Strukturen und Batch-Multi-Triangulationen.

Entwicklung

Gründungsingenieur: Bauen Sie die KI-gestützten Datensysteme bei PropRise

2025-02-07
Gründungsingenieur: Bauen Sie die KI-gestützten Datensysteme bei PropRise

PropRise, eine schnell wachsende Immobilien-Datenplattform, sucht einen erfahrenen Gründungsingenieur für die Konzeption und den Aufbau der zentralen Datenarchitektur. Sie arbeiten mit einem Technologie-Stack aus TypeScript, Next.js, React, Postgres und GCP und verarbeiten Millionen von Immobiliendatensätzen. Zu den Aufgaben gehören der Aufbau robuster Datenpipelines, von Qualitätssicherungssystemen mit KI und interner Tools zur schnelleren Erkennung von Ausreißern. Dies ist eine Gelegenheit zum Aufbau eines Systems von Grund auf, direkt dem CTO unterstellt, mit erheblicher Beteiligung – ideal für Ingenieure, die komplexe Probleme lösen möchten, begeistert von der Schnittstelle zwischen KI und Datenqualität sind und eine Schlüsselrolle in einem schnell wachsenden Startup spielen wollen.

Entwicklung

TRRE: Transduktive reguläre Ausdrücke – Mehr als klassische Regex

2025-02-07
TRRE: Transduktive reguläre Ausdrücke – Mehr als klassische Regex

TRRE ist eine experimentelle Erweiterung regulärer Ausdrücke, die für intuitivere Textbearbeitung und Mustererkennung entwickelt wurde. Im Gegensatz zu herkömmlichen Regex verwendet TRRE das Symbol `:` zur Definition von Transformationen, wodurch das Ersetzen, Einfügen und Löschen von Text vereinfacht wird. Es bietet ein `grep`-ähnliches Kommandozeilenwerkzeug für effizientes Text-Handling, z. B. Wort ersetzen, Zeichen einfügen/löschen und sogar einfache Verschlüsselung/Entschlüsselung. Obwohl es sich noch um einen Prototyp handelt, zeigt TRRE vielversprechende Ergebnisse, insbesondere bei komplexen Aufgaben, bei denen die Leistung sogar `sed` übertreffen kann.

Entwicklung

Der Aufstieg der persönlichen Software: Angetrieben von KI

2025-02-07

Nach zehn Jahren der Softwareentwicklung für andere erlebte der Autor einen Burnout. Das Aufkommen von KI hat die Erstellung persönlicher Software einfacher denn je gemacht. Dies führte den Autor dazu, das Konzept von „persönlicher“ oder „egoistischer“ Software zu übernehmen – mit dem Fokus auf die Lösung eigener Probleme und dem Open-Sourcing der Projekte. Dieser Ansatz entfacht die Leidenschaft neu, ermöglicht schnellere Iteration und nutzt KI, um effizient zu lernen und Probleme zu lösen. Sogar kleine, einmalige Skripte werden angenehm, was ein neues Gefühl des Ziels in der Entwicklung fördert.

Entwicklung persönliche Software

Der unvermeidliche Borrow-Checker in Inko: Ein Kompromiss zwischen Stack-Allokation und Compile-Time-Checks

2025-02-07

Der Entwickler der Inko-Sprache untersucht optimale Lösungen für die Stack-Allokation und die Borrow-Prüfung. Standardmäßig werden Inko-Typen auf dem Heap allokiert, was Flexibilität bietet, aber zu Performance-Overhead führt. Um die Performance zu verbessern, wurde ein `inline`-Modifizierer eingeführt, um die Stack-Allokation zu unterstützen, aber dies bringt neue Herausforderungen mit sich: Wie werden Borrows und Move-Semantik gehandhabt, während gleichzeitig die Speichersicherheit gewährleistet wird? Der Artikel untersucht verschiedene Lösungen, darunter das Zulassen von Feldzuweisungen, die Einführung eindeutiger Typen und die Escape-Analyse, und kommt zu dem Schluss, dass die Borrow-Prüfung zur Compile-Time der beste Ansatz ist, aber die Implementierungskomplexität hoch ist und sie kurzfristig nicht implementiert wird. Derzeit verwendet Inko immer noch eine Strategie, die keine Neuzuweisung von Feldern von Inline-Typen zulässt.

Entwicklung

arXivLabs: Experimentelle Projekte mit Community-Mitarbeitern

2025-02-07
arXivLabs: Experimentelle Projekte mit Community-Mitarbeitern

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

LLM-Modell unter 100 MB jetzt per pip installierbar: Vorstellung von llm-smollm2

2025-02-07
LLM-Modell unter 100 MB jetzt per pip installierbar: Vorstellung von llm-smollm2

Ein neues Plugin, llm-smollm2, enthält ein quantisiertes SmolLM2-135M-Instruct LLM-Modell von unter 100 MB, wodurch es per pip installierbar ist. Der Autor beschreibt den Erstellungsprozess, von der Suche nach einem geeigneten Modell unter 100 MB (begrenzt durch die Größenbeschränkungen von PyPI) bis zur Unterdrückung der ausführlichen Protokollierung von llama-cpp-python und der Verpackung für PyPI. Obwohl die Fähigkeiten des Modells begrenzt sind, wird es als wertvolles Lernwerkzeug zum Verständnis der LLM-Technologie präsentiert.

Entwicklung Modellquantisierung

Realitätsnahe Terrain- und Hydrologiegenerierung mit partikelbasierter hydraulischer Erosion

2025-02-07

Dieser Artikel beschreibt eine partikelbasierte Simulationstechnik für hydraulische Erosion, die realistische Terrains mit Flüssen, Seen und anderen hydrologischen Merkmalen generiert. Durch Erweiterung eines vorherigen partikelbasierten Erosionsmodells und Einführung von „Fluss-Maps“ und „See-Maps“ zur Verfolgung des Wasserflusses und der Wasseransammlung simuliert das System Flussverlagerung, Wasserfallbildung, Überschwemmungsgebiete und andere geografische Phänomene. Die Methode ist einfach, effizient und eng mit dem Terrain gekoppelt, wodurch hochrealistische Landschaften entstehen, die auch bei Echtzeit-Rendering flüssig bleiben.

Kubernetes: Eine überraschende Analogie zu Entity-Component-Systemen

2025-02-07

Dieser Blogbeitrag enthüllt eine verblüffende Ähnlichkeit zwischen Kubernetes' Ressourcenmanagementmodell und dem Entity-Component-System (ECS)-Muster, das häufig in der Spieleentwicklung verwendet wird. Kubernetes-Objekte spiegeln ECS-Entitäten wider und besitzen eindeutige Kennungen; die Abschnitte `spec` und `status` entsprechen Komponenten, die den gewünschten und den beobachteten Zustand darstellen; während Controller, Scheduler und Kubelet als Systeme fungieren und Unterschiede zwischen gewünschtem und tatsächlichem Zustand in Einklang bringen. Diese architektonische Ähnlichkeit verdeutlicht das Design von Kubernetes und bietet neue Einblicke in seine deklarative Natur.

Entwicklung

Linux-Kernel-Maintainer Hector Martin tritt zurück

2025-02-07

Hector Martin, ein wichtiger Entwickler des Linux-Kernels, hat seinen Rücktritt von der Kernel-Wartung angekündigt und sich insbesondere als Maintainer für die Apple/ARM-Plattform entfernt. Er gab einen Vertrauensverlust in den Kernel-Entwicklungsprozess und das Community-Management an. Zukünftig könnte er zwar selbständig Patches einreichen, sein Weggang löst jedoch eine Diskussion über das Community-Management des Linux-Kernels aus.

Entwicklung Community-Management

Google reCAPTCHA vs. DSGVO: Datenschutzrisiken und Lösungen

2025-02-07

Googles reCAPTCHA-Technologie, die verwendet wird, um Website-Besucher als Menschen zu identifizieren, steht im Konflikt mit der DSGVO. reCAPTCHA analysiert das Benutzerverhalten (Mausbewegungen, Tastatureingaben usw.) und sammelt personenbezogene Daten wie IP-Adressen und Browserinformationen, um die Identität des Benutzers zu bewerten. Da keine ausdrückliche Zustimmung eingeholt wird, müssen Website-Betreiber die Verwendung von reCAPTCHA rechtfertigen, was angesichts der undurchsichtigen Datenpraktiken von Google und der nicht quantifizierbaren Datenschutzrisiken schwierig ist. Der Artikel empfiehlt die Verwendung datenschutzfreundlicherer Alternativen und betont die Bedeutung von Transparenz, der Einholung der Zustimmung des Benutzers und der Datenminimierung.

Entwicklung

Der 'Null-Garbage-Collector' in Raketen-Software: Speicherlecks? Kein Problem!

2025-02-07
Der 'Null-Garbage-Collector' in Raketen-Software: Speicherlecks? Kein Problem!

Ein Entwickler berichtet von einer cleveren Anwendung eines 'Null-Garbage-Collectors' in Raketensoftware. Aufgrund der begrenzten Flugzeit und des reichlich vorhandenen Hardwarespeichers waren Speicherlecks im Programm kein Problem. Die Ingenieure berechneten das potenzielle Speicherleck während des Fluges und fügten die doppelte Speichermenge hinzu, um sicherzustellen, dass das Programm nicht abstürzt, bevor die Mission abgeschlossen ist. Dieser Ansatz nutzte die Laufzeitbeschränkungen des Programms intelligent aus und löste das Problem der Speicherlecks effektiv: eine Art 'ultimative Garbage Collection'.

Entwicklung Speicherlecks

HTML-Leerzeichen: Ein tiefer Einblick in das Chaos und mögliche Lösungen

2025-02-07
HTML-Leerzeichen: Ein tiefer Einblick in das Chaos und mögliche Lösungen

Dieser Artikel befasst sich eingehend mit den Komplexitäten der Leerzeichenbehandlung in HTML. Anhand zahlreicher Beispiele werden die verschiedenen Regeln zur Behandlung von Leerzeichen in HTML erläutert, darunter die Unterschiede zwischen Inline- und Blockelementen, `

`-Tags und der CSS-Eigenschaft `white-space`, und wie diese zu unvorhersehbaren Rendering-Ergebnissen führen. Der Artikel analysiert auch die Herausforderungen, denen automatische Formatierungswerkzeuge, Content-Management-Systeme und Minifizierungswerkzeuge bei der Behandlung von HTML-Leerzeichen gegenüberstehen. Es wird eine mögliche Lösung vorgeschlagen: die Verwendung einer Anführungszeichen-Syntax, um zwischen Code-Leerzeichen und für den Benutzer sichtbaren Leerzeichen zu unterscheiden, obwohl anerkannt wird, dass dies eine massive Änderung darstellen würde. Abschließend schlägt der Autor praktische Tipps zur Minderung von Problemen bei der Behandlung von HTML-Leerzeichen vor und schlägt die Hinzufügung einer neuen HTML-Entität `&ncsp;` vor, um ein nicht kollabierendes Leerzeichen darzustellen.

Entwicklung Leerzeichen

Google Android XR Kamerazugriff: So einfach wie auf Ihrem Smartphone

2025-02-07
Google Android XR Kamerazugriff: So einfach wie auf Ihrem Smartphone

Dieser Artikel enthüllt Googles Ansatz zum Kamerazugriff in seinem Android XR-System. Ähnlich wie bei Smartphones können Entwickler mit der Benutzerberechtigung auf Kameradaten zugreifen und standardmäßige Android-Kamera-APIs (wie CameraX) für Bildströme verwenden. Während die Frontkamera zugänglich ist (zeigt einen Benutzeravatar an), liefert die Rückkamera ein rekonstruiertes Bild, nicht den Rohdatenstrom. Dies spiegelt Apples Vision Pro-Strategie wider und gewährleistet eine nahtlose Portierung von Android-Apps auf XR-Geräte und konsistente Berechtigungsanforderungen zwischen Smartphones und Headsets. Android XR befindet sich derzeit in der Vorschau, daher sind zukünftige Änderungen möglich.

Entwicklung Kamera Zugriff

Stack Overflow's KI-Antwort-Experiment: Ein Rezept für Katastrophen?

2025-02-07
Stack Overflow's KI-Antwort-Experiment: Ein Rezept für Katastrophen?

Stack Overflows geplantes Experiment zur Integration von KI-generierten Antworten hat eine starke negative Reaktion der Community hervorgerufen. Der Autor argumentiert, dass das Experiment auf einer fehlerhaften Prämisse basiert: dem Versuch, qualitativ hochwertige Antworten von menschlichen Experten durch KI zu ersetzen. Dies wird nicht nur Zeit und Geld verschwenden, sondern auch den Kernwert der Plattform – zuverlässige Antworten von Experten – beschädigen. Der Artikel beschreibt detailliert die potenziellen negativen Auswirkungen des Experiments, darunter: erhöhte Arbeitsbelastung für Moderatoren, verminderte Beteiligung von Experten, Unfähigkeit, die Genauigkeit der Antworten zu gewährleisten, und ein möglicher Abwanderung von Nutzern. Der Autor kommt zu dem Schluss, dass der potenzielle Nutzen dieses Experiments extrem gering ist, während die Risiken sehr hoch sind, was letztendlich zu einem kontraproduktiven Ergebnis führt, das den Ruf und die Vitalität der Stack Overflow-Community schädigt.

Entwicklung

arXivLabs: Gemeinschaftsprojekt für neue arXiv-Funktionen

2025-02-07
arXivLabs: Gemeinschaftsprojekt für neue arXiv-Funktionen

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, Gemeinschaft, Exzellenz und Datenschutz der 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 Gemeinschaftsprojekt
1 2 166 167 168 170 172 173 174 214 215