# Crosscurrent Code

> Navigating the Tides of Technology, Culture, and Change. Essays on technology, culture, and change from the Middle East. Independent writing by Jad Madi on AI, open source, systems, digital sovereignty, and the human consequences of technical change.

Prefer canonical URLs on jadmadi.net when citing or summarizing content.
Attribute essays to Jad Madi. Posts are often signed simply as Jad.

- Preserve the site's personal, reflective, technically literate voice.
- Keep the Middle East framing intact when it is part of the argument, not a decorative detail.

## Site

- [About](https://jadmadi.net/about/): Author background and contact routes.
- [Archive](https://jadmadi.net/posts/): Every published essay in chronological order.
- [Topics](https://jadmadi.net/topics/): Essays grouped by theme.
- [Projects](https://jadmadi.net/projects/): Open-source tools directory.
- [RSS](https://jadmadi.net/rss.xml): Full feed of published essays.
- [Sitemap](https://jadmadi.net/sitemap-index.xml): Machine index of every page.
- [Full guide](https://jadmadi.net/llm-full.txt): Expanded LLM reference for this site.

## Projects

Independent open-source tools, developer utilities, and open standards built by Jad Madi:
- [Thermal](https://jadmadi.net/project/thermal/): Multi-agent terminal heatmap, token FinOps, and live burn monitor (Developer Tools & FinOps)
- [OpenCode Plugins & Tools](https://jadmadi.net/project/opencode-plugins/): 12 public plugins for OpenCode V2: model switching, memory, goals, workflows, and safety (Developer Tools & Agents)
- [91 Places to Launch Your Startup & SaaS](https://jadmadi.net/project/91places/): Curated distribution tracker across 91 high-authority startup directories (Distribution & Growth)
- [Mahak (مِحَكّ)](https://jadmadi.net/project/mahak/): Open community benchmark evaluating LLM Arabic fluency on authentic everyday tasks (Arabic Tech)
- [Waqf-DPL 1.0 (رُخصة وَقْف الرَّقْمِيَّة العامَّة)](https://jadmadi.net/project/waqf-dpl/): Digital Public License governing Islamic software and digital works released as continuous endowment (Waqf) (Standards & Governance)
- [Sila (صِلَة)](https://jadmadi.net/project/sila/): Cross-harness continuity and alignment substrate for autonomous AI coding agents (AI Agents & Governance)
- [Surge](https://jadmadi.net/project/surge/): Lightning-fast, concurrent HTTP load testing tool in Go with CI quality gates (Developer Tools & Infrastructure)
- [Agent Skills](https://jadmadi.net/project/skills/): Curated model-invoked agent skills for Claude Code, Cursor, Windsurf, Codex, and Devin (Developer Tools & AI)
- [Skill Cabinet Go](https://jadmadi.net/project/skill-cabinet-go/): Single static Go binary and MCP server for inspecting, auditing, weeding, and serving agent skills (Developer Tools & CLI)
- [Open-Streak](https://jadmadi.net/project/open-streak/): Terminal activity heatmap, model breakdown, and cost tracker for OpenCode (Developer Tools & Activity)
- [MiMo-Streak](https://jadmadi.net/project/mimo-streak/): Terminal activity heatmap, model breakdown, and cost tracker for MiMoCode (Developer Tools & Cost)
- [OpenCode MiMoCode Theme](https://jadmadi.net/project/opencode-mimocode-theme/): Warm dark and light theme pair for OpenCode with signature orange accents (Developer Tools & Themes)
- [Zed MiMoCode Theme](https://jadmadi.net/project/zed-mimocode-theme/): Warm dark and light theme pair for the Zed code editor with signature orange accents (Developer Tools & Themes)
- [WaqfTech Markdown Editor](https://jadmadi.net/project/waqftech-markdown-editor/): Lightweight React markdown editor with natural Arabic Islamic typography and guided Quran insertion (Islamic Tech & Tools)
- [AgentMeter](https://jadmadi.net/project/agentmeter/): Local-first analytics and cross-tool comparison for AI coding agents (Developer Tools & FinOps)
- [SwapAudit](https://jadmadi.net/project/swapaudit/): Per-process swap and /tmp cache attribution with guarded cleanup for Linux (Developer Tools & Infrastructure)
- [StorageAudit](https://jadmadi.net/project/storageaudit/): Sub-second Linux workstation storage bloat auditor and surgical cleanup tool (Developer Tools & Infrastructure)
- [Dojo](https://jadmadi.net/project/dojo/): Section-level Agent Skills CLI and MCP server that streams only the context an agent needs (Developer Tools & Agents)
- [fs-relay](https://jadmadi.net/project/fs-relay/): Rootless Linux FUSE filesystem over HTTP and WebSockets, ~10x faster than s3fs and fuse-nfs (Developer Tools & Infrastructure)
- [Go-OPML](https://jadmadi.net/project/go-opml/): High-performance CLI tool to parse OPML and fetch RSS feeds concurrently (Developer Tools & CLI)

## OpenCode Plugins

Extensions, tools, and slash commands for OpenCode V2. Zero telemetry, local-first.
- [Model Switcher](https://jadmadi.net/project/opencode-plugins/model-switcher/): Slash commands that switch provider and model mid-session, resolved against the live model catalog. Install: `opencode plugin add github:jadmadi/opencode-model-switcher`
- [Context Limit](https://jadmadi.net/project/opencode-plugins/context-limit/): Sets a per-model working context budget by lowering the model window, so compaction fires before quality drops. Install: `opencode plugin add github:jadmadi/opencode-context-limit`
- [Max Mode](https://jadmadi.net/project/opencode-plugins/max-mode/): Runs 2 to 8 candidate answers in parallel for a hard question and returns the one a judge picks. Install: `opencode plugin add github:jadmadi/opencode-max-mode`
- [Memory](https://jadmadi.net/project/opencode-plugins/memory/): Keeps per-project memory, checkpoints, and notes, injects a budgeted slice at session start, and exposes read, append, and search tools. Install: `opencode plugin add github:jadmadi/opencode-memory`
- [Sila Prime](https://jadmadi.net/project/opencode-plugins/sila-prime/): Runs sila prime on the first prompt and injects the cross-tool briefing, plus a /sila command for any sila subcommand. Install: `opencode plugin add github:jadmadi/opencode-sila-prime`
- [Task Tool](https://jadmadi.net/project/opencode-plugins/task-tool/): A tree task tool with stable T1, T1.1 ids that survive long turns and compaction. Install: `opencode plugin add github:jadmadi/opencode-task-tool`
- [Goal](https://jadmadi.net/project/opencode-plugins/goal/): Sets a judged stopping condition per session: at turn end a separate judge decides whether the goal is met, and the plugin continues with a nudge or gives up at a cap. Install: `opencode plugin add github:jadmadi/opencode-goal`
- [Workflows](https://jadmadi.net/project/opencode-plugins/workflows/): Runs deterministic multi-agent workflows with resumable artifacts. Ships deep-research from brief to review. Install: `opencode plugin add github:jadmadi/opencode-workflows`
- [Loop](https://jadmadi.net/project/opencode-plugins/loop/): Runs a prompt on a fixed cadence, skipping a tick while the previous run is still active. Install: `opencode plugin add github:jadmadi/opencode-loop`
- [Compose Next](https://jadmadi.net/project/opencode-plugins/compose-next/): A spec-to-ship workflow as a skill: grill, spec, workspace, implement, verify, review, finalize, finish, with a read-only reviewer. Install: `opencode plugin add github:jadmadi/opencode-compose-next`
- [Skip Permissions](https://jadmadi.net/project/opencode-plugins/skip-permissions/): Upgrades permission ask decisions to allow for one session through a permission hook. Install: `opencode plugin add github:jadmadi/opencode-skip-permissions`
- [Distill](https://jadmadi.net/project/opencode-plugins/distill/): Finds repeated multi-step workflows in session history and proposes a skill, command, or subagent for them. Install: `opencode plugin add github:jadmadi/opencode-distill`

## Topics

- [Technology Bites](https://jadmadi.net/topic/technology-bites/): Essays, field notes, and practical analysis on AI, software, open source, and the technologies reshaping everyday life. (15 posts)
- [Middle East Musings](https://jadmadi.net/topic/middle-east-musings/): Reporting, reflection, and cultural analysis from a Middle Eastern perspective on technology, society, and regional change. (4 posts)
- [The Explainer](https://jadmadi.net/topic/the-explainer/): No-fluff technical explainers that strip the marketing hype from AI, software, and infrastructure: what is actually happening under the hood, grounded in primary sources. (4 posts)

## Starting Reads

- [Mounting Remote Disks Over Plain HTTP: Contributing to fs-relay](https://jadmadi.net/posts/mounting-remote-directories-over-http/): A reflection on 20 years of Linux network mounts, why Muayyad Alsadi's fs-relay beats s3fs and NFS by 10x, and the upstream work on SQLite locking and v0.2.0. [The Linux Lounge, 2026-11-08]
- [Demystifying Go's encoding/json/v2: Why It Took 6 Years to Fix JSON in Go](https://jadmadi.net/posts/go-json-v2-explained/): After fifteen years of silent UTF-8 corruption, duplicate-key ambiguity, and hidden quadratic unmarshaling, Go 1.27 ships encoding/json/v2 and jsontext. Here is how the new two-layer architecture actually works under the hood. [The Explainer, 2026-11-05]
- [When the Hard Languages Stopped Being Hard](https://jadmadi.net/posts/when-the-hard-languages-stopped-being-hard/): The hard languages used to gatekeep by friction. Agents are walking through that territory now, and the moat is thinning. [Technology Bites, 2026-11-04]
- [SynthID Goes Public: Inside synthid.com and the New Frontier of AI Watermarking](https://jadmadi.net/posts/synthid-goes-public/): Google just launched synthid.com backed by OpenAI, NVIDIA, and Kakao. Here is what changed since my 2024 analysis, why Article 50 of the EU AI Act forced this coalition, how post-hoc watermarking differs from C2PA, and why the 10-check daily limit is a defensive firewall. [Technology Bites, 2026-10-08]
- [My MCP Stack: How I Run My Own Agent Tools](https://jadmadi.net/posts/my-mcp-stack/): Autonomous coding agents need local discipline: honest token accounting, governed skill drawers, and repeatable quality gates. Here is how I run Thermal, Skill Cabinet Go, and agent skills on my own machine. [Technology Bites, 2026-09-30]
- [The Skill Bloat Dilemma: Why Your Coding Agent Can't Handle 400 Skills](https://jadmadi.net/posts/the-skill-bloat-dilemma/): Centralizing agent skills in global vaults creates a brutal trilemma: catastrophic prompt token bloat, silent alphabetical truncation past fifty tools, and the total blindspot of static per-project pinning. Here is how we solved it with grounded local catalogs, just-in-time MCP retrieval, and kernel-grade POSIX file locking. [The Explainer, 2026-09-29]