Mozilla hat Firefox 150.0.2 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion. Außerdem wurden zahlreiche Sicherheitslücken geschlossen.
Die Raspberry Pi Foundation hat ihrer Remote-Zugriffslösung Raspberry Pi Connect ein umfangreiches Update spendiert. Im Mittelpunkt steht dabei vor allem ein neues Sicherheitsfeature: Administratoren können künftig eine Zwei-Faktor-Authentifizierung (2FA) für sämtliche Mitglieder ihrer Organisation verpflichtend aktivieren.
Da ist Coding mit KI frisch aus der Druckerei ausgeliefert, schon taucht ein neues Tool auf, das mehr Effizienz verspricht. Graphify erstellt einen sogenannten Knowledge Graph, also eine interne Datenbank über die Verknüpfungen zwischen Komponenten (Text, Code, Bilder, was auch immer) eines Projekts. In der Folge können KI-Tools wie Claude Code auf diese Datenbank zugreifen und sich damit rascher und vor allem Token-sparender im Projekt orientieren. Graphify funktioniert besonders gut für ungeordnete Verzeichnisse, in denen Sie PDFs, Screenshots etc. zu einem Thema ablegen, um diese Informationen später wieder zu nutzen.
Aktualisiert 10.5.2026, 23.6.2026
Installation
Graphify ist ein Python-Programm (Open Source, MIT-Lizenz), das Sie am besten mit uv tool install auf Ihrem Rechner einrichten. (uv ist ein moderner Python-Modulmanager, über den ich demnächst hier schreiben will.) Beachten Sie, dass der Paketname graphifyy mit Doppel-Y lautet, während das Kommando graphify heißt.
uv tool install graphifyy installiert das Programm. Sofern PATH das Verzeichnis .local/bin enthält, kann graphify anschließend sofort gestartet werden. graphify install richtet Skill-Dateien für die auf Ihrem Rechner gefundenen KI-Tools (in meinem Fall: Claude) ein.
$ uv tool install graphifyy
$ graphify install
skill installed -> /Users/kofler/.claude/skills/graphify/SKILL.md
CLAUDE.md -> created at /Users/kofler/.claude/CLAUDE.md
Done. Open your AI coding assistant and type:
/graphify .
Verwendung
Im Projektverzeichnis starten Sie nun das KI-Tool Ihrer Wahl (in meinem Fall: Claude Code). Dort steht Graphify jetzt als Skill zur Verfügung. Einfach
/graphify .
analysiert das Projektverzeichnis und erstellt nach vielen Rückfragen das Verzeichnis graphify_out. Das dauert geraume Zeit und verbrennt etliche Tokens. Das Verzeichnis enthält die folgenden Dateien:
ls -l graphify-out/
drwxr-xr-x 4 kofler staff 128 7 Mai 09:54 cache/
-rw-r--r-- 1 kofler staff 213 7 Mai 10:10 cost.json
-rw-r--r-- 1 kofler staff 8523 7 Mai 10:10 GRAPH_REPORT.md
-rw-r--r-- 1 kofler staff 139973 7 Mai 10:10 graph.html
-rw-r--r-- 1 kofler staff 137091 7 Mai 10:09 graph.json
-rw-r--r-- 1 kofler staff 7912 7 Mai 10:10 manifest.json
Ich habe meine Tests anhand einer Swift-App mit ca. 2000 Zeilen Code in diversen Dateien durchgeführt. Die Ergebnisse sehen eindrucksvoll aus, der unmittelbare Erkenntnisgewinn war aber — zumindest bei diesem Projekt — überschaubar.
Der anklickbare »Knowledge Graph«Kurzfassung der Projektzusammenhänge im Markdown-Format
Wenn Sie Änderungen in der Code-Basis oder in Ihren Dateien durchführen, aktualisieren Sie den Knowledge Graph:
/graphify . --update # merge changed content into existing graph
Der Knowledge Graph kann jetzt die Grundlage für Analysen mit /graphify explain oder graphiy query sein (Ausgabe etwas gekürzt):
/graphify explain "the sync process"
Here's what the graph tells us about the sync process, grounded in the
extracted edges:
The sync process is orchestrated by ShoppingViewModel.pullMergePushSave
(RestShopping.swift:125-175), which implements the Pull-Merge-Push lifecycle
documented in CLAUDE.md. The graph found 16 nodes directly connected to this
concept.
The three phases (all EXTRACTED edges):
1. Pull — apiPullItems (RestShopping.swift:62-93) fetches items from the
remote REST API since the last sync timestamp.
2. Merge — mergeItems (RestShopping.swift:178-193) resolves conflicts using
Timestamp-Wins: whichever version of an item has the newer updatedAt
wins. Two design rationale nodes connect here:
- Timestamp-Wins Conflict Resolution → mergeItems [EXTRACTED]
- Soft Delete Pattern → ShoppingItem [EXTRACTED] — items are never truly
removed; isDeleted = true propagates deletions to other devices through
the sync
3. Push — apiPushItems (RestShopping.swift:96-120) uploads the merged state
back to the server.
4. Persist — saveLocally (ViewModel.swift:172-178) writes the final state to
the local JSON file. mergeItems then calls replaceItem to update the
ViewModel's live state.
Wire format bridge: ItemDTO (RestShopping.swift:9-53) shares data with
ShoppingItem [EXTRACTED] — it translates between the app's model and the
API's integer-boolean/ISO 8601 wire format.
Trigger points: ContentView and StatusView both connect to pullMergePushSave
in the graph. ContentView runs it via .task, .onChange(scenePhase), and a
40-second timer. StatusView (in Settings) provides a manual
trigger. setupNewFamily and joinFamily also call pullMergePushSave as a final
step after family registration.
The most interesting angle here: the Soft Delete pattern is the load-bearing
coupling between ShoppingItem (the model) and the sync logic — if you ever
changed ShoppingItem to hard-delete, mergeItems would silently stop
propagating deletions. Want me to trace the path from ShoppingItem.isDeleted
through to what happens when a remote device pulls?
/graphify query "Where in code is the Category class used?
Could we drop the @Observable attribute?"
Here's what the graph found — and where its limits are:
Where Category is used (from the graph):
The BFS found 10 nodes. The confirmed connections [EXTRACTED]:
- Category → shares_data_with → ShoppingViewModel (ViewModel.swift:1-181) —
the ViewModel holds the categories: [Category] array
- Category.predefinedCategories (Category.swift:24-37) ↔ ShoppingViewModel —
the ViewModel calls this at init to populate its categories
- .predefinedCategories() → calls → Color — each category has a color
assigned
What the graph is missing: There are no direct edges from Category to the
view layer (CategoriesView, CategoryButton, EditItemView,
CategoryRadioButton). Those views access categories through vm.categories and
mutate category.isSelected/category.isExpanded directly — but the graph
didn't capture these view→Category property access edges since they go
through the ViewModel and aren't explicit call-site imports.
On dropping @Observable:
The graph can't answer this definitively — it would require the actual
property mutation sites. But from the CLAUDE.md rationale node captured in
the graph: "Mutable reference-type state (isSelected, isExpanded) is mutated
directly from views." That design decision is precisely why @Observable is
needed. Without it, those direct mutations on the reference type wouldn't
trigger SwiftUI view updates — CategoriesView and EditItemView would stop
reacting to category selection changes.
Verdict from the graph: @Observable cannot be safely dropped without a larger
refactor (e.g., moving isSelected/isExpanded into the ViewModel as @State or
@Published backing). The graph confirms the coupling exists; reading
Category.swift:4-112 directly would show exactly which properties are var vs
let.
Die Website preist den größten Vorteil von Graphify an, dass derartige Abfragen auf der Basis des lokalen Knowledge Graphs nun wesentlich weniger Token verbrauchen als wenn das KI-Tool mit find und grep die Codebasis durchsucht und (immer wieder neu) analysiert. Bei meinen Tests ließ sich das Ausmaß der Ersparnis schwer messen.
Persönliche Einschätzung
Die Idee von Graphify ist gut. Allerdings wirkt Graphify ein wenig wie ein Fremdkörper innerhalb von Claude Code. Nur /graphify-Kommandos berücksichtigen die Graph-Knowledge-Datenbank. Die Skill-Datei ist mit über 1000 Zeilen und einer Menge eingebetteten Code auch eher abschreckend.
Aus Coding-Perspektive wäre es wünschenswert, die Generierung, Aktualisierung und Auswertung der Knowledge-Datenbank direkt in Claude Code bzw. in andere KI-Tools zu integrieren. Damit könnte das in der Datenbank aggregierte Wissen bei allen Aktionen berücksichtigt werden, nicht nur bei /graphify-Kommandos.
Ganz generell stellt sich die Frage, ob und wie weit Graph Knowledge Databases das bekannte RAG-Konzept ablösen oder zumindest ergänzen kann (also Retrieval-Augmented Generation, um eigenes Wissen in Vektordatenbanken zu speichern und einem LLM zugänglich zu machen). Siehe z.B. diesen Artikel über einen ähnlichen Ansatz mit kommerziellen Hintergrund.
Wenn es primär darum geht, den Kontext zu verkleinern und so Kosten zu sparen (idealerweise ohne Qualitätsverlust), hat das Projekt Headroom ein weiteres spannendes Konzept realisiert. Headroom agiert als eine Art Kompressor zwischen Ihren Prompts und dem KI-Tool/Sprachmodell. Allerdings wäre wohl auch in diesem Fall ein in das jeweilige CLI/KI-Tool integrierte Lösung noch besser.
Beim monatlichen Tag für die digitale Unabhängigkeit gibt es zwei neue Rezepte. Ihr könnt euch Alternativen zu KI-Chatbots schmecken lassen oder faire Musik-Streamer kosten. Ich wünsche einen guten Appetit.
Mit einer modernen Oberfläche und der Unterstützung aller relevanten Paketformate, empfiehlt sich Shelly als grafischer Paketmanager für Arch-Linux und dessen Derivate.
Mit Plasma 6.7 rückt ein lange vorbereitetes Projekt ins Rampenlicht. Union soll das neue Herzstück für Oberflächenstil und Themen in KDE werden. Die Entwickler haben in den vergangenen Monaten große Fortschritte erzielt und bereiten nun die erste Veröffentlichung vor. Union setzt künftig auf CSS als Eingabeformat. Das alte SVG‑System war für Designer oft mühsam und […]
System76 liefert mit COSMIC Desktop 1.0.12 ein kompaktes Update, das viele kleine Schwächen ausräumt. Die neue Version setzt auf Rust 1.93 und aktualisiert zahlreiche Bibliotheken im gesamten COSMIC Stackl. Dadurch wirkt der Desktop stabiler und reagiert zuverlässiger. Der Compositor erhält eine modernisierte Smithay Basis. Diese Änderung behebt Probleme beim Ziehen von Dateien und verbessert das […]
Die neue Flatpak Version 1.17.7 steht bereit und liefert mehrere Verbesserungen für den Linux Desktop. Der Fokus liegt klar auf effizienterer Verwaltung von App Daten und einem schnelleren Startverhalten verschiedener Werkzeuge. Dazu erscheint auch eine aktualisierte Ausgabe des XDG Desktop Portals. Eine zentrale Neuerung betrifft die Abfrage des Alters der Konfiguration. Flatpak kann nun erkennen, […]
Der Frühling neigt sich dem Ende zu – und mit ihm auch unser Schreibwettbewerb 2026 zum Thema Heimautomatisierung und Smarthome. Am 31. Mai 2026 um 23:59 Uhr ist Einsendeschluss. Höchste Zeit also, in die Tasten zu hauen!
Tuxedo, Spezialist für Linux-Hardware mit Sitz in Augsburg, lädt Interessierte mit Grundkenntnissen in der Spieleprogrammierung vom 8. bis 10. Mai zum Game Jam ein.
OpenAI updatet das Standardmodell Instant von ChatGPT auf Version 5.5 und verspricht “intelligenter und präziser zu sein, mit klareren, prägnanteren Antworten, die sich besser auf Sie…
April brought LLW, where we gathered with Legal Network members to
discuss a wide range of legal and licensing topics. One of them was the
DMA, legislation that is keeping us busy: we are exposing how Apple
keeps blocking third-party developers, denying their interoperability
requests. On a brighter note, over ten years of advocacy paid off: the
EC is protecting users' right to install any software on radio devices.
And we reached episode 50 in our SFP!
"I spent all of my training budget this year on coming to LLW, but just
the networking itself has already paid off!" LLW 2026 participant
European policy news: RED and DMA interoperability
We are starting this new month with great news: after more than ten
years of persistent advocacy, we have a significant win to celebrate.
The European Commission has decided to protect users' right to install
any software on their radio devices, abandoning
the article in the Radio Equipment Directive that threatened to
undermine this freedom. This decision shows that persistent,
evidence-based engagement with EU policy processes can achieve, and
protect, software freedom. But this is also only possible when we have
the long-term resources and stability to stay in the room, follow the
process, and act at the right moment. That is exactly why we need your continued
support.
Following our publication, we published a summary
of the report in the Tagesspiegel Background (DE). In
the contribution, we explain how interoperability can be a powerful tool
to break tech monopolies in the mobile market, and how its enforcement
in the DMA is needed to empower Free Software developers.
Software Freedom Podcast: episode 50 about NGI
And more European news! Did you know that the FSFE is a partner of
the European initiative Next Generation Internet Zero? Under this
umbrella, the FSFE supports NGI0 grantee projects on legal and licensing
issues, as well as helping them to become REUSE compliant. Although this
project is ending next year, we are also happy to announce the new
initiative that will follow in its steps: the EU project Restack. Listen to
the latest
episode of our podcast in which Bonnie and Gabriel discuss NGI0,
introduce Restack, and explain why we need sustainable long term funding
for fostering the Free Software ecosystem. If you know a Free Software
project, or you have an idea that can contribute to an open, resilient,
trustworthy, sustainable, and human-centered internet, you can apply for
NGI0 funding:https://nlnet.nl/funding.html.
By the way, this is episode 50 of our podcast! We want to take a
moment to thank every single one of you on the other side, listening to
the Software Freedom Podcast. Fifty episodes in, and it is your
curiosity, your support, and your commitment to software freedom that
keep this going. We are truly grateful to our community and our
listeners! And if you are a newcomer, you can find all our episodes
here.
From the stages: LLW and more!
But that is not all that has happened in the last weeks! A few weeks
ago the
Free Software Legal & Licensing Workshop 2026 took place in
Berlin, bringing together over 100 legal and compliance
professionals, technologists, and policy experts from all over the
globe. The LLW, organised by the FSFE, continued to explore the evolving
legal landscapes impacting Free Software, with many discussions focusing
on how software licensing is impacted by the advent of large language
models and AI. Ths event was, once again, possible thanks to our 2026
sponsors: our Diamond sponsors Mercedes and Red Hat; the Sapphire
sponsors Amazon (AWS), Microsoft, and Siemens; Topaz sponsors Bosch,
Ericsson, and Google; and our Ruby sponsors Bird & Bird, Eclipse
Foundation, and Liferay.
Not only at LLW did we learn about legal topics. Check out our Mastodon handle, where we
regularly post poll questions on legal topics. They can come in handy in
unexpected places: thanks to one of those polls, this editor actually
knew an answer at the Pub Quiz during OggCamp 2026!
Speaking of which, these past weeks have been busy on the events
front. After seven years, we were thrilled to return to OggCamp, where
we ran an information booth and gave presentations. We also attended
FOSS North, and last weekend joined the Augsburger Linux Info Day, where
we delivered a keynote and a workshop.
In the coming weeks, our volunteers will be at the Festival de Tecnologia Popular de Setúbal, the Tübingen
Digital Freedom Days, and more! Check events.fsfe.org.
From the Ada workshop
The illustrated story of ‘Ada &
Zangemann’ continues reaching kids (and adults) worldwide. Recently,
the Austrian Ministry of Education released an online course about
‘Ada & Zangemann’ with really cool exercises (and for students of
German it can also be a great way to practice their German skills with
Ada).
Your support helps us move our work forward
We may be behind the wheel, but you’re the ones keeping us moving
forward. You can also support us, contribute to our work, and join our community. Are you using social
media? If so, do not forget to follow us there! You can also follow the
FSFE news in your RSS Reader.
Die aktuelle Version des YouTube-Players und Downloaders glänzt mit einer schnellen und funktionalen TUI-Oberfläche. Mit den Zusatzfunktionen macht das Hören Spass.
Ubuntu steht vor einem spürbaren Wandel. Die Zahl der offiziellen Varianten / Flavors schrumpft und genau das sorgt für neue Diskussionen in der Community. Viele Nutzer lieben die große Auswahl, doch immer mehr Projekte kämpfen mit knappen Ressourcen und fehlenden Maintainern. Die Vielfalt bleibt ein Kernstück der Linux Welt, doch Ubuntu muss klarer zeigen, welche […]