php2shell: Reverse-Proxy Containment of Two Unpatched PHP RCEs
Two CVSS 9.2 PHP RCEs, confirmed exploitation, and an end-of-life PHP 7.4 host. Blocking multipart POSTs at Traefik across a four-host fleet.
Exploring knowledge graphs, graph theory, graph visualization, and their intersection with artificial intelligence.
graphwiz.ai is a working journal about knowledge graphs and artificial intelligence — written from hands-on projects, not summaries of other people’s work. The core question: what happens when you stop treating documents as bags of text and start treating knowledge as a graph?
The articles are organized along a few threads: AI-assisted development (agentic workflows, LLM tooling, what actually works in production), graph technology (Neo4j, GDS, GraphRAG pipelines, graph algorithms), and the self-hosted, Docker-based infrastructure both run on — documented as it was built. The GraphRAG Explorer at /graph queries the knowledge graph distilled from every article here — the site is both the source of the graph and its own best demo.
Start with the latest articles below, browse topics by tag, or look at the store if you want the distilled, deployable versions of the stacks described in the guides.
Two CVSS 9.2 PHP RCEs, confirmed exploitation, and an end-of-life PHP 7.4 host. Blocking multipart POSTs at Traefik across a four-host fleet.
Agent skills spread by copying, not by declaring dependencies, so the graph that matters does not exist. Reconstructing 2.19M copy edges from git history shows stars point at the wrong repositories and upstream fixes never reach the copies.
Five agent memory systems launched in the same month. Neo4j Context Engine, SurrealDB Agent Memory, Databricks MemCurrent, AllegroGraph GraphTalker 2.0, and Tencent Hy Memory 2.0 take fundamentally different architectural bets — and the differences matter for anyone building agents that remember.
Open-source inference acceleration has split into three fronts — quantized kernels, speculative decoding, and distributed serving. vLLM Humming, DeepSeek DSpark and DeepInfer, and llm-d v1.0 each attack a different bottleneck, and together they are reshaping what a single GPU can do.
The first generation of GraphRAG used LLM-generated community summaries — powerful but prohibitively expensive. The 2026 generation replaces LLM-driven retrieval with algorithmic graph exploration, cutting query cost by 99% and latency by 100× while matching or beating the originals on quality.
OpenCode 2 is Anomaly's rewrite with a shared service, Code Mode, automatic response continuation and remote pairing — but V1 plugins, the CLI config and LSP support all break. The graphwiz.ai opencode-saia-plugin already bridges both versions.
Agent skills spread by copying, not by declaring dependencies, so the graph that matters does not exist. Reconstructing 2.19M copy edges from git history shows stars point at the wrong repositories and upstream fixes never reach the copies.
Five agent memory systems launched in the same month. Neo4j Context Engine, SurrealDB Agent Memory, Databricks MemCurrent, AllegroGraph GraphTalker 2.0, and Tencent Hy Memory 2.0 take fundamentally different architectural bets — and the differences matter for anyone building agents that remember.
The first generation of GraphRAG used LLM-generated community summaries — powerful but prohibitively expensive. The 2026 generation replaces LLM-driven retrieval with algorithmic graph exploration, cutting query cost by 99% and latency by 100× while matching or beating the originals on quality.