Warum ich meinen Steam-Account nach 20 Jahren gelöscht habe

2025-07-09
Warum ich meinen Steam-Account nach 20 Jahren gelöscht habe

Ein langjähriger PC-Spieler hat seinen Steam-Account nach 20 Jahren gelöscht, da der Steam-Client immer aufgeblähter wird, DRM-Versprechen gebrochen wurden, was zu Inkompatibilität mit älterer Hardware führt, und proprietäre APIs die Spielkompatibilität und -funktionen behindern. Der Autor vergleicht Steam mit Epic, Microsoft Store und GOG und argumentiert, dass diese Alternativen ein besseres DRM und eine bessere Benutzererfahrung bieten. Abonnementdienste oder der Kauf bei anderen Plattformen werden als Alternativen für eine bessere Spielerfahrung und Software-Eigentumsrechte vorgeschlagen.

Mehr lesen
Spiele

Die ständig wachsende Größe großer Sprachmodelle

2025-07-02
Die ständig wachsende Größe großer Sprachmodelle

Dieser Artikel verfolgt die Entwicklung der Größe großer Sprachmodelle (LLMs). Von 1,61 Milliarden Parametern bei GPT-2 bis zu 2 Billionen Parametern bei Llama-4 ist die Modellgröße exponentiell gewachsen. Der Artikel beschreibt detailliert die Parameteranzahl, die Größe der Trainingsdaten und die architektonischen Merkmale wichtiger Modelle, darunter dichte Modelle und Mixture-of-Experts (MoE)-Modelle. Die Entstehung von MoE-Architekturen hat es ermöglicht, größere Modelle zu trainieren und zu verwenden. Das Wachstum der Modellgröße hat jedoch auch neue Herausforderungen mit sich gebracht, wie z. B. Datenverzerrungen und die Interpretierbarkeit von Modellen. Der Artikel schließt mit der Erforschung zukünftiger Entwicklungen von LLMs und fordert mehr Forschung, um sich auf die Entwicklung reiner Textfortsetzungs-Engines zu konzentrieren, anstatt nur nach hohen Punktzahlen bei Benchmarks zu streben.

Mehr lesen

S-expr: Ein besonderer S-Ausdruck-Parser

2025-06-18
S-expr: Ein besonderer S-Ausdruck-Parser

S-expr ist eine Bibliothek zum Parsen von S-Ausdrücken mit einzigartigen Erweiterungen der S-Ausdruck-Syntax. Sie unterstützt einzeilige und mehrzeilige Zeichenketten und Kommentare und führt ein neuartiges Konzept namens "transponierte Blöcke" ein. Transponierte Blöcke ermöglichen das Schreiben von Code mit vertauschten Zeilen und Spalten, wodurch die Lesbarkeit komplexer, verschachtelter Ausdrücke verbessert wird. Dieses Design zielt darauf ab, die Einfachheit von S-Ausdrücken mit einer verbesserten Lesbarkeit und Ausdrucksfähigkeit des Codes in Einklang zu bringen. Obwohl komplexer als traditionelles Lisp, priorisiert es das Gleichgewicht zwischen Einfachheit und Benutzerfreundlichkeit.

Mehr lesen

Implementierung komplexer Zahlen und FFT mit nur Datentypen (keine Gleitkommazahlen)

2025-05-25
Implementierung komplexer Zahlen und FFT mit nur Datentypen (keine Gleitkommazahlen)

Dieser Artikel präsentiert eine Methode zur Implementierung komplexer Zahlen und der schnellen Fourier-Transformation (FFT) unter Verwendung nur algebraischer Datentypen, ohne auf Gleitkommazahlen angewiesen zu sein. Der Autor beginnt damit, die Vorteile der Verwendung algebraischer Datentypen für die numerische Darstellung zu erläutern und hebt Ineffizienzen in traditionellen FFT-Implementierungen hervor. Anschließend wird eine prägnante und elegante Implementierung von ganzen Zahlen und komplexen Zahlen unter Verwendung nur algebraischer Datentypen gezeigt. Schließlich wird eine rein funktionale Implementierung der komplexen FFT, ebenfalls ohne Gleitkommazahlen, abgeleitet. Dies wird durch die Verwendung einer balancierten ternären Darstellung für ganze Zahlen und die Erweiterung gaußscher Zahlen zur Darstellung komplexer Zahlen erreicht, wodurch die fusionhindernden Effekte der Gleitkommaarithmetik geschickt umgangen werden und so die Effizienz des Algorithmus verbessert wird.

Mehr lesen

Optimierung von Cloudflare D1-Datenbankabfragen

2025-04-07
Optimierung von Cloudflare D1-Datenbankabfragen

Ein Frontend-Entwickler stieß bei der Verwendung von Cloudflare Workers und der D1-Datenbank auf Performance-Engpässe. Durch die Überwachung des D1-Dashboards, die Überprüfung von Abfrageanweisungen und die Analyse der Anzahl gelesener/geschriebener Zeilen identifizierte er mehrere Schlüsselprobleme: langsame Einzelabfragen, ineffizientes Batch-Schreiben, unnötige Zeilenlesungen aufgrund der Einbeziehung von IDs in Update-Operationen, vollständige Tabellenscans bei Zähl-Abfragen, kartesische Produktexplosionen bei Mehrtabellenjoins und suboptimale Masseninsertionen. Die Lösungen umfassten die Verwendung von D1-Batch-Operationen, das Ausschließen von IDs aus Updates, die Implementierung einer Cursor-basierten Paginierung, die Aufteilung von Mehrtabellen-Join-Abfragen und die Optimierung von Masseninsertionsanweisungen. Diese Optimierungen verbesserten die Abfrageleistung erheblich und reduzierten die Ausführungszeit in einigen Fällen von 78 ms auf 14 ms. Die Erfahrung unterstreicht die Bedeutung kontinuierlicher Überwachung, iterativer Optimierung und der entscheidenden Unterschiede zwischen Server-seitigen und Client-seitigen Performance-Problemen.

Mehr lesen
Entwicklung

Vanity SHA-1 Generator: Ein cleverer Ansatz zur Groß-/Kleinschreibung

2025-03-31
Vanity SHA-1 Generator: Ein cleverer Ansatz zur Groß-/Kleinschreibung

Dieser Code versucht, einen SHA-1-Hash zu generieren, der dem Zielpräfix "20250327" entspricht, indem er die Groß-/Kleinschreibung von Wörtern in einem Eingabetext manipuliert. Er analysiert den Text, identifiziert veränderbare Wörter und iteriert dann über alle möglichen Groß-/Kleinschreibungskombinationen, berechnet den Hash und vergleicht ihn mit dem Ziel. Wenn eine Übereinstimmung gefunden wird, wird der geänderte Text in eine Datei geschrieben. Das Programm demonstriert einen cleveren Brute-Force-Ansatz, der Groß-/Kleinschreibungsvariationen verwendet, um zu versuchen, ein bestimmtes Hash-Präfix zu generieren, und zeigt ein Verständnis von Hash-Algorithmen und Kombinatorik.

Mehr lesen

Xfinity XB3 Hardware-Mod: WiFi deaktivieren und 2 Watt sparen

2025-03-30
Xfinity XB3 Hardware-Mod: WiFi deaktivieren und 2 Watt sparen

Ein Benutzer hat sein Xfinity XB3 Modem modifiziert, um Strom zu sparen. Das XB3, das mit dem günstigeren Xfinity NOW Service von Comcast angeboten wird, verbraucht 14,9 Watt. Durch das Zerlegen des Modems und das Erden des EN-Pins des TPS54328 Spannungsreglers, hat der Benutzer das WiFi deaktiviert und den Stromverbrauch auf 12,5 Watt reduziert – eine Ersparnis von 2 Watt. Obwohl die Administrationsseite nach dem Booten kurzzeitig nicht erreichbar ist, bleibt die Netzwerkfunktionalität erhalten.

Mehr lesen
Hardware Stromersparnis

Ubuntu-Pakete um 90 % schneller machen: Eine Geschichte von Neukompilierung und Allokatoren

2025-03-19
Ubuntu-Pakete um 90 % schneller machen: Eine Geschichte von Neukompilierung und Allokatoren

Dieser Beitrag beschreibt, wie die Neukompilierung des von Ubuntu verwendeten jq-Quellpakets zu einer erstaunlichen Performance-Verbesserung von 90 % geführt hat. Der Autor hat Benchmarks mit einer 500 MB großen GeoJSON-Datei durchgeführt. Das bloße Neukompilieren des Pakets führte zu einer kleinen, aber spürbaren Beschleunigung. Weitere Optimierungen beinhalteten die Verwendung des clang-Compilers mit besseren Flags (-O3, -flto, -DNDEBUG), was zu einer Steigerung von 20 % führte. Der Wechsel zum TCMalloc-Allokator verbesserte die Performance um weitere 40 %. Schließlich führte die Verwendung von mimalloc, entweder dynamisch geladen oder in den Neukompilierungsprozess integriert, zu der bemerkenswerten Geschwindigkeitsverbesserung von 90 %. Das mit mimalloc neu kompilierte jq ist in verschiedenen Tests fast doppelt so schnell wie das Standard-Ubuntu-Paket.

Mehr lesen
Entwicklung Compiler-Optimierung

Eine hierarchische Betrachtung von Programmiersprachen und mehrsprachiger Entwicklung

2025-03-16
Eine hierarchische Betrachtung von Programmiersprachen und mehrsprachiger Entwicklung

Der Autor schlägt eine vierstufige Hierarchie zur Klassifizierung von Programmiersprachen vor, basierend auf Typisierung und Kompilierung: interpretiert, dynamisch typisiert (z. B. JavaScript), interpretiert, statisch typisiert (z. B. TypeScript), kompiliert mit automatischer Speicherverwaltung (z. B. Go) und kompiliert mit manueller Speicherverwaltung (z. B. Rust). Der Autor argumentiert, dass die Wahl der richtigen Stufe für unterschiedliche Bedürfnisse entscheidend ist und schlägt einen Sprachensatz vor, der aus Rust, RustGC (ein Hybrid der Stufe 2/3) und RustScript (Stufe 4) besteht, um die Entwicklungseffizienz und die Code-Performance zu verbessern. Dieser Satz teilt die Syntax und ermöglicht nahtlose Aufrufe zwischen verschiedenen Stufen, wodurch Probleme bei der Wartung verschiedener Toolsets und der Mitarbeiterschulung behoben werden. Das endgültige Ziel ist die Verbesserung der Programmier-Effizienz und der Code-Qualität.

Mehr lesen

Svelte5: Nicht so gut wie angepriesen?

2025-03-08
Svelte5: Nicht so gut wie angepriesen?

Die Veröffentlichung von Svelte5 pries sein reaktives Zustandssystem „Runes“ als große Verbesserung an. Dieser Autor fand jedoch in realen Projekten mehrere Einschränkungen. Runes sind auf Svelte-Komponenten oder .svelte.ts-Dateien beschränkt, erfordern eine Kapselung des Zustands in Funktionen für Reaktivität und bieten nur unvollständige Unterstützung für Klassen. Die Template-Funktionen von Svelte haben keine JavaScript-Äquivalente, was das Testen von bindbaren Eigenschaften umständlich macht. Formularkomponenten sind standardmäßig unkontrolliert, was zu potenziellen Problemen führen kann. Obwohl Svelte5 versucht, React/Vue nachzuahmen, bleibt es in Bezug auf Benutzerfreundlichkeit und Funktionsumfang hinter den Erwartungen zurück, was den Autor dazu veranlasste, SolidJS als überlegene Alternative in Betracht zu ziehen.

Mehr lesen

Entwicklung einer Mikro-Bibliothek für asynchrone Ereignisschleifen von Grund auf

2025-02-28
Entwicklung einer Mikro-Bibliothek für asynchrone Ereignisschleifen von Grund auf

Dieses Projekt implementiert eine minimale, aber funktionsreiche Bibliothek für asynchrone Ereignisschleifen von Grund auf neu, zu Bildungszwecken. Es demonstriert die Kernkonzepte der asynchronen Programmierung: Aufgabenplanung und -verwaltung, I/O-Multiplexing mit nicht blockierenden Sockets, Timeout- und Sleep-Funktionalität, Aufgabenabbruch und coroutinbasierte Parallelität. Die Bibliothek verwendet Python's generatorbasierte Coroutinen und das `select`-Modul für I/O-Multiplexing und bietet ein vereinfachtes Modell, wie moderne asynchrone Frameworks wie `asyncio` intern funktionieren. Erfahren Sie die Magie hinter `await`, wie `yield from` funktioniert und wie Coroutinen mit der Ereignisschleife kommunizieren.

Mehr lesen

Roc-Compiler: Umschreibung von Rust auf Zig

2025-02-04
Roc-Compiler: Umschreibung von Rust auf Zig

Das Team des Compilers der Programmiersprache Roc hat ein bedeutendes Projekt in Angriff genommen: die Umschreibung ihres 300.000 Zeilen umfassenden Rust-Compilers in Zig. Dies ist keine einfache Sprachportierung, sondern eine strategische Entscheidung zur Behebung der langsamen Kompilierzeiten von Rust und der angesammelten technischen Schulden. Die Umschreibung wird den Parser, Formatierung, Kanonisierung, Dokumentationsgenerator, Typrückschluss und die LLVM-Codegenerierung verbessern. Ein Interpreter soll als Entwicklungs-Backend verwendet werden, um den Entwicklungs-Feedback-Loop zu beschleunigen. Das endgültige Ziel ist eine schnellere Kompilierung, verbesserte Wartbarkeit und die Veröffentlichung von Roc 0.1.0.

Mehr lesen
Entwicklung Umschreibung

LLMs scheitern an einem einfachen Schach-Puzzle: Ein kurioser Test

2025-01-26
LLMs scheitern an einem einfachen Schach-Puzzle: Ein kurioser Test

Der Autor testet verschiedene neue LLMs mit einem einfachen Schach-Puzzle, das Unterpromotion und die 50-Züge-Regel beinhaltet. Trotz Anleitung schaffen es die meisten LLMs nicht, es zu lösen, was die Grenzen des logischen Denkens und domänenspezifischen Wissens aufzeigt. Dieser schnelle Test dient als Benchmark und regt Diskussionen darüber an, ob LLMs jemals Schach auf Meisterniveau spielen können, ohne speziell dafür trainiert zu werden. Die Einfachheit des Puzzles und der Fokus auf eine weniger verbreitete Technik machen es zu einer aufschlussreichen Untersuchung der LLM-Fähigkeiten.

Mehr lesen
KI

Sophitizierter Phishing-Versuch: Knapp dem Hack entgangen

2025-01-24
Sophitizierter Phishing-Versuch: Knapp dem Hack entgangen

Dieser detaillierte Bericht beschreibt einen hochentwickelten Phishing-Angriff, bei dem sich der Angreifer als Google-Mitarbeiter ausgab und per Telefon und E-Mail versuchte, den Autor zum Zurücksetzen seines Kontos zu bewegen. Durch die Ausnutzung einer Sicherheitslücke in Google Workspace und die Verwendung der g.co-Domain ahmte der Angreifer den Google-Support täuschend echt nach und wäre beinahe erfolgreich gewesen. Der Autor deckte den Betrug letztendlich auf und teilt seine Erfahrung als Warnung, um die Bedeutung von Cybersicherheitsbewusstsein und Wachsamkeit gegenüber fortschrittlichen Phishing-Techniken zu unterstreichen.

Mehr lesen
Technologie

0-Click-Entanonimisierung: Angriff auf Signal, Discord und Hunderte weiterer Plattformen

2025-01-21
0-Click-Entanonimisierung: Angriff auf Signal, Discord und Hunderte weiterer Plattformen

Ein 15-jähriger Schüler, Daniel, hat eine kritische 0-Click-Entanonimierungsattacke entdeckt, die den Caching-Mechanismus von Cloudflare ausnutzt. Diese Schwachstelle ermöglicht es Angreifern, den Standort von Nutzern innerhalb eines Radius von 250 Meilen zu bestimmen, indem sie eine schädliche Payload an verwundbare Anwendungen wie Signal, Discord und Hunderte anderer senden. Der Angriff erfordert keine Benutzerinteraktion und kann sogar über Push-Benachrichtigungen erfolgen. Daniel entwickelte ein Tool namens Cloudflare Teleport, um die Schwachstelle zu demonstrieren. Obwohl er die Schwachstelle verantwortungsvoll gemeldet hat, waren die Reaktionen der betroffenen Unternehmen weitgehend unbefriedigend. Dies unterstreicht die potenziellen Sicherheitsrisiken, die im CDN-Caching liegen, und betont die Bedeutung der Sensibilisierung für den Datenschutz der Benutzer.

Mehr lesen
Technologie Schwachstelle

Der Niedergang von Stack Overflow: Der Einfluss von ChatGPT und eine ungewisse Zukunft

2025-01-08
Der Niedergang von Stack Overflow: Der Einfluss von ChatGPT und eine ungewisse Zukunft

Eine Datenanalyse auf GitHub zeigt einen erschreckenden Rückgang von 70,7 % der neuen Fragen auf Stack Overflow von März 2023 bis Dezember 2024, von 87.105 auf 25.566. Dies korreliert stark mit dem Aufstieg von ChatGPT; seit dem Start gab es auf Stack Overflow fast 83.000 Fragen weniger. Der Autor, ein Top-Contributor auf Stack Overflow, beschreibt seine eigene Erfahrung, wie gut formulierte Fragen schnell geschlossen wurden, was auf einen wichtigen Faktor für den Niedergang der Plattform hindeutet. Der drastische Rückgang des Fragenvolumens deutet auf eine besorgniserregende Entwicklung hin, die die Niveaus von 2009 kurz nach dem Start widerspiegelt und auf eine potenzielle Lebensdauer von weniger als einem Jahr hindeutet.

Mehr lesen
Entwicklung Plattform-Niedergang

Operativer PGP: Ein Leitfaden für sichere E-Mail-Kommunikation

2024-12-24
Operativer PGP: Ein Leitfaden für sichere E-Mail-Kommunikation

Dieser Leitfaden erklärt nicht die Installation oder Verwendung von PGP, sondern die sichere Anwendung. Er betont die operative Sicherheit über die reine E-Mail-Verschlüsselung hinaus und umfasst Themen wie E-Mail-Verfassen, Speicherung, Schlüsselverwaltung etc. Empfohlen wird das Verfassen von E-Mails in einem Texteditor, das Vermeiden des Speicherns von Entwürfen in E-Mail-Clients; häufiges Generieren und Löschen von Schlüsseln; das Vermeiden der Veröffentlichung von Schlüsseln auf Keyservern; das Leeren von E-Mail-Betreffen zur Minimierung von Metadatenlecks; die Verwendung der Option `gpg --throw-keys` während der Verschlüsselung; die Aktivierung der Verschlüsselung standardmäßig und die explizite Wahl, ob E-Mails signiert werden sollen. Ziel ist die Maximierung des Sicherheitspotenzials von PGP.

Mehr lesen

SQLite-basierter Key-Value-Store mit JS-ähnlicher Objektmanipulation und automatischer JSON-Serialisierung

2024-12-22
SQLite-basierter Key-Value-Store mit JS-ähnlicher Objektmanipulation und automatischer JSON-Serialisierung

Ein GitHub-Projekt stellt einen Key-Value-Store vor, der auf SQLite basiert und eine JavaScript-ähnliche Objektmanipulation mit automatischer JSON-Serialisierung ermöglicht. Die Funktion `createDatabaseClient` erstellt einen parallelen Client mit separaten Lese- (`rdr`) und Schreibkomponenten (`wtr`). Der Schreiber verwendet Proxies für partielle JSON-Updates, während der Leser einfache JavaScript-Objekte zurückgibt. Umfassende Tests decken grundlegende CRUD-Operationen, verschachtelte Updates, Löschungen und Array-Manipulationen ab.

Mehr lesen

Ein merkwürdiger Fall von langsamen USD-Import in Blender

2024-12-22
Ein merkwürdiger Fall von langsamen USD-Import in Blender

Ein Entwickler stieß auf unerwartet lange Importzeiten beim Importieren von USD-Szenen in Blender. Das Profiling ergab, dass der Engpass in Blenders interner ID-Sortierfunktion `id_sort_by_name` lag. Diese Funktion, die eine Komplexität von O(N) haben sollte, verschlechterte sich auf O(N²) aufgrund des Benennungsschemas in den USD-Dateien. Durch Änderung der Benennungskonvention und Optimierung des Sortieralgorithmus reduzierte der Entwickler die Importzeiten von 4 Minuten und 40 Sekunden auf 8 Sekunden für kleinere Dateien. Das zugrunde liegende Problem liegt jedoch in Blenders Anforderung nach sortierten IDs, was zu Vorschlägen führt, die verkettete Liste durch einen Trie-Baum oder eine Hash-Tabelle zu ersetzen. Diese Optimierung unterstreicht eine häufige Herausforderung bei der Leistungsoptimierung: die Identifizierung und Behebung unerwarteter Komplexität.

Mehr lesen
Entwicklung

QEMU erhält Vulkan-Beschleunigung durch VirtIO GPU Treiber-Update

2024-12-12
QEMU erhält Vulkan-Beschleunigung durch VirtIO GPU Treiber-Update

QEMU Version 9.2.0 und höher unterstützt jetzt Vulkan-Beschleunigung für VirtIO-GPU dank der Venus-Patches. Dies stellt einen bedeutenden Fortschritt in der Vulkan-Grafikrendering für QEMU-Virtual Machines dar. Der Artikel beschreibt detailliert den Einrichtungsprozess, einschließlich der Installation der notwendigen Pakete (Linux-Kernel 6.13+, QEMU 9.2.0+, Vulkan-Treiber usw.), dem Kompilieren von QEMU aus dem Quellcode und dem Erstellen eines VM-Images. Obwohl virt-manager derzeit keine Vulkan-Konfiguration unterstützt, bieten Befehlszeilenparameter eine Problemumgehung. Der Artikel enthält auch Tipps zur Fehlerbehebung und Hinweise auf aktuelle Einschränkungen in virt-manager und libvirt.

Mehr lesen
Entwicklung